Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore2012-07-09 18:51:19 +0000
committerkmoore2012-07-09 18:51:19 +0000
commit3e668baf6594649efb222062b0f4418aeb3b45c3 (patch)
treee39ced8a49cc79079cb014aca0d1e764fbb6ff1a /jpa/plugins
parent541810122754d99b8319c61ac0e0f62b685151f7 (diff)
downloadwebtools.dali-3e668baf6594649efb222062b0f4418aeb3b45c3.tar.gz
webtools.dali-3e668baf6594649efb222062b0f4418aeb3b45c3.tar.xz
webtools.dali-3e668baf6594649efb222062b0f4418aeb3b45c3.zip
Bug 379764 - JPA Details view causes SWT no more handles error
also fixes bugs: 281677 - add remove lists - selection problems 297867 - Order column section is editable after removing an attribute from orm.xml 379274 - State of components of secondary tables section retained cross entities
Diffstat (limited to 'jpa/plugins')
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/persistence/PersistenceUnit.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/persistence/AbstractPersistenceUnit.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/META-INF/MANIFEST.MF6
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/property_files/eclipselink_ui.properties2
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/EclipseLinkUiMessages.java3
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkAlwaysRefreshComposite.java101
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkArrayMapping2_3Composite.java7
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkBasicCollectionMappingComposite.java9
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkBasicMapMappingComposite.java9
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkBasicMappingComposite.java85
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheCoordinationTypeComposite.java113
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheSizeCombo.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheSizeComposite.java)61
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheTypeComboViewer.java109
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheTypeComposite.java119
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCaching2_0Composite.java83
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCachingComposite.java374
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkChangeTrackingComboViewer.java96
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkChangeTrackingComposite.java115
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConversionValueDialog.java13
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConvertCombo.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConvertComposite.java)63
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConvertersComposite.java215
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCustomConverterComposite.java46
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCustomizerClassChooser.java123
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCustomizerComposite.java138
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkDisableHitsComposite.java100
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkElementCollectionMapping2_0Composite.java49
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkEmbeddableAdvancedComposite.java51
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkEntityAdvancedComposite.java69
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkExpiryComposite.java102
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkIdMappingComposite.java76
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkJoinFetchComboViewer.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkJoinFetchComposite.java)101
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkManyToManyMappingComposite.java71
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkManyToOneMappingComposite.java55
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkMappedSuperclassAdvancedComposite.java69
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkMultitenancyComposite.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkMutableTriStateCheckBox.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkMutableComposite.java)22
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkNonEmbeddableTypeMappingAdvancedComposite.java62
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkObjectTypeConverterComposite.java116
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkOneToManyJoiningStrategyPane.java30
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkOneToManyMappingComposite.java84
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkOneToOneMappingComposite.java58
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkPrivateOwnedCheckBox.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkPrivateOwnedComposite.java)42
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkReadOnlyTriStateCheckBox.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkReadOnlyComposite.java)25
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkRefreshOnlyIfNewerComposite.java102
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkStructConverterComposite.java50
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkStructureMapping2_3Composite.java7
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkTransformationMappingComposite.java9
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkTypeConverterComposite.java53
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkTypeMappingAdvancedComposite.java47
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkVariableOneToOneMappingComposite.java9
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkVersionMappingComposite.java80
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/TenantDiscriminatorColumnComposite.java77
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/TenantDiscriminatorColumnsComposite.java127
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEmbeddableComposite.java47
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEntity2_xComposite.java59
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEntityComposite.java89
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkMappedSuperclassComposite.java76
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/DefaultJavaEclipseLinkOneToManyMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/DefaultJavaEclipseLinkOneToOneMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/DefaultJavaEclipseLinkVariableOneToOneMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/EclipseLink2_0JavaUiFactory.java23
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/EclipseLinkJavaUiFactory.java35
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkArrayMapping2_3UiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkBasicCollectionMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkBasicMapMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkBasicMappingComposite.java45
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkCaching2_0Composite.java39
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkCachingComposite.java39
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkElementCollectionMapping2_0Composite.java69
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEmbeddable1_2Composite.java16
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEntity1_2Composite.java40
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEntity2_3Composite.java34
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkExistenceCheckingComposite.java136
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkIdMapping2_0Composite.java17
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkIdMappingComposite.java7
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkManyToManyMapping2_0Composite.java47
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkManyToOneMapping2_0Composite.java52
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass1_2Composite.java25
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass2_0Composite.java30
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass2_3Composite.java57
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkOneToManyMapping2_0Composite.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkOneToOneMapping2_0Composite.java70
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkStructureMapping2_3UiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkTransformationMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkVariableOneToOneMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkVersionMappingComposite.java9
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractEclipseLinkEntityMappingsDetailsPage.java38
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkEntity2_xComposite.java22
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkEntityComposite.java82
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkMappedSuperclassComposite.java114
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/BaseEclipseLinkOrmXmlUiFactory.java26
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLink2_3PersistenceUnitMetadataComposite.java63
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkConverterDialog.java18
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappings2_0DetailsPage.java14
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappings2_3DetailsPage.java44
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappingsDetailsPage.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappingsTenantDiscriminatorColumnsComposite.java31
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml1_1UiFactory.java31
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml2_0UiFactory.java30
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml2_1UiFactory.java3
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmAttributeTypeClassChooser.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmAttributeTypeComposite.java)23
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkArrayMapping2_3UiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicCollectionMapping1_1Composite.java13
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicCollectionMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMapMapping1_1Composite.java13
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMapMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMapping1_1Composite.java72
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMappingComposite.java58
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkCaching2_0Composite.java19
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkCachingComposite.java19
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkElementCollectionMapping2_0Composite.java83
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkElementCollectionMapping2_1Composite.java90
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddableComposite.java79
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedIdMapping1_1Composite.java40
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedIdMapping2_0Composite.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedMapping1_1Composite.java46
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedMapping2_0Composite.java41
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEntity2_3Composite.java34
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkExistenceCheckingComposite.java114
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMapping1_1Composite.java51
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMapping2_0Composite.java55
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMappingComposite.java43
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToManyMapping1_1Composite.java70
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToManyMapping2_0Composite.java70
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToManyMappingComposite.java62
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToOneMapping1_1Composite.java74
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToOneMapping2_0Composite.java68
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToOneMappingComposite.java68
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_0Composite.java8
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_1Composite.java38
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_3Composite.java59
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToManyMapping1_1Composite.java71
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToManyMapping2_0Composite.java84
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToManyMappingComposite.java63
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToOneMapping1_1Composite.java87
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToOneMapping2_0Composite.java86
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToOneMappingComposite.java80
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkStructureMapping2_3UiDefinition.java7
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkTransformationMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkVariableOneToOneMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkVersionMapping1_1Composite.java53
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkVersionMappingComposite.java45
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/EclipseLinkPersistenceXmlUiDefinition.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/EclipseLinkPersistenceXmlUiFactory.java122
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/CacheDefaultsComposite.java188
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/CacheSizeComposite.java109
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/CacheTypeComposite.java181
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/DefaultCacheSizeComposite.java88
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/DefaultCacheTypeComposite.java107
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/DefaultSharedCacheComposite.java96
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/EclipseLinkCachingComposite.java45
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/EntityCachingPropertyComposite.java309
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/EntityListComposite.java103
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/FlushClearCacheComposite.java99
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/PersistenceXmlCachingTab.java112
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/SharedCacheComposite.java158
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/BatchWritingComposite.java98
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/CacheStatementsPropertiesComposite.java135
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/ConnectionPropertiesComposite.java140
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/DataSourcePropertiesComposite.java146
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/EclipseLinkConnectionComposite.java55
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcBindParametersComposite.java97
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcConnectionPropertiesComposite.java137
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcDriverComposite.java94
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcExclusiveConnectionModeComposite.java96
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcExclusiveConnectionsPropertiesComposite.java142
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcLazyConnectionComposite.java98
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcPropertiesComposite.java265
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionPropertiesComposite.java57
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionsMaxComposite.java88
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionsMinComposite.java87
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionsSharedComposite.java98
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcWriteConnectionPropertiesComposite.java63
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcWriteConnectionsMaxComposite.java87
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcWriteConnectionsMinComposite.java87
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/NativeSqlComposite.java98
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/PersistenceXmlConnectionTab.java335
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/TransactionTypeComposite.java136
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/CustomizerComposite.java103
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/EclipseLinkCustomizationComposite.java77
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/EntityCustomizationPropertyComposite.java47
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/EntityListComposite.java160
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ExceptionHandlerComposite.java93
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/PersistenceXmlCustomizationTab.java322
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ProfilerClassChooser.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ProfilerComposite.java)30
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/SessionCustomizersComposite.java66
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ThrowExceptionsComposite.java97
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ValidateSchemaComposite.java97
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ValidationOnlyComposite.java97
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingChangeTrackingComposite.java97
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingComposite.java96
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingEagerComposite.java97
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingFetchGroupsComposite.java97
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingInternalComposite.java98
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingLazyComposite.java97
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingPropertiesComposite.java358
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitGeneralComposite.java68
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitGeneralTab.java42
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitJarFilesComposite.java12
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitMappingFilesComposite.java6
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/EclipseLinkLoggingComposite.java83
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/ExceptionsComposite.java97
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/LoggingFileLocationComposite.java98
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/LoggingLevelComposite.java111
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/PersistenceXmlLoggingTab.java84
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/SessionComposite.java98
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/ThreadComposite.java97
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/TimestampComposite.java96
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/EclipseLinkLoggingComposite.java418
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/EclipseLinkOptionsComposite.java85
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/EventListenerComposite.java93
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/IncludeDescriptorQueriesComposite.java97
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/LoggerClassChooser.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/LoggerComposite.java)22
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/PersistenceXmlOptionsTab.java760
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/PersistenceXmlSchemaGenerationComposite.java362
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/SessionNameComposite.java107
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/SessionsXmlComposite.java107
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/TargetDatabaseComposite.java232
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/TargetServerComposite.java203
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/TemporalMutableComposite.java97
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/CreateDdlFileNameComposite.java106
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/DdlGenerationLocationComposite.java98
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/DdlGenerationTypeComposite.java96
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/DropDdlFileNameComposite.java106
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/EclipseLinkSchemaGenerationComposite.java49
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/OutputModeComposite.java94
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/PersistenceXmlSchemaGenerationTab.java56
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/EclipseLink2_0PersistenceXmlUiFactory.java64
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/EclipseLinkLogging2_0Composite.java254
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/EclipseLinkPersistenceXml2_0UiDefinition.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/PersistenceXmlCaching2_0Tab.java264
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/PersistenceXmlCustomization2_0Tab.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/customization/PersistenceXmlCustomization2_0Tab.java)9
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/PersistenceXmlOptions2_0Tab.java499
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/CacheDefaults2_0Composite.java88
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/EclipseLinkCaching2_0Composite.java74
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/FlushClearCache2_0Composite.java85
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/PersistenceXmlCaching2_0Tab.java36
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/customization/EclipseLinkCustomization2_0Composite.java32
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/ConnectionComposite.java98
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/EclipseLinkCategoryLoggingLevelComposite.java198
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/EclipseLinkLogging2_0Composite.java55
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/PersistenceXmlLogging2_0Tab.java37
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/EclipseLinkOptions2_0Composite.java38
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/LockingConfigurationComposite.java85
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/PersistenceXmlOptions2_0Tab.java37
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/QueryConfigurationComposite.java85
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/ValidationConfigurationComposite.java382
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/ValidationModeComposite.java101
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/META-INF/MANIFEST.MF4
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/JpaPlatformUi.java1
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/MappingResourceUiDefinition.java6
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/PersistenceXmlResourceUiDefinition.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/JpaComposite.java10
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/java/JavaAttributeMappingUiDefinition.java3
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/java/JavaUiFactory.java12
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/orm/OrmAttributeMappingUiDefinition.java3
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/orm/OrmXmlUiFactory.java12
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/editors/JpaPageComposite.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/JpaPageComposite.java)5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/GenericJpaPlatformUiProvider.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractBasicMappingComposite.java76
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddableComposite.java29
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddedIdMappingComposite.java33
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddedMappingComposite.java35
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddedMappingOverridesComposite.java10
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEntityComposite.java161
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractIdMappingComposite.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractInheritanceComposite.java68
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractJavaMappedSuperclassComposite.java32
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractJoiningStrategyPane.java39
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractJpaDetailsPage.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractManyToManyMappingComposite.java53
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractManyToOneMappingComposite.java30
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractMappedSuperclassComposite.java29
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOneToManyMappingComposite.java58
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOneToOneMappingComposite.java30
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOverridesComposite.java135
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractPrimaryKeyJoinColumnsComposite.java93
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractSecondaryTablesComposite.java105
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractVersionMappingComposite.java54
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AccessTypeComboViewer.java66
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AccessTypeComposite.java121
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AddQueryDialog.java15
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AssociationOverrideComposite.java24
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AttributeOverrideComposite.java16
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/BaseJoinColumnDialogPane.java38
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/BasicMappingComposite.java13
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/CascadeComposite.java35
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ColumnComposite.java401
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/DiscriminatorColumnComposite.java225
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EmbeddedIdMappingComposite.java12
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EmbeddedMappingComposite.java7
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EntityNameCombo.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EntityNameComposite.java)29
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EnumTypeComboViewer.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EnumTypeComposite.java)59
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/FetchTypeComboViewer.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/FetchTypeComposite.java)94
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/GeneratedValueComposite.java232
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/GenerationComposite.java38
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/GeneratorComposite.java15
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdClassChooser.java101
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdClassComposite.java144
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdMappingComposite.java14
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdMappingGenerationComposite.java271
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinColumnDialogPane.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinColumnJoiningStrategyPane.java3
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinColumnsComposite.java93
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinTableComposite.java89
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinTableJoiningStrategyPane.java16
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoiningStrategyJoinColumnsComposite.java26
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoiningStrategyJoinColumnsWithOverrideOptionComposite.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToManyJoiningStrategyPane.java26
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToManyMappingComposite.java38
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToOneJoiningStrategyPane.java24
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToOneMappingComposite.java47
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/MapAsComposite.java95
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/MappedByJoiningStrategyPane.java17
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/MappedByPane.java15
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/NamedNativeQueryPropertyComposite.java54
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/NamedQueryPropertyComposite.java42
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToManyJoiningStrategyPane.java28
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToManyMappingComposite.java34
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToOneJoiningStrategyPane.java33
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToOneMappingComposite.java45
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OptionalTriStateCheckBox.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OptionalComposite.java)28
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OrderingComposite.java20
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PersistentAttributeDetailsPage.java14
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PersistentAttributeMapAsComposite.java11
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PersistentTypeDetailsPage.java13
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PrimaryKeyJoinColumnsInSecondaryTableComposite.java104
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/QueriesComposite.java205
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/QueryHintsComposite.java82
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ReferenceTableComposite.java88
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/SequenceGeneratorComposite.java42
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TableComposite.java94
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TableGeneratorComposite.java131
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TargetEntityClassChooser.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TargetEntityComposite.java)26
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TemporalTypeCombo.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TemporalTypeComposite.java)46
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TransientMappingComposite.java9
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/VersionMappingComposite.java18
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/CatalogCombo.java15
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/ColumnCombo.java15
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/DatabaseObjectCombo.java11
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/SchemaCombo.java15
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/TableCombo.java15
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/AbstractJavaResourceUiDefinition.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/BaseJavaUiFactory.java32
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/DefaultBasicMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/DefaultEmbeddedMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaBasicMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEmbeddableComposite.java6
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEmbeddedIdMappingUDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEmbeddedMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEntityComposite.java11
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaIdMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaInheritanceComposite.java7
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaManyToManyMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaManyToOneMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaOneToManyMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaOneToOneMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaPersistentAttributeDetailsPage.java19
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaSecondaryTablesComposite.java36
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaTransientMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaVersionMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/NullJavaAttributeMappingUiDefinition.java3
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AbstractEntityMappingsDetailsPage.java141
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AbstractOrmEntityComposite.java60
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AbstractOrmXmlResourceUiDefinition.java8
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AddGeneratorDialog.java17
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/BaseOrmXmlUiFactory.java30
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/EntityMappingsGeneratorsComposite.java178
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/MetadataCompleteTriStateCheckBox.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/MetadataCompleteComposite.java)27
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmBasicMappingComposite.java46
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmBasicMappingUiDefinition.java7
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddableComposite.java30
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedIdMappingComposite.java23
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedIdMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedMappingComposite.java30
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmIdMappingComposite.java25
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmIdMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmInheritanceComposite.java7
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmJavaClassChooser.java79
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToManyMappingComposite.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToManyMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToOneMappingComposite.java59
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToOneMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmMappedSuperclassComposite.java38
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmMappingNameText.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmMappingNameChooser.java)25
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToManyMappingComposite.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToManyMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToOneMappingComposite.java57
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToOneMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmPackageChooser.java59
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmPersistentAttributeDetailsPage.java53
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmQueriesComposite.java94
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmSecondaryTablesComposite.java58
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmTransientMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmVersionMappingComposite.java28
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmVersionMappingUiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/PersistenceUnitMetadataComposite.java71
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/UnsupportedOrmMappingUiDefinition.java14
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/editors/PersistenceEditor.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/Generic2_0JpaPlatformUiProvider.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/GenericOrmXml2_0UiFactory.java35
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AbstractElementCollectionMapping2_0Composite.java157
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AbstractManyToOneMapping2_0Composite.java7
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AbstractOneToOneMapping2_0Composite.java8
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AssociationOverride2_0Composite.java16
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Cacheable2_0TriStateCheckBox.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Cacheable2_0Pane.java)27
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/CascadePane2_0.java35
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/CollectionTable2_0Composite.java62
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/DerivedIdentity2_0Pane.java83
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/ElementCollectionMapping2_0Composite.java17
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/ElementCollectionValueOverridesComposite.java9
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/EmbeddedIdMapping2_0Composite.java12
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/EmbeddedIdMapping2_0MappedByRelationshipPane.java13
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Generation2_0Composite.java11
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/IdMapping2_0MappedByRelationshipPane.java13
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/IdMappingGeneration2_0Composite.java8
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/LockModeComposite.java104
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/ManyToOneJoiningStrategy2_0Pane.java26
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/NamedQueryProperty2_0Composite.java104
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OneToManyJoiningStrategy2_0Pane.java28
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OneToOneJoiningStrategy2_0Pane.java36
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrderColumnComposite.java126
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Ordering2_0Composite.java32
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrphanRemoval2_0TriStateCheckBox.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrphanRemoval2_0Composite.java)29
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Queries2_0Composite.java8
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/SequenceGenerator2_0Composite.java49
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/TargetClassChooser.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/TargetClassComposite.java)24
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/Generic2_0JavaUiFactory.java28
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaElementCollectionMapping2_0UiDefinition.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaEmbeddable2_0Composite.java16
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaEmbeddedMapping2_0Composite.java19
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaEntity2_0Composite.java66
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaIdMapping2_0Composite.java12
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaManyToManyMapping2_0Composite.java43
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaManyToOneMapping2_0Composite.java44
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaMappedSuperclass2_0Composite.java24
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaOneToManyMapping2_0Composite.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaOneToOneMapping2_0Composite.java51
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/EntityMappings2_0DetailsPage.java13
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmBasicMapping2_0Composite.java56
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmElementCollectionMapping2_0Composite.java56
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmElementCollectionMapping2_0UiDefinition.java7
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmEmbeddedIdMapping2_0Composite.java43
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmEmbeddedMapping2_0Composite.java36
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmEntity2_0Composite.java78
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmIdMapping2_0Composite.java43
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmManyToManyMapping2_0Composite.java59
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmManyToOneMapping2_0Composite.java60
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmOneToManyMapping2_0Composite.java62
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmOneToOneMapping2_0Composite.java67
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmQueries2_0Composite.java43
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmVersionMapping2_0Composite.java39
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/Generic2_0PersistenceXmlUiFactory.java17
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/GenericPersistenceUnit2_0ConnectionTab.java271
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/GenericPersistenceUnit2_0OptionsTab.java549
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/JdbcConnectionPropertiesComposite.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/JdbcConnectionPropertiesComposite.java)88
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/PersistenceXml2_0UiDefinition.java6
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/ConnectionPropertiesComposite.java38
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/DataSourcePropertiesComposite.java142
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/GenericPersistenceUnit2_0ConnectionComposite.java49
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/GenericPersistenceUnit2_0ConnectionTab.java90
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/JdbcDriverComposite.java94
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/JdbcPropertiesComposite.java79
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/TransactionTypeComposite.java130
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/GenericPersistenceUnit2_0OptionsComposite.java63
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/GenericPersistenceUnit2_0OptionsTab.java90
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/LockingConfigurationComposite.java85
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/QueryConfigurationComposite.java85
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/SharedCacheModeComposite.java107
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/ValidationConfigurationComposite.java384
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/ValidationModeComposite.java103
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/AbstractPersistenceXmlResourceUiDefinition.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/AbstractPersistenceXmlResourceUiDefinition.java)6
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/ArchiveFileSelectionDialog.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/ArchiveFileSelectionDialog.java)3
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/GenericPersistenceUnitGeneralTab.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/GenericPersistenceUnitGeneralComposite.java)49
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/GenericPersistenceUnitJarFilesComposite.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/GenericPersistenceUnitJarFilesComposite.java)4
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/GenericPersistenceUnitMappingFilesComposite.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/GenericPersistenceUnitMappingFilesComposite.java)6
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/GenericPersistenceXmlUiFactory.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/GenericPersistenceXmlUiFactory.java)12
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitClassesComposite.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitClassesComposite.java)128
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitConnectionTab.java250
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitGeneralComposite.java104
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitGeneralTab.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitGeneralComposite.java)178
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitJarFilesComposite.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitJarFilesComposite.java)91
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitMappingFilesComposite.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java)105
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitPropertiesTab.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitPropertiesComposite.java)117
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceXmlUiDefinition.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceXmlUiDefinition.java)2
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceXmlUiFactory.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceXmlUiFactory.java)6
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitConnectionComposite.java144
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitConnectionDatabaseComposite.java159
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitConnectionGeneralComposite.java109
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractJpaPlatformUi.java3
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/views/JpaDetailsView.java6
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/jpa2/details/java/JavaUiFactory2_0.java3
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/jpa2/details/orm/OrmXmlUiFactory2_0.java3
494 files changed, 15622 insertions, 17457 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/persistence/PersistenceUnit.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/persistence/PersistenceUnit.java
index d8560f5714..91ab9bcc59 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/persistence/PersistenceUnit.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/persistence/PersistenceUnit.java
@@ -356,6 +356,11 @@ public interface PersistenceUnit
void removeSpecifiedClassRef(ClassRef classRef);
/**
+ * Remove the specified class refs from the persistence unit.
+ */
+ void removeSpecifiedClassRefs(Iterable<ClassRef> classRefs);
+
+ /**
* Remove the specified class ref at the specified index from the persistence unit.
*/
void removeSpecifiedClassRef(int index);
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/persistence/AbstractPersistenceUnit.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/persistence/AbstractPersistenceUnit.java
index b6a38d1fe9..437223f8cb 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/persistence/AbstractPersistenceUnit.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/persistence/AbstractPersistenceUnit.java
@@ -834,7 +834,7 @@ public abstract class AbstractPersistenceUnit
this.specifiedClassRefContainer.removeContextElement(index).dispose();
}
- protected void removeSpecifiedClassRefs(Iterable<ClassRef> classRefs) {
+ public void removeSpecifiedClassRefs(Iterable<ClassRef> classRefs) {
ArrayList<XmlJavaClassRef> xmlClassRefs = new ArrayList<XmlJavaClassRef>();
for (ClassRef classRef : classRefs) {
xmlClassRefs.add(classRef.getXmlClassRef());
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/META-INF/MANIFEST.MF b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/META-INF/MANIFEST.MF
index f8834024f7..a0c3393f39 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/META-INF/MANIFEST.MF
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/META-INF/MANIFEST.MF
@@ -52,17 +52,11 @@ Export-Package: org.eclipse.jpt.jpa.eclipselink.ui,
org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;x-internal:=true,
org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;x-internal:=true,
org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.general;x-internal:=true,
- org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.logging;x-internal:=true,
org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options;x-internal:=true,
- org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.schema.generation;x-internal:=true,
org.eclipse.jpt.jpa.eclipselink.ui.internal.persistencexml.details;x-internal:=true,
org.eclipse.jpt.jpa.eclipselink.ui.internal.platform;x-internal:=true,
org.eclipse.jpt.jpa.eclipselink.ui.internal.structure;x-internal:=true,
org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence;x-internal:=true,
- org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.caching;x-internal:=true,
- org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.customization;x-internal:=true,
- org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.logging;x-internal:=true,
- org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.options;x-internal:=true,
org.eclipse.jpt.jpa.eclipselink.ui.internal.weave;x-internal:=true,
org.eclipse.jpt.jpa.eclipselink.ui.internal.wizards;x-internal:=true,
org.eclipse.jpt.jpa.eclipselink.ui.internal.wizards.conversion.java;x-internal:=true,
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/property_files/eclipselink_ui.properties b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/property_files/eclipselink_ui.properties
index 66c0b2e5a8..b80e4161a6 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/property_files/eclipselink_ui.properties
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/property_files/eclipselink_ui.properties
@@ -179,6 +179,8 @@ FlushClearCacheComposite_merge = Merge
PersistenceXmlCustomizationTab_title = Customization
PersistenceXmlCustomizationTab_sectionTitle = Persistence Unit Customization
PersistenceXmlCustomizationTab_sectionDescription = Set default or entity specific EclipseLink customization and validation properties.
+PersistenceXmlCustomizationTab_otherSection = Other
+PersistenceXmlCustomizationTab_customizersSection = Customizers
PersistenceXmlCustomizationTab_weavingPropertiesGroupBox = Weaving
PersistenceXmlCustomizationTab_weavingLabel = Weaving:
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/EclipseLinkUiMessages.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/EclipseLinkUiMessages.java
index ab090c7f50..9c92fd2f43 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/EclipseLinkUiMessages.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/EclipseLinkUiMessages.java
@@ -187,6 +187,9 @@ public class EclipseLinkUiMessages {
public static String PersistenceXmlCustomizationTab_sectionTitle;
public static String PersistenceXmlCustomizationTab_sectionDescription;
+ public static String PersistenceXmlCustomizationTab_otherSection;
+ public static String PersistenceXmlCustomizationTab_customizersSection;
+
public static String PersistenceXmlCustomizationTab_weavingPropertiesGroupBox;
public static String PersistenceXmlCustomizationTab_weavingLabel;
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkAlwaysRefreshComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkAlwaysRefreshComposite.java
deleted file mode 100644
index 769bd0ce67..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkAlwaysRefreshComposite.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCaching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-
-/**
- * This composite simply shows a tri-state check box for the Always Refresh option.
- *
- * @see EclipseLinkCaching
- * @see EclipseLinkCachingComposite - A container of this widget
- *
- * @version 2.1
- * @since 2.1
- */
-public class EclipseLinkAlwaysRefreshComposite extends Pane<EclipseLinkCaching>
-{
- /**
- * Creates a new <code>OptionalComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public EclipseLinkAlwaysRefreshComposite(Pane<? extends EclipseLinkCaching> parentPane,
- Composite parent)
- {
- super(parentPane, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkAlwaysRefreshComposite_alwaysRefreshLabel,
- buildAlwaysRefreshHolder(),
- buildAlwaysRefreshStringHolder(),
- EclipseLinkHelpContextIds.CACHING_ALWAYS_REFRESH
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildAlwaysRefreshHolder() {
- return new PropertyAspectAdapter<EclipseLinkCaching, Boolean>(getSubjectHolder(), EclipseLinkCaching.SPECIFIED_ALWAYS_REFRESH_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getSpecifiedAlwaysRefresh();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setSpecifiedAlwaysRefresh(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildAlwaysRefreshStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultAlwaysRefreshHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiDetailsMessages.EclipseLinkAlwaysRefreshComposite_alwaysRefreshDefault, defaultStringValue);
- }
- return EclipseLinkUiDetailsMessages.EclipseLinkAlwaysRefreshComposite_alwaysRefreshLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultAlwaysRefreshHolder() {
- return new PropertyAspectAdapter<EclipseLinkCaching, Boolean>(
- getSubjectHolder(),
- EclipseLinkCaching.SPECIFIED_ALWAYS_REFRESH_PROPERTY,
- EclipseLinkCaching.DEFAULT_ALWAYS_REFRESH_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getSpecifiedAlwaysRefresh() != null) {
- return null;
- }
- return Boolean.valueOf(this.subject.isDefaultAlwaysRefresh());
- }
- };
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkArrayMapping2_3Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkArrayMapping2_3Composite.java
index 1ecb68d3d1..330ebfc3f6 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkArrayMapping2_3Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkArrayMapping2_3Composite.java
@@ -20,10 +20,11 @@ public class EclipseLinkArrayMapping2_3Composite extends Pane<EclipseLinkArrayMa
implements JpaComposite
{
public EclipseLinkArrayMapping2_3Composite(PropertyValueModel<? extends EclipseLinkArrayMapping2_3> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkBasicCollectionMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkBasicCollectionMappingComposite.java
index db4e28e583..85aefe3587 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkBasicCollectionMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkBasicCollectionMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -32,10 +32,11 @@ public class EclipseLinkBasicCollectionMappingComposite extends Pane<EclipseLink
* @param widgetFactory The factory used to create various common widgets
*/
public EclipseLinkBasicCollectionMappingComposite(PropertyValueModel<? extends EclipseLinkBasicCollectionMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkBasicMapMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkBasicMapMappingComposite.java
index 97e61eac55..86c4e89cd3 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkBasicMapMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkBasicMapMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -32,10 +32,11 @@ public class EclipseLinkBasicMapMappingComposite extends Pane<EclipseLinkBasicMa
* @param widgetFactory The factory used to create various common widgets
*/
public EclipseLinkBasicMapMappingComposite(PropertyValueModel<? extends EclipseLinkBasicMapMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkBasicMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkBasicMappingComposite.java
index d2752c0ca1..b87f40d26c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkBasicMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkBasicMappingComposite.java
@@ -10,7 +10,7 @@
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.CompositeBooleanPropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
@@ -25,15 +25,19 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverterContaine
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMutable;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractBasicMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.EnumTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.EnumTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TemporalTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.TemporalTypeCombo;
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.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -78,11 +82,11 @@ import org.eclipse.swt.widgets.Composite;
*
* @see BasicMapping
* @see ColumnComposite
- * @see EnumTypeComposite
- * @see FetchTypeComposite
+ * @see EnumTypeComboViewer
+ * @see FetchTypeComboViewer
* @see LobComposite
* @see OptionalComposite
- * @see TemporalTypeComposite
+ * @see TemporalTypeCombo
*
* @version 3.2
* @since 2.1
@@ -97,23 +101,17 @@ public abstract class EclipseLinkBasicMappingComposite<T extends BasicMapping> e
* @param widgetFactory The factory used to create various common widgets
*/
protected EclipseLinkBasicMappingComposite(PropertyValueModel<? extends T> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
- @Override
- protected void initializeBasicSection(Composite container) {
- new ColumnComposite(this, buildColumnHolder(), container);
- new FetchTypeComposite(this, container);
- new OptionalComposite(this, addSubPane(container, 4));
- new EclipseLinkMutableComposite(this, buildMutableHolder(), container);
- }
@Override
- protected void initializeTypeSection(Composite container) {
- ((GridLayout) container.getLayout()).numColumns = 2;
+ protected Control initializeTypeSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
// No converter
Button noConverterButton = addRadioButton(
@@ -138,7 +136,7 @@ public abstract class EclipseLinkBasicMappingComposite<T extends BasicMapping> e
JptUiDetailsMessages.TypeSection_temporal,
buildConverterBooleanHolder(BaseTemporalConverter.class),
null);
- registerSubPane(new TemporalTypeComposite(buildTemporalConverterHolder(converterHolder), container, getWidgetFactory()));
+ registerSubPane(new TemporalTypeCombo(buildTemporalConverterHolder(converterHolder), getEnabledModel(), container, getWidgetFactory()));
// Enumerated
@@ -147,7 +145,7 @@ public abstract class EclipseLinkBasicMappingComposite<T extends BasicMapping> e
JptUiDetailsMessages.TypeSection_enumerated,
buildConverterBooleanHolder(BaseEnumeratedConverter.class),
null);
- registerSubPane(new EnumTypeComposite(buildEnumeratedConverterHolder(converterHolder), container, getWidgetFactory()));
+ registerSubPane(new EnumTypeComboViewer(buildEnumeratedConverterHolder(converterHolder), getEnabledModel(), container, getWidgetFactory()));
// EclipseLink Converter
Button elConverterButton = addRadioButton(
@@ -157,17 +155,17 @@ public abstract class EclipseLinkBasicMappingComposite<T extends BasicMapping> e
null);
((GridData) elConverterButton.getLayoutData()).horizontalSpan = 2;
- Pane<EclipseLinkConvert> convertComposite = buildConvertComposite(buildEclipseLinkConverterHolder(converterHolder), container);
- GridData gridData = (GridData) convertComposite.getControl().getLayoutData();
- gridData.horizontalSpan = 2;
+ PropertyValueModel<EclipseLinkConvert> convertHolder = buildEclipseLinkConverterHolder(converterHolder);
+ PropertyValueModel<Boolean> convertEnabledModel = CompositeBooleanPropertyValueModel.and(getEnabledModel(), buildEclipseLinkConvertBooleanHolder(convertHolder));
+ Label convertLabel = this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkConvertComposite_converterNameLabel, convertEnabledModel);
+ GridData gridData = new GridData();
gridData.horizontalIndent = 20;
- registerSubPane(convertComposite);
- }
+ convertLabel.setLayoutData(gridData);
+ registerSubPane(new EclipseLinkConvertCombo(convertHolder, convertEnabledModel, container, getWidgetFactory()));
- protected Pane<EclipseLinkConvert> buildConvertComposite(PropertyValueModel<EclipseLinkConvert> convertHolder, Composite container) {
- return new EclipseLinkConvertComposite(convertHolder, container, getWidgetFactory());
+ return container;
}
-
+
protected PropertyValueModel<EclipseLinkMutable> buildMutableHolder() {
return new PropertyAspectAdapter<T, EclipseLinkMutable>(getSubjectHolder()) {
@Override
@@ -186,16 +184,31 @@ public abstract class EclipseLinkBasicMappingComposite<T extends BasicMapping> e
};
}
+ protected PropertyValueModel<Boolean> buildEclipseLinkConvertBooleanHolder(PropertyValueModel<EclipseLinkConvert> convertHolder) {
+ return new TransformationPropertyValueModel<EclipseLinkConvert, Boolean>(convertHolder) {
+ @Override
+ protected Boolean transform(EclipseLinkConvert value) {
+ return Boolean.valueOf(value != null);
+ }
+ };
+ }
+
protected void initializeConvertersCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters
- );
- initializeConvertersSection(container, this.buildConverterHolderValueModel());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(EclipseLinkBasicMappingComposite.this.initializeConvertersSection(section));
+ }
+ }
+ });
}
- protected void initializeConvertersSection(Composite container, PropertyValueModel<EclipseLinkConverterContainer> converterHolder) {
- new EclipseLinkConvertersComposite(this, converterHolder, container);
+ protected Control initializeConvertersSection(Composite container) {
+ return new EclipseLinkConvertersComposite(this, this.buildConverterHolderValueModel(), container).getControl();
}
protected PropertyValueModel<EclipseLinkConverterContainer> buildConverterHolderValueModel() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheCoordinationTypeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheCoordinationTypeComposite.java
deleted file mode 100644
index afb47f9168..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheCoordinationTypeComposite.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCacheCoordinationType;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCaching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here is the layout of this pane:
- * <pre>
- * ----------------------------------------------------------------------------
- * | ----------------------------------------------------- |
- * | Coordination Type: | |v| |
- * | ----------------------------------------------------- |
- * ----------------------------------------------------------------------------</pre>
- *
- * @see EclipseLinkCaching
- * @see EclipseLinkCachingComposite - A container of this widget
- *
- * @version 2.1
- * @since 2.1
- */
-public class EclipseLinkCacheCoordinationTypeComposite extends Pane<EclipseLinkCaching> {
-
- /**
- * Creates a new <code>CacheTypeComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public EclipseLinkCacheCoordinationTypeComposite(Pane<? extends EclipseLinkCaching> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- private EnumFormComboViewer<EclipseLinkCaching, EclipseLinkCacheCoordinationType> addCacheCoordinationTypeCombo(Composite container) {
-
- return new EnumFormComboViewer<EclipseLinkCaching, EclipseLinkCacheCoordinationType>(this, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(EclipseLinkCaching.DEFAULT_COORDINATION_TYPE_PROPERTY);
- propertyNames.add(EclipseLinkCaching.SPECIFIED_COORDINATION_TYPE_PROPERTY);
- }
-
- @Override
- protected EclipseLinkCacheCoordinationType[] getChoices() {
- return EclipseLinkCacheCoordinationType.values();
- }
-
- @Override
- protected EclipseLinkCacheCoordinationType getDefaultValue() {
- return getSubject().getDefaultCoordinationType();
- }
-
- @Override
- protected String displayString(EclipseLinkCacheCoordinationType value) {
- switch (value) {
- case INVALIDATE_CHANGED_OBJECTS :
- return EclipseLinkUiDetailsMessages.EclipseLinkCacheCoordinationTypeComposite_invalidate_changed_objects;
- case SEND_NEW_OBJECTS_WITH_CHANGES :
- return EclipseLinkUiDetailsMessages.EclipseLinkCacheCoordinationTypeComposite_send_new_objects_with_changes;
- case SEND_OBJECT_CHANGES :
- return EclipseLinkUiDetailsMessages.EclipseLinkCacheCoordinationTypeComposite_send_object_changes;
- case NONE :
- return EclipseLinkUiDetailsMessages.EclipseLinkCacheCoordinationTypeComposite_none;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected EclipseLinkCacheCoordinationType getValue() {
- return getSubject().getSpecifiedCoordinationType();
- }
-
- @Override
- protected void setValue(EclipseLinkCacheCoordinationType value) {
- getSubject().setSpecifiedCoordinationType(value);
- }
-
- @Override
- protected boolean sortChoices() {
- return false;
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- addLabeledComposite(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkCacheCoordinationTypeComposite_label,
- addCacheCoordinationTypeCombo(container),
- EclipseLinkHelpContextIds.CACHING_CACHE_COORDINATION_TYPE
- );
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheSizeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheSizeCombo.java
index fd1b778beb..167839e845 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheSizeComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheSizeCombo.java
@@ -32,7 +32,7 @@ import org.eclipse.swt.widgets.Composite;
* @version 2.1
* @since 2.1
*/
-public class EclipseLinkCacheSizeComposite extends Pane<EclipseLinkCaching> {
+public class EclipseLinkCacheSizeCombo extends IntegerCombo<EclipseLinkCaching> {
/**
* Creates a new <code>CacheSizeComposite</code>.
@@ -40,55 +40,40 @@ public class EclipseLinkCacheSizeComposite extends Pane<EclipseLinkCaching> {
* @param parentPane The parent container of this one
* @param parent The parent container
*/
- public EclipseLinkCacheSizeComposite(Pane<? extends EclipseLinkCaching> parentPane,
- Composite parent) {
+ public EclipseLinkCacheSizeCombo(Pane<? extends EclipseLinkCaching> parentPane,
+ Composite parent,
+ PropertyValueModel<Boolean> enabledModel) {
- super(parentPane, parent);
+ super(parentPane, parent, enabledModel);
}
@Override
- protected void initializeLayout(Composite container) {
- addSizeCombo(container);
+ protected String getHelpId() {
+ return null;//JpaHelpContextIds.MAPPING_COLUMN_LENGTH;
}
-
- private void addSizeCombo(Composite container) {
- new IntegerCombo<EclipseLinkCaching>(this, container) {
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiDetailsMessages.EclipseLinkCacheSizeComposite_size;
- }
-
+
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<EclipseLinkCaching, Integer>(getSubjectHolder(), EclipseLinkCaching.DEFAULT_SIZE_PROPERTY) {
@Override
- protected String getHelpId() {
- return null;//JpaHelpContextIds.MAPPING_COLUMN_LENGTH;
+ protected Integer buildValue_() {
+ return Integer.valueOf(this.subject.getDefaultSize());
}
+ };
+ }
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<EclipseLinkCaching, Integer>(getSubjectHolder(), EclipseLinkCaching.SPECIFIED_SIZE_PROPERTY) {
@Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<EclipseLinkCaching, Integer>(getSubjectHolder(), EclipseLinkCaching.DEFAULT_SIZE_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return Integer.valueOf(this.subject.getDefaultSize());
- }
- };
+ protected Integer buildValue_() {
+ return this.subject.getSpecifiedSize();
}
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<EclipseLinkCaching, Integer>(getSubjectHolder(), EclipseLinkCaching.SPECIFIED_SIZE_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getSpecifiedSize();
- }
- @Override
- protected void setValue_(Integer value) {
- this.subject.setSpecifiedSize(value);
- }
- };
+ @Override
+ protected void setValue_(Integer value) {
+ this.subject.setSpecifiedSize(value);
}
};
}
-
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheTypeComboViewer.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheTypeComboViewer.java
new file mode 100644
index 0000000000..930aacb37e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheTypeComboViewer.java
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 Oracle. 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
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
+
+import java.util.Collection;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCacheType;
+import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCaching;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Here is the layout of this pane:
+ * <pre>
+ * ----------------------------------------------------------------------------
+ * | ------------------------------------------------------------------ |
+ * | Type: | |v| |
+ * | ------------------------------------------------------------------ |
+ * ----------------------------------------------------------------------------</pre>
+ *
+ * @see EclipseLinkCaching
+ * @see EclipseLinkCachingComposite - A container of this widget
+ *
+ * @version 2.1
+ * @since 2.1
+ */
+public class EclipseLinkCacheTypeComboViewer extends EnumFormComboViewer<EclipseLinkCaching, EclipseLinkCacheType> {
+
+ /**
+ * Creates a new <code>CacheTypeComposite</code>.
+ *
+ * @param parentPane The parent container of this one
+ * @param parent The parent container
+ */
+ public EclipseLinkCacheTypeComboViewer(Pane<? extends EclipseLinkCaching> parentPane,
+ Composite parent,
+ PropertyValueModel<Boolean> enabledModel) {
+
+ super(parentPane, parent, enabledModel);
+ }
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(EclipseLinkCaching.DEFAULT_TYPE_PROPERTY);
+ propertyNames.add(EclipseLinkCaching.SPECIFIED_TYPE_PROPERTY);
+ }
+
+ @Override
+ protected EclipseLinkCacheType[] getChoices() {
+ return EclipseLinkCacheType.values();
+ }
+
+ @Override
+ protected EclipseLinkCacheType getDefaultValue() {
+ return getSubject().getDefaultType();
+ }
+
+ @Override
+ protected String displayString(EclipseLinkCacheType value) {
+ switch (value) {
+ case FULL :
+ return EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_full;
+ case WEAK :
+ return EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_weak;
+ case SOFT :
+ return EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_soft;
+ case SOFT_WEAK :
+ return EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_soft_weak;
+ case HARD_WEAK :
+ return EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_hard_weak;
+ case CACHE :
+ return EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_cache;
+ case NONE :
+ return EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_none;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected EclipseLinkCacheType getValue() {
+ return getSubject().getSpecifiedType();
+ }
+
+ @Override
+ protected void setValue(EclipseLinkCacheType value) {
+ getSubject().setSpecifiedType(value);
+ }
+
+ @Override
+ protected boolean sortChoices() {
+ return false;
+ }
+
+ @Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.CACHING_CACHE_TYPE;
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheTypeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheTypeComposite.java
deleted file mode 100644
index d3c7f2da2f..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCacheTypeComposite.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCacheType;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCaching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here is the layout of this pane:
- * <pre>
- * ----------------------------------------------------------------------------
- * | ------------------------------------------------------------------ |
- * | Type: | |v| |
- * | ------------------------------------------------------------------ |
- * ----------------------------------------------------------------------------</pre>
- *
- * @see EclipseLinkCaching
- * @see EclipseLinkCachingComposite - A container of this widget
- *
- * @version 2.1
- * @since 2.1
- */
-public class EclipseLinkCacheTypeComposite extends Pane<EclipseLinkCaching> {
-
- /**
- * Creates a new <code>CacheTypeComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public EclipseLinkCacheTypeComposite(Pane<? extends EclipseLinkCaching> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- private EnumFormComboViewer<EclipseLinkCaching, EclipseLinkCacheType> addCacheTypeCombo(Composite container) {
-
- return new EnumFormComboViewer<EclipseLinkCaching, EclipseLinkCacheType>(this, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(EclipseLinkCaching.DEFAULT_TYPE_PROPERTY);
- propertyNames.add(EclipseLinkCaching.SPECIFIED_TYPE_PROPERTY);
- }
-
- @Override
- protected EclipseLinkCacheType[] getChoices() {
- return EclipseLinkCacheType.values();
- }
-
- @Override
- protected EclipseLinkCacheType getDefaultValue() {
- return getSubject().getDefaultType();
- }
-
- @Override
- protected String displayString(EclipseLinkCacheType value) {
- switch (value) {
- case FULL :
- return EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_full;
- case WEAK :
- return EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_weak;
- case SOFT :
- return EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_soft;
- case SOFT_WEAK :
- return EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_soft_weak;
- case HARD_WEAK :
- return EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_hard_weak;
- case CACHE :
- return EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_cache;
- case NONE :
- return EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_none;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected EclipseLinkCacheType getValue() {
- return getSubject().getSpecifiedType();
- }
-
- @Override
- protected void setValue(EclipseLinkCacheType value) {
- getSubject().setSpecifiedType(value);
- }
-
- @Override
- protected boolean sortChoices() {
- return false;
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- addLabeledComposite(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_label,
- addCacheTypeCombo(container),
- EclipseLinkHelpContextIds.CACHING_CACHE_TYPE
- );
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCaching2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCaching2_0Composite.java
index 11dd9f23bf..62cbc7d609 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCaching2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCaching2_0Composite.java
@@ -9,13 +9,10 @@
******************************************************************************/
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
-import java.util.ArrayList;
-import java.util.Collection;
import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
@@ -26,7 +23,13 @@ import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.java.JavaEclipseLinkE
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.JptUiDetailsMessages2_0;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* This pane shows the caching options.
@@ -49,8 +52,8 @@ import org.eclipse.swt.widgets.Composite;
* @see Entity
* @see EclipseLinkCaching
* @see JavaEclipseLinkEntityComposite - The parent container
- * @see EclipseLinkCacheTypeComposite
- * @see EclipseLinkCacheSizeComposite
+ * @see EclipseLinkCacheTypeComboViewer
+ * @see EclipseLinkCacheSizeCombo
* @see EclipseLinkAlwaysRefreshComposite
* @see EclipseLinkRefreshOnlyIfNewerComposite
* @see EclipseLinkDisableHitsComposite
@@ -58,14 +61,14 @@ import org.eclipse.swt.widgets.Composite;
* @version 3.0
* @since 3.0
*/
-public abstract class EclipseLinkCaching2_0Composite<T extends EclipseLinkCaching> extends Pane<T>
+public abstract class EclipseLinkCaching2_0Composite<T extends EclipseLinkCaching> extends EclipseLinkCachingComposite<T>
{
protected EclipseLinkCaching2_0Composite(Pane<?> parentPane,
PropertyValueModel<T> subjectHolder,
Composite parent) {
- super(parentPane, subjectHolder, parent, false);
+ super(parentPane, subjectHolder, parent);
}
@Override
@@ -73,32 +76,51 @@ public abstract class EclipseLinkCaching2_0Composite<T extends EclipseLinkCachin
PropertyValueModel<Cacheable2_0> cacheableHolder = buildCacheableHolder();
//Shared Check box, uncheck this and the rest of the panel is disabled
- addTriStateCheckBoxWithDefault(
- addSubPane(container, 8),
+ TriStateCheckBox sharedCheckBox = addTriStateCheckBoxWithDefault(
+ container,
JptUiDetailsMessages2_0.Entity_cacheableLabel,
buildSpecifiedCacheableHolder(cacheableHolder),
buildCacheableStringHolder(cacheableHolder),
JpaHelpContextIds.ENTITY_CACHEABLE
);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ sharedCheckBox.getCheckBox().setLayoutData(gridData);
- Composite subPane = addSubPane(container, 0, 16);
+ final PropertyValueModel<Boolean> cacheableEnableModel = buildCacheableEnabler(cacheableHolder);
- Collection<Pane<?>> panes = new ArrayList<Pane<?>>();
-
- this.initializeTypeSection(subPane, panes);
+ Label cacheTypeLabel = this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_label, cacheableEnableModel);
+ gridData = new GridData();
+ gridData.horizontalIndent = 16;
+ cacheTypeLabel.setLayoutData(gridData);
+ new EclipseLinkCacheTypeComboViewer(this, container, cacheableEnableModel);
+
+ Label cacheSizeLabel = this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkCacheSizeComposite_size, cacheableEnableModel);
+ gridData = new GridData();
+ gridData.horizontalIndent = 16;
+ cacheSizeLabel.setLayoutData(gridData);
+ new EclipseLinkCacheSizeCombo(this, container, cacheableEnableModel);
// Advanced sub-pane
- Composite advancedSection = addCollapsibleSubSection(
- subPane,
- EclipseLinkUiDetailsMessages.EclipseLinkCachingComposite_advanced,
- new SimplePropertyValueModel<Boolean>(Boolean.FALSE)
- );
+ final Section advancedSection = this.getWidgetFactory().createSection(container, ExpandableComposite.TWISTIE);
+ gridData = new GridData(GridData.FILL_BOTH);
+ gridData.horizontalIndent = 16;
+ gridData.horizontalSpan = 2;
+ advancedSection.setLayoutData(gridData);
+ advancedSection.setText(EclipseLinkUiDetailsMessages.EclipseLinkCachingComposite_advanced);
- initializeAdvancedPane(addSubPane(advancedSection, 0, 16), panes);
-
- new PaneEnabler(buildCacheableEnabler(cacheableHolder), panes);
+
+ advancedSection.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && advancedSection.getClient() == null) {
+ Composite advancedClient = initializeAdvancedPane(advancedSection, cacheableEnableModel);
+ advancedSection.setClient(advancedClient);
+ }
+ }
+ });
- initializeExistenceCheckingComposite(addSubPane(container, 8));
+ initializeExistenceCheckingComposite(container);
}
protected PropertyValueModel<Cacheable2_0> buildCacheableHolder() {
@@ -109,21 +131,6 @@ public abstract class EclipseLinkCaching2_0Composite<T extends EclipseLinkCachin
}
};
}
-
- protected void initializeTypeSection(Composite container, Collection<Pane<?>> panes) {
- panes.add(new EclipseLinkCacheTypeComposite(this, container));
- panes.add(new EclipseLinkCacheSizeComposite(this, container));
- }
-
- protected void initializeAdvancedPane(Composite container, Collection<Pane<?>> panes) {
- panes.add(new EclipseLinkExpiryComposite(this, container));
- panes.add(new EclipseLinkAlwaysRefreshComposite(this, container));
- panes.add(new EclipseLinkRefreshOnlyIfNewerComposite(this, container));
- panes.add(new EclipseLinkDisableHitsComposite(this, container));
- panes.add(new EclipseLinkCacheCoordinationTypeComposite(this, container));
- }
-
- protected abstract void initializeExistenceCheckingComposite(Composite parent);
private PropertyValueModel<Boolean> buildCacheableEnabler(PropertyValueModel<Cacheable2_0> cacheableHolder) {
return new PropertyAspectAdapter<Cacheable2_0, Boolean>(
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCachingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCachingComposite.java
index 44d4d6f793..668ee7704a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCachingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCachingComposite.java
@@ -9,21 +9,28 @@
******************************************************************************/
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
-import java.util.ArrayList;
import java.util.Collection;
import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCacheCoordinationType;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCaching;
+import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkExistenceType;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.java.JavaEclipseLinkEntityComposite;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* This pane shows the caching options.
@@ -46,8 +53,8 @@ import org.eclipse.swt.widgets.Composite;
* @see Entity
* @see EclipseLinkCaching
* @see JavaEclipseLinkEntityComposite - The parent container
- * @see EclipseLinkCacheTypeComposite
- * @see EclipseLinkCacheSizeComposite
+ * @see EclipseLinkCacheTypeComboViewer
+ * @see EclipseLinkCacheSizeCombo
* @see EclipseLinkAlwaysRefreshComposite
* @see EclipseLinkRefreshOnlyIfNewerComposite
* @see EclipseLinkDisableHitsComposite
@@ -62,51 +69,114 @@ public abstract class EclipseLinkCachingComposite<T extends EclipseLinkCaching>
PropertyValueModel<T> subjectHolder,
Composite parent) {
- super(parentPane, subjectHolder, parent, false);
+ super(parentPane, subjectHolder, parent);
}
@Override
- protected void initializeLayout(Composite container) {
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
//Shared Check box, uncheck this and the rest of the panel is disabled
- addTriStateCheckBoxWithDefault(
- addSubPane(container, 8),
+ TriStateCheckBox sharedCheckBox = addTriStateCheckBoxWithDefault(
+ container,
EclipseLinkUiDetailsMessages.EclipseLinkCachingComposite_sharedLabel,
buildSpecifiedSharedHolder(),
buildSharedStringHolder(),
EclipseLinkHelpContextIds.CACHING_SHARED
);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ sharedCheckBox.getCheckBox().setLayoutData(gridData);
- Composite subPane = addSubPane(container, 0, 16);
-
- Collection<Pane<?>> panes = new ArrayList<Pane<?>>();
+ final PropertyValueModel<Boolean> sharedCacheEnableModel = buildSharedCacheEnabler();
- panes.add(new EclipseLinkCacheTypeComposite(this, subPane));
- panes.add(new EclipseLinkCacheSizeComposite(this, subPane));
+ Label cacheTypeLabel = this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkCacheTypeComposite_label, sharedCacheEnableModel);
+ gridData = new GridData();
+ gridData.horizontalIndent = 16;
+ cacheTypeLabel.setLayoutData(gridData);
+ new EclipseLinkCacheTypeComboViewer(this, container, sharedCacheEnableModel);
+
+ Label cacheSizeLabel = this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkCacheSizeComposite_size, sharedCacheEnableModel);
+ gridData = new GridData();
+ gridData.horizontalIndent = 16;
+ cacheSizeLabel.setLayoutData(gridData);
+ new EclipseLinkCacheSizeCombo(this, container, sharedCacheEnableModel);
+
// Advanced sub-pane
- Composite advancedSection = addCollapsibleSubSection(
- subPane,
- EclipseLinkUiDetailsMessages.EclipseLinkCachingComposite_advanced,
- new SimplePropertyValueModel<Boolean>(Boolean.FALSE)
- );
+ final Section advancedSection = this.getWidgetFactory().createSection(container, ExpandableComposite.TWISTIE);
+ advancedSection.setText(EclipseLinkUiDetailsMessages.EclipseLinkCachingComposite_advanced);
+ gridData = new GridData(GridData.FILL_BOTH);
+ gridData.horizontalIndent = 16;
+ gridData.horizontalSpan = 2;
+ advancedSection.setLayoutData(gridData);
- initializeAdvancedPane(addSubPane(advancedSection, 0, 16), panes);
-
- new PaneEnabler(buildSharedCacheEnabler(), panes);
+ advancedSection.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && advancedSection.getClient() == null) {
+ advancedSection.setClient(initializeAdvancedPane(advancedSection, sharedCacheEnableModel));
+ }
+ }
+ });
+
- initializeExistenceCheckingComposite(addSubPane(container, 8));
+ initializeExistenceCheckingComposite(container);
}
- protected void initializeAdvancedPane(Composite container, Collection<Pane<?>> panes) {
- panes.add(new EclipseLinkExpiryComposite(this, container));
- panes.add(new EclipseLinkAlwaysRefreshComposite(this, container));
- panes.add(new EclipseLinkRefreshOnlyIfNewerComposite(this, container));
- panes.add(new EclipseLinkDisableHitsComposite(this, container));
- panes.add(new EclipseLinkCacheCoordinationTypeComposite(this, container));
+ protected Composite initializeAdvancedPane(Composite container, PropertyValueModel<Boolean> sharedCacheEnableModel) {
+ container = addSubPane(container, 2, 0, 8, 0, 0);
+
+ EclipseLinkExpiryComposite expiryComposite = new EclipseLinkExpiryComposite(this, container, sharedCacheEnableModel);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ expiryComposite.getControl().setLayoutData(gridData);
+
+ TriStateCheckBox alwaysRefreshCheckBox = addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiDetailsMessages.EclipseLinkAlwaysRefreshComposite_alwaysRefreshLabel,
+ buildAlwaysRefreshHolder(),
+ buildAlwaysRefreshStringHolder(),
+ sharedCacheEnableModel,
+ EclipseLinkHelpContextIds.CACHING_ALWAYS_REFRESH
+ );
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ alwaysRefreshCheckBox.getCheckBox().setLayoutData(gridData);
+
+ TriStateCheckBox refreshOnlyIfNewerCheckBox = addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiDetailsMessages.EclipseLinkRefreshOnlyIfNewerComposite_refreshOnlyIfNewerLabel,
+ buildRefreshOnlyIfNewerHolder(),
+ buildRefreshOnlyIfNewerStringHolder(),
+ sharedCacheEnableModel,
+ EclipseLinkHelpContextIds.CACHING_REFRESH_ONLY_IF_NEWER
+ );
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ refreshOnlyIfNewerCheckBox.getCheckBox().setLayoutData(gridData);
+
+ TriStateCheckBox disableHitsCheckBox = addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiDetailsMessages.EclipseLinkDisableHitsComposite_disableHitsLabel,
+ buildDisableHitsHolder(),
+ buildDisableHitsStringHolder(),
+ sharedCacheEnableModel,
+ EclipseLinkHelpContextIds.CACHING_DISABLE_HITS
+ );
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ disableHitsCheckBox.getCheckBox().setLayoutData(gridData);
+
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkCacheCoordinationTypeComposite_label, sharedCacheEnableModel);
+ this.addCacheCoordinationTypeCombo(container, sharedCacheEnableModel);
+ return container;
}
- protected abstract void initializeExistenceCheckingComposite(Composite parent);
+ protected abstract void initializeExistenceCheckingComposite(Composite container);
private PropertyValueModel<Boolean> buildSharedCacheEnabler() {
return new PropertyAspectAdapter<EclipseLinkCaching, Boolean>(
@@ -162,4 +232,248 @@ public abstract class EclipseLinkCachingComposite<T extends EclipseLinkCaching>
}
};
}
+
+ private ModifiablePropertyValueModel<Boolean> buildAlwaysRefreshHolder() {
+ return new PropertyAspectAdapter<EclipseLinkCaching, Boolean>(getSubjectHolder(), EclipseLinkCaching.SPECIFIED_ALWAYS_REFRESH_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getSpecifiedAlwaysRefresh();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setSpecifiedAlwaysRefresh(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildAlwaysRefreshStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultAlwaysRefreshHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiDetailsMessages.EclipseLinkAlwaysRefreshComposite_alwaysRefreshDefault, defaultStringValue);
+ }
+ return EclipseLinkUiDetailsMessages.EclipseLinkAlwaysRefreshComposite_alwaysRefreshLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultAlwaysRefreshHolder() {
+ return new PropertyAspectAdapter<EclipseLinkCaching, Boolean>(
+ getSubjectHolder(),
+ EclipseLinkCaching.SPECIFIED_ALWAYS_REFRESH_PROPERTY,
+ EclipseLinkCaching.DEFAULT_ALWAYS_REFRESH_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getSpecifiedAlwaysRefresh() != null) {
+ return null;
+ }
+ return Boolean.valueOf(this.subject.isDefaultAlwaysRefresh());
+ }
+ };
+ }
+
+ private ModifiablePropertyValueModel<Boolean> buildRefreshOnlyIfNewerHolder() {
+ return new PropertyAspectAdapter<EclipseLinkCaching, Boolean>(getSubjectHolder(), EclipseLinkCaching.SPECIFIED_REFRESH_ONLY_IF_NEWER_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getSpecifiedRefreshOnlyIfNewer();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setSpecifiedRefreshOnlyIfNewer(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildRefreshOnlyIfNewerStringHolder() {
+
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultRefreshOnlyIfNewerHolder()) {
+
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiDetailsMessages.EclipseLinkRefreshOnlyIfNewerComposite_refreshOnlyIfNewerDefault, defaultStringValue);
+ }
+ return EclipseLinkUiDetailsMessages.EclipseLinkRefreshOnlyIfNewerComposite_refreshOnlyIfNewerLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultRefreshOnlyIfNewerHolder() {
+ return new PropertyAspectAdapter<EclipseLinkCaching, Boolean>(
+ getSubjectHolder(),
+ EclipseLinkCaching.SPECIFIED_REFRESH_ONLY_IF_NEWER_PROPERTY,
+ EclipseLinkCaching.DEFAULT_REFRESH_ONLY_IF_NEWER_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getSpecifiedRefreshOnlyIfNewer() != null) {
+ return null;
+ }
+ return Boolean.valueOf(this.subject.isDefaultRefreshOnlyIfNewer());
+ }
+ };
+ }
+ private ModifiablePropertyValueModel<Boolean> buildDisableHitsHolder() {
+ return new PropertyAspectAdapter<EclipseLinkCaching, Boolean>(getSubjectHolder(), EclipseLinkCaching.SPECIFIED_DISABLE_HITS_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getSpecifiedDisableHits();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setSpecifiedDisableHits(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildDisableHitsStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultDisableHitsHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiDetailsMessages.EclipseLinkDisableHitsComposite_disableHitsDefault, defaultStringValue);
+ }
+ return EclipseLinkUiDetailsMessages.EclipseLinkDisableHitsComposite_disableHitsLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultDisableHitsHolder() {
+ return new PropertyAspectAdapter<EclipseLinkCaching, Boolean>(
+ getSubjectHolder(),
+ EclipseLinkCaching.SPECIFIED_DISABLE_HITS_PROPERTY,
+ EclipseLinkCaching.DEFAULT_DISABLE_HITS_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getSpecifiedDisableHits() != null) {
+ return null;
+ }
+ return Boolean.valueOf(this.subject.isDefaultDisableHits());
+ }
+ };
+ }
+
+ private EnumFormComboViewer<EclipseLinkCaching, EclipseLinkCacheCoordinationType> addCacheCoordinationTypeCombo(Composite container, PropertyValueModel<Boolean> sharedCacheEnableModel) {
+
+ return new EnumFormComboViewer<EclipseLinkCaching, EclipseLinkCacheCoordinationType>(this, container, sharedCacheEnableModel) {
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(EclipseLinkCaching.DEFAULT_COORDINATION_TYPE_PROPERTY);
+ propertyNames.add(EclipseLinkCaching.SPECIFIED_COORDINATION_TYPE_PROPERTY);
+ }
+
+ @Override
+ protected EclipseLinkCacheCoordinationType[] getChoices() {
+ return EclipseLinkCacheCoordinationType.values();
+ }
+
+ @Override
+ protected EclipseLinkCacheCoordinationType getDefaultValue() {
+ return getSubject().getDefaultCoordinationType();
+ }
+
+ @Override
+ protected String displayString(EclipseLinkCacheCoordinationType value) {
+ switch (value) {
+ case INVALIDATE_CHANGED_OBJECTS :
+ return EclipseLinkUiDetailsMessages.EclipseLinkCacheCoordinationTypeComposite_invalidate_changed_objects;
+ case SEND_NEW_OBJECTS_WITH_CHANGES :
+ return EclipseLinkUiDetailsMessages.EclipseLinkCacheCoordinationTypeComposite_send_new_objects_with_changes;
+ case SEND_OBJECT_CHANGES :
+ return EclipseLinkUiDetailsMessages.EclipseLinkCacheCoordinationTypeComposite_send_object_changes;
+ case NONE :
+ return EclipseLinkUiDetailsMessages.EclipseLinkCacheCoordinationTypeComposite_none;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected EclipseLinkCacheCoordinationType getValue() {
+ return getSubject().getSpecifiedCoordinationType();
+ }
+
+ @Override
+ protected void setValue(EclipseLinkCacheCoordinationType value) {
+ getSubject().setSpecifiedCoordinationType(value);
+ }
+
+ @Override
+ protected boolean sortChoices() {
+ return false;
+ }
+
+ @Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.CACHING_CACHE_COORDINATION_TYPE;
+ }
+ };
+ }
+
+ protected EnumFormComboViewer<EclipseLinkCaching, EclipseLinkExistenceType> addExistenceCheckingTypeCombo(Composite container) {
+
+ return new EnumFormComboViewer<EclipseLinkCaching, EclipseLinkExistenceType>(this, container) {
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(EclipseLinkCaching.DEFAULT_EXISTENCE_TYPE_PROPERTY);
+ propertyNames.add(EclipseLinkCaching.SPECIFIED_EXISTENCE_TYPE_PROPERTY);
+ }
+
+ @Override
+ protected EclipseLinkExistenceType[] getChoices() {
+ return EclipseLinkExistenceType.values();
+ }
+
+ @Override
+ protected EclipseLinkExistenceType getDefaultValue() {
+ return getSubject().getDefaultExistenceType();
+ }
+
+ @Override
+ protected String displayString(EclipseLinkExistenceType value) {
+ switch (value) {
+ case CHECK_CACHE :
+ return EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_check_cache;
+ case CHECK_DATABASE :
+ return EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_check_database;
+ case ASSUME_EXISTENCE :
+ return EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_assume_existence;
+ case ASSUME_NON_EXISTENCE :
+ return EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_assume_non_existence;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected EclipseLinkExistenceType getValue() {
+ return getSubject().getSpecifiedExistenceType();
+ }
+
+ @Override
+ protected void setValue(EclipseLinkExistenceType value) {
+ getSubject().setSpecifiedExistenceType(value);
+ }
+
+ @Override
+ protected boolean sortChoices() {
+ return false;
+ }
+ };
+ }
+
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkChangeTrackingComboViewer.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkChangeTrackingComboViewer.java
new file mode 100644
index 0000000000..68a6a244cb
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkChangeTrackingComboViewer.java
@@ -0,0 +1,96 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 Oracle. 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
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
+
+import java.util.Collection;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTracking;
+import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTrackingType;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Here is the layout of this pane:
+ * <pre>
+ * -------------------------------------------------------------------------
+ * | ---------------------------------------------- |
+ * | Change Tracking : | |v| |
+ * | ---------------------------------------------- |
+ * -------------------------------------------------------------------------</pre>
+ *
+ * @see EclipseLinkChangeTracking
+ *
+ * @version 2.1
+ * @since 2.1
+ */
+public class EclipseLinkChangeTrackingComboViewer extends EnumFormComboViewer<EclipseLinkChangeTracking, EclipseLinkChangeTrackingType> {
+
+ /**
+ * Creates a new <code>ChangeTrackingComposite</code>.
+ *
+ * @param parentPane The parent container of this one
+ * @param parent The parent container
+ */
+ public EclipseLinkChangeTrackingComboViewer(Pane<?> parentPane,
+ PropertyValueModel<? extends EclipseLinkChangeTracking> subjectHolder,
+ Composite parent) {
+
+ super(parentPane, subjectHolder, parent);
+ }
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(EclipseLinkChangeTracking.DEFAULT_TYPE_PROPERTY);
+ propertyNames.add(EclipseLinkChangeTracking.SPECIFIED_TYPE_PROPERTY);
+ }
+
+ @Override
+ protected EclipseLinkChangeTrackingType[] getChoices() {
+ return EclipseLinkChangeTrackingType.values();
+ }
+
+ @Override
+ protected EclipseLinkChangeTrackingType getDefaultValue() {
+ return getSubject().getDefaultType();
+ }
+
+ @Override
+ protected String displayString(EclipseLinkChangeTrackingType value) {
+ switch (value) {
+ case ATTRIBUTE :
+ return EclipseLinkUiDetailsMessages.EclipseLinkChangeTrackingComposite_attribute;
+ case AUTO :
+ return EclipseLinkUiDetailsMessages.EclipseLinkChangeTrackingComposite_auto;
+ case DEFERRED :
+ return EclipseLinkUiDetailsMessages.EclipseLinkChangeTrackingComposite_deferred;
+ case OBJECT :
+ return EclipseLinkUiDetailsMessages.EclipseLinkChangeTrackingComposite_object;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected EclipseLinkChangeTrackingType getValue() {
+ return getSubject().getSpecifiedType();
+ }
+
+ @Override
+ protected void setValue(EclipseLinkChangeTrackingType value) {
+ getSubject().setSpecifiedType(value);
+ }
+
+ @Override
+ protected boolean sortChoices() {
+ return false;
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkChangeTrackingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkChangeTrackingComposite.java
deleted file mode 100644
index 5a58119c0c..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkChangeTrackingComposite.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTracking;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTrackingType;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here is the layout of this pane:
- * <pre>
- * -------------------------------------------------------------------------
- * | ---------------------------------------------- |
- * | Change Tracking : | |v| |
- * | ---------------------------------------------- |
- * -------------------------------------------------------------------------</pre>
- *
- * @see EclipseLinkChangeTracking
- *
- * @version 2.1
- * @since 2.1
- */
-public class EclipseLinkChangeTrackingComposite extends Pane<EclipseLinkChangeTracking> {
-
- /**
- * Creates a new <code>ChangeTrackingComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public EclipseLinkChangeTrackingComposite(Pane<?> parentPane,
- PropertyValueModel<? extends EclipseLinkChangeTracking> subjectHolder,
- Composite parent) {
-
- super(parentPane, subjectHolder, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- addLabeledComposite(
- container,
- addLabel(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkChangeTrackingComposite_label),
- addChangeTrackingTypeCombo(container).getControl(),
- null
- );
- }
-
- private EnumFormComboViewer<EclipseLinkChangeTracking, EclipseLinkChangeTrackingType> addChangeTrackingTypeCombo(Composite container) {
-
- return new EnumFormComboViewer<EclipseLinkChangeTracking, EclipseLinkChangeTrackingType>(this, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(EclipseLinkChangeTracking.DEFAULT_TYPE_PROPERTY);
- propertyNames.add(EclipseLinkChangeTracking.SPECIFIED_TYPE_PROPERTY);
- }
-
- @Override
- protected EclipseLinkChangeTrackingType[] getChoices() {
- return EclipseLinkChangeTrackingType.values();
- }
-
- @Override
- protected EclipseLinkChangeTrackingType getDefaultValue() {
- return getSubject().getDefaultType();
- }
-
- @Override
- protected String displayString(EclipseLinkChangeTrackingType value) {
- switch (value) {
- case ATTRIBUTE :
- return EclipseLinkUiDetailsMessages.EclipseLinkChangeTrackingComposite_attribute;
- case AUTO :
- return EclipseLinkUiDetailsMessages.EclipseLinkChangeTrackingComposite_auto;
- case DEFERRED :
- return EclipseLinkUiDetailsMessages.EclipseLinkChangeTrackingComposite_deferred;
- case OBJECT :
- return EclipseLinkUiDetailsMessages.EclipseLinkChangeTrackingComposite_object;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected EclipseLinkChangeTrackingType getValue() {
- return getSubject().getSpecifiedType();
- }
-
- @Override
- protected void setValue(EclipseLinkChangeTrackingType value) {
- getSubject().setSpecifiedType(value);
- }
-
- @Override
- protected boolean sortChoices() {
- return false;
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConversionValueDialog.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConversionValueDialog.java
index 853d408a63..4b46324203 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConversionValueDialog.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConversionValueDialog.java
@@ -159,16 +159,21 @@ public class EclipseLinkConversionValueDialog extends ValidatingDialog<EclipseLi
}
@Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
- this.dataValueText = addLabeledText(
+ this.addLabel(container,EclipseLinkUiDetailsMessages.EclipseLinkConversionValueDialog_dataValue);
+ this.dataValueText = this.addText(
container,
- EclipseLinkUiDetailsMessages.EclipseLinkConversionValueDialog_dataValue,
buildDataValueHolder()
);
- this.objectValueText = addLabeledText(
+ this.addLabel(container,EclipseLinkUiDetailsMessages.EclipseLinkConversionValueDialog_objectValue);
+ this.objectValueText = this.addText(
container,
- EclipseLinkUiDetailsMessages.EclipseLinkConversionValueDialog_objectValue,
buildObjectValueHolder()
);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConvertComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConvertCombo.java
index 7cf9ed8509..746fd691a7 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConvertComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConvertCombo.java
@@ -10,10 +10,8 @@
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
import java.util.ArrayList;
-
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.NonEmptyStringFilter;
@@ -28,11 +26,10 @@ import org.eclipse.jpt.common.utility.internal.model.value.SetCollectionValueMod
import org.eclipse.jpt.common.utility.internal.model.value.SortedListValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.StaticListValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationListValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.JpaNamedContextNode;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverter;
@@ -56,10 +53,12 @@ import org.eclipse.swt.widgets.Composite;
* @version 2.1
* @since 2.1
*/
-public class EclipseLinkConvertComposite
+public class EclipseLinkConvertCombo
extends Pane<EclipseLinkConvert>
{
+ private Combo combo;
+
/**
* A key used to represent the default value, this is required to convert
* the selected item from a combo to an empty string. This key is most
@@ -68,33 +67,41 @@ public class EclipseLinkConvertComposite
* model.
*/
protected static String DEFAULT_KEY = "?!#!?#?#?default?#?!#?!#?"; //$NON-NLS-1$
-
-
+
+
/**
- * Creates a new <code>EnumTypeComposite</code>.
+ * Creates a new <code>EclipseLinkConvertComposite</code>.
*/
- public EclipseLinkConvertComposite(PropertyValueModel<? extends EclipseLinkConvert> subjectHolder,
+ public EclipseLinkConvertCombo(PropertyValueModel<? extends EclipseLinkConvert> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
+ }
+
+ @Override
+ protected boolean addsComposite() {
+ return false;
+ }
+
+ @Override
+ public Combo getControl() {
+ return this.combo;
}
@Override
protected void initializeLayout(Composite container) {
- Combo combo = addLabeledEditableCombo(
+ this.combo = this.addEditableCombo(
container,
- EclipseLinkUiDetailsMessages.EclipseLinkConvertComposite_converterNameLabel,
buildConvertNameListHolder(),
buildConvertNameHolder(),
buildNameConverter(),
- null
+ (String) null
);
- SWTUtil.attachDefaultValueHandler(combo);
-
- new PaneEnabler(buildBooleanHolder(), this);
+ SWTUtil.attachDefaultValueHandler(this.combo);
}
-
+
protected final ModifiablePropertyValueModel<String> buildConvertNameHolder() {
return new PropertyAspectAdapter<EclipseLinkConvert, String>(getSubjectHolder(), EclipseLinkConvert.SPECIFIED_CONVERTER_NAME_PROPERTY) {
@Override
@@ -112,7 +119,7 @@ public class EclipseLinkConvertComposite
}
};
}
-
+
private ListValueModel<String> buildConvertNameListHolder() {
java.util.List<ListValueModel<String>> list = new ArrayList<ListValueModel<String>>();
list.add(buildDefaultNameListHolder());
@@ -120,7 +127,7 @@ public class EclipseLinkConvertComposite
list.add(buildSortedConverterNamesModel());
return new CompositeListValueModel<ListValueModel<String>, String>(list);
}
-
+
protected ListValueModel<String> buildDefaultNameListHolder() {
return new PropertyListValueModelAdapter<String>(
buildDefaultNameHolder()
@@ -189,11 +196,11 @@ public class EclipseLinkConvertComposite
protected ListValueModel<String> buildReservedConverterNameListHolder() {
return new StaticListValueModel<String>(EclipseLinkConvert.RESERVED_CONVERTER_NAMES);
}
-
+
protected ListValueModel<String> buildSortedConverterNamesModel() {
return new SortedListValueModelAdapter<String>(this.buildUniqueConverterNamesModel());
}
-
+
protected CollectionValueModel<String> buildUniqueConverterNamesModel() {
return new SetCollectionValueModel<String>(this.buildConverterNamesModel());
}
@@ -227,7 +234,7 @@ public class EclipseLinkConvertComposite
}
};
}
-
+
protected PropertyValueModel<EclipseLinkPersistenceUnit> buildPersistenceUnitHolder() {
return new PropertyAspectAdapter<EclipseLinkConvert, EclipseLinkPersistenceUnit>(getSubjectHolder()) {
@Override
@@ -236,16 +243,4 @@ public class EclipseLinkConvertComposite
}
};
}
-
- protected PropertyValueModel<Boolean> buildBooleanHolder() {
- return new TransformationPropertyValueModel<EclipseLinkConvert, Boolean>(getSubjectHolder()) {
- @Override
- protected Boolean transform(EclipseLinkConvert value) {
- if (getSubject() != null && getSubject().getParent().getPersistentAttribute().isVirtual()) {
- return Boolean.FALSE;
- }
- return Boolean.valueOf(value != null);
- }
- };
- }
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConvertersComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConvertersComposite.java
index c3b5787506..5463eea96c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConvertersComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkConvertersComposite.java
@@ -15,22 +15,22 @@ import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.window.Window;
import org.eclipse.jpt.common.ui.internal.util.ControlSwitcher;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.Transformer;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
import org.eclipse.jpt.common.utility.internal.iterables.SuperListIterableWrapper;
+import org.eclipse.jpt.common.utility.internal.model.value.CollectionPropertyValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.CompositeListValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.JpaNamedContextNode;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverter;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverterContainer;
@@ -70,128 +70,166 @@ import org.eclipse.ui.part.PageBook;
*/
public class EclipseLinkConvertersComposite extends Pane<EclipseLinkConverterContainer>
{
- private AddRemoveListPane<EclipseLinkConverterContainer> listPane;
private EclipseLinkCustomConverterComposite converterComposite;
private EclipseLinkObjectTypeConverterComposite objectTypeConverterComposite;
private EclipseLinkStructConverterComposite structConverterComposite;
private EclipseLinkTypeConverterComposite typeConverterComposite;
- private ModifiablePropertyValueModel<EclipseLinkConverter> selectedConverterHolder;
+ private ModifiableCollectionValueModel<EclipseLinkConverter> selectedConvertersModel;
+ private PropertyValueModel<EclipseLinkConverter> selectedConverterModel;
public EclipseLinkConvertersComposite(
Pane<?> parentPane,
PropertyValueModel<? extends EclipseLinkConverterContainer> subjectHolder,
Composite parent) {
- super(parentPane, subjectHolder, parent, false);
+ super(parentPane, subjectHolder, parent);
}
@Override
protected void initialize() {
super.initialize();
- this.selectedConverterHolder = buildSelectedConverterHolder();
+ this.selectedConvertersModel = this.buildSelectedConvertersModel();
+ this.selectedConverterModel = this.buildSelectedConverterModel(this.selectedConvertersModel);
}
- private ModifiablePropertyValueModel<EclipseLinkConverter> buildSelectedConverterHolder() {
- return new SimplePropertyValueModel<EclipseLinkConverter>();
+ private ModifiableCollectionValueModel<EclipseLinkConverter> buildSelectedConvertersModel() {
+ return new SimpleCollectionValueModel<EclipseLinkConverter>();
}
+ protected PropertyValueModel<EclipseLinkConverter> buildSelectedConverterModel(ModifiableCollectionValueModel<EclipseLinkConverter> selectedConvertersModel) {
+ return new CollectionPropertyValueModelAdapter<EclipseLinkConverter, EclipseLinkConverter>(selectedConvertersModel) {
+ @Override
+ protected EclipseLinkConverter buildValue() {
+ if (this.collectionModel.size() == 1) {
+ return this.collectionModel.iterator().next();
+ }
+ return null;
+ }
+ };
+ }
+
+
@Override
protected void initializeLayout(Composite container) {
-
// List pane
- this.listPane = addListPane(container);
- this.installPaneEnabler();
+ this.addListPane(container);
// Property pane
PageBook pageBook = new PageBook(container, SWT.NULL);
pageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- this.converterComposite = new EclipseLinkCustomConverterComposite(
- buildCustomConverterHolder(),
- pageBook,
- getWidgetFactory()
- );
- registerSubPane(this.converterComposite);
-
- this.objectTypeConverterComposite = new EclipseLinkObjectTypeConverterComposite(
- buildObjectTypeConverterHolder(),
- pageBook,
- getWidgetFactory()
- );
- registerSubPane(this.objectTypeConverterComposite);
-
- this.structConverterComposite = new EclipseLinkStructConverterComposite(
- buildStructConverterHolder(),
- pageBook,
- getWidgetFactory()
- );
- registerSubPane(this.structConverterComposite);
+ installPaneSwitcher(pageBook);
+ }
+
+ protected EclipseLinkCustomConverterComposite getCustomConverterComposite(PageBook pageBook) {
+ if (this.converterComposite == null) {
+ this.converterComposite = new EclipseLinkCustomConverterComposite(
+ buildSelectedCustomConverterModel(),
+ pageBook,
+ getWidgetFactory()
+ );
+ registerSubPane(this.converterComposite);
+ }
+ return this.converterComposite;
+ }
+
+ protected EclipseLinkObjectTypeConverterComposite getObjectTypeConverterComposite(PageBook pageBook) {
+ if (this.objectTypeConverterComposite == null) {
+ this.objectTypeConverterComposite = new EclipseLinkObjectTypeConverterComposite(
+ buildSelectedObjectTypeConverterModel(),
+ pageBook,
+ getWidgetFactory()
+ );
+ registerSubPane(this.objectTypeConverterComposite);
+ }
+ return this.objectTypeConverterComposite;
+ }
- this.typeConverterComposite = new EclipseLinkTypeConverterComposite(
- buildTypeConverterHolder(),
- pageBook,
- getWidgetFactory()
- );
- registerSubPane(this.typeConverterComposite);
+ protected EclipseLinkStructConverterComposite getStructConverterComposite(PageBook pageBook) {
+ if (this.structConverterComposite == null) {
+ this.structConverterComposite = new EclipseLinkStructConverterComposite(
+ buildSelectedStructConverterModel(),
+ pageBook,
+ getWidgetFactory()
+ );
+ registerSubPane(this.structConverterComposite);
+ }
+ return this.structConverterComposite;
+ }
- installPaneSwitcher(pageBook);
+ protected EclipseLinkTypeConverterComposite getTypeConverterComposite(PageBook pageBook) {
+ if (this.typeConverterComposite == null) {
+ this.typeConverterComposite = new EclipseLinkTypeConverterComposite(
+ buildSelectedTypeConverterModel(),
+ pageBook,
+ getWidgetFactory()
+ );
+ registerSubPane(this.typeConverterComposite);
+ }
+ return this.typeConverterComposite;
}
- private AddRemoveListPane<EclipseLinkConverterContainer> addListPane(Composite container) {
+ private AddRemoveListPane<EclipseLinkConverterContainer, EclipseLinkConverter> addListPane(Composite container) {
- return new AddRemoveListPane<EclipseLinkConverterContainer>(
+ return new AddRemoveListPane<EclipseLinkConverterContainer, EclipseLinkConverter>(
this,
container,
buildConvertersAdapter(),
buildDisplayableConvertersListHolder(),
- this.selectedConverterHolder,
+ this.selectedConvertersModel,
buildConvertersListLabelProvider(),
null
);
}
private void installPaneSwitcher(PageBook pageBook) {
- new ControlSwitcher(this.selectedConverterHolder, buildPaneTransformer(), pageBook);
+ new ControlSwitcher(this.selectedConverterModel, this.buildPaneTransformer(pageBook), pageBook);
}
- private Adapter buildConvertersAdapter() {
+ private Adapter<EclipseLinkConverter> buildConvertersAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
+ return new AddRemoveListPane.AbstractAdapter<EclipseLinkConverter>() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addConverter();
+ public EclipseLinkConverter addNewItem() {
+ return addConverter();
}
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- if (((EclipseLinkConverter) item).getType() == EclipseLinkCustomConverter.class) {
- getSubject().removeCustomConverter((EclipseLinkCustomConverter) item);
- }
- else if (((EclipseLinkConverter) item).getType() == EclipseLinkObjectTypeConverter.class) {
- getSubject().removeObjectTypeConverter((EclipseLinkObjectTypeConverter) item);
- }
- else if (((EclipseLinkConverter) item).getType() == EclipseLinkStructConverter.class) {
- getSubject().removeStructConverter((EclipseLinkStructConverter) item);
- }
- else if (((EclipseLinkConverter) item).getType() == EclipseLinkTypeConverter.class) {
- getSubject().removeTypeConverter((EclipseLinkTypeConverter) item);
- }
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<EclipseLinkConverter> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
+
+ public void removeSelectedItems(CollectionValueModel<EclipseLinkConverter> selectedItemsModel) {
+ //assume only 1 item since remove button is disabled otherwise
+ EclipseLinkConverter item = selectedItemsModel.iterator().next();
+ if (item.getType() == EclipseLinkCustomConverter.class) {
+ getSubject().removeCustomConverter((EclipseLinkCustomConverter) item);
+ }
+ else if (item.getType() == EclipseLinkObjectTypeConverter.class) {
+ getSubject().removeObjectTypeConverter((EclipseLinkObjectTypeConverter) item);
+ }
+ else if (item.getType() == EclipseLinkStructConverter.class) {
+ getSubject().removeStructConverter((EclipseLinkStructConverter) item);
+ }
+ else if (item.getType() == EclipseLinkTypeConverter.class) {
+ getSubject().removeTypeConverter((EclipseLinkTypeConverter) item);
}
}
};
}
- private void addConverter() {
- this.addEclipseLinkConverterFromDialog(this.buildEclipseLinkConverterDialog());
+ private EclipseLinkConverter addConverter() {
+ return this.addEclipseLinkConverterFromDialog(this.buildEclipseLinkConverterDialog());
}
protected EclipseLinkConverterDialog buildEclipseLinkConverterDialog() {
return new EclipseLinkConverterDialog(this.getShell(), this.getSubject());
}
- protected void addEclipseLinkConverterFromDialog(EclipseLinkConverterDialog dialog) {
+ protected EclipseLinkConverter addEclipseLinkConverterFromDialog(EclipseLinkConverterDialog dialog) {
if (dialog.open() != Window.OK) {
- return;
+ return null;
}
Class<? extends EclipseLinkConverter> converterType = dialog.getConverterType();
EclipseLinkConverter converter;
@@ -211,10 +249,11 @@ public class EclipseLinkConvertersComposite extends Pane<EclipseLinkConverterCon
throw new IllegalArgumentException();
}
converter.setName(dialog.getName());
- this.selectedConverterHolder.setValue(converter);//so that it gets selected in the List for the user to edit
+
+ return converter;
}
- private Transformer<EclipseLinkConverter, Control> buildPaneTransformer() {
+ private Transformer<EclipseLinkConverter, Control> buildPaneTransformer(final PageBook pageBook) {
return new Transformer<EclipseLinkConverter, Control>() {
public Control transform(EclipseLinkConverter converter) {
if (converter == null) {
@@ -222,16 +261,16 @@ public class EclipseLinkConvertersComposite extends Pane<EclipseLinkConverterCon
}
if (converter.getType() == EclipseLinkCustomConverter.class) {
- return EclipseLinkConvertersComposite.this.converterComposite.getControl();
+ return EclipseLinkConvertersComposite.this.getCustomConverterComposite(pageBook).getControl();
}
if (converter.getType() == EclipseLinkObjectTypeConverter.class) {
- return EclipseLinkConvertersComposite.this.objectTypeConverterComposite.getControl();
+ return EclipseLinkConvertersComposite.this.getObjectTypeConverterComposite(pageBook).getControl();
}
if (converter.getType() == EclipseLinkStructConverter.class) {
- return EclipseLinkConvertersComposite.this.structConverterComposite.getControl();
+ return EclipseLinkConvertersComposite.this.getStructConverterComposite(pageBook).getControl();
}
if (converter.getType() == EclipseLinkTypeConverter.class) {
- return EclipseLinkConvertersComposite.this.typeConverterComposite.getControl();
+ return EclipseLinkConvertersComposite.this.getTypeConverterComposite(pageBook).getControl();
}
return null;
@@ -323,8 +362,8 @@ public class EclipseLinkConvertersComposite extends Pane<EclipseLinkConverterCon
};
}
- private PropertyValueModel<EclipseLinkCustomConverter> buildCustomConverterHolder() {
- return new TransformationPropertyValueModel<EclipseLinkConverter, EclipseLinkCustomConverter>(this.selectedConverterHolder) {
+ private PropertyValueModel<EclipseLinkCustomConverter> buildSelectedCustomConverterModel() {
+ return new TransformationPropertyValueModel<EclipseLinkConverter, EclipseLinkCustomConverter>(this.selectedConverterModel) {
@Override
protected EclipseLinkCustomConverter transform_(EclipseLinkConverter value) {
return value.getType() == EclipseLinkCustomConverter.class ? (EclipseLinkCustomConverter) value : null;
@@ -332,8 +371,8 @@ public class EclipseLinkConvertersComposite extends Pane<EclipseLinkConverterCon
};
}
- private PropertyValueModel<EclipseLinkObjectTypeConverter> buildObjectTypeConverterHolder() {
- return new TransformationPropertyValueModel<EclipseLinkConverter, EclipseLinkObjectTypeConverter>(this.selectedConverterHolder) {
+ private PropertyValueModel<EclipseLinkObjectTypeConverter> buildSelectedObjectTypeConverterModel() {
+ return new TransformationPropertyValueModel<EclipseLinkConverter, EclipseLinkObjectTypeConverter>(this.selectedConverterModel) {
@Override
protected EclipseLinkObjectTypeConverter transform_(EclipseLinkConverter value) {
return value.getType() == EclipseLinkObjectTypeConverter.class ? (EclipseLinkObjectTypeConverter) value : null;
@@ -341,8 +380,8 @@ public class EclipseLinkConvertersComposite extends Pane<EclipseLinkConverterCon
};
}
- private PropertyValueModel<EclipseLinkStructConverter> buildStructConverterHolder() {
- return new TransformationPropertyValueModel<EclipseLinkConverter, EclipseLinkStructConverter>(this.selectedConverterHolder) {
+ private PropertyValueModel<EclipseLinkStructConverter> buildSelectedStructConverterModel() {
+ return new TransformationPropertyValueModel<EclipseLinkConverter, EclipseLinkStructConverter>(this.selectedConverterModel) {
@Override
protected EclipseLinkStructConverter transform_(EclipseLinkConverter value) {
return value.getType() == EclipseLinkStructConverter.class ? (EclipseLinkStructConverter) value : null;
@@ -350,8 +389,8 @@ public class EclipseLinkConvertersComposite extends Pane<EclipseLinkConverterCon
};
}
- private PropertyValueModel<EclipseLinkTypeConverter> buildTypeConverterHolder() {
- return new TransformationPropertyValueModel<EclipseLinkConverter, EclipseLinkTypeConverter>(this.selectedConverterHolder) {
+ private PropertyValueModel<EclipseLinkTypeConverter> buildSelectedTypeConverterModel() {
+ return new TransformationPropertyValueModel<EclipseLinkConverter, EclipseLinkTypeConverter>(this.selectedConverterModel) {
@Override
protected EclipseLinkTypeConverter transform_(EclipseLinkConverter value) {
return value.getType() == EclipseLinkTypeConverter.class ? (EclipseLinkTypeConverter) value : null;
@@ -367,20 +406,4 @@ public class EclipseLinkConvertersComposite extends Pane<EclipseLinkConverterCon
}
};
}
-
- private void installPaneEnabler() {
- new PaneEnabler(
- this.buildPaneEnablerHolder(),
- this.listPane
- );
- }
-
- private PropertyValueModel<Boolean> buildPaneEnablerHolder() {
- return new TransformationPropertyValueModel<EclipseLinkConverterContainer, Boolean>(getSubjectHolder()) {
- @Override
- protected Boolean transform(EclipseLinkConverterContainer value) {
- return (value != null);
- }
- };
- }
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCustomConverterComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCustomConverterComposite.java
index 0039b1b393..ca9cfcb18f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCustomConverterComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCustomConverterComposite.java
@@ -11,18 +11,17 @@ package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.JpaNamedContextNode;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverter;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverterClassConverter;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomConverter;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -34,7 +33,7 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see EclipseLinkConverter
- * @see EclipseLinkConvertComposite - A container of this widget
+ * @see EclipseLinkConvertCombo - A container of this widget
*
* @version 2.1
* @since 2.1
@@ -56,16 +55,17 @@ public class EclipseLinkCustomConverterComposite extends Pane<EclipseLinkCustomC
}
@Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkConverterComposite_nameTextLabel);
+ this.addText(container, buildNameTextHolder());
- addLabeledText(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkConverterComposite_nameTextLabel,
- buildNameTextHolder());
-
- addClassChooser(container);
-
- new PaneEnabler(buildBooleanHolder(), this);
+ Hyperlink hyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.EclipseLinkConverterComposite_classLabel);
+ this.addClassChooser(container, hyperlink);
}
protected ModifiablePropertyValueModel<String> buildNameTextHolder() {
@@ -87,9 +87,9 @@ public class EclipseLinkCustomConverterComposite extends Pane<EclipseLinkCustomC
}
- private ClassChooserPane<EclipseLinkCustomConverter> addClassChooser(Composite container) {
+ private ClassChooserPane<EclipseLinkCustomConverter> addClassChooser(Composite container, Hyperlink hyperlink) {
- return new ClassChooserPane<EclipseLinkCustomConverter>(this, container) {
+ return new ClassChooserPane<EclipseLinkCustomConverter>(this, container, hyperlink) {
@Override
protected ModifiablePropertyValueModel<String> buildTextHolder() {
@@ -117,11 +117,6 @@ public class EclipseLinkCustomConverterComposite extends Pane<EclipseLinkCustomC
}
@Override
- protected String getLabelText() {
- return EclipseLinkUiDetailsMessages.EclipseLinkConverterComposite_classLabel;
- }
-
- @Override
protected IJavaProject getJavaProject() {
return getSubject().getJpaProject().getJavaProject();
}
@@ -147,17 +142,4 @@ public class EclipseLinkCustomConverterComposite extends Pane<EclipseLinkCustomC
}
};
}
-
-
- protected PropertyValueModel<Boolean> buildBooleanHolder() {
- return new TransformationPropertyValueModel<EclipseLinkCustomConverter, Boolean>(getSubjectHolder()) {
- @Override
- protected Boolean transform(EclipseLinkCustomConverter value) {
-// if (getSubject() != null && getSubject().getParent().getPersistentAttribute().isVirtual()) {
-// return Boolean.FALSE;
-// }
- return Boolean.valueOf(value != null);
- }
- };
- }
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCustomizerClassChooser.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCustomizerClassChooser.java
new file mode 100644
index 0000000000..6a5e0175a6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCustomizerClassChooser.java
@@ -0,0 +1,123 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 Oracle. 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
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
+
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserComboPane;
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
+import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+
+/**
+ *
+ * @see EclipseLinkCustomizer
+ *
+ * @version 2.3
+ * @since 2.1
+ */
+public class EclipseLinkCustomizerClassChooser extends ClassChooserComboPane<EclipseLinkCustomizer>
+{
+ /**
+ * Creates a new <code>CustomizerComposite</code>.
+ *
+ * @param parentPane The parent container of this one
+ * @param parent The parent container
+ */
+ public EclipseLinkCustomizerClassChooser(Pane<?> parentPane,
+ PropertyValueModel<? extends EclipseLinkCustomizer> subjectHolder,
+ Composite parent,
+ Hyperlink hyperlink) {
+
+ super(parentPane, subjectHolder, parent, hyperlink);
+ }
+
+
+ @Override
+ protected String getClassName() {
+ return getSubject().getSpecifiedCustomizerClass();
+ }
+
+ @Override
+ protected void setClassName(String className) {
+ getSubject().setSpecifiedCustomizerClass(className);
+ }
+
+ @Override
+ protected IJavaProject getJavaProject() {
+ return getSubject().getJpaProject().getJavaProject();
+ }
+
+ @Override
+ protected String getFullyQualifiedClassName() {
+ return getSubject().getFullyQualifiedCustomizerClass();
+ }
+
+ @Override
+ protected String getSuperInterfaceName() {
+ return EclipseLinkCustomizer.ECLIPSELINK_DESCRIPTOR_CUSTOMIZER_CLASS_NAME;
+ }
+
+ @Override
+ protected char getEnclosingTypeSeparator() {
+ return getSubject().getCustomizerClassEnclosingTypeSeparator();
+ }
+
+ @Override
+ protected ModifiablePropertyValueModel<String> buildTextHolder() {
+ return new PropertyAspectAdapter<EclipseLinkCustomizer, String>(
+ getSubjectHolder(),
+ EclipseLinkCustomizer.SPECIFIED_CUSTOMIZER_CLASS_PROPERTY,
+ EclipseLinkCustomizer.DEFAULT_CUSTOMIZER_CLASS_PROPERTY) {
+
+ @Override
+ protected String buildValue_() {
+ String value = this.subject.getSpecifiedCustomizerClass();
+ return (value == null) ? defaultText(this.subject) : value;
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (value == null
+ || value.length() == 0
+ || value.equals(defaultText(this.subject))) {
+ value = null;
+ }
+ this.subject.setSpecifiedCustomizerClass(value);
+ }
+ };
+ }
+
+ protected String defaultText(EclipseLinkCustomizer customizer) {
+ String defaultClassName = customizer.getDefaultCustomizerClass();
+ return (defaultClassName == null) ?
+ JptCommonUiMessages.NoneSelected
+ : NLS.bind(JptCommonUiMessages.DefaultWithOneParam, defaultClassName);
+ }
+
+ @Override
+ protected ListValueModel<String> buildClassListHolder() {
+ return new PropertyListValueModelAdapter<String>(
+ new PropertyAspectAdapter<EclipseLinkCustomizer, String>(
+ getSubjectHolder(), EclipseLinkCustomizer.DEFAULT_CUSTOMIZER_CLASS_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return defaultText(this.subject);
+ }
+ });
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCustomizerComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCustomizerComposite.java
deleted file mode 100644
index dd76b5ce33..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkCustomizerComposite.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserComboPane;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- *
- * @see EclipseLinkCustomizer
- *
- * @version 2.3
- * @since 2.1
- */
-public class EclipseLinkCustomizerComposite extends Pane<EclipseLinkCustomizer>
-{
- /**
- * Creates a new <code>CustomizerComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public EclipseLinkCustomizerComposite(Pane<?> parentPane,
- PropertyValueModel<? extends EclipseLinkCustomizer> subjectHolder,
- Composite parent) {
-
- super(parentPane, subjectHolder, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- new CustomizerClassChooserComboPane(this, container);
- }
-
- private class CustomizerClassChooserComboPane
- extends ClassChooserComboPane<EclipseLinkCustomizer>
- {
- public CustomizerClassChooserComboPane(Pane<EclipseLinkCustomizer> parentPane, Composite parent) {
- super(parentPane, parent);
- }
-
- @Override
- protected String getClassName() {
- return getSubject().getSpecifiedCustomizerClass();
- }
-
- @Override
- protected void setClassName(String className) {
- getSubject().setSpecifiedCustomizerClass(className);
- }
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiDetailsMessages.EclipseLinkCustomizerComposite_classLabel;
- }
-
- @Override
- protected IJavaProject getJavaProject() {
- return getSubject().getJpaProject().getJavaProject();
- }
-
- @Override
- protected String getFullyQualifiedClassName() {
- return getSubject().getFullyQualifiedCustomizerClass();
- }
-
- @Override
- protected String getSuperInterfaceName() {
- return EclipseLinkCustomizer.ECLIPSELINK_DESCRIPTOR_CUSTOMIZER_CLASS_NAME;
- }
-
- @Override
- protected char getEnclosingTypeSeparator() {
- return getSubject().getCustomizerClassEnclosingTypeSeparator();
- }
-
- @Override
- protected ModifiablePropertyValueModel<String> buildTextHolder() {
- return new PropertyAspectAdapter<EclipseLinkCustomizer, String>(
- getSubjectHolder(),
- EclipseLinkCustomizer.SPECIFIED_CUSTOMIZER_CLASS_PROPERTY,
- EclipseLinkCustomizer.DEFAULT_CUSTOMIZER_CLASS_PROPERTY) {
-
- @Override
- protected String buildValue_() {
- String value = this.subject.getSpecifiedCustomizerClass();
- return (value == null) ? defaultText(this.subject) : value;
- }
-
- @Override
- protected void setValue_(String value) {
- if (value == null
- || value.length() == 0
- || value.equals(defaultText(this.subject))) {
- value = null;
- }
- this.subject.setSpecifiedCustomizerClass(value);
- }
- };
- }
-
- protected String defaultText(EclipseLinkCustomizer customizer) {
- String defaultClassName = customizer.getDefaultCustomizerClass();
- return (defaultClassName == null) ?
- JptCommonUiMessages.NoneSelected
- : NLS.bind(JptCommonUiMessages.DefaultWithOneParam, defaultClassName);
- }
-
- @Override
- protected ListValueModel<String> buildClassListHolder() {
- return new PropertyListValueModelAdapter<String>(
- new PropertyAspectAdapter<EclipseLinkCustomizer, String>(
- getSubjectHolder(), EclipseLinkCustomizer.DEFAULT_CUSTOMIZER_CLASS_PROPERTY) {
- @Override
- protected String buildValue_() {
- return defaultText(this.subject);
- }
- });
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkDisableHitsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkDisableHitsComposite.java
deleted file mode 100644
index 56ae323acd..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkDisableHitsComposite.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCaching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * This composite simply shows a tri-state check box for the Disable Hits option.
- *
- * @see EclipseLinkCaching
- * @see EclipseLinkCachingComposite - A container of this widget
- *
- * @version 2.1
- * @since 2.1
- */
-public class EclipseLinkDisableHitsComposite extends Pane<EclipseLinkCaching>
-{
- /**
- * Creates a new <code>OptionalComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public EclipseLinkDisableHitsComposite(Pane<? extends EclipseLinkCaching> parentPane,
- Composite parent)
- {
- super(parentPane, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkDisableHitsComposite_disableHitsLabel,
- buildDisableHitsHolder(),
- buildDisableHitsStringHolder(),
- EclipseLinkHelpContextIds.CACHING_DISABLE_HITS
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildDisableHitsHolder() {
- return new PropertyAspectAdapter<EclipseLinkCaching, Boolean>(getSubjectHolder(), EclipseLinkCaching.SPECIFIED_DISABLE_HITS_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getSpecifiedDisableHits();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setSpecifiedDisableHits(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildDisableHitsStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultDisableHitsHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiDetailsMessages.EclipseLinkDisableHitsComposite_disableHitsDefault, defaultStringValue);
- }
- return EclipseLinkUiDetailsMessages.EclipseLinkDisableHitsComposite_disableHitsLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultDisableHitsHolder() {
- return new PropertyAspectAdapter<EclipseLinkCaching, Boolean>(
- getSubjectHolder(),
- EclipseLinkCaching.SPECIFIED_DISABLE_HITS_PROPERTY,
- EclipseLinkCaching.DEFAULT_DISABLE_HITS_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getSpecifiedDisableHits() != null) {
- return null;
- }
- return Boolean.valueOf(this.subject.isDefaultDisableHits());
- }
- };
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkElementCollectionMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkElementCollectionMapping2_0Composite.java
index 9828df15e4..ce1e1d939d 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkElementCollectionMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkElementCollectionMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle. All rights reserved.
+ * Copyright (c) 2011, 2012 Oracle. 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.
@@ -11,23 +11,31 @@ package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.jpa2.context.ElementCollectionMapping2_0;
+import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverterContainer;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkElementCollectionMapping2_0;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.AbstractElementCollectionMapping2_0Composite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
public abstract class EclipseLinkElementCollectionMapping2_0Composite<T extends ElementCollectionMapping2_0>
extends AbstractElementCollectionMapping2_0Composite<T>
{
protected EclipseLinkElementCollectionMapping2_0Composite(PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
@@ -39,17 +47,22 @@ public abstract class EclipseLinkElementCollectionMapping2_0Composite<T extends
initializeOrderingCollapsibleSection(container);
}
-
protected void initializeConvertersCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters
- );
- initializeConvertersSection(container, this.buildConverterHolderValueModel());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(EclipseLinkElementCollectionMapping2_0Composite.this.initializeConvertersSection(section));
+ }
+ }
+ });
}
- protected void initializeConvertersSection(Composite container, PropertyValueModel<EclipseLinkConverterContainer> converterHolder) {
- new EclipseLinkConvertersComposite(this, converterHolder, container);
+ protected Control initializeConvertersSection(Composite container) {
+ return new EclipseLinkConvertersComposite(this, this.buildConverterHolderValueModel(), container).getControl();
}
protected PropertyValueModel<EclipseLinkConverterContainer> buildConverterHolderValueModel() {
@@ -60,4 +73,14 @@ public abstract class EclipseLinkElementCollectionMapping2_0Composite<T extends
}
};
}
+
+ protected PropertyValueModel<Boolean> buildEclipseLinkConvertBooleanHolder(PropertyValueModel<EclipseLinkConvert> convertHolder) {
+ return new TransformationPropertyValueModel<EclipseLinkConvert, Boolean>(convertHolder) {
+ @Override
+ protected Boolean transform(EclipseLinkConvert value) {
+ return Boolean.valueOf(value != null);
+ }
+ };
+ }
+
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkEmbeddableAdvancedComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkEmbeddableAdvancedComposite.java
index f34b6ce371..2653b111a3 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkEmbeddableAdvancedComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkEmbeddableAdvancedComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -10,49 +10,32 @@
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.Embeddable;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTracking;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkEmbeddable;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
-public class EclipseLinkEmbeddableAdvancedComposite extends Pane<Embeddable> {
+public class EclipseLinkEmbeddableAdvancedComposite extends EclipseLinkTypeMappingAdvancedComposite<Embeddable> {
public EclipseLinkEmbeddableAdvancedComposite(
Pane<? extends Embeddable> parentPane,
Composite parent) {
- super(parentPane, parent, false);
+ super(parentPane, parent);
}
-
+
@Override
- protected void initializeLayout(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_advanced
- );
-
- new EclipseLinkCustomizerComposite(this, buildCustomizerHolder(), container);
- new EclipseLinkChangeTrackingComposite(this, buildChangeTrackingHolder(), container);
- }
-
- private PropertyValueModel<EclipseLinkCustomizer> buildCustomizerHolder() {
- return new PropertyAspectAdapter<Embeddable, EclipseLinkCustomizer>(getSubjectHolder()) {
- @Override
- protected EclipseLinkCustomizer buildValue_() {
- return ((EclipseLinkEmbeddable) this.subject).getCustomizer();
- }
- };
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
}
-
- private PropertyValueModel<EclipseLinkChangeTracking> buildChangeTrackingHolder() {
- return new PropertyAspectAdapter<Embeddable, EclipseLinkChangeTracking>(getSubjectHolder()) {
- @Override
- protected EclipseLinkChangeTracking buildValue_() {
- return ((EclipseLinkEmbeddable) this.subject).getChangeTracking();
- }
- };
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ // customizer class chooser
+ Hyperlink customizerHyperlink = addHyperlink(container, EclipseLinkUiDetailsMessages.EclipseLinkCustomizerComposite_classLabel);
+ new EclipseLinkCustomizerClassChooser(this, this.buildCustomizerHolder(), container, customizerHyperlink);
+
+ // change tracking type
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkChangeTrackingComposite_label);
+ new EclipseLinkChangeTrackingComboViewer(this, this.buildChangeTrackingHolder(), container);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkEntityAdvancedComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkEntityAdvancedComposite.java
deleted file mode 100644
index 5c262b66b7..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkEntityAdvancedComposite.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.Entity;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTracking;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkEntity;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkReadOnly;
-import org.eclipse.swt.widgets.Composite;
-
-public class EclipseLinkEntityAdvancedComposite extends Pane<Entity> {
-
- public EclipseLinkEntityAdvancedComposite(
- Pane<? extends Entity> parentPane,
- Composite parent) {
-
- super(parentPane, parent, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_advanced
- );
-
- new EclipseLinkReadOnlyComposite(this, buildReadOnlyHolder(), container);
- new EclipseLinkCustomizerComposite(this, buildCustomizerHolder(), container);
- new EclipseLinkChangeTrackingComposite(this, buildChangeTrackingHolder(), container);
- }
-
- private PropertyValueModel<EclipseLinkReadOnly> buildReadOnlyHolder() {
- return new PropertyAspectAdapter<Entity, EclipseLinkReadOnly>(getSubjectHolder()) {
- @Override
- protected EclipseLinkReadOnly buildValue_() {
- return ((EclipseLinkEntity) this.subject).getReadOnly();
- }
- };
- }
-
- private PropertyValueModel<EclipseLinkCustomizer> buildCustomizerHolder() {
- return new PropertyAspectAdapter<Entity, EclipseLinkCustomizer>(getSubjectHolder()) {
- @Override
- protected EclipseLinkCustomizer buildValue_() {
- return ((EclipseLinkEntity) this.subject).getCustomizer();
- }
- };
- }
-
- private PropertyValueModel<EclipseLinkChangeTracking> buildChangeTrackingHolder() {
- return new PropertyAspectAdapter<Entity, EclipseLinkChangeTracking>(getSubjectHolder()) {
- @Override
- protected EclipseLinkChangeTracking buildValue_() {
- return ((EclipseLinkEntity) this.subject).getChangeTracking();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkExpiryComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkExpiryComposite.java
index a52b96fd97..044ea2a4d8 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkExpiryComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkExpiryComposite.java
@@ -13,15 +13,18 @@ import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.StringConverter;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCaching;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTimeOfDay;
import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.DateTime;
import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
/**
* Here is the layout of this pane:
@@ -50,9 +53,10 @@ public class EclipseLinkExpiryComposite extends Pane<EclipseLinkCaching> {
protected PropertyValueModel<Boolean> ttlEnabled;
public EclipseLinkExpiryComposite(Pane<? extends EclipseLinkCaching> parentPane,
- Composite parent) {
+ Composite parent,
+ PropertyValueModel<Boolean> enabledModel) {
- super(parentPane, parent);
+ super(parentPane, parent, enabledModel);
}
/**
@@ -67,81 +71,81 @@ public class EclipseLinkExpiryComposite extends Pane<EclipseLinkCaching> {
}
@Override
+ protected Composite addComposite(Composite container) {
+ Group group = this.getWidgetFactory().createGroup(container, EclipseLinkUiDetailsMessages.EclipseLinkExpiryComposite_expirySection);
+
+ GridLayout layout = new GridLayout(4, false);
+ layout.marginHeight = 0;
+ layout.marginWidth = 0;
+ layout.marginTop = 5;
+ layout.marginLeft = 5;
+ layout.marginBottom = 5;
+ layout.marginRight = 5;
+ group.setLayout(layout);
+
+ return group;
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
- // Expiry group pane
- Group expiryGroupPane = addTitledGroup(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkExpiryComposite_expirySection,
- 2,
- null
- );
-
// No Expiry radio button
Button button = addRadioButton(
- expiryGroupPane,
+ container,
EclipseLinkUiDetailsMessages.EclipseLinkExpiryComposite_noExpiry,
buildNoExpiryHolder(),
null
);
GridData gridData = new GridData();
- gridData.horizontalSpan = 2;
+ gridData.horizontalSpan = 4;
button.setLayoutData(gridData);
// Time To Live Expiry radio button
addRadioButton(
- expiryGroupPane,
+ container,
EclipseLinkUiDetailsMessages.EclipseLinkExpiryComposite_timeToLiveExpiry,
buildExpiryHolder(),
null
);
-
- addTimeToLiveComposite(expiryGroupPane);
-
- // Daily Expiry radio button
- addRadioButton(
- expiryGroupPane,
- EclipseLinkUiDetailsMessages.EclipseLinkExpiryComposite_dailyExpiry,
- buildTimeOfDayExpiryBooleanHolder(),
- null
- );
-
- addTimeOfDayComposite(expiryGroupPane);
- }
-
- protected void addTimeToLiveComposite(Composite parent) {
- Composite container = this.addSubPane(parent, 3, 0, 10, 0, 0);
- addLabel(
+ Label expireAfterLabel = this.addLabel(
container,
EclipseLinkUiDetailsMessages.EclipseLinkExpiryComposite_timeToLiveExpiryExpireAfter,
this.getTtlEnabled()
);
-
- IntegerCombo<?> combo = addTimeToLiveExpiryCombo(container);
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = false;
- combo.getControl().setLayoutData(gridData);
+ gridData = new GridData();
+ gridData.horizontalIndent = 10;
+ expireAfterLabel.setLayoutData(gridData);
+
+ this.addTimeToLiveExpiryCombo(container);
- addLabel(
+ this.addLabel(
container,
EclipseLinkUiDetailsMessages.EclipseLinkExpiryComposite_timeToLiveExpiryMilliseconds,
this.getTtlEnabled()
);
- }
-
- protected void addTimeOfDayComposite(Composite parent) {
- Composite container = this.addSubPane(parent, 2, 0, 10, 0, 0);
+
+
+ // Daily Expiry radio button
+ addRadioButton(
+ container,
+ EclipseLinkUiDetailsMessages.EclipseLinkExpiryComposite_dailyExpiry,
+ buildTimeOfDayExpiryBooleanHolder(),
+ null
+ );
PropertyValueModel<Boolean> todEnabled = this.buildTimeOfDayExpiryEnabler();
- addLabel(
+ Label expireAtLabel = addLabel(
container,
EclipseLinkUiDetailsMessages.EclipseLinkExpiryComposite_timeOfDayExpiryExpireAt,
todEnabled
);
+ gridData = new GridData();
+ gridData.horizontalIndent = 10;
+ expireAtLabel.setLayoutData(gridData);
PropertyValueModel<EclipseLinkTimeOfDay> timeOfDayExpiryHolder = buildTimeOfDayExpiryHolder();
- addDateTime(
+ DateTime dataTime = addDateTime(
container,
buildTimeOfDayExpiryHourHolder(timeOfDayExpiryHolder),
buildTimeOfDayExpiryMinuteHolder(timeOfDayExpiryHolder),
@@ -149,6 +153,10 @@ public class EclipseLinkExpiryComposite extends Pane<EclipseLinkCaching> {
null,
todEnabled
);
+
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ dataTime.setLayoutData(gridData);
}
private ModifiablePropertyValueModel<Boolean> buildNoExpiryHolder() {
@@ -219,13 +227,7 @@ public class EclipseLinkExpiryComposite extends Pane<EclipseLinkCaching> {
StringConverter.Default.<String>instance(),
EclipseLinkExpiryComposite.this.getTtlEnabled()
);
- }
-
- @Override
- protected String getLabelText() {
- throw new UnsupportedOperationException();
- }
-
+ }
@Override
protected String getHelpId() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkIdMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkIdMappingComposite.java
index bc5ba09e79..df5032aba0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkIdMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkIdMappingComposite.java
@@ -10,7 +10,7 @@
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.CompositeBooleanPropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
@@ -24,32 +24,42 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMutable;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractIdMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
-import org.eclipse.jpt.jpa.ui.internal.details.TemporalTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.TemporalTypeCombo;
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.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
public abstract class EclipseLinkIdMappingComposite<T extends IdMapping>
extends AbstractIdMappingComposite<T>
{
protected EclipseLinkIdMappingComposite(
PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeIdSection(Composite container) {
+ protected Control initializeIdSection(Composite container) {
+ container = this.addSubPane(container);
+
new ColumnComposite(this, buildColumnHolder(), container);
- new EclipseLinkMutableComposite(this, buildMutableHolder(), container);
+ new EclipseLinkMutableTriStateCheckBox(this, buildMutableHolder(), container);
+
+ return container;
}
@Override
- protected void initializeTypeSection(Composite container) {
- ((GridLayout) container.getLayout()).numColumns = 2;
+ protected Control initializeTypeSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
// No converter
Button noConverterButton = addRadioButton(
@@ -66,7 +76,7 @@ public abstract class EclipseLinkIdMappingComposite<T extends IdMapping>
JptUiDetailsMessages.TypeSection_temporal,
buildConverterBooleanHolder(BaseTemporalConverter.class),
null);
- registerSubPane(new TemporalTypeComposite(buildTemporalConverterHolder(converterHolder), container, getWidgetFactory()));
+ registerSubPane(new TemporalTypeCombo(buildTemporalConverterHolder(converterHolder), getEnabledModel(), container, getWidgetFactory()));
// EclipseLink Converter
Button elConverterButton = addRadioButton(
@@ -76,15 +86,15 @@ public abstract class EclipseLinkIdMappingComposite<T extends IdMapping>
null);
((GridData) elConverterButton.getLayoutData()).horizontalSpan = 2;
- Pane<EclipseLinkConvert> convertComposite = buildConvertComposite(buildEclipseLinkConverterHolder(converterHolder), container);
- GridData gridData = (GridData) convertComposite.getControl().getLayoutData();
- gridData.horizontalSpan = 2;
+ PropertyValueModel<EclipseLinkConvert> convertHolder = buildEclipseLinkConverterHolder(converterHolder);
+ PropertyValueModel<Boolean> convertEnabledModel = CompositeBooleanPropertyValueModel.and(getEnabledModel(), buildEclipseLinkConvertBooleanHolder(convertHolder));
+ Label convertLabel = this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkConvertComposite_converterNameLabel, convertEnabledModel);
+ GridData gridData = new GridData();
gridData.horizontalIndent = 20;
- registerSubPane(convertComposite);
- }
-
- protected Pane<EclipseLinkConvert> buildConvertComposite(PropertyValueModel<EclipseLinkConvert> convertHolder, Composite container) {
- return new EclipseLinkConvertComposite(convertHolder, container, getWidgetFactory());
+ convertLabel.setLayoutData(gridData);
+ registerSubPane(new EclipseLinkConvertCombo(convertHolder, convertEnabledModel, container, getWidgetFactory()));
+
+ return container;
}
protected PropertyValueModel<EclipseLinkConvert> buildEclipseLinkConverterHolder(PropertyValueModel<Converter> converterHolder) {
@@ -95,6 +105,15 @@ public abstract class EclipseLinkIdMappingComposite<T extends IdMapping>
}
};
}
+
+ protected PropertyValueModel<Boolean> buildEclipseLinkConvertBooleanHolder(PropertyValueModel<EclipseLinkConvert> convertHolder) {
+ return new TransformationPropertyValueModel<EclipseLinkConvert, Boolean>(convertHolder) {
+ @Override
+ protected Boolean transform(EclipseLinkConvert value) {
+ return Boolean.valueOf(value != null);
+ }
+ };
+ }
protected PropertyValueModel<EclipseLinkMutable> buildMutableHolder() {
return new PropertyAspectAdapter<T, EclipseLinkMutable>(getSubjectHolder()) {
@@ -105,16 +124,23 @@ public abstract class EclipseLinkIdMappingComposite<T extends IdMapping>
};
}
+
protected void initializeConvertersCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters
- );
- initializeConvertersSection(container, this.buildConverterHolderValueModel());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(EclipseLinkIdMappingComposite.this.initializeConvertersSection(section));
+ }
+ }
+ });
}
- protected void initializeConvertersSection(Composite container, PropertyValueModel<EclipseLinkConverterContainer> converterHolder) {
- new EclipseLinkConvertersComposite(this, converterHolder, container);
+ protected Control initializeConvertersSection(Composite container) {
+ return new EclipseLinkConvertersComposite(this, this.buildConverterHolderValueModel(), container).getControl();
}
protected PropertyValueModel<EclipseLinkConverterContainer> buildConverterHolderValueModel() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkJoinFetchComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkJoinFetchComboViewer.java
index df171368ac..d9d08fd513 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkJoinFetchComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkJoinFetchComboViewer.java
@@ -43,15 +43,9 @@ import org.eclipse.swt.widgets.Composite;
* @version 2.3
* @since 2.1
*/
-public class EclipseLinkJoinFetchComposite extends Pane<EclipseLinkJoinFetch> {
+public class EclipseLinkJoinFetchComboViewer extends EnumFormComboViewer<EclipseLinkJoinFetch, EclipseLinkJoinFetchType> {
- /**
- * Creates a new <code>JoinFetchComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public EclipseLinkJoinFetchComposite(Pane<?> parentPane,
+ public EclipseLinkJoinFetchComboViewer(Pane<?> parentPane,
PropertyValueModel<? extends EclipseLinkJoinFetch> subjectHolder,
Composite parent) {
@@ -59,64 +53,45 @@ public class EclipseLinkJoinFetchComposite extends Pane<EclipseLinkJoinFetch> {
}
@Override
- protected void initializeLayout(Composite container) {
- addLabeledComposite(
- container,
- addLabel(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label),
- addJoinFetchTypeCombo(container).getControl(),
- null
- );
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(EclipseLinkJoinFetch.VALUE_PROPERTY);
}
-
-
- private EnumFormComboViewer<EclipseLinkJoinFetch, EclipseLinkJoinFetchType> addJoinFetchTypeCombo(Composite container) {
-
- return new EnumFormComboViewer<EclipseLinkJoinFetch, EclipseLinkJoinFetchType>(this, container) {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(EclipseLinkJoinFetch.VALUE_PROPERTY);
- }
-
- @Override
- protected EclipseLinkJoinFetchType[] getChoices() {
- return EclipseLinkJoinFetchType.values();
- }
-
- @Override
- protected EclipseLinkJoinFetchType getDefaultValue() {
- return null;
- }
-
- @Override
- protected String displayString(EclipseLinkJoinFetchType value) {
- switch (value) {
- case INNER :
- return EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_inner;
- case OUTER :
- return EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_outer;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected String nullDisplayString() {
- return JptCommonUiMessages.NoneSelected;
- }
+ @Override
+ protected EclipseLinkJoinFetchType[] getChoices() {
+ return EclipseLinkJoinFetchType.values();
+ }
+
+ @Override
+ protected EclipseLinkJoinFetchType getDefaultValue() {
+ return null;
+ }
+
+ @Override
+ protected String displayString(EclipseLinkJoinFetchType value) {
+ switch (value) {
+ case INNER :
+ return EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_inner;
+ case OUTER :
+ return EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_outer;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected String nullDisplayString() {
+ return JptCommonUiMessages.NoneSelected;
+ }
- @Override
- protected EclipseLinkJoinFetchType getValue() {
- return getSubject().getValue();
- }
+ @Override
+ protected EclipseLinkJoinFetchType getValue() {
+ return getSubject().getValue();
+ }
- @Override
- protected void setValue(EclipseLinkJoinFetchType value) {
- getSubject().setValue(value);
- }
- };
+ @Override
+ protected void setValue(EclipseLinkJoinFetchType value) {
+ getSubject().setValue(value);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkManyToManyMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkManyToManyMappingComposite.java
index 12693963e6..5e2b62f5ab 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkManyToManyMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkManyToManyMappingComposite.java
@@ -21,11 +21,19 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkRelationshipMappi
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractManyToManyMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.ManyToManyJoiningStrategyPane;
import org.eclipse.jpt.jpa.ui.internal.details.OrderingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -59,9 +67,9 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see {@link ManyToManyMapping}
- * @see {@link TargetEntityComposite}
+ * @see {@link TargetEntityClassChooser}
* @see {@link ManyToManyJoiningStrategyPane}
- * @see {@link FetchTypeComposite}
+ * @see {@link FetchTypeComboViewer}
* @see {@link CascadeComposite}
* @see {@link OrderingComposite}
*
@@ -80,18 +88,36 @@ public class EclipseLinkManyToManyMappingComposite<T extends ManyToManyMapping>
* @param widgetFactory The factory used to create various common widgets
*/
public EclipseLinkManyToManyMappingComposite(PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<EclipseLinkJoinFetch> buildJoinFetchableHolder() {
@@ -104,15 +130,22 @@ public class EclipseLinkManyToManyMappingComposite<T extends ManyToManyMapping>
}
protected void initializeConvertersCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters
- );
- initializeConvertersSection(container, this.buildConverterHolderValueModel());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeConvertersSection(section));
+ }
+ }
+ });
}
- protected void initializeConvertersSection(Composite container, PropertyValueModel<EclipseLinkConverterContainer> converterHolder) {
- new EclipseLinkConvertersComposite(this, converterHolder, container);
+ protected Control initializeConvertersSection(Composite container) {
+ return new EclipseLinkConvertersComposite(this, this.buildConverterHolderValueModel(), container).getControl();
}
protected PropertyValueModel<EclipseLinkConverterContainer> buildConverterHolderValueModel() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkManyToOneMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkManyToOneMappingComposite.java
index 6f02f8a73d..e6958b9254 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkManyToOneMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkManyToOneMappingComposite.java
@@ -18,11 +18,15 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetch;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkRelationshipMapping;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractManyToOneMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.ManyToOneJoiningStrategyPane;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -56,9 +60,9 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see {@link ManyToOneMapping}
- * @see {@link TargetEntityComposite}
+ * @see {@link TargetEntityClassChooser}
* @see {@link ManyToOneJoiningStrategyPane}
- * @see {@link FetchTypeComposite}
+ * @see {@link FetchTypeComboViewer}
* @see {@link OptionalComposite}
* @see {@link CascadeComposite}
*
@@ -76,19 +80,42 @@ public class EclipseLinkManyToOneMappingComposite<T extends ManyToOneMapping>
* @param widgetFactory The factory used to create various common widgets
*/
public EclipseLinkManyToOneMappingComposite(PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new OptionalComposite(this, container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<EclipseLinkJoinFetch> buildJoinFetchableHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkMappedSuperclassAdvancedComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkMappedSuperclassAdvancedComposite.java
deleted file mode 100644
index 05dac7b39a..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkMappedSuperclassAdvancedComposite.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.MappedSuperclass;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTracking;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMappedSuperclass;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkReadOnly;
-import org.eclipse.swt.widgets.Composite;
-
-public class EclipseLinkMappedSuperclassAdvancedComposite extends Pane<MappedSuperclass> {
-
- public EclipseLinkMappedSuperclassAdvancedComposite(
- Pane<? extends MappedSuperclass> parentPane,
- Composite parent) {
-
- super(parentPane, parent, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_advanced
- );
-
- new EclipseLinkReadOnlyComposite(this, buildReadOnlyHolder(), container);
- new EclipseLinkCustomizerComposite(this, buildCustomizerHolder(), container);
- new EclipseLinkChangeTrackingComposite(this, buildChangeTrackingHolder(), container);
- }
-
- private PropertyValueModel<EclipseLinkReadOnly> buildReadOnlyHolder() {
- return new PropertyAspectAdapter<MappedSuperclass, EclipseLinkReadOnly>(getSubjectHolder()) {
- @Override
- protected EclipseLinkReadOnly buildValue_() {
- return ((EclipseLinkMappedSuperclass) this.subject).getReadOnly();
- }
- };
- }
-
- private PropertyValueModel<EclipseLinkCustomizer> buildCustomizerHolder() {
- return new PropertyAspectAdapter<MappedSuperclass, EclipseLinkCustomizer>(getSubjectHolder()) {
- @Override
- protected EclipseLinkCustomizer buildValue_() {
- return ((EclipseLinkMappedSuperclass) this.subject).getCustomizer();
- }
- };
- }
-
- private PropertyValueModel<EclipseLinkChangeTracking> buildChangeTrackingHolder() {
- return new PropertyAspectAdapter<MappedSuperclass, EclipseLinkChangeTracking>(getSubjectHolder()) {
- @Override
- protected EclipseLinkChangeTracking buildValue_() {
- return ((EclipseLinkMappedSuperclass) this.subject).getChangeTracking();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkMultitenancyComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkMultitenancyComposite.java
index d680a36f4c..559fc0ac03 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkMultitenancyComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkMultitenancyComposite.java
@@ -35,6 +35,7 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.TenantDiscriminatorColumn2_3
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.TenantDiscriminatorColumnsComposite.TenantDiscriminatorColumnsEditor;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
@@ -69,38 +70,35 @@ public class EclipseLinkMultitenancyComposite extends Pane<EclipseLinkMultitenan
PropertyValueModel<? extends EclipseLinkMultitenancy2_3> subjectHolder,
Composite parent) {
- super(parentPane, subjectHolder, parent, false);
+ super(parentPane, subjectHolder, parent);
}
@Override
- protected void initializeLayout(Composite container) {
- int groupBoxMargin = getGroupBoxMargin();
-
- Composite subPane = addSubPane(
- container, 0, groupBoxMargin, 0, groupBoxMargin
- );
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// Strategy widgets
- addLabeledComposite(
- subPane,
- addCheckBox(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkMultitenancyComposite_strategy,
- builMultitenantHolder(),
- null
- ),
- addMultitenantStrategyCombo(subPane).getControl(),
- EclipseLinkHelpContextIds.MULTITENANCY_STRATEGY
- );
+ this.addCheckBox(
+ container,
+ EclipseLinkUiDetailsMessages.EclipseLinkMultitenancyComposite_strategy,
+ buildMultitenantHolder(),
+ null);
+ this.addMultitenantStrategyCombo(container).getControl();
// Include criteria tri-state check box
TriStateCheckBox includeCriteriaCheckBox = addTriStateCheckBoxWithDefault(
- subPane,
+ container,
EclipseLinkUiDetailsMessages.EclipseLinkMultitenancyComposite_includeCriteria,
buildIncludeCriteriaHolder(),
buildIncludeCriteriaStringHolder(),
EclipseLinkHelpContextIds.MULTITENANCY_INCLUDE_CRITERIA);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ includeCriteriaCheckBox.getCheckBox().setLayoutData(gridData);
SWTTools.controlVisibleState(new EclipseLink2_4ProjectFlagModel<EclipseLinkMultitenancy2_3>(this.getSubjectHolder()), includeCriteriaCheckBox.getCheckBox());
// Tenant discriminator columns group pane
@@ -108,21 +106,22 @@ public class EclipseLinkMultitenancyComposite extends Pane<EclipseLinkMultitenan
container,
EclipseLinkUiDetailsMessages.TenantDiscriminatorColumns_groupLabel
);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ tenantDiscriminatorColumnGroupPane.setLayoutData(gridData);
// Override Default Tenant Discriminator Columns check box
addCheckBox(
- addSubPane(tenantDiscriminatorColumnGroupPane, 8),
+ tenantDiscriminatorColumnGroupPane,
EclipseLinkUiDetailsMessages.EclipseLinkMultitenancy_overrideDefaultTenantDiscriminatorColumns,
buildOverrideDefaultTenantDiscriminatorColumnHolder(),
null
);
this.tenantDiscriminatorColumnsComposite = this.buildTenantDiscriminatorColumnsComposite(tenantDiscriminatorColumnGroupPane);
-
- this.tenantDiscriminatorColumnsComposite.installListPaneEnabler(new TenantDiscriminatorColumnPaneEnablerHolder());
}
- private ModifiablePropertyValueModel<Boolean> builMultitenantHolder() {
+ private ModifiablePropertyValueModel<Boolean> buildMultitenantHolder() {
return new PropertyAspectAdapter<EclipseLinkMultitenancy2_3, Boolean>(getSubjectHolder(), EclipseLinkMultitenancy2_3.SPECIFIED_MULTITENANT_PROPERTY) {
@Override
protected Boolean buildValue_() {
@@ -179,6 +178,11 @@ public class EclipseLinkMultitenancyComposite extends Pane<EclipseLinkMultitenan
protected void setValue(EclipseLinkMultitenantType2_3 value) {
getSubject().setSpecifiedType(value);
}
+
+ @Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.MULTITENANCY_STRATEGY;
+ }
};
}
@@ -225,9 +229,11 @@ public class EclipseLinkMultitenancyComposite extends Pane<EclipseLinkMultitenan
};
}
+ //TODO do i need to pass in the PaneEnabler from *this* pane as a Combined property value model?
protected TenantDiscriminatorColumnsComposite<EclipseLinkMultitenancy2_3> buildTenantDiscriminatorColumnsComposite(Composite container) {
return new TenantDiscriminatorColumnsComposite<EclipseLinkMultitenancy2_3>(
getSubjectHolder(),
+ new TenantDiscriminatorColumnPaneEnablerHolder(),
container,
getWidgetFactory(),
buildTenantDiscriminatorColumnsEditor());
@@ -239,9 +245,10 @@ public class EclipseLinkMultitenancyComposite extends Pane<EclipseLinkMultitenan
class TenantDiscriminatorColumnsProvider implements TenantDiscriminatorColumnsEditor<EclipseLinkMultitenancy2_3> {
- public void addTenantDiscriminatorColumn(EclipseLinkMultitenancy2_3 subject) {
+ public ReadOnlyTenantDiscriminatorColumn2_3 addTenantDiscriminatorColumn(EclipseLinkMultitenancy2_3 subject) {
TenantDiscriminatorColumn2_3 column = subject.addSpecifiedTenantDiscriminatorColumn();
column.setSpecifiedName(ReadOnlyTenantDiscriminatorColumn2_3.DEFAULT_NAME);
+ return column;
}
public ListIterable<ReadOnlyTenantDiscriminatorColumn2_3> getDefaultTenantDiscriminatorColumns(EclipseLinkMultitenancy2_3 subject) {
@@ -272,17 +279,11 @@ public class EclipseLinkMultitenancyComposite extends Pane<EclipseLinkMultitenan
return subject.hasSpecifiedTenantDiscriminatorColumns();
}
- public void removeTenantDiscriminatorColumns(EclipseLinkMultitenancy2_3 subject, int[] selectedIndices) {
- for (int index = selectedIndices.length; index-- > 0; ) {
- subject.removeSpecifiedTenantDiscriminatorColumn(selectedIndices[index]);
- }
+ public void removeTenantDiscriminatorColumn(EclipseLinkMultitenancy2_3 subject, ReadOnlyTenantDiscriminatorColumn2_3 column) {
+ subject.removeSpecifiedTenantDiscriminatorColumn((TenantDiscriminatorColumn2_3) column);
}
}
- void setSelectedTenantDiscriminatorColumn(ReadOnlyTenantDiscriminatorColumn2_3 tenantDiscriminatorColumn) {
- this.tenantDiscriminatorColumnsComposite.setSelectedTenantDiscriminatorColumn(tenantDiscriminatorColumn);
- }
-
private ModifiablePropertyValueModel<Boolean> buildOverrideDefaultTenantDiscriminatorColumnHolder() {
return new OverrideDefaultTenantDiscriminatorColumnHolder();
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkMutableComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkMutableTriStateCheckBox.java
index 226c36fec8..5453bed0a5 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkMutableComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkMutableTriStateCheckBox.java
@@ -11,6 +11,7 @@ package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
@@ -18,6 +19,7 @@ import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMutable;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* This composite simply shows a tri-state check box for the Mutable option.
@@ -28,15 +30,17 @@ import org.eclipse.swt.widgets.Composite;
* @version 2.1
* @since 2.1
*/
-public class EclipseLinkMutableComposite extends Pane<EclipseLinkMutable>
+public class EclipseLinkMutableTriStateCheckBox extends Pane<EclipseLinkMutable>
{
+ private TriStateCheckBox checkBox;
+
/**
* Creates a new <code>MutableComposite</code>.
*
* @param parentPane The parent container of this one
* @param parent The parent container
*/
- public EclipseLinkMutableComposite(Pane<?> parentPane,
+ public EclipseLinkMutableTriStateCheckBox(Pane<?> parentPane,
PropertyValueModel<? extends EclipseLinkMutable> subjectHolder,
Composite parent) {
@@ -44,8 +48,18 @@ public class EclipseLinkMutableComposite extends Pane<EclipseLinkMutable>
}
@Override
+ protected boolean addsComposite() {
+ return false;
+ }
+
+ @Override
+ public Control getControl() {
+ return this.checkBox.getCheckBox();
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
- addTriStateCheckBoxWithDefault(
+ this.checkBox = addTriStateCheckBoxWithDefault(
container,
EclipseLinkUiDetailsMessages.EclipseLinkMutableComposite_mutableLabel,
buildMutableHolder(),
@@ -81,7 +95,7 @@ public class EclipseLinkMutableComposite extends Pane<EclipseLinkMutable>
}
};
}
-
+
private PropertyValueModel<Boolean> buildDefaultMutableHolder() {
return new PropertyAspectAdapter<EclipseLinkMutable, Boolean>(
getSubjectHolder(),
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkNonEmbeddableTypeMappingAdvancedComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkNonEmbeddableTypeMappingAdvancedComposite.java
new file mode 100644
index 0000000000..1c4952d83c
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkNonEmbeddableTypeMappingAdvancedComposite.java
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 Oracle. 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
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
+
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.TypeMapping;
+import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkNonEmbeddableTypeMapping;
+import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkReadOnly;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+
+public class EclipseLinkNonEmbeddableTypeMappingAdvancedComposite
+ extends EclipseLinkTypeMappingAdvancedComposite<TypeMapping> {
+
+ public EclipseLinkNonEmbeddableTypeMappingAdvancedComposite(
+ Pane<? extends TypeMapping> parentPane,
+ Composite parent) {
+
+ super(parentPane, parent);
+ }
+
+ @Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ // read-only check box
+ EclipseLinkReadOnlyTriStateCheckBox readOnlyCheckBox = new EclipseLinkReadOnlyTriStateCheckBox(this, buildReadOnlyHolder(), container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ readOnlyCheckBox.getControl().setLayoutData(gridData);
+
+ // customizer class chooser
+ Hyperlink customizerHyperlink = addHyperlink(container, EclipseLinkUiDetailsMessages.EclipseLinkCustomizerComposite_classLabel);
+ new EclipseLinkCustomizerClassChooser(this, this.buildCustomizerHolder(), container, customizerHyperlink);
+
+ // change tracking type
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkChangeTrackingComposite_label);
+ new EclipseLinkChangeTrackingComboViewer(this, this.buildChangeTrackingHolder(), container);
+ }
+
+ private PropertyValueModel<EclipseLinkReadOnly> buildReadOnlyHolder() {
+ return new PropertyAspectAdapter<TypeMapping, EclipseLinkReadOnly>(getSubjectHolder()) {
+ @Override
+ protected EclipseLinkReadOnly buildValue_() {
+ return ((EclipseLinkNonEmbeddableTypeMapping) this.subject).getReadOnly();
+ }
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkObjectTypeConverterComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkObjectTypeConverterComposite.java
index b926359657..04ee6710f1 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkObjectTypeConverterComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkObjectTypeConverterComposite.java
@@ -16,7 +16,6 @@ import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.window.Window;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.swt.ColumnAdapter;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveTablePane;
import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane;
@@ -27,11 +26,11 @@ import org.eclipse.jpt.common.utility.internal.iterables.SuperListIterableWrappe
import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationListValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.JpaNamedContextNode;
@@ -39,8 +38,10 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConversionValue;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverter;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkObjectTypeConverter;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -52,7 +53,7 @@ import org.eclipse.swt.widgets.Group;
* -----------------------------------------------------------------------------</pre>
*
* @see EclipseLinkConverter
- * @see EclipseLinkConvertComposite - A container of this widget
+ * @see EclipseLinkConvertCombo - A container of this widget
*
* @version 2.1
* @since 2.1
@@ -74,28 +75,34 @@ public class EclipseLinkObjectTypeConverterComposite extends Pane<EclipseLinkObj
}
@Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkConverterComposite_nameTextLabel);
+ this.addText(container, buildNameTextHolder());
- addLabeledText(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkConverterComposite_nameTextLabel,
- buildNameTextHolder());
+ Hyperlink dataTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.EclipseLinkObjectTypeConverterComposite_dataTypeLabel);
+ this.addDataTypeChooser(container, dataTypeHyperlink);
- addDataTypeChooser(container);
- addObjectTypeChooser(container);
+ Hyperlink objectTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.EclipseLinkObjectTypeConverterComposite_objectTypeLabel);
+ this.addObjectTypeChooser(container, objectTypeHyperlink);
- addConversionValuesTable(container);
+ Composite conversionValuesTable = addConversionValuesTable(container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ conversionValuesTable.setLayoutData(gridData);
- addLabeledEditableCombo(
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkObjectTypeConverterComposite_defaultObjectValueLabel);
+ this.addEditableCombo(
container,
- EclipseLinkUiDetailsMessages.EclipseLinkObjectTypeConverterComposite_defaultObjectValueLabel,
buildDefaultObjectValueListHolder(),
buildDefaultObjectValueHolder(),
buildStringConverter(),
- null
+ (String) null
);
-
- new PaneEnabler(buildBooleanHolder(), this);
}
protected ModifiablePropertyValueModel<String> buildNameTextHolder() {
@@ -116,9 +123,9 @@ public class EclipseLinkObjectTypeConverterComposite extends Pane<EclipseLinkObj
};
}
- private ClassChooserPane<EclipseLinkObjectTypeConverter> addDataTypeChooser(Composite container) {
+ private ClassChooserPane<EclipseLinkObjectTypeConverter> addDataTypeChooser(Composite container, Hyperlink hyperlink) {
- return new ClassChooserPane<EclipseLinkObjectTypeConverter>(this, container) {
+ return new ClassChooserPane<EclipseLinkObjectTypeConverter>(this, container, hyperlink) {
@Override
protected ModifiablePropertyValueModel<String> buildTextHolder() {
@@ -146,11 +153,6 @@ public class EclipseLinkObjectTypeConverterComposite extends Pane<EclipseLinkObj
}
@Override
- protected String getLabelText() {
- return EclipseLinkUiDetailsMessages.EclipseLinkObjectTypeConverterComposite_dataTypeLabel;
- }
-
- @Override
protected IJavaProject getJavaProject() {
return getSubject().getJpaProject().getJavaProject();
}
@@ -172,9 +174,9 @@ public class EclipseLinkObjectTypeConverterComposite extends Pane<EclipseLinkObj
};
}
- private ClassChooserPane<EclipseLinkObjectTypeConverter> addObjectTypeChooser(Composite container) {
+ private ClassChooserPane<EclipseLinkObjectTypeConverter> addObjectTypeChooser(Composite container, Hyperlink hyperlink) {
- return new ClassChooserPane<EclipseLinkObjectTypeConverter>(this, container) {
+ return new ClassChooserPane<EclipseLinkObjectTypeConverter>(this, container, hyperlink) {
@Override
protected ModifiablePropertyValueModel<String> buildTextHolder() {
@@ -202,11 +204,6 @@ public class EclipseLinkObjectTypeConverterComposite extends Pane<EclipseLinkObj
}
@Override
- protected String getLabelText() {
- return EclipseLinkUiDetailsMessages.EclipseLinkObjectTypeConverterComposite_objectTypeLabel;
- }
-
- @Override
protected IJavaProject getJavaProject() {
return getSubject().getJpaProject().getJavaProject();
}
@@ -233,23 +230,20 @@ public class EclipseLinkObjectTypeConverterComposite extends Pane<EclipseLinkObj
};
}
- protected void addConversionValuesTable(Composite container) {
-
+ protected Composite addConversionValuesTable(Composite container) {
// Join Columns group pane
Group conversionValuesGroupPane = addTitledGroup(
container,
EclipseLinkUiDetailsMessages.EclipseLinkObjectTypeConverterComposite_conversionValuesGroupTitle
);
- ModifiablePropertyValueModel<EclipseLinkConversionValue> conversionValueHolder =
- buildConversionValueHolder();
// Conversion Values add/remove list pane
- new AddRemoveTablePane<EclipseLinkObjectTypeConverter>(
+ new AddRemoveTablePane<EclipseLinkObjectTypeConverter, EclipseLinkConversionValue>(
this,
conversionValuesGroupPane,
buildConversionValuesAdapter(),
buildConversionValuesListModel(),
- conversionValueHolder,
+ buildSelectedConversionValuesModel(),
buildConversionValuesLabelProvider(),
null//TODO need a help context id for this
) {
@@ -259,18 +253,19 @@ public class EclipseLinkObjectTypeConverterComposite extends Pane<EclipseLinkObj
}
};
+ return conversionValuesGroupPane;
}
- protected ModifiablePropertyValueModel<EclipseLinkConversionValue> buildConversionValueHolder() {
- return new SimplePropertyValueModel<EclipseLinkConversionValue>();
+ private ModifiableCollectionValueModel<EclipseLinkConversionValue> buildSelectedConversionValuesModel() {
+ return new SimpleCollectionValueModel<EclipseLinkConversionValue>();
}
- protected AddRemoveListPane.Adapter buildConversionValuesAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
+ protected AddRemoveListPane.Adapter<EclipseLinkConversionValue> buildConversionValuesAdapter() {
+ return new AddRemoveListPane.AbstractAdapter<EclipseLinkConversionValue>() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
+ public EclipseLinkConversionValue addNewItem() {
EclipseLinkConversionValueDialog dialog = buildConversionValueDialogForAdd();
- addConversionValueFromDialog(dialog, listSelectionModel);
+ return addConversionValueFromDialog(dialog);
}
@Override
@@ -284,19 +279,23 @@ public class EclipseLinkObjectTypeConverterComposite extends Pane<EclipseLinkObj
}
@Override
- public void optionOnSelection(ObjectListSelectionModel listSelectionModel) {
- EclipseLinkConversionValue conversionValue = (EclipseLinkConversionValue) listSelectionModel.selectedValue();
+ public void optionOnSelection(CollectionValueModel<EclipseLinkConversionValue> selectedItemsModel) {
+ EclipseLinkConversionValue conversionValue = selectedItemsModel.iterator().next();
EclipseLinkConversionValueDialog dialog = new EclipseLinkConversionValueDialog(getShell(), getSubject(), conversionValue);
editConversionValueFromDialog(dialog, conversionValue);
}
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- EclipseLinkObjectTypeConverter converter = getSubject();
- int[] selectedIndices = listSelectionModel.selectedIndices();
- for (int index = selectedIndices.length; --index >= 0; ) {
- converter.removeConversionValue(selectedIndices[index]);
- }
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<EclipseLinkConversionValue> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
+
+ public void removeSelectedItems(CollectionValueModel<EclipseLinkConversionValue> selectedItemsModel) {
+ //assume only 1 item since remove button is disabled otherwise
+ EclipseLinkConversionValue item = selectedItemsModel.iterator().next();
+ getSubject().removeConversionValue(item);
}
};
}
@@ -306,16 +305,16 @@ public class EclipseLinkObjectTypeConverterComposite extends Pane<EclipseLinkObj
return new EclipseLinkConversionValueDialog(getShell(), getSubject());
}
- protected void addConversionValueFromDialog(EclipseLinkConversionValueDialog dialog, ObjectListSelectionModel listSelectionModel) {
+ protected EclipseLinkConversionValue addConversionValueFromDialog(EclipseLinkConversionValueDialog dialog) {
if (dialog.open() != Window.OK) {
- return;
+ return null;
}
EclipseLinkConversionValue conversionValue = this.getSubject().addConversionValue();
conversionValue.setDataValue(dialog.getDataValue());
conversionValue.setObjectValue(dialog.getObjectValue());
- listSelectionModel.setSelectedValue(conversionValue);
+ return conversionValue;
}
protected void editConversionValueFromDialog(EclipseLinkConversionValueDialog dialog, EclipseLinkConversionValue conversionValue) {
@@ -385,15 +384,6 @@ public class EclipseLinkObjectTypeConverterComposite extends Pane<EclipseLinkObj
}
};
}
-
- protected PropertyValueModel<Boolean> buildBooleanHolder() {
- return new TransformationPropertyValueModel<EclipseLinkObjectTypeConverter, Boolean>(getSubjectHolder()) {
- @Override
- protected Boolean transform(EclipseLinkObjectTypeConverter value) {
- return Boolean.valueOf(value != null);
- }
- };
- }
private class TableLabelProvider extends LabelProvider
implements ITableLabelProvider {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkOneToManyJoiningStrategyPane.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkOneToManyJoiningStrategyPane.java
index 75cb9f7fde..108b2dc9be 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkOneToManyJoiningStrategyPane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkOneToManyJoiningStrategyPane.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -30,39 +30,39 @@ public class EclipseLinkOneToManyJoiningStrategyPane
super(parentPane, subjectHolder, parent);
}
-
+ @Override
+ protected Composite addComposite(Composite container) {
+ return addCollapsibleSection(
+ container,
+ JptUiDetailsMessages.Joining_title,
+ new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
+ }
+
@Override
protected void initializeLayout(Composite container) {
- Composite composite = addCollapsibleSection(
- container,
- JptUiDetailsMessages.Joining_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
-
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_mappedByLabel,
MappedByJoiningStrategyPane.buildUsesMappedByJoiningStrategyHolder(getSubjectHolder()),
null);
- new MappedByJoiningStrategyPane(this, composite);
+ new MappedByJoiningStrategyPane(this, container);
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_joinColumnJoiningLabel,
JoinColumnJoiningStrategyPane.buildUsesJoinColumnJoiningStrategyHolder(getSubjectHolder()),
null);
JoinColumnJoiningStrategyPane.
- buildJoinColumnJoiningStrategyPaneWithIncludeOverrideCheckBox(this, composite);
+ buildJoinColumnJoiningStrategyPaneWithIncludeOverrideCheckBox(this, container);
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_joinTableJoiningLabel,
JoinTableJoiningStrategyPane.buildUsesJoinTableJoiningStrategyHolder(getSubjectHolder()),
null);
- new JoinTableJoiningStrategyPane(this, composite);
-
- addSubPane(composite, 5);
+ new JoinTableJoiningStrategyPane(this, container);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkOneToManyMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkOneToManyMappingComposite.java
index 7432fa9f43..21792ed847 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkOneToManyMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkOneToManyMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -22,10 +22,18 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkPrivateOwned;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractOneToManyMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.OrderingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -70,12 +78,12 @@ import org.eclipse.swt.widgets.Composite;
*
* @see OneToOneMapping
* @see CascadeComposite
- * @see EclipseLinkJoinFetchComposite
- * @see EclipseLinkJoinFetchComposite
+ * @see EclipseLinkJoinFetchComboViewer
+ * @see EclipseLinkJoinFetchComboViewer
* @see EclipseLinkOneToManyJoiningStrategyPane
- * @see FetchTypeComposite
+ * @see FetchTypeComboViewer
* @see OrderingComposite
- * @see TargetEntityComposite
+ * @see TargetEntityClassChooser
*
* @version 2.3
* @since 2.1
@@ -92,19 +100,42 @@ public class EclipseLinkOneToManyMappingComposite<T extends OneToManyMapping>
* @param widgetFactory The factory used to create various common widgets
*/
public EclipseLinkOneToManyMappingComposite(PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new EclipseLinkPrivateOwnedComposite(this, buildPrivateOwnableHolder(), container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeOneToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Private owned widgets
+ EclipseLinkPrivateOwnedCheckBox privateOwnedCheckBox = new EclipseLinkPrivateOwnedCheckBox(this, buildPrivateOwnableHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ privateOwnedCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
@Override
@@ -131,15 +162,22 @@ public class EclipseLinkOneToManyMappingComposite<T extends OneToManyMapping>
}
protected void initializeConvertersCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters
- );
- initializeConvertersSection(container, this.buildConverterHolderValueModel());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeConvertersSection(section));
+ }
+ }
+ });
}
- protected void initializeConvertersSection(Composite container, PropertyValueModel<EclipseLinkConverterContainer> converterHolder) {
- new EclipseLinkConvertersComposite(this, converterHolder, container);
+ protected Control initializeConvertersSection(Composite container) {
+ return new EclipseLinkConvertersComposite(this, this.buildConverterHolderValueModel(), container).getControl();
}
protected PropertyValueModel<EclipseLinkConverterContainer> buildConverterHolderValueModel() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkOneToOneMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkOneToOneMappingComposite.java
index 68a64c196c..d2a899234a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkOneToOneMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkOneToOneMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -20,10 +20,14 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkPrivateOwned;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractOneToOneMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class EclipseLinkOneToOneMappingComposite<T extends OneToOneMapping>
@@ -38,20 +42,48 @@ public class EclipseLinkOneToOneMappingComposite<T extends OneToOneMapping>
* @param widgetFactory The factory used to create various common widgets
*/
public EclipseLinkOneToOneMappingComposite(PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new OptionalComposite(this, container);
- new EclipseLinkPrivateOwnedComposite(this, buildPrivateOwnableHolder(), container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeOneToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Private owned widgets
+ EclipseLinkPrivateOwnedCheckBox privateOwnedCheckBox = new EclipseLinkPrivateOwnedCheckBox(this, buildPrivateOwnableHolder(), container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ privateOwnedCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<EclipseLinkJoinFetch> buildJoinFetchableHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkPrivateOwnedComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkPrivateOwnedCheckBox.java
index a02c942142..f906375c8e 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkPrivateOwnedComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkPrivateOwnedCheckBox.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -14,7 +14,9 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.BasicMapping;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkPrivateOwned;
+import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* This composite simply shows the Lob check box.
@@ -24,21 +26,43 @@ import org.eclipse.swt.widgets.Composite;
* @version 2.1
* @since 2.1
*/
-public class EclipseLinkPrivateOwnedComposite extends Pane<EclipseLinkPrivateOwned>
+public class EclipseLinkPrivateOwnedCheckBox extends Pane<EclipseLinkPrivateOwned>
{
+ private Button checkBox;
+
/**
* Creates a new <code>PrivateOwnedComposite</code>.
*
* @param parentPane The parent container of this one
* @param parent The parent container
*/
- public EclipseLinkPrivateOwnedComposite(Pane<?> parentPane,
+ public EclipseLinkPrivateOwnedCheckBox(Pane<?> parentPane,
PropertyValueModel<? extends EclipseLinkPrivateOwned> subjectHolder,
Composite parent) {
super(parentPane, subjectHolder, parent);
}
-
+
+ @Override
+ protected boolean addsComposite() {
+ return false;
+ }
+
+ @Override
+ public Control getControl() {
+ return this.checkBox;
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ this.checkBox = addCheckBox(
+ container,
+ EclipseLinkUiDetailsMessages.EclipseLinkPrivateOwnedComposite_privateOwnedLabel,
+ buildPrivateOwnedHolder(),
+ null
+ );
+ }
+
private PropertyAspectAdapter<EclipseLinkPrivateOwned, Boolean> buildPrivateOwnedHolder() {
return new PropertyAspectAdapter<EclipseLinkPrivateOwned, Boolean>(getSubjectHolder(), EclipseLinkPrivateOwned.PRIVATE_OWNED_PROPERTY) {
@@ -54,14 +78,4 @@ public class EclipseLinkPrivateOwnedComposite extends Pane<EclipseLinkPrivateOwn
}
};
}
-
- @Override
- protected void initializeLayout(Composite container) {
- addCheckBox(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkPrivateOwnedComposite_privateOwnedLabel,
- buildPrivateOwnedHolder(),
- null
- );
- }
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkReadOnlyComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkReadOnlyTriStateCheckBox.java
index 7d3841738f..659dd38479 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkReadOnlyComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkReadOnlyTriStateCheckBox.java
@@ -11,6 +11,7 @@ package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
@@ -18,6 +19,7 @@ import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkReadOnly;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* This composite simply shows the Read Only check box.
@@ -27,15 +29,17 @@ import org.eclipse.swt.widgets.Composite;
* @version 2.1
* @since 2.1
*/
-public class EclipseLinkReadOnlyComposite extends Pane<EclipseLinkReadOnly>
+public class EclipseLinkReadOnlyTriStateCheckBox extends Pane<EclipseLinkReadOnly>
{
+ private TriStateCheckBox checkBox;
+
/**
* Creates a new <code>ReadOnlyComposite</code>.
*
* @param parentPane The parent container of this one
* @param parent The parent container
*/
- public EclipseLinkReadOnlyComposite(Pane<?> parentPane,
+ public EclipseLinkReadOnlyTriStateCheckBox(Pane<?> parentPane,
PropertyValueModel<? extends EclipseLinkReadOnly> subjectHolder,
Composite parent) {
@@ -43,9 +47,18 @@ public class EclipseLinkReadOnlyComposite extends Pane<EclipseLinkReadOnly>
}
@Override
+ protected boolean addsComposite() {
+ return false;
+ }
+
+ @Override
+ public Control getControl() {
+ return this.checkBox.getCheckBox();
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
- // read-only check box
- addTriStateCheckBoxWithDefault(
+ this.checkBox = this.addTriStateCheckBoxWithDefault(
container,
EclipseLinkUiDetailsMessages.EclipseLinkReadOnlyComposite_readOnlyLabel,
buildSpecifiedReadOnlyHolder(),
@@ -53,7 +66,7 @@ public class EclipseLinkReadOnlyComposite extends Pane<EclipseLinkReadOnly>
null
);
}
-
+
private ModifiablePropertyValueModel<Boolean> buildSpecifiedReadOnlyHolder() {
return new PropertyAspectAdapter<EclipseLinkReadOnly, Boolean>(
getSubjectHolder(),
@@ -83,7 +96,7 @@ public class EclipseLinkReadOnlyComposite extends Pane<EclipseLinkReadOnly>
}
};
}
-
+
private PropertyValueModel<Boolean> buildDefaultReadOnlyHolder() {
return new PropertyAspectAdapter<EclipseLinkReadOnly, Boolean>(
getSubjectHolder(),
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkRefreshOnlyIfNewerComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkRefreshOnlyIfNewerComposite.java
deleted file mode 100644
index fca6dc8019..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkRefreshOnlyIfNewerComposite.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCaching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * This composite simply shows a tri-state check box for the Refresh Only If Newer option.
- *
- * @see EclipseLinkCaching
- * @see EclipseLinkCachingComposite - A container of this widget
- *
- * @version 2.1
- * @since 2.1
- */
-public class EclipseLinkRefreshOnlyIfNewerComposite extends Pane<EclipseLinkCaching>
-{
- /**
- * Creates a new <code>OptionalComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public EclipseLinkRefreshOnlyIfNewerComposite(Pane<? extends EclipseLinkCaching> parentPane,
- Composite parent)
- {
- super(parentPane, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkRefreshOnlyIfNewerComposite_refreshOnlyIfNewerLabel,
- buildRefreshOnlyIfNewerHolder(),
- buildRefreshOnlyIfNewerStringHolder(),
- EclipseLinkHelpContextIds.CACHING_REFRESH_ONLY_IF_NEWER
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildRefreshOnlyIfNewerHolder() {
- return new PropertyAspectAdapter<EclipseLinkCaching, Boolean>(getSubjectHolder(), EclipseLinkCaching.SPECIFIED_REFRESH_ONLY_IF_NEWER_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getSpecifiedRefreshOnlyIfNewer();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setSpecifiedRefreshOnlyIfNewer(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildRefreshOnlyIfNewerStringHolder() {
-
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultRefreshOnlyIfNewerHolder()) {
-
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiDetailsMessages.EclipseLinkRefreshOnlyIfNewerComposite_refreshOnlyIfNewerDefault, defaultStringValue);
- }
- return EclipseLinkUiDetailsMessages.EclipseLinkRefreshOnlyIfNewerComposite_refreshOnlyIfNewerLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultRefreshOnlyIfNewerHolder() {
- return new PropertyAspectAdapter<EclipseLinkCaching, Boolean>(
- getSubjectHolder(),
- EclipseLinkCaching.SPECIFIED_REFRESH_ONLY_IF_NEWER_PROPERTY,
- EclipseLinkCaching.DEFAULT_REFRESH_ONLY_IF_NEWER_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getSpecifiedRefreshOnlyIfNewer() != null) {
- return null;
- }
- return Boolean.valueOf(this.subject.isDefaultRefreshOnlyIfNewer());
- }
- };
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkStructConverterComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkStructConverterComposite.java
index d063e580bd..e58fccf90f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkStructConverterComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkStructConverterComposite.java
@@ -11,18 +11,17 @@ package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.JpaNamedContextNode;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverter;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverterClassConverter;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkStructConverter;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -34,7 +33,7 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see EclipseLinkConverter
- * @see EclipseLinkConvertComposite - A container of this widget
+ * @see EclipseLinkConvertCombo - A container of this widget
*
* @version 2.1
* @since 2.1
@@ -56,18 +55,19 @@ public class EclipseLinkStructConverterComposite extends Pane<EclipseLinkStructC
}
@Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
-
- addLabeledText(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkConverterComposite_nameTextLabel,
- buildNameTextHolder());
-
- addClassChooser(container);
-
- new PaneEnabler(buildBooleanHolder(), this);
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkConverterComposite_nameTextLabel);
+ this.addText(container, buildNameTextHolder());
+
+ Hyperlink classHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.EclipseLinkConverterComposite_classLabel);
+ this.addClassChooser(container, classHyperlink);
}
-
+
protected ModifiablePropertyValueModel<String> buildNameTextHolder() {
return new PropertyAspectAdapter<EclipseLinkStructConverter, String>(
getSubjectHolder(), JpaNamedContextNode.NAME_PROPERTY) {
@@ -75,7 +75,7 @@ public class EclipseLinkStructConverterComposite extends Pane<EclipseLinkStructC
protected String buildValue_() {
return this.subject.getName();
}
-
+
@Override
protected void setValue_(String value) {
if (value.length() == 0) {
@@ -86,10 +86,10 @@ public class EclipseLinkStructConverterComposite extends Pane<EclipseLinkStructC
};
}
-
- private ClassChooserPane<EclipseLinkStructConverter> addClassChooser(Composite container) {
- return new ClassChooserPane<EclipseLinkStructConverter>(this, container) {
+ private ClassChooserPane<EclipseLinkStructConverter> addClassChooser(Composite container, Hyperlink hyperlink) {
+
+ return new ClassChooserPane<EclipseLinkStructConverter>(this, container, hyperlink) {
@Override
protected ModifiablePropertyValueModel<String> buildTextHolder() {
@@ -117,11 +117,6 @@ public class EclipseLinkStructConverterComposite extends Pane<EclipseLinkStructC
}
@Override
- protected String getLabelText() {
- return EclipseLinkUiDetailsMessages.EclipseLinkConverterComposite_classLabel;
- }
-
- @Override
protected IJavaProject getJavaProject() {
return getSubject().getJpaProject().getJavaProject();
}
@@ -147,13 +142,4 @@ public class EclipseLinkStructConverterComposite extends Pane<EclipseLinkStructC
}
};
}
-
- protected PropertyValueModel<Boolean> buildBooleanHolder() {
- return new TransformationPropertyValueModel<EclipseLinkStructConverter, Boolean>(getSubjectHolder()) {
- @Override
- protected Boolean transform(EclipseLinkStructConverter value) {
- return Boolean.valueOf(value != null);
- }
- };
- }
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkStructureMapping2_3Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkStructureMapping2_3Composite.java
index 3feebf540b..b5d1cb791f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkStructureMapping2_3Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkStructureMapping2_3Composite.java
@@ -20,10 +20,11 @@ public class EclipseLinkStructureMapping2_3Composite extends Pane<EclipseLinkStr
implements JpaComposite
{
public EclipseLinkStructureMapping2_3Composite(PropertyValueModel<? extends EclipseLinkStructureMapping2_3> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkTransformationMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkTransformationMappingComposite.java
index 07b38a103c..1735c412dd 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkTransformationMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkTransformationMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -32,10 +32,11 @@ public class EclipseLinkTransformationMappingComposite extends Pane<EclipseLinkT
* @param widgetFactory The factory used to create various common widgets
*/
public EclipseLinkTransformationMappingComposite(PropertyValueModel<? extends EclipseLinkTransformationMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkTypeConverterComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkTypeConverterComposite.java
index 3b6e904e12..3f8947837b 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkTypeConverterComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkTypeConverterComposite.java
@@ -11,17 +11,16 @@ package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.JpaNamedContextNode;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverter;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTypeConverter;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -33,7 +32,7 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see EclipseLinkConverter
- * @see EclipseLinkConvertComposite - A container of this widget
+ * @see EclipseLinkConvertCombo - A container of this widget
*
* @version 2.1
* @since 2.1
@@ -55,17 +54,20 @@ public class EclipseLinkTypeConverterComposite extends Pane<EclipseLinkTypeConve
}
@Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkConverterComposite_nameTextLabel);
+ this.addText(container, buildNameTextHolder());
- addLabeledText(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkConverterComposite_nameTextLabel,
- buildNameTextHolder());
+ Hyperlink dataTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.EclipseLinkTypeConverterComposite_dataTypeLabel);
+ this.addDataTypeChooser(container, dataTypeHyperlink);
- addDataTypeChooser(container);
- addObjectTypeChooser(container);
-
- new PaneEnabler(buildBooleanHolder(), this);
+ Hyperlink objectTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.EclipseLinkTypeConverterComposite_objectTypeLabel);
+ this.addObjectTypeChooser(container, objectTypeHyperlink);
}
protected ModifiablePropertyValueModel<String> buildNameTextHolder() {
@@ -87,9 +89,9 @@ public class EclipseLinkTypeConverterComposite extends Pane<EclipseLinkTypeConve
}
- private ClassChooserPane<EclipseLinkTypeConverter> addDataTypeChooser(Composite container) {
+ private ClassChooserPane<EclipseLinkTypeConverter> addDataTypeChooser(Composite container, Hyperlink hyperlink) {
- return new ClassChooserPane<EclipseLinkTypeConverter>(this, container) {
+ return new ClassChooserPane<EclipseLinkTypeConverter>(this, container, hyperlink) {
@Override
protected ModifiablePropertyValueModel<String> buildTextHolder() {
@@ -117,11 +119,6 @@ public class EclipseLinkTypeConverterComposite extends Pane<EclipseLinkTypeConve
}
@Override
- protected String getLabelText() {
- return EclipseLinkUiDetailsMessages.EclipseLinkTypeConverterComposite_dataTypeLabel;
- }
-
- @Override
protected IJavaProject getJavaProject() {
return getSubject().getJpaProject().getJavaProject();
}
@@ -143,9 +140,9 @@ public class EclipseLinkTypeConverterComposite extends Pane<EclipseLinkTypeConve
};
}
- private ClassChooserPane<EclipseLinkTypeConverter> addObjectTypeChooser(Composite container) {
+ private ClassChooserPane<EclipseLinkTypeConverter> addObjectTypeChooser(Composite container, Hyperlink hyperlink) {
- return new ClassChooserPane<EclipseLinkTypeConverter>(this, container) {
+ return new ClassChooserPane<EclipseLinkTypeConverter>(this, container, hyperlink) {
@Override
protected ModifiablePropertyValueModel<String> buildTextHolder() {
@@ -173,11 +170,6 @@ public class EclipseLinkTypeConverterComposite extends Pane<EclipseLinkTypeConve
}
@Override
- protected String getLabelText() {
- return EclipseLinkUiDetailsMessages.EclipseLinkTypeConverterComposite_objectTypeLabel;
- }
-
- @Override
protected IJavaProject getJavaProject() {
return getSubject().getJpaProject().getJavaProject();
}
@@ -198,13 +190,4 @@ public class EclipseLinkTypeConverterComposite extends Pane<EclipseLinkTypeConve
}
};
}
-
- protected PropertyValueModel<Boolean> buildBooleanHolder() {
- return new TransformationPropertyValueModel<EclipseLinkTypeConverter, Boolean>(getSubjectHolder()) {
- @Override
- protected Boolean transform(EclipseLinkTypeConverter value) {
- return Boolean.valueOf(value != null);
- }
- };
- }
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkTypeMappingAdvancedComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkTypeMappingAdvancedComposite.java
new file mode 100644
index 0000000000..e70f750344
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkTypeMappingAdvancedComposite.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 Oracle. 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
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
+
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.TypeMapping;
+import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTracking;
+import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer;
+import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTypeMapping;
+import org.eclipse.swt.widgets.Composite;
+
+public abstract class EclipseLinkTypeMappingAdvancedComposite<T extends TypeMapping> extends Pane<T> {
+
+ protected EclipseLinkTypeMappingAdvancedComposite(
+ Pane<? extends T> parentPane,
+ Composite parent) {
+
+ super(parentPane, parent);
+ }
+
+ protected PropertyValueModel<EclipseLinkCustomizer> buildCustomizerHolder() {
+ return new PropertyAspectAdapter<TypeMapping, EclipseLinkCustomizer>(getSubjectHolder()) {
+ @Override
+ protected EclipseLinkCustomizer buildValue_() {
+ return ((EclipseLinkTypeMapping) this.subject).getCustomizer();
+ }
+ };
+ }
+
+ protected PropertyValueModel<EclipseLinkChangeTracking> buildChangeTrackingHolder() {
+ return new PropertyAspectAdapter<TypeMapping, EclipseLinkChangeTracking>(getSubjectHolder()) {
+ @Override
+ protected EclipseLinkChangeTracking buildValue_() {
+ return ((EclipseLinkTypeMapping) this.subject).getChangeTracking();
+ }
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkVariableOneToOneMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkVariableOneToOneMappingComposite.java
index ed914eae69..fb31567490 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkVariableOneToOneMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkVariableOneToOneMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -32,10 +32,11 @@ public class EclipseLinkVariableOneToOneMappingComposite extends Pane<EclipseLin
* @param widgetFactory The factory used to create various common widgets
*/
public EclipseLinkVariableOneToOneMappingComposite(PropertyValueModel<? extends EclipseLinkVariableOneToOneMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkVersionMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkVersionMappingComposite.java
index b4df84bb1d..45bbc78d33 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkVersionMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/EclipseLinkVersionMappingComposite.java
@@ -10,7 +10,7 @@
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.CompositeBooleanPropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
@@ -25,11 +25,16 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkVersionMapping;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractVersionMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
-import org.eclipse.jpt.jpa.ui.internal.details.TemporalTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.TemporalTypeCombo;
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.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -54,7 +59,7 @@ import org.eclipse.swt.widgets.Composite;
*
* @see VersionMapping
* @see ColumnComposite
- * @see TemporalTypeComposite
+ * @see TemporalTypeCombo
*
* @version 3.2
* @since 2.1
@@ -70,21 +75,26 @@ public abstract class EclipseLinkVersionMappingComposite<T extends VersionMappin
* @param widgetFactory The factory used to create various common widgets
*/
protected EclipseLinkVersionMappingComposite(PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeVersionSection(Composite container) {
+ protected Control initializeVersionSection(Composite container) {
+ container = this.addSubPane(container);
+
new ColumnComposite(this, buildColumnHolder(), container);
- new EclipseLinkMutableComposite(this, buildMutableHolder(), container);
+ new EclipseLinkMutableTriStateCheckBox(this, buildMutableHolder(), container);
+
+ return container;
}
@Override
- protected void initializeTypeSection(Composite container) {
- ((GridLayout) container.getLayout()).numColumns = 2;
+ protected Control initializeTypeSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
// No converter
Button noConverterButton = addRadioButton(
@@ -101,7 +111,7 @@ public abstract class EclipseLinkVersionMappingComposite<T extends VersionMappin
JptUiDetailsMessages.TypeSection_temporal,
buildConverterBooleanHolder(BaseTemporalConverter.class),
null);
- registerSubPane(new TemporalTypeComposite(buildTemporalConverterHolder(converterHolder), container, getWidgetFactory()));
+ registerSubPane(new TemporalTypeCombo(buildTemporalConverterHolder(converterHolder), getEnabledModel(), container, getWidgetFactory()));
// EclipseLink Converter
Button elConverterButton = addRadioButton(
@@ -111,15 +121,15 @@ public abstract class EclipseLinkVersionMappingComposite<T extends VersionMappin
null);
((GridData) elConverterButton.getLayoutData()).horizontalSpan = 2;
- Pane<EclipseLinkConvert> convertComposite = buildConvertComposite(buildEclipseLinkConverterHolder(converterHolder), container);
- GridData gridData = (GridData) convertComposite.getControl().getLayoutData();
- gridData.horizontalSpan = 2;
+ PropertyValueModel<EclipseLinkConvert> convertHolder = buildEclipseLinkConverterHolder(converterHolder);
+ PropertyValueModel<Boolean> convertEnabledModel = CompositeBooleanPropertyValueModel.and(getEnabledModel(), buildEclipseLinkConvertBooleanHolder(convertHolder));
+ Label convertLabel = this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkConvertComposite_converterNameLabel, convertEnabledModel);
+ GridData gridData = new GridData();
gridData.horizontalIndent = 20;
- registerSubPane(convertComposite);
- }
-
- protected Pane<EclipseLinkConvert> buildConvertComposite(PropertyValueModel<EclipseLinkConvert> convertHolder, Composite container) {
- return new EclipseLinkConvertComposite(convertHolder, container, getWidgetFactory());
+ convertLabel.setLayoutData(gridData);
+ registerSubPane(new EclipseLinkConvertCombo(convertHolder, convertEnabledModel, container, getWidgetFactory()));
+
+ return container;
}
@@ -140,6 +150,15 @@ public abstract class EclipseLinkVersionMappingComposite<T extends VersionMappin
}
};
}
+
+ protected PropertyValueModel<Boolean> buildEclipseLinkConvertBooleanHolder(PropertyValueModel<EclipseLinkConvert> convertHolder) {
+ return new TransformationPropertyValueModel<EclipseLinkConvert, Boolean>(convertHolder) {
+ @Override
+ protected Boolean transform(EclipseLinkConvert value) {
+ return Boolean.valueOf(value != null);
+ }
+ };
+ }
protected PropertyValueModel<BaseTemporalConverter> buildTemporalConverterHolder(PropertyValueModel<Converter> converterHolder) {
return new TransformationPropertyValueModel<Converter, BaseTemporalConverter>(converterHolder) {
@@ -160,15 +179,22 @@ public abstract class EclipseLinkVersionMappingComposite<T extends VersionMappin
}
protected void initializeConvertersCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters
- );
- initializeConvertersSection(container, this.buildConverterHolderValueModel());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(EclipseLinkVersionMappingComposite.this.initializeConvertersSection(section));
+ }
+ }
+ });
+ section.setClient(initializeConvertersSection(section));
}
- protected void initializeConvertersSection(Composite container, PropertyValueModel<EclipseLinkConverterContainer> converterHolder) {
- new EclipseLinkConvertersComposite(this, converterHolder, container);
+ protected Control initializeConvertersSection(Composite container) {
+ return new EclipseLinkConvertersComposite(this, this.buildConverterHolderValueModel(), container).getControl();
}
protected PropertyValueModel<EclipseLinkConverterContainer> buildConverterHolderValueModel() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/TenantDiscriminatorColumnComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/TenantDiscriminatorColumnComposite.java
index 5266145bb6..b333f79740 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/TenantDiscriminatorColumnComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/TenantDiscriminatorColumnComposite.java
@@ -34,7 +34,9 @@ import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.db.ColumnCombo;
import org.eclipse.jpt.jpa.ui.internal.details.db.DatabaseObjectCombo;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class TenantDiscriminatorColumnComposite extends Pane<ReadOnlyTenantDiscriminatorColumn2_3> {
@@ -45,56 +47,48 @@ public class TenantDiscriminatorColumnComposite extends Pane<ReadOnlyTenantDiscr
super(parentPane, subjectHolder, parent);
}
+ @Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
@Override
protected void initializeLayout(Composite container) {
-
// Name widgets
- addLabeledComposite(
- container,
- EclipseLinkUiDetailsMessages.TenantDiscriminatorColumnComposite_nameLabel,
- addNameCombo(container),
- EclipseLinkHelpContextIds.TENANT_DISCRIMINATOR_COLUMN_NAME);
+ this.addLabel(container, EclipseLinkUiDetailsMessages.TenantDiscriminatorColumnComposite_nameLabel);
+ this.addNameCombo(container);
// Table widgets
- addLabeledComposite(
- container,
- EclipseLinkUiDetailsMessages.TenantDiscriminatorColumnComposite_tableLabel,
- addTableCombo(container),
- EclipseLinkHelpContextIds.TENANT_DISCRIMINATOR_COLUMN_TABLE);
+ this.addLabel(container, EclipseLinkUiDetailsMessages.TenantDiscriminatorColumnComposite_tableLabel);
+ this.addTableCombo(container);
// Context property widgets
- addLabeledComposite(
- container,
- EclipseLinkUiDetailsMessages.TenantDiscriminatorColumnComposite_contextPropertyLabel,
- addContextPropertyCombo(container),
- EclipseLinkHelpContextIds.TENANT_DISCRIMINATOR_COLUMN_CONTEXT_PROPERTY);
+ this.addLabel(container, EclipseLinkUiDetailsMessages.TenantDiscriminatorColumnComposite_contextPropertyLabel);
+ this.addContextPropertyCombo(container);
// Discriminator Type widgets
- addLabeledComposite(
- container,
- EclipseLinkUiDetailsMessages.TenantDiscriminatorColumnComposite_discriminatorTypeLabel,
- addDiscriminatorTypeCombo(container),
- EclipseLinkHelpContextIds.TENANT_DISCRIMINATOR_COLUMN_DISCRIMINATOR_TYPE
- );
+ this.addLabel(container, EclipseLinkUiDetailsMessages.TenantDiscriminatorColumnComposite_discriminatorTypeLabel);
+ this.addDiscriminatorTypeCombo(container);
+
// Length widgets
- addLengthCombo(container);
+ this.addLabel(container, JptUiDetailsMessages.ColumnComposite_length);
+ this.addLengthCombo(container);
// Column Definition widgets
- addLabeledText(
- container,
- EclipseLinkUiDetailsMessages.TenantDiscriminatorColumnComposite_columnDefinitionLabel,
- buildColumnDefinitionHolder(getSubjectHolder())
- );
+ this.addLabel(container, EclipseLinkUiDetailsMessages.TenantDiscriminatorColumnComposite_columnDefinitionLabel);
+ this.addText(container, this.buildColumnDefinitionHolder(getSubjectHolder()));
// Primary key tri-state check box
TriStateCheckBox pkCheckBox = addTriStateCheckBoxWithDefault(
- addSubPane(container, 4),
+ container,
EclipseLinkUiDetailsMessages.TenantDiscriminatorColumnComposite_primaryKey,
buildPrimaryKeyHolder(),
buildPrimaryKeyStringHolder(),
EclipseLinkHelpContextIds.TENANT_DISCRIMINATOR_COLUMN_PRIMARY_KEY);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ pkCheckBox.getCheckBox().setLayoutData(gridData);
SWTTools.controlVisibleState(new EclipseLink2_4ProjectFlagModel<ReadOnlyTenantDiscriminatorColumn2_3>(this.getSubjectHolder()), pkCheckBox.getCheckBox());
}
@@ -149,6 +143,11 @@ public class TenantDiscriminatorColumnComposite extends Pane<ReadOnlyTenantDiscr
}
@Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.TENANT_DISCRIMINATOR_COLUMN_NAME;
+ }
+
+ @Override
public String toString() {
return "TenantDiscriminatorColumnComposite.nameCombo"; //$NON-NLS-1$
}
@@ -196,6 +195,11 @@ public class TenantDiscriminatorColumnComposite extends Pane<ReadOnlyTenantDiscr
}
@Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.TENANT_DISCRIMINATOR_COLUMN_TABLE;
+ }
+
+ @Override
public String toString() {
return "TenantDiscriminatorColumnComposite.tableCombo"; //$NON-NLS-1$
}
@@ -244,6 +248,11 @@ public class TenantDiscriminatorColumnComposite extends Pane<ReadOnlyTenantDiscr
public String toString() {
return "TenantDiscriminatorColumnComposite.contextPropertyCombo"; //$NON-NLS-1$
}
+
+ @Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.TENANT_DISCRIMINATOR_COLUMN_CONTEXT_PROPERTY;
+ }
};
}
@@ -299,6 +308,11 @@ public class TenantDiscriminatorColumnComposite extends Pane<ReadOnlyTenantDiscr
protected void setValue(DiscriminatorType value) {
((TenantDiscriminatorColumn2_3) this.getSubject()).setSpecifiedDiscriminatorType(value);
}
+
+ @Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.TENANT_DISCRIMINATOR_COLUMN_DISCRIMINATOR_TYPE;
+ }
};
}
@@ -306,11 +320,6 @@ public class TenantDiscriminatorColumnComposite extends Pane<ReadOnlyTenantDiscr
new IntegerCombo<ReadOnlyTenantDiscriminatorColumn2_3>(this, container) {
@Override
- protected String getLabelText() {
- return JptUiDetailsMessages.ColumnComposite_length;
- }
-
- @Override
protected String getHelpId() {
return EclipseLinkHelpContextIds.TENANT_DISCRIMINATOR_COLUMN_LENGTH;
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/TenantDiscriminatorColumnsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/TenantDiscriminatorColumnsComposite.java
index 8098eebae1..0d72c81c86 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/TenantDiscriminatorColumnsComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/TenantDiscriminatorColumnsComposite.java
@@ -15,28 +15,31 @@ import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.util.ControlSwitcher;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.AbstractAdapter;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.Transformer;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
+import org.eclipse.jpt.common.utility.internal.model.value.CollectionPropertyValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.CompositeListValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.JpaNode;
import org.eclipse.jpt.jpa.core.context.ReadOnlyNamedColumn;
import org.eclipse.jpt.jpa.eclipselink.core.context.ReadOnlyTenantDiscriminatorColumn2_3;
+import org.eclipse.jpt.jpa.eclipselink.core.context.TenantDiscriminatorColumn2_3;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.part.PageBook;
/**
@@ -61,36 +64,27 @@ public class TenantDiscriminatorColumnsComposite<T extends JpaNode> extends Pane
*/
TenantDiscriminatorColumnsEditor<T> tenantDiscriminatorColumnsEditor;
- private AddRemoveListPane<T> listPane;
private Pane<ReadOnlyTenantDiscriminatorColumn2_3> tenantDiscriminatorColumnPane;
- private ModifiablePropertyValueModel<ReadOnlyTenantDiscriminatorColumn2_3> tenantDiscriminatorColumnHolder;
+ private ModifiableCollectionValueModel<ReadOnlyTenantDiscriminatorColumn2_3> selectedTenantDiscriminatorColumnsModel;
+ private PropertyValueModel<ReadOnlyTenantDiscriminatorColumn2_3> selectedTenantDiscriminatorColumnModel;
public TenantDiscriminatorColumnsComposite(Pane<? extends T> parentPane,
Composite parent,
- TenantDiscriminatorColumnsEditor<T> tenantDiscriminatorColumnsEditor) {
-
- super(parentPane, parent);
- this.tenantDiscriminatorColumnsEditor = tenantDiscriminatorColumnsEditor;
- initializeLayout2();
- }
-
- public TenantDiscriminatorColumnsComposite(Pane<?> parentPane,
- PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
TenantDiscriminatorColumnsEditor<T> tenantDiscriminatorColumnsEditor,
- boolean automaticallyAlignWidgets) {
+ PropertyValueModel<Boolean> enabledModel) {
- super(parentPane, subjectHolder, parent, automaticallyAlignWidgets);
+ super(parentPane, parent, enabledModel);
this.tenantDiscriminatorColumnsEditor = tenantDiscriminatorColumnsEditor;
initializeLayout2();
}
public TenantDiscriminatorColumnsComposite(PropertyValueModel<? extends T> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory,
TenantDiscriminatorColumnsEditor<T> tenantDiscriminatorColumnsEditor) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
this.tenantDiscriminatorColumnsEditor = tenantDiscriminatorColumnsEditor;
initializeLayout2();
}
@@ -98,11 +92,24 @@ public class TenantDiscriminatorColumnsComposite<T extends JpaNode> extends Pane
@Override
protected void initialize() {
super.initialize();
- this.tenantDiscriminatorColumnHolder = buildTenantDiscriminatorColumnHolder();
+ this.selectedTenantDiscriminatorColumnsModel = this.buildSelectedTenantDiscriminatorColumnsModel();
+ this.selectedTenantDiscriminatorColumnModel = this.buildSelectedTenantDiscriminatorColumnModel(this.selectedTenantDiscriminatorColumnsModel);
}
- private ModifiablePropertyValueModel<ReadOnlyTenantDiscriminatorColumn2_3> buildTenantDiscriminatorColumnHolder() {
- return new SimplePropertyValueModel<ReadOnlyTenantDiscriminatorColumn2_3>();
+ private ModifiableCollectionValueModel<ReadOnlyTenantDiscriminatorColumn2_3> buildSelectedTenantDiscriminatorColumnsModel() {
+ return new SimpleCollectionValueModel<ReadOnlyTenantDiscriminatorColumn2_3>();
+ }
+
+ private PropertyValueModel<ReadOnlyTenantDiscriminatorColumn2_3> buildSelectedTenantDiscriminatorColumnModel(CollectionValueModel<ReadOnlyTenantDiscriminatorColumn2_3> selectedTenantDiscriminatorColumnsModel) {
+ return new CollectionPropertyValueModelAdapter<ReadOnlyTenantDiscriminatorColumn2_3, ReadOnlyTenantDiscriminatorColumn2_3>(selectedTenantDiscriminatorColumnsModel) {
+ @Override
+ protected ReadOnlyTenantDiscriminatorColumn2_3 buildValue() {
+ if (this.collectionModel.size() == 1) {
+ return this.collectionModel.iterator().next();
+ }
+ return null;
+ }
+ };
}
@Override
@@ -110,39 +117,57 @@ public class TenantDiscriminatorColumnsComposite<T extends JpaNode> extends Pane
//see intiailizeLayout2()
}
+ @Override
+ public Composite getControl() {
+ return (Composite) super.getControl();
+ }
+
private void initializeLayout2() {
- this.listPane = new AddRemoveListPane<T>(
+ new AddRemoveListPane<T, ReadOnlyTenantDiscriminatorColumn2_3>(
this,
getControl(),
buildTenantDiscriminatorColumnsAdapter(),
buildTenantDiscriminatorColumnsListModel(),
- this.tenantDiscriminatorColumnHolder,
+ this.selectedTenantDiscriminatorColumnsModel,
buildTenantDiscriminatorColumnsListLabelProvider(),
- EclipseLinkHelpContextIds.MULTITENANCY_TENANT_DISCRIMINATOR_COLUMNS,
- false
+ EclipseLinkHelpContextIds.MULTITENANCY_TENANT_DISCRIMINATOR_COLUMNS
);
// Property pane
PageBook pageBook = new PageBook(getControl(), SWT.NULL);
pageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- //Tenant Discriminator Column property pane
- this.tenantDiscriminatorColumnPane = this.buildTenantDiscriminatorColumnComposite(pageBook);
-
-
installPaneSwitcher(pageBook);
}
+ protected Pane<ReadOnlyTenantDiscriminatorColumn2_3> getTenantDiscriminatorColumnComposite(PageBook pageBook) {
+ if (this.tenantDiscriminatorColumnPane == null) {
+ this.tenantDiscriminatorColumnPane = this.buildTenantDiscriminatorColumnComposite(pageBook);
+ }
+ return this.tenantDiscriminatorColumnPane;
+ }
+
protected Pane<ReadOnlyTenantDiscriminatorColumn2_3> buildTenantDiscriminatorColumnComposite(PageBook pageBook) {
return new TenantDiscriminatorColumnComposite(
this,
- this.tenantDiscriminatorColumnHolder,
+ this.selectedTenantDiscriminatorColumnModel,
pageBook
);
}
private void installPaneSwitcher(PageBook pageBook) {
- new ControlSwitcher(this.tenantDiscriminatorColumnHolder, this.tenantDiscriminatorColumnPane.getControl(), pageBook);
+ new ControlSwitcher(this.selectedTenantDiscriminatorColumnModel, buildPaneTransformer(pageBook), pageBook);
+ }
+
+ private Transformer<ReadOnlyTenantDiscriminatorColumn2_3, Control> buildPaneTransformer(final PageBook pageBook) {
+ return new Transformer<ReadOnlyTenantDiscriminatorColumn2_3, Control>() {
+ public Control transform(ReadOnlyTenantDiscriminatorColumn2_3 column) {
+ if (column == null) {
+ return null;
+ }
+ return getTenantDiscriminatorColumnComposite(pageBook).getControl();
+ }
+ };
}
String buildTenantDiscriminatorColumnLabel(ReadOnlyTenantDiscriminatorColumn2_3 tenantDiscriminatorColumn) {
@@ -155,11 +180,11 @@ public class TenantDiscriminatorColumnsComposite<T extends JpaNode> extends Pane
return tenantDiscriminatorColumn.getName();
}
- private Adapter buildTenantDiscriminatorColumnsAdapter() {
- return new AbstractAdapter() {
+ private Adapter<ReadOnlyTenantDiscriminatorColumn2_3> buildTenantDiscriminatorColumnsAdapter() {
+ return new AbstractAdapter<ReadOnlyTenantDiscriminatorColumn2_3>() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- TenantDiscriminatorColumnsComposite.this.tenantDiscriminatorColumnsEditor.addTenantDiscriminatorColumn(getSubject());
+ public ReadOnlyTenantDiscriminatorColumn2_3 addNewItem() {
+ return TenantDiscriminatorColumnsComposite.this.tenantDiscriminatorColumnsEditor.addTenantDiscriminatorColumn(getSubject());
}
@Override
@@ -167,8 +192,14 @@ public class TenantDiscriminatorColumnsComposite<T extends JpaNode> extends Pane
return false;
}
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- TenantDiscriminatorColumnsComposite.this.tenantDiscriminatorColumnsEditor.removeTenantDiscriminatorColumns(getSubject(), listSelectionModel.selectedIndices());
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<ReadOnlyTenantDiscriminatorColumn2_3> selectedItemsModel) {
+ return buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
+
+ public void removeSelectedItems(CollectionValueModel<ReadOnlyTenantDiscriminatorColumn2_3> selectedItemsModel) {
+ TenantDiscriminatorColumn2_3 column = (TenantDiscriminatorColumn2_3) selectedItemsModel.iterator().next();
+ TenantDiscriminatorColumnsComposite.this.tenantDiscriminatorColumnsEditor.removeTenantDiscriminatorColumn(getSubject(), column);
}
};
}
@@ -223,20 +254,6 @@ public class TenantDiscriminatorColumnsComposite<T extends JpaNode> extends Pane
};
}
- public void installListPaneEnabler(PropertyValueModel<Boolean> paneEnablerHolder) {
- new PaneEnabler(paneEnablerHolder, this.listPane);
- }
-
- @Override
- public void enableWidgets(boolean enabled) {
- super.enableWidgets(enabled);
- this.listPane.enableWidgets(enabled);
- }
-
- public void setSelectedTenantDiscriminatorColumn(ReadOnlyTenantDiscriminatorColumn2_3 tenantDiscriminatorColumn) {
- this.listPane.setSelectedItem(tenantDiscriminatorColumn);
- }
-
/**
* The editor is used to complete the behavior of this pane.
*/
@@ -245,7 +262,7 @@ public class TenantDiscriminatorColumnsComposite<T extends JpaNode> extends Pane
/**
* Add a tenant discriminator column to the given subject
*/
- void addTenantDiscriminatorColumn(T subject);
+ ReadOnlyTenantDiscriminatorColumn2_3 addTenantDiscriminatorColumn(T subject);
/**
* Return whether the subject has specified tenant discriminator columns
@@ -283,8 +300,8 @@ public class TenantDiscriminatorColumnsComposite<T extends JpaNode> extends Pane
String getDefaultTenantDiscriminatorsListPropertyName();
/**
- * Remove the tenant discriminator columns at the specified indices from the subject
+ * Remove the tenant discriminator column from the subject
*/
- void removeTenantDiscriminatorColumns(T subject, int[] selectedIndices);
+ void removeTenantDiscriminatorColumn(T subject, ReadOnlyTenantDiscriminatorColumn2_3 column);
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEmbeddableComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEmbeddableComposite.java
index 5c414a5f90..7ef374eae1 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEmbeddableComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEmbeddableComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -22,7 +22,13 @@ import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsM
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
import org.eclipse.jpt.jpa.ui.details.java.JavaUiFactory;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEmbeddableComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* This pane does not have any widgets.
@@ -58,16 +64,22 @@ public abstract class AbstractJavaEclipseLinkEmbeddableComposite extends Abstrac
}
protected void initializeConvertersCollapsibleSection(Composite container) {
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters
- );
- initializeConvertersSection(container, this.buildConverterHolderValueModel());
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeConvertersSection(section));
+ }
+ }
+ });
}
- protected void initializeConvertersSection(Composite container, PropertyValueModel<JavaEclipseLinkConverterContainer> converterHolder) {
- new EclipseLinkConvertersComposite(this, converterHolder, container);
+ protected Control initializeConvertersSection(Composite container) {
+ return new EclipseLinkConvertersComposite(this, this.buildConverterHolderValueModel(), container).getControl();
}
protected PropertyValueModel<JavaEclipseLinkConverterContainer> buildConverterHolderValueModel() {
@@ -78,8 +90,23 @@ public abstract class AbstractJavaEclipseLinkEmbeddableComposite extends Abstrac
}
};
}
-
+
protected void initializeAdvancedCollapsibleSection(Composite container) {
- new EclipseLinkEmbeddableAdvancedComposite(this, container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_advanced);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeAdvancedSection(section));
+ }
+ }
+ });
+ }
+
+ protected Control initializeAdvancedSection(Composite container) {
+ return new EclipseLinkEmbeddableAdvancedComposite(this, container).getControl();
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEntity2_xComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEntity2_xComposite.java
index ba5b700720..8f10127fb7 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEntity2_xComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEntity2_xComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle. All rights reserved.
+ * Copyright (c) 2011, 2012 Oracle. 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.
@@ -13,19 +13,21 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
-import org.eclipse.jpt.jpa.core.context.GeneratorContainer;
-import org.eclipse.jpt.jpa.core.context.QueryContainer;
import org.eclipse.jpt.jpa.core.context.java.JavaEntity;
-import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkCaching;
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkEntity;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.EntityNameComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.IdClassComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.EntityNameCombo;
+import org.eclipse.jpt.jpa.ui.internal.details.IdClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.TableComposite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Entity2_0OverridesComposite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Generation2_0Composite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Queries2_0Composite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* The pane used for an EclipseLink 2.x Java entity.
@@ -55,11 +57,28 @@ public abstract class AbstractJavaEclipseLinkEntity2_xComposite
}
@Override
- protected void initializeEntitySection(Composite container) {
- new TableComposite(this, container);
- new EntityNameComposite(this, container);
- new AccessTypeComposite(this, buildAccessHolder(), container);
- new IdClassComposite(this, buildIdClassReferenceHolder(), container);
+ protected Control initializeEntitySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Table widgets
+ TableComposite tableComposite = new TableComposite(this, container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ tableComposite.getControl().setLayoutData(gridData);
+
+ // Entity name widgets
+ this.addLabel(container, JptUiDetailsMessages.EntityNameComposite_name);
+ new EntityNameCombo(this, container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolder(), container);
+
+ // Id class widgets
+ Hyperlink hyperlink = this.addHyperlink(container,JptUiDetailsMessages.IdClassComposite_label);
+ new IdClassChooser(this, this.buildIdClassReferenceHolder(), container, hyperlink);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolder() {
@@ -72,22 +91,22 @@ public abstract class AbstractJavaEclipseLinkEntity2_xComposite
}
@Override
- protected void initializeAttributeOverridesSection(Composite container) {
- new Entity2_0OverridesComposite(this, container);
+ protected Control initializeAttributeOverridesSection(Composite container) {
+ return new Entity2_0OverridesComposite(this, container).getControl();
}
@Override
- protected void initializeGeneratorsSection(Composite container, PropertyValueModel<GeneratorContainer> generatorContainerHolder) {
- new Generation2_0Composite(this, generatorContainerHolder, container);
+ protected Control initializeGeneratorsSection(Composite container) {
+ return new Generation2_0Composite(this, this.buildGeneratorContainerHolder(), container).getControl();
}
@Override
- protected void initializeCachingSection(Composite container, PropertyValueModel<JavaEclipseLinkCaching> cachingHolder) {
- new JavaEclipseLinkCaching2_0Composite(this, cachingHolder, container);
+ protected Control initializeCachingSection(Composite container) {
+ return new JavaEclipseLinkCaching2_0Composite(this, this.buildCachingHolder(), container).getControl();
}
@Override
- protected void initializeQueriesSection(Composite container, PropertyValueModel<QueryContainer> queryContainerHolder) {
- new Queries2_0Composite(this, queryContainerHolder, container);
+ protected Control initializeQueriesSection(Composite container) {
+ return new Queries2_0Composite(this, this.buildQueryContainerHolder(), container).getControl();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEntityComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEntityComposite.java
index 9cc6bb1f26..48a61c5818 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEntityComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEntityComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -17,12 +17,18 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkCaching;
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkConverterContainer;
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkEntity;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkConvertersComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkEntityAdvancedComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkNonEmbeddableTypeMappingAdvancedComposite;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEntityComposite;
import org.eclipse.jpt.jpa.ui.internal.details.java.JavaInheritanceComposite;
import org.eclipse.jpt.jpa.ui.internal.details.java.JavaSecondaryTablesComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* The pane used for an EclipseLink Java entity.
@@ -55,7 +61,7 @@ public abstract class AbstractJavaEclipseLinkEntityComposite<T extends JavaEntit
@Override
protected void initializeLayout(Composite container) {
this.initializeEntityCollapsibleSection(container);
- this.initializeCachingCollapsibleSectionPane(container);
+ this.initializeCachingCollapsibleSection(container);
this.initializeQueriesCollapsibleSection(container);
this.initializeInheritanceCollapsibleSection(container);
this.initializeAttributeOverridesCollapsibleSection(container);
@@ -64,19 +70,27 @@ public abstract class AbstractJavaEclipseLinkEntityComposite<T extends JavaEntit
this.initializeSecondaryTablesCollapsibleSection(container);
this.initializeAdvancedCollapsibleSection(container);
}
-
- protected void initializeCachingCollapsibleSectionPane(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_caching);
- initializeCachingSection(container, buildCachingHolder());
+
+ protected void initializeCachingCollapsibleSection(Composite container) {
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_caching);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeCachingSection(section));
+ }
+ }
+ });
}
- protected void initializeCachingSection(Composite container, PropertyValueModel<JavaEclipseLinkCaching> cachingHolder) {
- new JavaEclipseLinkCachingComposite(this, cachingHolder, container);
+ protected Control initializeCachingSection(Composite container) {
+ return new JavaEclipseLinkCachingComposite(this, buildCachingHolder(), container).getControl();
}
- private PropertyAspectAdapter<JavaEntity, JavaEclipseLinkCaching> buildCachingHolder() {
+ protected PropertyAspectAdapter<JavaEntity, JavaEclipseLinkCaching> buildCachingHolder() {
return new PropertyAspectAdapter<JavaEntity, JavaEclipseLinkCaching>(getSubjectHolder()) {
@Override
protected JavaEclipseLinkCaching buildValue_() {
@@ -84,19 +98,27 @@ public abstract class AbstractJavaEclipseLinkEntityComposite<T extends JavaEntit
}
};
}
-
+
protected void initializeConvertersCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
- this.initializeConvertersSection(container, buildConverterHolderValueModel());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeConvertersSection(section));
+ }
+ }
+ });
}
-
- protected void initializeConvertersSection(Composite container, PropertyValueModel<JavaEclipseLinkConverterContainer> converterHolder) {
- new EclipseLinkConvertersComposite(this, converterHolder, container);
+
+ protected Control initializeConvertersSection(Composite container) {
+ return new EclipseLinkConvertersComposite(this, this.buildConverterContainerModel(), container).getControl();
}
- private PropertyValueModel<JavaEclipseLinkConverterContainer> buildConverterHolderValueModel() {
+ private PropertyValueModel<JavaEclipseLinkConverterContainer> buildConverterContainerModel() {
return new PropertyAspectAdapter<JavaEntity, JavaEclipseLinkConverterContainer>(getSubjectHolder()) {
@Override
protected JavaEclipseLinkConverterContainer buildValue_() {
@@ -106,16 +128,31 @@ public abstract class AbstractJavaEclipseLinkEntityComposite<T extends JavaEntit
}
@Override
- protected void initializeSecondaryTablesSection(Composite container) {
- new JavaSecondaryTablesComposite(this, container);
+ protected Control initializeSecondaryTablesSection(Composite container) {
+ return new JavaSecondaryTablesComposite(this, container).getControl();
}
@Override
- protected void initializeInheritanceSection(Composite container) {
- new JavaInheritanceComposite(this, container);
+ protected Control initializeInheritanceSection(Composite container) {
+ return new JavaInheritanceComposite(this, container).getControl();
}
protected void initializeAdvancedCollapsibleSection(Composite container) {
- new EclipseLinkEntityAdvancedComposite(this, container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_advanced);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeAdvancedSection(section));
+ }
+ }
+ });
+ }
+
+ protected Control initializeAdvancedSection(Composite container) {
+ return new EclipseLinkNonEmbeddableTypeMappingAdvancedComposite(this, container).getControl();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkMappedSuperclassComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkMappedSuperclassComposite.java
index 68e4528d67..3bbd2ab487 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkMappedSuperclassComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkMappedSuperclassComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -18,11 +18,17 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkCaching;
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkConverterContainer;
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkMappedSuperclass;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkConvertersComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMappedSuperclassAdvancedComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkNonEmbeddableTypeMappingAdvancedComposite;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractJavaMappedSuperclassComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* The pane used for an EclipseLink Java Mapped Superclass.
@@ -62,19 +68,26 @@ public abstract class AbstractJavaEclipseLinkMappedSuperclassComposite
this.initializeAdvancedCollapsibleSection(container);
}
-
protected void initializeCachingCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_caching);
- this.initializeCachingSection(container, buildCachingHolder());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_caching);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeCachingSection(section));
+ }
+ }
+ });
}
- protected void initializeCachingSection(Composite container, PropertyValueModel<JavaEclipseLinkCaching> cachingHolder) {
- new JavaEclipseLinkCachingComposite(this, cachingHolder, container);
+ protected Control initializeCachingSection(Composite container) {
+ return new JavaEclipseLinkCachingComposite(this, buildCachingHolder(), container).getControl();
}
- private PropertyAspectAdapter<JavaMappedSuperclass, JavaEclipseLinkCaching> buildCachingHolder() {
+ protected PropertyAspectAdapter<JavaMappedSuperclass, JavaEclipseLinkCaching> buildCachingHolder() {
return new PropertyAspectAdapter<JavaMappedSuperclass, JavaEclipseLinkCaching>(getSubjectHolder()) {
@Override
protected JavaEclipseLinkCaching buildValue_() {
@@ -82,14 +95,26 @@ public abstract class AbstractJavaEclipseLinkMappedSuperclassComposite
}
};
}
-
+
protected void initializeConvertersCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
- this.initializeConvertersSection(container, buildConverterHolderValueModel());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeConvertersSection(section));
+ }
+ }
+ });
}
-
+
+ protected Control initializeConvertersSection(Composite container) {
+ return new EclipseLinkConvertersComposite(this, this.buildConverterHolderValueModel(), container).getControl();
+ }
+
private PropertyValueModel<JavaEclipseLinkConverterContainer> buildConverterHolderValueModel() {
return new PropertyAspectAdapter<JavaMappedSuperclass, JavaEclipseLinkConverterContainer>(getSubjectHolder()) {
@Override
@@ -99,11 +124,22 @@ public abstract class AbstractJavaEclipseLinkMappedSuperclassComposite
};
}
- protected void initializeConvertersSection(Composite container, PropertyValueModel<JavaEclipseLinkConverterContainer> converterHolder) {
- new EclipseLinkConvertersComposite(this, converterHolder, container);
+ protected void initializeAdvancedCollapsibleSection(Composite container) {
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_advanced);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeAdvancedSection(section));
+ }
+ }
+ });
}
- protected void initializeAdvancedCollapsibleSection(Composite container) {
- new EclipseLinkMappedSuperclassAdvancedComposite(this, container);
+ protected Control initializeAdvancedSection(Composite container) {
+ return new EclipseLinkNonEmbeddableTypeMappingAdvancedComposite(this, container).getControl();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/DefaultJavaEclipseLinkOneToManyMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/DefaultJavaEclipseLinkOneToManyMappingUiDefinition.java
index 4db8ddceba..0a99951a98 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/DefaultJavaEclipseLinkOneToManyMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/DefaultJavaEclipseLinkOneToManyMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -75,9 +75,10 @@ public class DefaultJavaEclipseLinkOneToManyMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaOneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createJavaOneToManyMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createJavaOneToManyMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/DefaultJavaEclipseLinkOneToOneMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/DefaultJavaEclipseLinkOneToOneMappingUiDefinition.java
index c89858c9c5..e29c0a2ff8 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/DefaultJavaEclipseLinkOneToOneMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/DefaultJavaEclipseLinkOneToOneMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -75,9 +75,10 @@ public class DefaultJavaEclipseLinkOneToOneMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createJavaOneToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createJavaOneToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/DefaultJavaEclipseLinkVariableOneToOneMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/DefaultJavaEclipseLinkVariableOneToOneMappingUiDefinition.java
index 094b261aee..573a937a64 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/DefaultJavaEclipseLinkVariableOneToOneMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/DefaultJavaEclipseLinkVariableOneToOneMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -71,8 +71,9 @@ public class DefaultJavaEclipseLinkVariableOneToOneMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<EclipseLinkVariableOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkVariableOneToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkVariableOneToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/EclipseLink2_0JavaUiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/EclipseLink2_0JavaUiFactory.java
index 84d2fe97dc..37485996ed 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/EclipseLink2_0JavaUiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/EclipseLink2_0JavaUiFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2009, 2011 Oracle. All rights reserved.
+* Copyright (c) 2009, 2012 Oracle. 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.
@@ -59,56 +59,63 @@ public class EclipseLink2_0JavaUiFactory
@Override
public JpaComposite createJavaIdMappingComposite(
PropertyValueModel<JavaIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaEclipseLinkIdMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new JavaEclipseLinkIdMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaEmbeddedIdMappingComposite(
PropertyValueModel<JavaEmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EmbeddedIdMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new EmbeddedIdMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createJavaElementCollectionMapping2_0Composite(
PropertyValueModel<JavaElementCollectionMapping2_0> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaEclipseLinkElementCollectionMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new JavaEclipseLinkElementCollectionMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaOneToManyMappingComposite(
PropertyValueModel<JavaOneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaEclipseLinkOneToManyMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new JavaEclipseLinkOneToManyMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaOneToOneMappingComposite(
PropertyValueModel<JavaOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaEclipseLinkOneToOneMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new JavaEclipseLinkOneToOneMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaManyToOneMappingComposite(
PropertyValueModel<JavaManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaEclipseLinkManyToOneMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new JavaEclipseLinkManyToOneMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaManyToManyMappingComposite(
PropertyValueModel<JavaManyToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaEclipseLinkManyToManyMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new JavaEclipseLinkManyToManyMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/EclipseLinkJavaUiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/EclipseLinkJavaUiFactory.java
index f867821a66..a37e75d94f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/EclipseLinkJavaUiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/EclipseLinkJavaUiFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -72,85 +72,96 @@ public class EclipseLinkJavaUiFactory extends BaseJavaUiFactory
@Override
public JpaComposite createJavaIdMappingComposite(
PropertyValueModel<JavaIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaEclipseLinkIdMappingComposite(subjectHolder, parent, widgetFactory);
+ return new JavaEclipseLinkIdMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaBasicMappingComposite(
PropertyValueModel<JavaBasicMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaEclipseLinkBasicMappingComposite(subjectHolder, parent, widgetFactory);
+ return new JavaEclipseLinkBasicMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaVersionMappingComposite(
PropertyValueModel<JavaVersionMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaEclipseLinkVersionMappingComposite(subjectHolder, parent, widgetFactory);
+ return new JavaEclipseLinkVersionMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaManyToOneMappingComposite(
PropertyValueModel<JavaManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkManyToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkManyToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaOneToManyMappingComposite(
PropertyValueModel<JavaOneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkOneToManyMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkOneToManyMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaOneToOneMappingComposite(
PropertyValueModel<JavaOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkOneToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkOneToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaManyToManyMappingComposite(
PropertyValueModel<JavaManyToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkManyToManyMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkManyToManyMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createJavaEclipseLinkBasicMapMappingComposite(
PropertyValueModel<EclipseLinkBasicMapMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkBasicMapMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkBasicMapMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createJavaEclipseLinkBasicCollectionMappingComposite(
PropertyValueModel<EclipseLinkBasicCollectionMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkBasicCollectionMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkBasicCollectionMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createJavaEclipseLinkVariableOneToOneMappingComposite(
PropertyValueModel<EclipseLinkVariableOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkVariableOneToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkVariableOneToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createJavaEclipseLinkTransformationMappingComposite(
PropertyValueModel<EclipseLinkTransformationMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkTransformationMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkTransformationMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkArrayMapping2_3UiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkArrayMapping2_3UiDefinition.java
index 91ef3e112e..158ee1caab 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkArrayMapping2_3UiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkArrayMapping2_3UiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle. All rights reserved.
+ * Copyright (c) 2011, 2012 Oracle. 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.
@@ -48,9 +48,10 @@ public class JavaEclipseLinkArrayMapping2_3UiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<EclipseLinkArrayMapping2_3> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkArrayMapping2_3Composite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkArrayMapping2_3Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkBasicCollectionMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkBasicCollectionMappingUiDefinition.java
index 6315dca2da..9f82c7169a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkBasicCollectionMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkBasicCollectionMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -48,9 +48,10 @@ public class JavaEclipseLinkBasicCollectionMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<EclipseLinkBasicCollectionMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkBasicCollectionMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkBasicCollectionMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkBasicMapMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkBasicMapMappingUiDefinition.java
index 58922cced3..5d4e91baa0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkBasicMapMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkBasicMapMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -48,9 +48,10 @@ public class JavaEclipseLinkBasicMapMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<EclipseLinkBasicMapMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkBasicMapMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkBasicMapMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkBasicMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkBasicMappingComposite.java
index f96456654a..cdc8e748ab 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkBasicMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkBasicMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle. All rights reserved.
+ * Copyright (c) 2011, 2012 Oracle. 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.
@@ -13,7 +13,14 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.BasicMapping;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkBasicMappingComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class JavaEclipseLinkBasicMappingComposite extends EclipseLinkBasicMappingComposite<BasicMapping>
{
@@ -25,10 +32,11 @@ public class JavaEclipseLinkBasicMappingComposite extends EclipseLinkBasicMappin
* @param widgetFactory The factory used to create various common widgets
*/
public JavaEclipseLinkBasicMappingComposite(PropertyValueModel<? extends BasicMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
@@ -38,4 +46,33 @@ public class JavaEclipseLinkBasicMappingComposite extends EclipseLinkBasicMappin
initializeConvertersCollapsibleSection(container);
}
+ @Override
+ protected Control initializeBasicSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Column widgets
+ ColumnComposite columnComposite = new ColumnComposite(this, buildColumnHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ columnComposite.getControl().setLayoutData(gridData);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Mutable widgets
+ EclipseLinkMutableTriStateCheckBox mutableCheckBox = new EclipseLinkMutableTriStateCheckBox(this, buildMutableHolder(), container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ mutableCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
+ }
+
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkCaching2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkCaching2_0Composite.java
index e22419ae34..82bfc926f9 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkCaching2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkCaching2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -10,14 +10,14 @@
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.java;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkCaching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkAlwaysRefreshComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheSizeComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheTypeComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheSizeCombo;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheTypeComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCaching2_0Composite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkDisableHitsComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkRefreshOnlyIfNewerComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.swt.widgets.Composite;
/**
@@ -41,8 +41,8 @@ import org.eclipse.swt.widgets.Composite;
* @see Entity
* @see EclipseLinkCaching
* @see JavaEclipseLinkEntityComposite - The parent container
- * @see EclipseLinkCacheTypeComposite
- * @see EclipseLinkCacheSizeComposite
+ * @see EclipseLinkCacheTypeComboViewer
+ * @see EclipseLinkCacheSizeCombo
* @see EclipseLinkAlwaysRefreshComposite
* @see EclipseLinkRefreshOnlyIfNewerComposite
* @see EclipseLinkDisableHitsComposite
@@ -61,7 +61,26 @@ public class JavaEclipseLinkCaching2_0Composite extends EclipseLinkCaching2_0Com
}
@Override
- protected void initializeExistenceCheckingComposite(Composite parent) {
- new JavaEclipseLinkExistenceCheckingComposite(this, parent);
+ protected void initializeExistenceCheckingComposite(Composite container) {
+ this.addCheckBox(
+ container,
+ EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_label,
+ buildExistenceCheckingHolder(),
+ null);
+ this.addExistenceCheckingTypeCombo(container);
+ }
+
+ private ModifiablePropertyValueModel<Boolean> buildExistenceCheckingHolder() {
+ return new PropertyAspectAdapter<JavaEclipseLinkCaching, Boolean>(getSubjectHolder(), JavaEclipseLinkCaching.EXISTENCE_CHECKING_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return Boolean.valueOf(this.subject.isExistenceChecking());
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setExistenceChecking(value.booleanValue());
+ }
+ };
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkCachingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkCachingComposite.java
index 15514ce19c..65c6363043 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkCachingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkCachingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -10,14 +10,14 @@
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.java;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkCaching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkAlwaysRefreshComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheSizeComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheTypeComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheSizeCombo;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheTypeComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCachingComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkDisableHitsComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkRefreshOnlyIfNewerComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.swt.widgets.Composite;
/**
@@ -41,8 +41,8 @@ import org.eclipse.swt.widgets.Composite;
* @see Entity
* @see EclipseLinkCaching2_0
* @see JavaEclipseLinkEntityComposite - The parent container
- * @see EclipseLinkCacheTypeComposite
- * @see EclipseLinkCacheSizeComposite
+ * @see EclipseLinkCacheTypeComboViewer
+ * @see EclipseLinkCacheSizeCombo
* @see EclipseLinkAlwaysRefreshComposite
* @see EclipseLinkRefreshOnlyIfNewerComposite
* @see EclipseLinkDisableHitsComposite
@@ -61,7 +61,26 @@ public class JavaEclipseLinkCachingComposite extends EclipseLinkCachingComposite
}
@Override
- protected void initializeExistenceCheckingComposite(Composite parent) {
- new JavaEclipseLinkExistenceCheckingComposite(this, parent);
+ protected void initializeExistenceCheckingComposite(Composite container) {
+ this.addCheckBox(
+ container,
+ EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_label,
+ buildExistenceCheckingHolder(),
+ null);
+ this.addExistenceCheckingTypeCombo(container);
+ }
+
+ private ModifiablePropertyValueModel<Boolean> buildExistenceCheckingHolder() {
+ return new PropertyAspectAdapter<JavaEclipseLinkCaching, Boolean>(getSubjectHolder(), JavaEclipseLinkCaching.EXISTENCE_CHECKING_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return Boolean.valueOf(this.subject.isExistenceChecking());
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setExistenceChecking(value.booleanValue());
+ }
+ };
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkElementCollectionMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkElementCollectionMapping2_0Composite.java
index 8b7db1d49a..032dd69f62 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkElementCollectionMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkElementCollectionMapping2_0Composite.java
@@ -10,7 +10,7 @@
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.java;
import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.CompositeBooleanPropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
@@ -21,16 +21,21 @@ import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaElementCollectionMapping2_
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkElementCollectionMapping2_0;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetch;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkConvertComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkConvertCombo;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkElementCollectionMapping2_0Composite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CollectionTable2_0Composite;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.TargetClassComposite;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.JptUiDetailsMessages2_0;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.TargetClassChooser;
import org.eclipse.swt.layout.GridData;
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.ui.forms.widgets.Hyperlink;
public class JavaEclipseLinkElementCollectionMapping2_0Composite
extends EclipseLinkElementCollectionMapping2_0Composite<JavaElementCollectionMapping2_0>
@@ -43,18 +48,36 @@ public class JavaEclipseLinkElementCollectionMapping2_0Composite
* @param widgetFactory The factory used to create various common widgets
*/
public JavaEclipseLinkElementCollectionMapping2_0Composite(PropertyValueModel<? extends JavaElementCollectionMapping2_0> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeElementCollectionSection(Composite container) {
- new TargetClassComposite(this, container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchHolder(), container);
- new CollectionTable2_0Composite(this, buildCollectionTableHolder(), container);
+ protected Control initializeElementCollectionSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target class widgets
+ Hyperlink hyperlink = this.addHyperlink(container, JptUiDetailsMessages2_0.TargetClassComposite_label);
+ new TargetClassChooser(this, container, hyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchHolder(), container);
+
+ // Collection table widgets
+ CollectionTable2_0Composite collectionTableComposite = new CollectionTable2_0Composite(this, buildCollectionTableHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ collectionTableComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<EclipseLinkJoinFetch> buildJoinFetchHolder() {
@@ -68,23 +91,25 @@ public class JavaEclipseLinkElementCollectionMapping2_0Composite
@Override
- protected void initializeBasicValueTypeSection(Composite typeSection) {
- super.initializeBasicValueTypeSection(typeSection);
+ protected void initializeBasicValueTypeSection(Composite container) {
+ super.initializeBasicValueTypeSection(container);
PropertyValueModel<Converter> converterHolder = buildConverterHolder();
// EclipseLink Converter
Button elConverterButton = addRadioButton(
- typeSection,
+ container,
EclipseLinkUiDetailsMessages.TypeSection_converted,
buildConverterBooleanHolder(EclipseLinkConvert.class),
null);
((GridData) elConverterButton.getLayoutData()).horizontalSpan = 2;
- Pane<EclipseLinkConvert> convertComposite = buildConvertComposite(buildEclipseLinkConverterHolder(converterHolder), typeSection);
- GridData gridData = (GridData) convertComposite.getControl().getLayoutData();
- gridData.horizontalSpan = 2;
+ PropertyValueModel<EclipseLinkConvert> convertHolder = buildEclipseLinkConverterHolder(converterHolder);
+ PropertyValueModel<Boolean> convertEnabledModel = CompositeBooleanPropertyValueModel.and(getEnabledModel(), buildEclipseLinkConvertBooleanHolder(convertHolder));
+ Label convertLabel = this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkConvertComposite_converterNameLabel, convertEnabledModel);
+ GridData gridData = new GridData();
gridData.horizontalIndent = 20;
- registerSubPane(convertComposite);
+ convertLabel.setLayoutData(gridData);
+ registerSubPane(new EclipseLinkConvertCombo(convertHolder, convertEnabledModel, container, getWidgetFactory()));
}
protected PropertyValueModel<Converter> buildConverterHolder() {
@@ -113,10 +138,6 @@ public class JavaEclipseLinkElementCollectionMapping2_0Composite
};
}
- protected Pane<EclipseLinkConvert> buildConvertComposite(PropertyValueModel<EclipseLinkConvert> convertHolder, Composite container) {
- return new EclipseLinkConvertComposite(convertHolder, container, getWidgetFactory());
- }
-
protected PropertyValueModel<EclipseLinkConvert> buildEclipseLinkConverterHolder(PropertyValueModel<Converter> converterHolder) {
return new TransformationPropertyValueModel<Converter, EclipseLinkConvert>(converterHolder) {
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEmbeddable1_2Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEmbeddable1_2Composite.java
index 3c222e51f5..779da80043 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEmbeddable1_2Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEmbeddable1_2Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -16,8 +16,10 @@ import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.Embeddable;
import org.eclipse.jpt.jpa.core.context.java.JavaEmbeddable;
import org.eclipse.jpt.jpa.ui.details.java.JavaUiFactory;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* This pane does not have any widgets.
@@ -53,8 +55,14 @@ public class JavaEclipseLinkEmbeddable1_2Composite extends AbstractJavaEclipseLi
}
@Override
- protected void initializeEmbeddableSection(Composite container) {
- new AccessTypeComposite(this, buildAccessHolder(), container);
+ protected Control initializeEmbeddableSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolder(), container);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEntity1_2Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEntity1_2Composite.java
index 2d0ceafed0..c7fbd63e61 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEntity1_2Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEntity1_2Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -15,11 +15,16 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.java.JavaEntity;
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkEntity;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.EntityNameComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.IdClassComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.EntityNameCombo;
+import org.eclipse.jpt.jpa.ui.internal.details.IdClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.TableComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* The pane used for an EclipseLink1.2 Java entity.
@@ -49,11 +54,28 @@ public class JavaEclipseLinkEntity1_2Composite
}
@Override
- protected void initializeEntitySection(Composite container) {
- new TableComposite(this, container);
- new EntityNameComposite(this, container);
- new AccessTypeComposite(this, buildAccessHolder(), container);
- new IdClassComposite(this, buildIdClassReferenceHolder(), container);
+ protected Control initializeEntitySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Table widgets
+ TableComposite tableComposite = new TableComposite(this, container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ tableComposite.getControl().setLayoutData(gridData);
+
+ // Entity name widgets
+ this.addLabel(container, JptUiDetailsMessages.EntityNameComposite_name);
+ new EntityNameCombo(this, container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolder(), container);
+
+ // Id class widgets
+ Hyperlink hyperlink = this.addHyperlink(container,JptUiDetailsMessages.IdClassComposite_label);
+ new IdClassChooser(this, this.buildIdClassReferenceHolder(), container, hyperlink);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEntity2_3Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEntity2_3Composite.java
index cb8ec5d7aa..9efe4fc2a2 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEntity2_3Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEntity2_3Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle. All rights reserved.
+ * Copyright (c) 2011, 2012 Oracle. 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.
@@ -17,7 +17,13 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkEntity;
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkMultitenancy2_3;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMultitenancyComposite;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* The pane used for an EclipseLink 2.3 Java entity.
@@ -39,26 +45,34 @@ public class JavaEclipseLinkEntity2_3Composite
@Override
protected void initializeLayout(Composite container) {
this.initializeEntityCollapsibleSection(container);
- this.initializeCachingCollapsibleSectionPane(container);
+ this.initializeCachingCollapsibleSection(container);
this.initializeQueriesCollapsibleSection(container);
this.initializeInheritanceCollapsibleSection(container);
this.initializeAttributeOverridesCollapsibleSection(container);
- this.initializeMultitenancyCollapsibleSectionPane(container);
+ this.initializeMultitenancyCollapsibleSection(container);
this.initializeGeneratorsCollapsibleSection(container);
this.initializeConvertersCollapsibleSection(container);
this.initializeSecondaryTablesCollapsibleSection(container);
this.initializeAdvancedCollapsibleSection(container);
}
- protected void initializeMultitenancyCollapsibleSectionPane(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_multitenancy);
- this.initializeMultitenancySection(container, buildMultitenancyHolder());
+ protected void initializeMultitenancyCollapsibleSection(Composite container) {
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_multitenancy);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeMultitenancySection(section));
+ }
+ }
+ });
}
- protected void initializeMultitenancySection(Composite container, PropertyValueModel<JavaEclipseLinkMultitenancy2_3> multitenancyHolder) {
- new EclipseLinkMultitenancyComposite(this, multitenancyHolder, container);
+ protected Control initializeMultitenancySection(Composite container) {
+ return new EclipseLinkMultitenancyComposite(this, this.buildMultitenancyHolder(), container).getControl();
}
private PropertyAspectAdapter<JavaEntity, JavaEclipseLinkMultitenancy2_3> buildMultitenancyHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkExistenceCheckingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkExistenceCheckingComposite.java
deleted file mode 100644
index 5720e445be..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkExistenceCheckingComposite.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.java;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCaching;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkExistenceType;
-import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkCaching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here is the layout of this pane:
- * <pre>
- * -------------------------------------------------------------------------
- * | ---------------------------------------------- |
- * | x Existence Checking: | |v| |
- * | ---------------------------------------------- |
- * -------------------------------------------------------------------------</pre>
- *
- * @see EclipseLinkCaching
- * @see CachingComposite - A container of this widget
- *
- * @version 2.1
- * @since 2.1
- */
-public class JavaEclipseLinkExistenceCheckingComposite extends Pane<JavaEclipseLinkCaching> {
-
- /**
- * Creates a new <code>ExistenceCheckingComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public JavaEclipseLinkExistenceCheckingComposite(Pane<? extends JavaEclipseLinkCaching> parentPane,
- Composite parent) {
-
- super(parentPane, parent, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- addLabeledComposite(
- container,
- addCheckBox(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_label,
- buildExistenceCheckingHolder(),
- null
- ),
- addExistenceCheckingTypeCombo(container).getControl(),
- null
- );
- }
-
- private EnumFormComboViewer<EclipseLinkCaching, EclipseLinkExistenceType> addExistenceCheckingTypeCombo(Composite container) {
-
- return new EnumFormComboViewer<EclipseLinkCaching, EclipseLinkExistenceType>(this, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(EclipseLinkCaching.DEFAULT_EXISTENCE_TYPE_PROPERTY);
- propertyNames.add(EclipseLinkCaching.SPECIFIED_EXISTENCE_TYPE_PROPERTY);
- }
-
- @Override
- protected EclipseLinkExistenceType[] getChoices() {
- return EclipseLinkExistenceType.values();
- }
-
- @Override
- protected EclipseLinkExistenceType getDefaultValue() {
- return getSubject().getDefaultExistenceType();
- }
-
- @Override
- protected String displayString(EclipseLinkExistenceType value) {
- switch (value) {
- case CHECK_CACHE :
- return EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_check_cache;
- case CHECK_DATABASE :
- return EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_check_database;
- case ASSUME_EXISTENCE :
- return EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_assume_existence;
- case ASSUME_NON_EXISTENCE :
- return EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_assume_non_existence;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected EclipseLinkExistenceType getValue() {
- return getSubject().getSpecifiedExistenceType();
- }
-
- @Override
- protected void setValue(EclipseLinkExistenceType value) {
- getSubject().setSpecifiedExistenceType(value);
- }
-
- @Override
- protected boolean sortChoices() {
- return false;
- }
- };
- }
-
- private ModifiablePropertyValueModel<Boolean> buildExistenceCheckingHolder() {
- return new PropertyAspectAdapter<JavaEclipseLinkCaching, Boolean>(getSubjectHolder(), JavaEclipseLinkCaching.EXISTENCE_CHECKING_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return Boolean.valueOf(this.subject.isExistenceChecking());
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setExistenceChecking(value.booleanValue());
- }
- };
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkIdMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkIdMapping2_0Composite.java
index 6e943d9b13..157b40223a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkIdMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkIdMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -13,21 +13,23 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.java.JavaIdMapping;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkIdMappingComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableTriStateCheckBox;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.IdMapping2_0MappedByRelationshipPane;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.IdMappingGeneration2_0Composite;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class JavaEclipseLinkIdMapping2_0Composite
extends EclipseLinkIdMappingComposite<JavaIdMapping>
{
public JavaEclipseLinkIdMapping2_0Composite(
PropertyValueModel<? extends JavaIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@@ -40,10 +42,15 @@ public class JavaEclipseLinkIdMapping2_0Composite
}
@Override
- protected void initializeIdSection(Composite container) {
+ protected Control initializeIdSection(Composite container) {
+ container = this.addSubPane(container);
+
new IdMapping2_0MappedByRelationshipPane(this, getSubjectHolder(), container);
new ColumnComposite(this, buildColumnHolder(), container);
- new EclipseLinkMutableComposite(this, buildMutableHolder(), container);
+
+ new EclipseLinkMutableTriStateCheckBox(this, buildMutableHolder(), container);
+
+ return container;
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkIdMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkIdMappingComposite.java
index 747e1091fc..9ef1ddb7df 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkIdMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkIdMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle. All rights reserved.
+ * Copyright (c) 2011, 2012 Oracle. 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.
@@ -20,10 +20,11 @@ public class JavaEclipseLinkIdMappingComposite
{
public JavaEclipseLinkIdMappingComposite(
PropertyValueModel<? extends IdMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkManyToManyMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkManyToManyMapping2_0Composite.java
index ff0a1e3aa1..01b5616d3c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkManyToManyMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkManyToManyMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2010, 2012 Oracle. 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.
@@ -14,23 +14,29 @@ import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropert
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.ManyToManyRelationship;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkManyToManyMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Ordering2_0Composite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class JavaEclipseLinkManyToManyMapping2_0Composite
extends EclipseLinkManyToManyMappingComposite<ManyToManyMapping>
{
public JavaEclipseLinkManyToManyMapping2_0Composite(
PropertyValueModel<? extends ManyToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
@@ -42,16 +48,33 @@ public class JavaEclipseLinkManyToManyMapping2_0Composite
}
@Override
- protected void initializeManyToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, this.buildJoinFetchableHolder(), container);
- new CascadePane2_0(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, this.buildJoinFetchableHolder(), container);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, buildCascadeHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
@Override
- protected void initializeOrderingCollapsibleSection(Composite container) {
- new Ordering2_0Composite(this, container);
+ protected Control initializeOrderingSection(Composite container) {
+ return new Ordering2_0Composite(this, container).getControl();
}
protected PropertyValueModel<ManyToManyRelationship> buildEclipseLinkJoiningHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkManyToOneMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkManyToOneMapping2_0Composite.java
index 1b7a0e8750..5c82afec90 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkManyToOneMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkManyToOneMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -16,33 +16,61 @@ import org.eclipse.jpt.jpa.core.context.java.JavaManyToOneMapping;
import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaManyToOneRelationship2_0;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetch;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchMapping;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.AbstractManyToOneMapping2_0Composite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class JavaEclipseLinkManyToOneMapping2_0Composite
extends AbstractManyToOneMapping2_0Composite<JavaManyToOneMapping, JavaManyToOneRelationship2_0>
{
public JavaEclipseLinkManyToOneMapping2_0Composite(
PropertyValueModel<? extends JavaManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new OptionalComposite(this, container);
- new CascadePane2_0(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<EclipseLinkJoinFetch> buildJoinFetchableHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass1_2Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass1_2Composite.java
index 90d44d0892..87dc67f9da 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass1_2Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass1_2Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -15,9 +15,13 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.java.JavaMappedSuperclass;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMappedSuperclass;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.IdClassComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.IdClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* The pane used for an EclipseLink Java Mapped Superclass.
@@ -47,9 +51,18 @@ public class JavaEclipseLinkMappedSuperclass1_2Composite
}
@Override
- protected void initializeMappedSuperclassSection(Composite container) {
- new AccessTypeComposite(this, buildAccessHolder(), container);
- new IdClassComposite(this, buildIdClassReferenceHolder(), container);
+ protected Control initializeMappedSuperclassSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolder(), container);
+
+ // Id class widgets
+ Hyperlink hyperlink = this.addHyperlink(container,JptUiDetailsMessages.IdClassComposite_label);
+ new IdClassChooser(this, this.buildIdClassReferenceHolder(), container, hyperlink);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass2_0Composite.java
index 79b795926f..020fb34110 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -15,10 +15,13 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.java.JavaMappedSuperclass;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMappedSuperclass;
-import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkCaching;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.IdClassComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.IdClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* The pane used for an EclipseLink Java Mapped Superclass.
@@ -48,9 +51,18 @@ public class JavaEclipseLinkMappedSuperclass2_0Composite
}
@Override
- protected void initializeMappedSuperclassSection(Composite container) {
- new AccessTypeComposite(this, buildAccessHolder(), container);
- new IdClassComposite(this, buildIdClassReferenceHolder(), container);
+ protected Control initializeMappedSuperclassSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolder(), container);
+
+ // Id class widgets
+ Hyperlink hyperlink = this.addHyperlink(container,JptUiDetailsMessages.IdClassComposite_label);
+ new IdClassChooser(this, this.buildIdClassReferenceHolder(), container, hyperlink);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolder() {
@@ -63,7 +75,7 @@ public class JavaEclipseLinkMappedSuperclass2_0Composite
}
@Override
- protected void initializeCachingSection(Composite container, PropertyValueModel<JavaEclipseLinkCaching> cachingHolder) {
- new JavaEclipseLinkCaching2_0Composite(this, cachingHolder, container);
+ protected Control initializeCachingSection(Composite container) {
+ return new JavaEclipseLinkCaching2_0Composite(this, this.buildCachingHolder(), container).getControl();
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass2_3Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass2_3Composite.java
index b58a546bd6..12073704d9 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass2_3Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass2_3Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle. All rights reserved.
+ * Copyright (c) 2011, 2012 Oracle. 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.
@@ -15,14 +15,22 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.java.JavaMappedSuperclass;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMappedSuperclass;
-import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkCaching;
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkMappedSuperclass;
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkMultitenancy2_3;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMultitenancyComposite;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.IdClassComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.IdClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+import org.eclipse.ui.forms.widgets.Section;
/**
* The pane used for an EclipseLink 2.3 Java Mapped Superclass.
@@ -62,9 +70,18 @@ public class JavaEclipseLinkMappedSuperclass2_3Composite
}
@Override
- protected void initializeMappedSuperclassSection(Composite container) {
- new AccessTypeComposite(this, buildAccessHolder(), container);
- new IdClassComposite(this, buildIdClassReferenceHolder(), container);
+ protected Control initializeMappedSuperclassSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolder(), container);
+
+ // Id class widgets
+ Hyperlink hyperlink = this.addHyperlink(container,JptUiDetailsMessages.IdClassComposite_label);
+ new IdClassChooser(this, this.buildIdClassReferenceHolder(), container, hyperlink);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolder() {
@@ -77,19 +94,27 @@ public class JavaEclipseLinkMappedSuperclass2_3Composite
}
@Override
- protected void initializeCachingSection(Composite container, PropertyValueModel<JavaEclipseLinkCaching> cachingHolder) {
- new JavaEclipseLinkCaching2_0Composite(this, cachingHolder, container);
+ protected Control initializeCachingSection(Composite container) {
+ return new JavaEclipseLinkCaching2_0Composite(this, this.buildCachingHolder(), container).getControl();
}
-
+
protected void initializeMultitenancyCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_multitenancy);
- this.initializeMultitenancySection(container, buildMultitenancyHolder());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_multitenancy);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeMultitenancySection(section));
+ }
+ }
+ });
}
- protected void initializeMultitenancySection(Composite container, PropertyValueModel<JavaEclipseLinkMultitenancy2_3> multitenancyHolder) {
- new EclipseLinkMultitenancyComposite(this, multitenancyHolder, container);
+ protected Control initializeMultitenancySection(Composite container) {
+ return new EclipseLinkMultitenancyComposite(this, this.buildMultitenancyHolder(), container).getControl();
}
private PropertyAspectAdapter<JavaMappedSuperclass, JavaEclipseLinkMultitenancy2_3> buildMultitenancyHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkOneToManyMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkOneToManyMapping2_0Composite.java
index b3745710ab..6ba80b40a0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkOneToManyMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkOneToManyMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2009, 2011 Oracle. All rights reserved.
+* Copyright (c) 2009, 2012 Oracle. 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.
@@ -15,25 +15,31 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.java.JavaOneToManyMapping;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovalHolder2_0;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkOneToManyMappingComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedCheckBox;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Ordering2_0Composite;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0Composite;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0TriStateCheckBox;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class JavaEclipseLinkOneToManyMapping2_0Composite
extends EclipseLinkOneToManyMappingComposite<JavaOneToManyMapping>
{
public JavaEclipseLinkOneToManyMapping2_0Composite(
PropertyValueModel<? extends JavaOneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
@@ -45,18 +51,45 @@ public class JavaEclipseLinkOneToManyMapping2_0Composite
}
@Override
- protected void initializeOneToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, this.buildJoinFetchableHolder(), container);
- new EclipseLinkPrivateOwnedComposite(this, this.buildPrivateOwnableHolder(), container);
- new OrphanRemoval2_0Composite(this, this.buildOrphanRemovableHolder(), container);
- new CascadePane2_0(this, this.buildCascadeHolder(), this.addSubPane(container, 5));
+ protected Control initializeOneToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, this.buildJoinFetchableHolder(), container);
+
+ // Private owned widgets
+ EclipseLinkPrivateOwnedCheckBox privateOwnedCheckBox = new EclipseLinkPrivateOwnedCheckBox(this, buildPrivateOwnableHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ privateOwnedCheckBox.getControl().setLayoutData(gridData);
+
+ // Orphan removal widgets
+ OrphanRemoval2_0TriStateCheckBox orphanRemovalCheckBox = new OrphanRemoval2_0TriStateCheckBox(this, buildOrphanRemovableHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ orphanRemovalCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, this.buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
@Override
- protected void initializeOrderingCollapsibleSection(Composite container) {
- new Ordering2_0Composite(this, container);
+ protected Control initializeOrderingSection(Composite container) {
+ return new Ordering2_0Composite(this, container).getControl();
}
protected PropertyValueModel<OrphanRemovable2_0> buildOrphanRemovableHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkOneToOneMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkOneToOneMapping2_0Composite.java
index beb154c98d..b438e63966 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkOneToOneMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkOneToOneMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -19,37 +19,75 @@ import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaOneToOneRelationship2_0;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetch;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkOneToOneMapping;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkPrivateOwned;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedCheckBox;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.AbstractOneToOneMapping2_0Composite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OneToOneJoiningStrategy2_0Pane;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0Composite;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0TriStateCheckBox;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class JavaEclipseLinkOneToOneMapping2_0Composite
extends AbstractOneToOneMapping2_0Composite<JavaOneToOneMapping, JavaOneToOneRelationship2_0>
{
public JavaEclipseLinkOneToOneMapping2_0Composite(
PropertyValueModel<? extends JavaOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new OptionalComposite(this, container);
- new EclipseLinkPrivateOwnedComposite(this, buildPrivateOwnableHolder(), container);
- new OrphanRemoval2_0Composite(this, buildOrphanRemovableHolder(), container);
- new CascadePane2_0(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeOneToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Private owned widgets
+ EclipseLinkPrivateOwnedCheckBox privateOwnedCheckBox = new EclipseLinkPrivateOwnedCheckBox(this, buildPrivateOwnableHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ privateOwnedCheckBox.getControl().setLayoutData(gridData);
+
+ // Orphan removal widgets
+ OrphanRemoval2_0TriStateCheckBox orphanRemovalCheckBox = new OrphanRemoval2_0TriStateCheckBox(this, buildOrphanRemovableHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ orphanRemovalCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkStructureMapping2_3UiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkStructureMapping2_3UiDefinition.java
index 726c2ccf1b..9cf6e91a19 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkStructureMapping2_3UiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkStructureMapping2_3UiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle. All rights reserved.
+ * Copyright (c) 2011, 2012 Oracle. 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.
@@ -48,9 +48,10 @@ public class JavaEclipseLinkStructureMapping2_3UiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<EclipseLinkStructureMapping2_3> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkStructureMapping2_3Composite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkStructureMapping2_3Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkTransformationMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkTransformationMappingUiDefinition.java
index 0a835248d5..8e7dbc145e 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkTransformationMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkTransformationMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -48,9 +48,10 @@ public class JavaEclipseLinkTransformationMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<EclipseLinkTransformationMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkTransformationMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkTransformationMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkVariableOneToOneMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkVariableOneToOneMappingUiDefinition.java
index 3aed33b3ff..e583209518 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkVariableOneToOneMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkVariableOneToOneMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -48,9 +48,10 @@ public class JavaEclipseLinkVariableOneToOneMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<EclipseLinkVariableOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkVariableOneToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkVariableOneToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkVersionMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkVersionMappingComposite.java
index 447eb1f7d5..9b81692e80 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkVersionMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkVersionMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle. All rights reserved.
+ * Copyright (c) 2011, 2012 Oracle. 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.
@@ -26,10 +26,11 @@ public class JavaEclipseLinkVersionMappingComposite
* @param widgetFactory The factory used to create various common widgets
*/
public JavaEclipseLinkVersionMappingComposite(PropertyValueModel<? extends VersionMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractEclipseLinkEntityMappingsDetailsPage.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractEclipseLinkEntityMappingsDetailsPage.java
index cd33a5bfb3..9c9390641e 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractEclipseLinkEntityMappingsDetailsPage.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractEclipseLinkEntityMappingsDetailsPage.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -23,9 +23,14 @@ import org.eclipse.jpt.jpa.ui.internal.details.db.SchemaCombo;
import org.eclipse.jpt.jpa.ui.internal.details.orm.AbstractEntityMappingsDetailsPage;
import org.eclipse.jpt.jpa.ui.internal.details.orm.EntityMappingsGeneratorsComposite;
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPackageChooser;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmQueriesComposite;
import org.eclipse.jpt.jpa.ui.internal.details.orm.PersistenceUnitMetadataComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -74,7 +79,7 @@ import org.eclipse.swt.widgets.Composite;
* @see EnumFormComboViewer
* @see EntityMappingsGeneratorsComposite
* @see OrmPackageChooser
- * @see OrmQueriesComposite
+ * @see QueriesComposite
* @see PersistenceUnitMetadataComposite
* @see SchemaCombo
*
@@ -105,22 +110,24 @@ public abstract class AbstractEclipseLinkEntityMappingsDetailsPage extends Abstr
}
protected void initializeConvertersCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters
- );
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
- this.initializeConvertersSection(container);
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeConvertersSection(section));
+ }
+ }
+ });
}
- protected void initializeConvertersSection(Composite container) {
- new EclipseLinkConvertersComposite(
- this,
- this.buildConverterHolder(),
- container
- );
+ protected Control initializeConvertersSection(Composite container) {
+ return new EclipseLinkConvertersComposite(this, this.buildConverterHolder(), container).getControl();
}
-
+
private PropertyValueModel<OrmEclipseLinkConverterContainer> buildConverterHolder() {
return new PropertyAspectAdapter<EntityMappings, OrmEclipseLinkConverterContainer>(getSubjectHolder()) {
@Override
@@ -129,5 +136,4 @@ public abstract class AbstractEclipseLinkEntityMappingsDetailsPage extends Abstr
}
};
}
-
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkEntity2_xComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkEntity2_xComposite.java
index 4c2c1df450..1e0d07db59 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkEntity2_xComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkEntity2_xComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle.
+ * Copyright (c) 2011, 2012 Oracle.
* 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
@@ -12,14 +12,12 @@ package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.GeneratorContainer;
-import org.eclipse.jpt.jpa.core.context.QueryContainer;
import org.eclipse.jpt.jpa.core.context.orm.OrmEntity;
-import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkCaching;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Entity2_0OverridesComposite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Generation2_0Composite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Queries2_0Composite;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public abstract class AbstractOrmEclipseLinkEntity2_xComposite extends AbstractOrmEclipseLinkEntityComposite
{
@@ -30,23 +28,23 @@ public abstract class AbstractOrmEclipseLinkEntity2_xComposite extends AbstractO
}
@Override
- protected void initializeAttributeOverridesSection(Composite container) {
- new Entity2_0OverridesComposite(this, container);
+ protected Control initializeAttributeOverridesSection(Composite container) {
+ return new Entity2_0OverridesComposite(this, container).getControl();
}
@Override
- protected void initializeGeneratorsSection(Composite container, PropertyValueModel<GeneratorContainer> generatorContainerHolder) {
- new Generation2_0Composite(this, generatorContainerHolder, container);
+ protected Control initializeGeneratorsSection(Composite container) {
+ return new Generation2_0Composite(this, this.buildGeneratorContainerHolder(), container).getControl();
}
@Override
- protected void initializeCachingSection(Composite container, PropertyValueModel<OrmEclipseLinkCaching> cachingHolder) {
- new OrmEclipseLinkCaching2_0Composite(this, cachingHolder, container);
+ protected Control initializeCachingSection(Composite container) {
+ return new OrmEclipseLinkCaching2_0Composite(this, this.buildCachingHolder(), container).getControl();
}
@Override
- protected void initializeQueriesSection(Composite container, PropertyValueModel<QueryContainer> queryContainerHolder) {
- new Queries2_0Composite(this, queryContainerHolder, container);
+ protected Control initializeQueriesSection(Composite container) {
+ return new Queries2_0Composite(this, this.buildQueryContainerHolder(), container).getControl();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkEntityComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkEntityComposite.java
index f3c6372a17..3b65fe21af 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkEntityComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkEntityComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle.
+ * Copyright (c) 2008, 2012 Oracle.
* 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
@@ -18,10 +18,16 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkCaching;
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkConverterContainer;
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkEntity;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkConvertersComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkEntityAdvancedComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkNonEmbeddableTypeMappingAdvancedComposite;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.orm.AbstractOrmEntityComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
public abstract class AbstractOrmEclipseLinkEntityComposite extends AbstractOrmEntityComposite
{
@@ -35,7 +41,7 @@ public abstract class AbstractOrmEclipseLinkEntityComposite extends AbstractOrmE
@Override
protected void initializeLayout(Composite container) {
this.initializeEntityCollapsibleSection(container);
- this.initializeCachingCollapsibleSectionPane(container);
+ this.initializeCachingCollapsibleSection(container);
this.initializeQueriesCollapsibleSection(container);
this.initializeInheritanceCollapsibleSection(container);
this.initializeAttributeOverridesCollapsibleSection(container);
@@ -44,20 +50,27 @@ public abstract class AbstractOrmEclipseLinkEntityComposite extends AbstractOrmE
this.initializeSecondaryTablesCollapsibleSection(container);
this.initializeAdvancedCollapsibleSection(container);
}
-
- protected void initializeCachingCollapsibleSectionPane(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_caching);
- initializeCachingSection(container, buildCachingHolder());
+
+ protected void initializeCachingCollapsibleSection(Composite container) {
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_caching);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeCachingSection(section));
+ }
+ }
+ });
}
- protected void initializeCachingSection(Composite container, PropertyValueModel<OrmEclipseLinkCaching> cachingHolder) {
- new OrmEclipseLinkCachingComposite(this, cachingHolder, container);
+ protected Control initializeCachingSection(Composite container) {
+ return new OrmEclipseLinkCachingComposite(this, buildCachingHolder(), container).getControl();
}
-
- private PropertyAspectAdapter<OrmEntity, OrmEclipseLinkCaching> buildCachingHolder() {
+ protected PropertyAspectAdapter<OrmEntity, OrmEclipseLinkCaching> buildCachingHolder() {
return new PropertyAspectAdapter<OrmEntity, OrmEclipseLinkCaching>(getSubjectHolder()) {
@Override
protected OrmEclipseLinkCaching buildValue_() {
@@ -65,16 +78,24 @@ public abstract class AbstractOrmEclipseLinkEntityComposite extends AbstractOrmE
}
};
}
-
+
protected void initializeConvertersCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
- this.initializeConvertersSection(container, buildConverterContainerModel());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeConvertersSection(section));
+ }
+ }
+ });
}
-
- protected void initializeConvertersSection(Composite container, PropertyValueModel<OrmEclipseLinkConverterContainer> converterHolder) {
- new EclipseLinkConvertersComposite(this, converterHolder, container);
+
+ protected Control initializeConvertersSection(Composite container) {
+ return new EclipseLinkConvertersComposite(this, this.buildConverterContainerModel(), container).getControl();
}
private PropertyValueModel<OrmEclipseLinkConverterContainer> buildConverterContainerModel() {
@@ -85,8 +106,23 @@ public abstract class AbstractOrmEclipseLinkEntityComposite extends AbstractOrmE
}
};
}
-
+
protected void initializeAdvancedCollapsibleSection(Composite container) {
- new EclipseLinkEntityAdvancedComposite(this, container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_advanced);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeAdvancedSection(section));
+ }
+ }
+ });
+ }
+
+ protected Control initializeAdvancedSection(Composite container) {
+ return new EclipseLinkNonEmbeddableTypeMappingAdvancedComposite(this, container).getControl();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkMappedSuperclassComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkMappedSuperclassComposite.java
index 94e34d7f99..52ee6daf48 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkMappedSuperclassComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkMappedSuperclassComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -18,15 +18,25 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkCaching;
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkConverterContainer;
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMappedSuperclass;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkConvertersComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMappedSuperclassAdvancedComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkNonEmbeddableTypeMappingAdvancedComposite;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractMappedSuperclassComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.IdClassComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.MetadataCompleteComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.IdClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.MetadataCompleteTriStateCheckBox;
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmJavaClassChooser;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+import org.eclipse.ui.forms.widgets.Section;
public abstract class AbstractOrmEclipseLinkMappedSuperclassComposite
extends AbstractMappedSuperclassComposite<OrmMappedSuperclass>
@@ -49,22 +59,47 @@ public abstract class AbstractOrmEclipseLinkMappedSuperclassComposite
}
@Override
- protected void initializeMappedSuperclassSection(Composite container) {
- new OrmJavaClassChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolder(), container);
- new IdClassComposite(this, buildIdClassReferenceHolder(), container);
- new MetadataCompleteComposite(this, getSubjectHolder(), container);
+ protected Control initializeMappedSuperclassSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Java class widgets
+ Hyperlink javaClassHyperlink = addHyperlink(container, JptUiDetailsOrmMessages.OrmJavaClassChooser_javaClass);
+ new OrmJavaClassChooser(this, getSubjectHolder(), container, javaClassHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolder(), container);
+
+ // Id class widgets
+ Hyperlink hyperlink = this.addHyperlink(container,JptUiDetailsMessages.IdClassComposite_label);
+ new IdClassChooser(this, this.buildIdClassReferenceHolder(), container, hyperlink);
+
+ // Metadata complete widgets
+ MetadataCompleteTriStateCheckBox metadataCompleteComposite = new MetadataCompleteTriStateCheckBox(this, getSubjectHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ metadataCompleteComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected void initializeCachingCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_caching);
- this.initializeCachingSection(container, buildCachingHolder());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_caching);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeCachingSection(section));
+ }
+ }
+ });
}
- protected void initializeCachingSection(Composite container, PropertyValueModel<OrmEclipseLinkCaching> cachingHolder) {
- new OrmEclipseLinkCachingComposite(this, cachingHolder, container);
+ protected Control initializeCachingSection(Composite container) {
+ return new OrmEclipseLinkCachingComposite(this, buildCachingHolder(), container).getControl();
}
protected PropertyValueModel<AccessHolder> buildAccessHolder() {
@@ -76,7 +111,7 @@ public abstract class AbstractOrmEclipseLinkMappedSuperclassComposite
};
}
- private PropertyAspectAdapter<OrmMappedSuperclass, OrmEclipseLinkCaching> buildCachingHolder() {
+ protected PropertyAspectAdapter<OrmMappedSuperclass, OrmEclipseLinkCaching> buildCachingHolder() {
return new PropertyAspectAdapter<OrmMappedSuperclass, OrmEclipseLinkCaching>(getSubjectHolder()) {
@Override
protected OrmEclipseLinkCaching buildValue_() {
@@ -84,18 +119,26 @@ public abstract class AbstractOrmEclipseLinkMappedSuperclassComposite
}
};
}
-
+
protected void initializeConvertersCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
- this.initializeConvertersSection(container, buildConverterContainerModel());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeConvertersSection(section));
+ }
+ }
+ });
}
-
- protected void initializeConvertersSection(Composite container, PropertyValueModel<OrmEclipseLinkConverterContainer> converterHolder) {
- new EclipseLinkConvertersComposite(this, converterHolder, container);
+
+ protected Control initializeConvertersSection(Composite container) {
+ return new EclipseLinkConvertersComposite(this, this.buildConverterContainerModel(), container).getControl();
}
-
+
private PropertyValueModel<OrmEclipseLinkConverterContainer> buildConverterContainerModel() {
return new PropertyAspectAdapter<OrmMappedSuperclass, OrmEclipseLinkConverterContainer>(getSubjectHolder()) {
@Override
@@ -104,8 +147,23 @@ public abstract class AbstractOrmEclipseLinkMappedSuperclassComposite
}
};
}
-
+
protected void initializeAdvancedCollapsibleSection(Composite container) {
- new EclipseLinkMappedSuperclassAdvancedComposite(this, container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_advanced);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeAdvancedSection(section));
+ }
+ }
+ });
+ }
+
+ protected Control initializeAdvancedSection(Composite container) {
+ return new EclipseLinkNonEmbeddableTypeMappingAdvancedComposite(this, container).getControl();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/BaseEclipseLinkOrmXmlUiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/BaseEclipseLinkOrmXmlUiFactory.java
index 4049f9d0f1..0d89a0a126 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/BaseEclipseLinkOrmXmlUiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/BaseEclipseLinkOrmXmlUiFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -61,64 +61,72 @@ public abstract class BaseEclipseLinkOrmXmlUiFactory extends BaseOrmXmlUiFactory
@Override
public JpaComposite createOrmIdMappingComposite(
PropertyValueModel<OrmIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkIdMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkIdMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmBasicMappingComposite(
PropertyValueModel<OrmBasicMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkBasicMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkBasicMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmVersionMappingComposite(
PropertyValueModel<OrmVersionMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkVersionMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkVersionMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmManyToOneMappingComposite(
PropertyValueModel<OrmManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkManyToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkManyToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmOneToManyMappingComposite(
PropertyValueModel<OrmOneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkOneToManyMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkOneToManyMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmOneToOneMappingComposite(
PropertyValueModel<OrmOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkOneToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkOneToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmManyToManyMappingComposite(
PropertyValueModel<OrmManyToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkManyToManyMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkManyToManyMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmTransientMappingComposite(
PropertyValueModel<OrmTransientMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new TransientMappingComposite(subjectHolder, parent, widgetFactory);
+ return new TransientMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLink2_3PersistenceUnitMetadataComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLink2_3PersistenceUnitMetadataComposite.java
index d29110cf30..16b0ad2b69 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLink2_3PersistenceUnitMetadataComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLink2_3PersistenceUnitMetadataComposite.java
@@ -26,13 +26,15 @@ import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsM
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.TenantDiscriminatorColumnsComposite;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.TenantDiscriminatorColumnsComposite.TenantDiscriminatorColumnsEditor;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.db.CatalogCombo;
import org.eclipse.jpt.jpa.ui.internal.details.db.SchemaCombo;
import org.eclipse.jpt.jpa.ui.internal.details.orm.EntityMappingsDetailsPage;
import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
import org.eclipse.jpt.jpa.ui.internal.details.orm.PersistenceUnitMetadataComposite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.Jpa2_0FlagTransformer;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
@@ -83,46 +85,39 @@ public class EclipseLink2_3PersistenceUnitMetadataComposite extends PersistenceU
@Override
protected void initializeLayout(Composite container) {
-
- // Section
- container = addCollapsibleSection(
- container,
- JptUiDetailsOrmMessages.PersistenceUnitMetadataComposite_persistenceUnitSection
- );
-
// XML mapping metadata complete check box
- addCheckBox(
+ Button metadataCompleteCheckBox = addCheckBox(
container,
JptUiDetailsOrmMessages.PersistenceUnitMetadataComposite_xmlMappingMetadataCompleteCheckBox,
buildXmlMappingMetadataCompleteHolder(),
JpaHelpContextIds.ENTITY_ORM_XML
);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ metadataCompleteCheckBox.setLayoutData(gridData);
// Cascade Persist check-box
- addCheckBox(
+ Button cascadePersistCheckBox = addCheckBox(
container,
JptUiDetailsOrmMessages.PersistenceUnitMetadataComposite_cascadePersistCheckBox,
buildCascadePersistHolder(),
JpaHelpContextIds.ENTITY_ORM_CASCADE
);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ cascadePersistCheckBox.setLayoutData(gridData);
// Schema widgets
- addLabeledComposite(
- container,
- JptUiDetailsOrmMessages.PersistenceUnitMetadataComposite_schema,
- addSchemaCombo(container),
- JpaHelpContextIds.ENTITY_ORM_SCHEMA
- );
+ this.addLabel(container, JptUiDetailsOrmMessages.PersistenceUnitMetadataComposite_schema);
+ this.addSchemaCombo(container);
// Catalog widgets
- addLabeledComposite(
- container,
- JptUiDetailsOrmMessages.PersistenceUnitMetadataComposite_catalog,
- addCatalogCombo(container),
- JpaHelpContextIds.ENTITY_ORM_CATALOG
- );
+ this.addLabel(container, JptUiDetailsOrmMessages.PersistenceUnitMetadataComposite_catalog);
+ this.addCatalogCombo(container);
- new AccessTypeComposite(this, this.getPersistenceUnitDefaultsHolder(), container);
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.getPersistenceUnitDefaultsHolder(), container);
// Delimited Identifiers check-box
Button diCheckBox = this.addCheckBox(
@@ -131,6 +126,9 @@ public class EclipseLink2_3PersistenceUnitMetadataComposite extends PersistenceU
this.buildDelimitedIdentifiersHolder(),
JpaHelpContextIds.ENTITY_ORM_DELIMITED_IDENTIFIERS
);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ diCheckBox.setLayoutData(gridData);
SWTTools.controlVisibleState(Jpa2_0FlagTransformer.convertToFlagModel(this.getSubjectHolder()), diCheckBox);
@@ -140,19 +138,17 @@ public class EclipseLink2_3PersistenceUnitMetadataComposite extends PersistenceU
container,
EclipseLinkUiDetailsMessages.TenantDiscriminatorColumns_groupLabel
);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ tenantDiscriminatorColumnGroupPane.setLayoutData(gridData);
this.tenantDiscriminatorColumnsComposite = new TenantDiscriminatorColumnsComposite<OrmPersistenceUnitDefaults>(
getPersistenceUnitDefaultsHolder(),
+ buildPaneEnablerHolder(),
tenantDiscriminatorColumnGroupPane,
getWidgetFactory(),
buildTenantDiscriminatorColumnsEditor()
);
-
- installTenantDiscriminatorColumnsPaneEnabler(this.tenantDiscriminatorColumnsComposite);
- }
-
- protected void installTenantDiscriminatorColumnsPaneEnabler(TenantDiscriminatorColumnsComposite<OrmPersistenceUnitDefaults> pane) {
- pane.installListPaneEnabler(buildPaneEnablerHolder());
}
private PropertyValueModel<Boolean> buildPaneEnablerHolder() {
@@ -170,9 +166,10 @@ public class EclipseLink2_3PersistenceUnitMetadataComposite extends PersistenceU
class TenantDiscriminatorColumnsProvider implements TenantDiscriminatorColumnsEditor<OrmPersistenceUnitDefaults> {
- public void addTenantDiscriminatorColumn(OrmPersistenceUnitDefaults subject) {
+ public ReadOnlyTenantDiscriminatorColumn2_3 addTenantDiscriminatorColumn(OrmPersistenceUnitDefaults subject) {
OrmTenantDiscriminatorColumn2_3 column = ((EclipseLinkPersistenceUnitDefaults) subject).addTenantDiscriminatorColumn();
column.setSpecifiedName(ReadOnlyTenantDiscriminatorColumn2_3.DEFAULT_NAME);
+ return column;
}
public ListIterable<ReadOnlyTenantDiscriminatorColumn2_3> getDefaultTenantDiscriminatorColumns(OrmPersistenceUnitDefaults subject) {
@@ -203,10 +200,8 @@ public class EclipseLink2_3PersistenceUnitMetadataComposite extends PersistenceU
return ((EclipseLinkPersistenceUnitDefaults) subject).hasTenantDiscriminatorColumns();
}
- public void removeTenantDiscriminatorColumns(OrmPersistenceUnitDefaults subject, int[] selectedIndices) {
- for (int index = selectedIndices.length; index-- > 0; ) {
- ((EclipseLinkPersistenceUnitDefaults) subject).removeTenantDiscriminatorColumn(selectedIndices[index]);
- }
+ public void removeTenantDiscriminatorColumn(OrmPersistenceUnitDefaults subject, ReadOnlyTenantDiscriminatorColumn2_3 column) {
+ ((EclipseLinkPersistenceUnitDefaults) subject).removeTenantDiscriminatorColumn((OrmTenantDiscriminatorColumn2_3) column);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkConverterDialog.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkConverterDialog.java
index fade87acf0..c52f2515b2 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkConverterDialog.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkConverterDialog.java
@@ -114,20 +114,22 @@ public class EclipseLinkConverterDialog
}
@Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
- this.nameText = addLabeledText(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkConverterDialog_name,
- buildNameHolder()
- );
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkConverterDialog_name);
+ this.addText(container, buildNameHolder());
- addLabeledCombo(
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkConverterDialog_converterType);
+ this.addCombo(
container,
- EclipseLinkUiDetailsMessages.EclipseLinkConverterDialog_converterType,
buildConverterTypeListHolder(),
buildConverterTypeHolder(),
buildStringConverter(),
- null);
+ (String) null);
}
protected ListValueModel<Class<? extends EclipseLinkConverter>> buildConverterTypeListHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappings2_0DetailsPage.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappings2_0DetailsPage.java
index 55fd4380f3..82718d1f47 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappings2_0DetailsPage.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappings2_0DetailsPage.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -16,11 +16,11 @@ import org.eclipse.jpt.jpa.ui.internal.details.db.CatalogCombo;
import org.eclipse.jpt.jpa.ui.internal.details.db.SchemaCombo;
import org.eclipse.jpt.jpa.ui.internal.details.orm.EntityMappingsGeneratorsComposite;
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPackageChooser;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmQueriesComposite;
import org.eclipse.jpt.jpa.ui.internal.details.orm.PersistenceUnitMetadataComposite;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Queries2_0Composite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm.EntityMappingsGenerators2_0Composite;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm.OrmQueries2_0Composite;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* Here the layout of this pane:
@@ -91,12 +91,12 @@ public class EclipseLinkEntityMappings2_0DetailsPage extends AbstractEclipseLink
}
@Override
- protected void initializeGeneratorsCollapsibleSection(Composite container) {
- new EntityMappingsGenerators2_0Composite(this, container);
+ protected Control initializeGeneratorsSection(Composite container) {
+ return new EntityMappingsGenerators2_0Composite(this, container).getControl();
}
@Override
- protected void initializeQueriesCollapsibleSection(Composite container) {
- new OrmQueries2_0Composite(this, container);
+ protected Control initializeQueriesSection(Composite container) {
+ return new Queries2_0Composite(this, this.buildQueryContainerHolder(), container).getControl();
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappings2_3DetailsPage.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappings2_3DetailsPage.java
index fb5f43a3e1..b11f63332f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappings2_3DetailsPage.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappings2_3DetailsPage.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle. All rights reserved.
+ * Copyright (c) 2011, 2012 Oracle. 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.
@@ -10,9 +10,16 @@
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Queries2_0Composite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm.EntityMappingsGenerators2_0Composite;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm.OrmQueries2_0Composite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -89,26 +96,41 @@ public class EclipseLinkEntityMappings2_3DetailsPage extends AbstractEclipseLink
}
@Override
- protected void initializeGeneratorsCollapsibleSection(Composite container) {
- new EntityMappingsGenerators2_0Composite(this, container);
+ protected Control initializeGeneratorsSection(Composite container) {
+ return new EntityMappingsGenerators2_0Composite(this, container).getControl();
}
@Override
- protected void initializeQueriesCollapsibleSection(Composite container) {
- new OrmQueries2_0Composite(this, container);
+ protected Control initializeQueriesSection(Composite container) {
+ return new Queries2_0Composite(this, this.buildQueryContainerHolder(), container).getControl();
}
@Override
- protected void initializePersistenceUnitMetadataCollapsibleSection(Composite container) {
- new EclipseLink2_3PersistenceUnitMetadataComposite(
+ protected Control initializePersistenceUnitMetadataSection(Composite container) {
+ return new EclipseLink2_3PersistenceUnitMetadataComposite(
this,
buildPersistentUnitMetadataHolder(),
- addSubPane(container, 5)
- );
+ container
+ ).getControl();
}
protected void initializeMultitenancyCollapsibleSection(Composite container) {
- new EclipseLinkEntityMappingsTenantDiscriminatorColumnsComposite(this, container).getControl();
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_multitenancy);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeMultitenancySection(section));
+ }
+ }
+ });
+ }
+
+ protected Control initializeMultitenancySection(Composite container) {
+ return new EclipseLinkEntityMappingsTenantDiscriminatorColumnsComposite(this, container).getControl();
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappingsDetailsPage.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappingsDetailsPage.java
index 3939440cff..f66ee8c966 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappingsDetailsPage.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappingsDetailsPage.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -16,7 +16,6 @@ import org.eclipse.jpt.jpa.ui.internal.details.db.CatalogCombo;
import org.eclipse.jpt.jpa.ui.internal.details.db.SchemaCombo;
import org.eclipse.jpt.jpa.ui.internal.details.orm.EntityMappingsGeneratorsComposite;
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPackageChooser;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmQueriesComposite;
import org.eclipse.jpt.jpa.ui.internal.details.orm.PersistenceUnitMetadataComposite;
import org.eclipse.swt.widgets.Composite;
@@ -67,7 +66,7 @@ import org.eclipse.swt.widgets.Composite;
* @see EnumFormComboViewer
* @see EntityMappingsGeneratorsComposite
* @see OrmPackageChooser
- * @see OrmQueriesComposite
+ * @see QueriesComposite
* @see PersistenceUnitMetadataComposite
* @see SchemaCombo
*
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappingsTenantDiscriminatorColumnsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappingsTenantDiscriminatorColumnsComposite.java
index 65584d2503..7778aff0ad 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappingsTenantDiscriminatorColumnsComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappingsTenantDiscriminatorColumnsComposite.java
@@ -34,23 +34,14 @@ import org.eclipse.swt.widgets.Group;
public class EclipseLinkEntityMappingsTenantDiscriminatorColumnsComposite extends Pane<EntityMappings> {
- private TenantDiscriminatorColumnsComposite<EntityMappings> tenantDiscriminatorColumnsComposite;
-
public EclipseLinkEntityMappingsTenantDiscriminatorColumnsComposite(Pane<? extends EntityMappings> parentPane,
Composite parent) {
super(parentPane, parent);
}
-
@Override
protected void initializeLayout(Composite container) {
-
- container = this.addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_multitenancy
- );
-
// Tenant discriminator columns group pane
Group tenantDiscriminatorColumnGroupPane = addTitledGroup(
container,
@@ -59,20 +50,19 @@ public class EclipseLinkEntityMappingsTenantDiscriminatorColumnsComposite extend
// Override Default Tenant Discriminator Columns check box
addCheckBox(
- addSubPane(tenantDiscriminatorColumnGroupPane, 8),
+ tenantDiscriminatorColumnGroupPane,
EclipseLinkUiDetailsMessages.EclipseLinkMultitenancy_overrideDefaultTenantDiscriminatorColumns,
buildOverrideDefaultTenantDiscriminatorColumnHolder(),
null
);
- this.tenantDiscriminatorColumnsComposite = this.buildTenantDiscriminatorColumnsComposite(tenantDiscriminatorColumnGroupPane);
-
- this.tenantDiscriminatorColumnsComposite.installListPaneEnabler(new TenantDiscriminatorColumnPaneEnablerHolder());
+ this.buildTenantDiscriminatorColumnsComposite(tenantDiscriminatorColumnGroupPane);
}
protected TenantDiscriminatorColumnsComposite<EntityMappings> buildTenantDiscriminatorColumnsComposite(Composite container) {
return new TenantDiscriminatorColumnsComposite<EntityMappings>(
getSubjectHolder(),
+ new TenantDiscriminatorColumnPaneEnablerHolder(),
container,
getWidgetFactory(),
buildTenantDiscriminatorColumnsEditor());
@@ -85,9 +75,10 @@ public class EclipseLinkEntityMappingsTenantDiscriminatorColumnsComposite extend
class TenantDiscriminatorColumnsProvider implements TenantDiscriminatorColumnsEditor<EntityMappings> {
- public void addTenantDiscriminatorColumn(EntityMappings subject) {
+ public ReadOnlyTenantDiscriminatorColumn2_3 addTenantDiscriminatorColumn(EntityMappings subject) {
OrmTenantDiscriminatorColumn2_3 column = ((EclipseLinkEntityMappings) subject).addSpecifiedTenantDiscriminatorColumn();
column.setSpecifiedName(ReadOnlyTenantDiscriminatorColumn2_3.DEFAULT_NAME);
+ return column;
}
public ListIterable<ReadOnlyTenantDiscriminatorColumn2_3> getDefaultTenantDiscriminatorColumns(EntityMappings subject) {
@@ -118,17 +109,11 @@ public class EclipseLinkEntityMappingsTenantDiscriminatorColumnsComposite extend
return ((EclipseLinkEntityMappings) subject).hasSpecifiedTenantDiscriminatorColumns();
}
- public void removeTenantDiscriminatorColumns(EntityMappings subject, int[] selectedIndices) {
- for (int index = selectedIndices.length; index-- > 0; ) {
- ((EclipseLinkEntityMappings) subject).removeSpecifiedTenantDiscriminatorColumn(selectedIndices[index]);
- }
+ public void removeTenantDiscriminatorColumn(EntityMappings subject, ReadOnlyTenantDiscriminatorColumn2_3 column) {
+ ((EclipseLinkEntityMappings) subject).removeSpecifiedTenantDiscriminatorColumn((OrmTenantDiscriminatorColumn2_3) column);
}
}
- void setSelectedTenantDiscriminatorColumn(ReadOnlyTenantDiscriminatorColumn2_3 tenantDiscriminatorColumn) {
- this.tenantDiscriminatorColumnsComposite.setSelectedTenantDiscriminatorColumn(tenantDiscriminatorColumn);
- }
-
private ModifiablePropertyValueModel<Boolean> buildOverrideDefaultTenantDiscriminatorColumnHolder() {
return new OverrideDefaultTenantDiscriminatorColumnHolder();
}
@@ -223,7 +208,7 @@ public class EclipseLinkEntityMappingsTenantDiscriminatorColumnsComposite extend
@Override
protected Boolean transform(EntityMappings v) {
- return (v == null) ? Boolean.FALSE : super.transform(v);
+ return (v == null) ? Boolean.FALSE : super.transform(v);
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml1_1UiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml1_1UiFactory.java
index 654e751cfe..72001f7562 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml1_1UiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml1_1UiFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -30,74 +30,81 @@ public class EclipseLinkOrmXml1_1UiFactory extends BaseEclipseLinkOrmXmlUiFactor
@Override
public JpaComposite createOrmIdMappingComposite(
PropertyValueModel<OrmIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkIdMapping1_1Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkIdMapping1_1Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmEmbeddedIdMappingComposite(
PropertyValueModel<OrmEmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkEmbeddedIdMapping1_1Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkEmbeddedIdMapping1_1Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmBasicMappingComposite(
PropertyValueModel<OrmBasicMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkBasicMapping1_1Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkBasicMapping1_1Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmVersionMappingComposite(
PropertyValueModel<OrmVersionMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkVersionMapping1_1Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkVersionMapping1_1Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmManyToOneMappingComposite(
PropertyValueModel<OrmManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkManyToOneMapping1_1Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkManyToOneMapping1_1Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- @SuppressWarnings("unchecked")
public JpaComposite createOrmOneToManyMappingComposite(
PropertyValueModel<OrmOneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkOneToManyMapping1_1Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkOneToManyMapping1_1Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- @SuppressWarnings("unchecked")
public JpaComposite createOrmOneToOneMappingComposite(
PropertyValueModel<OrmOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkOneToOneMapping1_1Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkOneToOneMapping1_1Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmManyToManyMappingComposite(
PropertyValueModel<OrmManyToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkManyToManyMapping1_1Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkManyToManyMapping1_1Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmEmbeddedMappingComposite(
PropertyValueModel<OrmEmbeddedMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkEmbeddedMapping1_1Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkEmbeddedMapping1_1Composite(subjectHolder, enabledModel,parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml2_0UiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml2_0UiFactory.java
index ae64260644..c89eec7d73 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml2_0UiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml2_0UiFactory.java
@@ -52,79 +52,89 @@ public class EclipseLinkOrmXml2_0UiFactory
@Override
public JpaComposite createOrmIdMappingComposite(
PropertyValueModel<OrmIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkIdMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkIdMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmEmbeddedMappingComposite(
PropertyValueModel<OrmEmbeddedMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkEmbeddedMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkEmbeddedMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmEmbeddedIdMappingComposite(
PropertyValueModel<OrmEmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkEmbeddedIdMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkEmbeddedIdMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmBasicMappingComposite(
PropertyValueModel<OrmBasicMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkBasicMapping1_1Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkBasicMapping1_1Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmVersionMappingComposite(
PropertyValueModel<OrmVersionMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkVersionMapping1_1Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkVersionMapping1_1Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmManyToOneMappingComposite(
PropertyValueModel<OrmManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkManyToOneMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkManyToOneMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmOneToManyMappingComposite(
PropertyValueModel<OrmOneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkOneToManyMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkOneToManyMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmOneToOneMappingComposite(
PropertyValueModel<OrmOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkOneToOneMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkOneToOneMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmManyToManyMappingComposite(
PropertyValueModel<OrmManyToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkManyToManyMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkManyToManyMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createOrmElementCollectionMapping2_0Composite(
PropertyValueModel<OrmElementCollectionMapping2_0> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkElementCollectionMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkElementCollectionMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml2_1UiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml2_1UiFactory.java
index 837f7e82d6..9b314371db 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml2_1UiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml2_1UiFactory.java
@@ -23,9 +23,10 @@ public class EclipseLinkOrmXml2_1UiFactory
@Override
public JpaComposite createOrmElementCollectionMapping2_0Composite(
PropertyValueModel<OrmElementCollectionMapping2_0> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEclipseLinkElementCollectionMapping2_1Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEclipseLinkElementCollectionMapping2_1Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmAttributeTypeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmAttributeTypeClassChooser.java
index 2119f7e8ca..6c9087949b 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmAttributeTypeComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmAttributeTypeClassChooser.java
@@ -20,25 +20,27 @@ import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.AttributeMapping;
import org.eclipse.jpt.jpa.core.context.orm.OrmAttributeMapping;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkAccessType;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
-public class OrmAttributeTypeComposite
+public class OrmAttributeTypeClassChooser
extends ClassChooserPane<AttributeMapping>
{
- public OrmAttributeTypeComposite(Pane<?> parentPane,
+ public OrmAttributeTypeClassChooser(Pane<?> parentPane,
PropertyValueModel<? extends AttributeMapping> subjectHolder,
- Composite parent) {
+ Composite parent,
+ Hyperlink hyperlink) {
- this(parentPane, subjectHolder, parent, buildVirtualAttributeModel(subjectHolder));
+ this(parentPane, subjectHolder, buildVirtualAttributeModel(subjectHolder), parent, hyperlink);
}
- public OrmAttributeTypeComposite(Pane<?> parentPane,
+ public OrmAttributeTypeClassChooser(Pane<?> parentPane,
PropertyValueModel<? extends AttributeMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
- PropertyValueModel<Boolean> enabledModel) {
+ Hyperlink hyperlink) {
- super(parentPane, subjectHolder, parent, enabledModel);
+ super(parentPane, subjectHolder, enabledModel, parent, hyperlink);
}
@Override
@@ -47,11 +49,6 @@ public class OrmAttributeTypeComposite
}
@Override
- protected String getLabelText() {
- return EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType;
- }
-
- @Override
protected ModifiablePropertyValueModel<String> buildTextHolder() {
return new PropertyAspectAdapter<AttributeMapping, String>(
getSubjectHolder(),
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkArrayMapping2_3UiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkArrayMapping2_3UiDefinition.java
index ad000afce5..1893978953 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkArrayMapping2_3UiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkArrayMapping2_3UiDefinition.java
@@ -47,9 +47,10 @@ public class OrmEclipseLinkArrayMapping2_3UiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<EclipseLinkArrayMapping2_3> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkArrayMapping2_3Composite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkArrayMapping2_3Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicCollectionMapping1_1Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicCollectionMapping1_1Composite.java
index f8eff7837e..86aec0547f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicCollectionMapping1_1Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicCollectionMapping1_1Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -16,7 +16,8 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkBasicCollectionMapping;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.swt.widgets.Composite;
/**
@@ -42,8 +43,14 @@ public class OrmEclipseLinkBasicCollectionMapping1_1Composite extends Pane<Eclip
}
@Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicCollectionMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicCollectionMappingUiDefinition.java
index 20d7eb523b..ad59afbd01 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicCollectionMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicCollectionMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -48,9 +48,10 @@ public class OrmEclipseLinkBasicCollectionMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<EclipseLinkBasicCollectionMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkBasicCollectionMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkBasicCollectionMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMapMapping1_1Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMapMapping1_1Composite.java
index 42c83957c4..a49581b295 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMapMapping1_1Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMapMapping1_1Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -16,7 +16,8 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkBasicMapMapping;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.swt.widgets.Composite;
/**
@@ -42,8 +43,14 @@ public class OrmEclipseLinkBasicMapMapping1_1Composite extends Pane<EclipseLinkB
}
@Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMapMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMapMappingUiDefinition.java
index 901be5bfc9..a034356191 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMapMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMapMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -48,9 +48,10 @@ public class OrmEclipseLinkBasicMapMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<EclipseLinkBasicMapMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkBasicMapMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkBasicMapMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMapping1_1Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMapping1_1Composite.java
index 45d8dbfac9..7aecc13395 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMapping1_1Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMapping1_1Composite.java
@@ -15,13 +15,20 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.BasicMapping;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkBasicMappingComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableTriStateCheckBox;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkBasicMapping1_1Composite extends EclipseLinkBasicMappingComposite<BasicMapping>
{
@@ -33,10 +40,11 @@ public class OrmEclipseLinkBasicMapping1_1Composite extends EclipseLinkBasicMapp
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEclipseLinkBasicMapping1_1Composite(PropertyValueModel<? extends BasicMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
@@ -47,14 +55,44 @@ public class OrmEclipseLinkBasicMapping1_1Composite extends EclipseLinkBasicMapp
}
@Override
- protected void initializeBasicSection(Composite container) {
- new ColumnComposite(this, buildColumnHolder(), container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new OptionalComposite(this, addSubPane(container, 4));
- new EclipseLinkMutableComposite(this, buildMutableHolder(), container);
+ protected Control initializeBasicSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Column widgets
+ ColumnComposite columnComposite = new ColumnComposite(this, buildColumnHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ columnComposite.getControl().setLayoutData(gridData);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Mutable widgets
+ EclipseLinkMutableTriStateCheckBox mutableCheckBox = new EclipseLinkMutableTriStateCheckBox(this, buildMutableHolder(), container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ mutableCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMappingComposite.java
index 8b1fc2234d..7e6bab1add 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMappingComposite.java
@@ -13,12 +13,18 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.BasicMapping;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkBasicMappingComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableTriStateCheckBox;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkBasicMappingComposite extends EclipseLinkBasicMappingComposite<BasicMapping>
{
@@ -30,19 +36,47 @@ public class OrmEclipseLinkBasicMappingComposite extends EclipseLinkBasicMapping
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEclipseLinkBasicMappingComposite(PropertyValueModel<? extends BasicMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeBasicSection(Composite container) {
- new ColumnComposite(this, buildColumnHolder(), container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new FetchTypeComposite(this, container);
- new OptionalComposite(this, addSubPane(container, 4));
- new EclipseLinkMutableComposite(this, buildMutableHolder(), container);
+ protected Control initializeBasicSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Column widgets
+ ColumnComposite columnComposite = new ColumnComposite(this, buildColumnHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ columnComposite.getControl().setLayoutData(gridData);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Mutable widgets
+ EclipseLinkMutableTriStateCheckBox mutableCheckBox = new EclipseLinkMutableTriStateCheckBox(this, buildMutableHolder(), container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ mutableCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkCaching2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkCaching2_0Composite.java
index 445f3ce413..b00b8456a0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkCaching2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkCaching2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 201 Oracle. 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.
@@ -12,12 +12,10 @@ package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkCaching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkAlwaysRefreshComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheSizeComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheTypeComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheSizeCombo;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheTypeComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCaching2_0Composite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkDisableHitsComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkRefreshOnlyIfNewerComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.java.JavaEclipseLinkEntityComposite;
import org.eclipse.swt.widgets.Composite;
@@ -42,8 +40,8 @@ import org.eclipse.swt.widgets.Composite;
* @see Entity
* @see EclipseLinkCaching
* @see JavaEclipseLinkEntityComposite - The parent container
- * @see EclipseLinkCacheTypeComposite
- * @see EclipseLinkCacheSizeComposite
+ * @see EclipseLinkCacheTypeComboViewer
+ * @see EclipseLinkCacheSizeCombo
* @see EclipseLinkAlwaysRefreshComposite
* @see EclipseLinkRefreshOnlyIfNewerComposite
* @see EclipseLinkDisableHitsComposite
@@ -62,7 +60,8 @@ public class OrmEclipseLinkCaching2_0Composite extends EclipseLinkCaching2_0Comp
}
@Override
- protected void initializeExistenceCheckingComposite(Composite parent) {
- new OrmEclipseLinkExistenceCheckingComposite(this, parent);
+ protected void initializeExistenceCheckingComposite(Composite container) {
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_label);
+ this.addExistenceCheckingTypeCombo(container);
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkCachingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkCachingComposite.java
index cf0dd25520..a554e1f656 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkCachingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkCachingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -12,12 +12,10 @@ package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkCaching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkAlwaysRefreshComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheSizeComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheTypeComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheSizeCombo;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCacheTypeComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkCachingComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkDisableHitsComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkRefreshOnlyIfNewerComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.java.JavaEclipseLinkEntityComposite;
import org.eclipse.swt.widgets.Composite;
@@ -42,8 +40,8 @@ import org.eclipse.swt.widgets.Composite;
* @see Entity
* @see EclipseLinkCaching
* @see JavaEclipseLinkEntityComposite - The parent container
- * @see EclipseLinkCacheTypeComposite
- * @see EclipseLinkCacheSizeComposite
+ * @see EclipseLinkCacheTypeComboViewer
+ * @see EclipseLinkCacheSizeCombo
* @see EclipseLinkAlwaysRefreshComposite
* @see EclipseLinkRefreshOnlyIfNewerComposite
* @see EclipseLinkDisableHitsComposite
@@ -62,7 +60,8 @@ public class OrmEclipseLinkCachingComposite extends EclipseLinkCachingComposite<
}
@Override
- protected void initializeExistenceCheckingComposite(Composite parent) {
- new OrmEclipseLinkExistenceCheckingComposite(this, parent);
+ protected void initializeExistenceCheckingComposite(Composite container) {
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_label);
+ this.addExistenceCheckingTypeCombo(container);
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkElementCollectionMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkElementCollectionMapping2_0Composite.java
index cc53250494..e35febff2e 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkElementCollectionMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkElementCollectionMapping2_0Composite.java
@@ -10,7 +10,7 @@
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.CompositeBooleanPropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
@@ -20,17 +20,24 @@ import org.eclipse.jpt.jpa.core.context.Converter;
import org.eclipse.jpt.jpa.core.context.ConvertibleMapping;
import org.eclipse.jpt.jpa.core.jpa2.context.ElementCollectionMapping2_0;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkConvertComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkConvertCombo;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkElementCollectionMapping2_0Composite;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CollectionTable2_0Composite;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.TargetClassComposite;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.JptUiDetailsMessages2_0;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.TargetClassChooser;
import org.eclipse.swt.layout.GridData;
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.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkElementCollectionMapping2_0Composite
extends EclipseLinkElementCollectionMapping2_0Composite<ElementCollectionMapping2_0>
@@ -43,20 +50,44 @@ public class OrmEclipseLinkElementCollectionMapping2_0Composite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEclipseLinkElementCollectionMapping2_0Composite(PropertyValueModel<? extends ElementCollectionMapping2_0> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeElementCollectionSection(Composite container) {
- new TargetClassComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new CollectionTable2_0Composite(this, buildCollectionTableHolder(), container);
+ protected Control initializeElementCollectionSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target class widgets
+ Hyperlink hyperlink = this.addHyperlink(container, JptUiDetailsMessages2_0.TargetClassComposite_label);
+ new TargetClassChooser(this, container, hyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Collection table widgets
+ CollectionTable2_0Composite collectionTableComposite = new CollectionTable2_0Composite(this, buildCollectionTableHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ collectionTableComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
@@ -69,23 +100,25 @@ public class OrmEclipseLinkElementCollectionMapping2_0Composite
}
@Override
- protected void initializeBasicValueTypeSection(Composite typeSection) {
- super.initializeBasicValueTypeSection(typeSection);
+ protected void initializeBasicValueTypeSection(Composite container) {
+ super.initializeBasicValueTypeSection(container);
PropertyValueModel<Converter> converterHolder = buildConverterHolder();
// EclipseLink Converter
Button elConverterButton = addRadioButton(
- typeSection,
+ container,
EclipseLinkUiDetailsMessages.TypeSection_converted,
buildConverterBooleanHolder(EclipseLinkConvert.class),
null);
((GridData) elConverterButton.getLayoutData()).horizontalSpan = 2;
- Pane<EclipseLinkConvert> convertComposite = buildConvertComposite(buildEclipseLinkConverterHolder(converterHolder), typeSection);
- GridData gridData = (GridData) convertComposite.getControl().getLayoutData();
- gridData.horizontalSpan = 2;
+ PropertyValueModel<EclipseLinkConvert> convertHolder = buildEclipseLinkConverterHolder(converterHolder);
+ PropertyValueModel<Boolean> convertEnabledModel = CompositeBooleanPropertyValueModel.and(getEnabledModel(), buildEclipseLinkConvertBooleanHolder(convertHolder));
+ Label convertLabel = this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkConvertComposite_converterNameLabel, convertEnabledModel);
+ GridData gridData = new GridData();
gridData.horizontalIndent = 20;
- registerSubPane(convertComposite);
+ convertLabel.setLayoutData(gridData);
+ registerSubPane(new EclipseLinkConvertCombo(convertHolder, convertEnabledModel, container, getWidgetFactory()));
}
protected PropertyValueModel<Converter> buildConverterHolder() {
@@ -114,10 +147,6 @@ public class OrmEclipseLinkElementCollectionMapping2_0Composite
};
}
- protected Pane<EclipseLinkConvert> buildConvertComposite(PropertyValueModel<EclipseLinkConvert> convertHolder, Composite container) {
- return new EclipseLinkConvertComposite(convertHolder, container, getWidgetFactory());
- }
-
protected PropertyValueModel<EclipseLinkConvert> buildEclipseLinkConverterHolder(PropertyValueModel<Converter> converterHolder) {
return new TransformationPropertyValueModel<Converter, EclipseLinkConvert>(converterHolder) {
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkElementCollectionMapping2_1Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkElementCollectionMapping2_1Composite.java
index b7026f07f9..91eaabd763 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkElementCollectionMapping2_1Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkElementCollectionMapping2_1Composite.java
@@ -10,7 +10,7 @@
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.CompositeBooleanPropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
@@ -22,18 +22,25 @@ import org.eclipse.jpt.jpa.core.jpa2.context.ElementCollectionMapping2_0;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkElementCollectionMapping2_0;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetch;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkConvertComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkConvertCombo;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkElementCollectionMapping2_0Composite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CollectionTable2_0Composite;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.TargetClassComposite;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.JptUiDetailsMessages2_0;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.TargetClassChooser;
import org.eclipse.swt.layout.GridData;
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.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkElementCollectionMapping2_1Composite
extends EclipseLinkElementCollectionMapping2_0Composite<ElementCollectionMapping2_0>
@@ -46,21 +53,48 @@ public class OrmEclipseLinkElementCollectionMapping2_1Composite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEclipseLinkElementCollectionMapping2_1Composite(PropertyValueModel<? extends ElementCollectionMapping2_0> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeElementCollectionSection(Composite container) {
- new TargetClassComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchHolder(), container);
- new CollectionTable2_0Composite(this, buildCollectionTableHolder(), container);
+ protected Control initializeElementCollectionSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target class widgets
+ Hyperlink hyperlink = this.addHyperlink(container, JptUiDetailsMessages2_0.TargetClassComposite_label);
+ new TargetClassChooser(this, container, hyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchHolder(), container);
+
+ // Collection table widgets
+ CollectionTable2_0Composite collectionTableComposite = new CollectionTable2_0Composite(this, buildCollectionTableHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ collectionTableComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
@@ -82,23 +116,25 @@ public class OrmEclipseLinkElementCollectionMapping2_1Composite
}
@Override
- protected void initializeBasicValueTypeSection(Composite typeSection) {
- super.initializeBasicValueTypeSection(typeSection);
+ protected void initializeBasicValueTypeSection(Composite container) {
+ super.initializeBasicValueTypeSection(container);
PropertyValueModel<Converter> converterHolder = buildConverterHolder();
// EclipseLink Converter
Button elConverterButton = addRadioButton(
- typeSection,
+ container,
EclipseLinkUiDetailsMessages.TypeSection_converted,
buildConverterBooleanHolder(EclipseLinkConvert.class),
null);
((GridData) elConverterButton.getLayoutData()).horizontalSpan = 2;
- Pane<EclipseLinkConvert> convertComposite = buildConvertComposite(buildEclipseLinkConverterHolder(converterHolder), typeSection);
- GridData gridData = (GridData) convertComposite.getControl().getLayoutData();
- gridData.horizontalSpan = 2;
+ PropertyValueModel<EclipseLinkConvert> convertHolder = buildEclipseLinkConverterHolder(converterHolder);
+ PropertyValueModel<Boolean> convertEnabledModel = CompositeBooleanPropertyValueModel.and(getEnabledModel(), buildEclipseLinkConvertBooleanHolder(convertHolder));
+ Label convertLabel = this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkConvertComposite_converterNameLabel, convertEnabledModel);
+ GridData gridData = new GridData();
gridData.horizontalIndent = 20;
- registerSubPane(convertComposite);
+ convertLabel.setLayoutData(gridData);
+ registerSubPane(new EclipseLinkConvertCombo(convertHolder, convertEnabledModel, container, getWidgetFactory()));
}
protected PropertyValueModel<Converter> buildConverterHolder() {
@@ -127,10 +163,6 @@ public class OrmEclipseLinkElementCollectionMapping2_1Composite
};
}
- protected Pane<EclipseLinkConvert> buildConvertComposite(PropertyValueModel<EclipseLinkConvert> convertHolder, Composite container) {
- return new EclipseLinkConvertComposite(convertHolder, container, getWidgetFactory());
- }
-
protected PropertyValueModel<EclipseLinkConvert> buildEclipseLinkConverterHolder(PropertyValueModel<Converter> converterHolder) {
return new TransformationPropertyValueModel<Converter, EclipseLinkConvert>(converterHolder) {
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddableComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddableComposite.java
index cf12bc8da5..fc053ae83f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddableComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddableComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -21,11 +21,20 @@ import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkConverters
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkEmbeddableAdvancedComposite;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEmbeddableComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.MetadataCompleteComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.MetadataCompleteTriStateCheckBox;
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmJavaClassChooser;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+import org.eclipse.ui.forms.widgets.Section;
/**
* This pane does not have any widgets.
@@ -62,10 +71,24 @@ public class OrmEclipseLinkEmbeddableComposite
}
@Override
- protected void initializeEmbeddableSection(Composite container) {
- new OrmJavaClassChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolder(), container);
- new MetadataCompleteComposite(this, getSubjectHolder(), container);
+ protected Control initializeEmbeddableSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Java class widgets
+ Hyperlink javaClassHyperlink = this.addHyperlink(container, JptUiDetailsOrmMessages.OrmJavaClassChooser_javaClass);
+ new OrmJavaClassChooser(this, getSubjectHolder(), container, javaClassHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolder(), container);
+
+ // Metadata complete widgets
+ MetadataCompleteTriStateCheckBox metadataCompleteComposite = new MetadataCompleteTriStateCheckBox(this, getSubjectHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ metadataCompleteComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolder() {
@@ -78,19 +101,26 @@ public class OrmEclipseLinkEmbeddableComposite
}
};
}
+
protected void initializeConvertersCollapsibleSection(Composite container) {
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters);
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters
- );
- initializeConvertersSection(container, this.buildConverterContainerModel());
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeConvertersSection(section));
+ }
+ }
+ });
}
- protected void initializeConvertersSection(Composite container, PropertyValueModel<OrmEclipseLinkConverterContainer> converterHolder) {
- new EclipseLinkConvertersComposite(this, converterHolder, container);
+ protected Control initializeConvertersSection(Composite container) {
+ return new EclipseLinkConvertersComposite(this, this.buildConverterContainerModel(), container).getControl();
}
-
+
private PropertyValueModel<OrmEclipseLinkConverterContainer> buildConverterContainerModel() {
return new PropertyAspectAdapter<OrmEmbeddable, OrmEclipseLinkConverterContainer>(getSubjectHolder()) {
@Override
@@ -99,8 +129,23 @@ public class OrmEclipseLinkEmbeddableComposite
}
};
}
-
+
protected void initializeAdvancedCollapsibleSection(Composite container) {
- new EclipseLinkEmbeddableAdvancedComposite(this, container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_advanced);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeAdvancedSection(section));
+ }
+ }
+ });
+ }
+
+ protected Control initializeAdvancedSection(Composite container) {
+ return new EclipseLinkEmbeddableAdvancedComposite(this, container).getControl();
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedIdMapping1_1Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedIdMapping1_1Composite.java
index 2a5ccdade8..75efb18467 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedIdMapping1_1Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedIdMapping1_1Composite.java
@@ -14,33 +14,57 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEmbeddedIdMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.EmbeddedMappingOverridesComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkEmbeddedIdMapping1_1Composite
extends AbstractEmbeddedIdMappingComposite<EmbeddedIdMapping>
{
public OrmEclipseLinkEmbeddedIdMapping1_1Composite(
PropertyValueModel<? extends EmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeEmbeddedIdSection(Composite container) {
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
+ protected Control initializeEmbeddedIdSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
- new EmbeddedMappingOverridesComposite(
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Overrides widgets
+ EmbeddedMappingOverridesComposite overridesComposite = new EmbeddedMappingOverridesComposite(
this,
container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ overridesComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedIdMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedIdMapping2_0Composite.java
index 8933f37b3d..e38a76eb10 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedIdMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedIdMapping2_0Composite.java
@@ -13,31 +13,61 @@ package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.EmbeddedMappingOverridesComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.EmbeddedIdMapping2_0MappedByRelationshipPane;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkEmbeddedIdMapping2_0Composite
extends OrmEclipseLinkEmbeddedIdMapping1_1Composite
{
public OrmEclipseLinkEmbeddedIdMapping2_0Composite(
PropertyValueModel<? extends EmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeEmbeddedIdSection(Composite container) {
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
+ protected Control initializeEmbeddedIdSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
- new EmbeddedIdMapping2_0MappedByRelationshipPane(this, getSubjectHolder(), container);
- new EmbeddedMappingOverridesComposite(this, container);
+ // Mapped by relationship widgets
+ EmbeddedIdMapping2_0MappedByRelationshipPane mappedByRelationshipPane = new EmbeddedIdMapping2_0MappedByRelationshipPane(this, getSubjectHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ mappedByRelationshipPane.getControl().setLayoutData(gridData);
+
+ // Overrides widgets
+ EmbeddedMappingOverridesComposite overridesComposite = new EmbeddedMappingOverridesComposite(
+ this,
+ container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ overridesComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedMapping1_1Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedMapping1_1Composite.java
index 84af284756..d28f75f763 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedMapping1_1Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedMapping1_1Composite.java
@@ -14,11 +14,17 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.EmbeddedMapping;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEmbeddedMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.EmbeddedMappingOverridesComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -47,22 +53,38 @@ public class OrmEclipseLinkEmbeddedMapping1_1Composite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEclipseLinkEmbeddedMapping1_1Composite(PropertyValueModel<? extends EmbeddedMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeEmbeddedSection(Composite container) {
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
+ protected Control initializeEmbeddedSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
- new EmbeddedMappingOverridesComposite(
- this,
- container
- );
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Overrides widgets
+ EmbeddedMappingOverridesComposite overridesComposite = new EmbeddedMappingOverridesComposite(
+ this,
+ container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ overridesComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedMapping2_0Composite.java
index 2c5f5987ec..4e4f5ffdba 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEmbeddedMapping2_0Composite.java
@@ -14,12 +14,18 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.EmbeddedMapping;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEmbeddedMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.java.BaseJavaUiFactory;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.EmbeddedMapping2_0OverridesComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -49,22 +55,39 @@ public class OrmEclipseLinkEmbeddedMapping2_0Composite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEclipseLinkEmbeddedMapping2_0Composite(PropertyValueModel<? extends EmbeddedMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeEmbeddedSection(Composite container) {
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
+ protected Control initializeEmbeddedSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
- new EmbeddedMapping2_0OverridesComposite(
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Overrides widgets
+ EmbeddedMapping2_0OverridesComposite overridesComposite = new EmbeddedMapping2_0OverridesComposite(
this,
container
);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ overridesComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEntity2_3Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEntity2_3Composite.java
index f2195a2840..183e5e2532 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEntity2_3Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEntity2_3Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle.
+ * Copyright (c) 2011, 2012 Oracle.
* 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
@@ -18,7 +18,13 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkEntity;
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMultitenancy2_3;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMultitenancyComposite;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
public class OrmEclipseLinkEntity2_3Composite extends AbstractOrmEclipseLinkEntity2_xComposite
{
@@ -31,26 +37,34 @@ public class OrmEclipseLinkEntity2_3Composite extends AbstractOrmEclipseLinkEnti
@Override
protected void initializeLayout(Composite container) {
this.initializeEntityCollapsibleSection(container);
- this.initializeCachingCollapsibleSectionPane(container);
+ this.initializeCachingCollapsibleSection(container);
this.initializeQueriesCollapsibleSection(container);
this.initializeInheritanceCollapsibleSection(container);
this.initializeAttributeOverridesCollapsibleSection(container);
- this.initializeMultitenancyCollapsibleSectionPane(container);
+ this.initializeMultitenancyCollapsibleSection(container);
this.initializeGeneratorsCollapsibleSection(container);
this.initializeConvertersCollapsibleSection(container);
this.initializeSecondaryTablesCollapsibleSection(container);
this.initializeAdvancedCollapsibleSection(container);
}
- protected void initializeMultitenancyCollapsibleSectionPane(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_multitenancy);
- initializeMultitenancySection(container, buildMultitenancyHolder());
+ protected void initializeMultitenancyCollapsibleSection(Composite container) {
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_multitenancy);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeMultitenancySection(section));
+ }
+ }
+ });
}
- protected void initializeMultitenancySection(Composite container, PropertyValueModel<OrmEclipseLinkMultitenancy2_3> multitenancyHolder) {
- new EclipseLinkMultitenancyComposite(this, multitenancyHolder, container);
+ protected Control initializeMultitenancySection(Composite container) {
+ return new EclipseLinkMultitenancyComposite(this, this.buildMultitenancyHolder(), container).getControl();
}
private PropertyAspectAdapter<OrmEntity, OrmEclipseLinkMultitenancy2_3> buildMultitenancyHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkExistenceCheckingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkExistenceCheckingComposite.java
deleted file mode 100644
index 989081b890..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkExistenceCheckingComposite.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCaching;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkExistenceType;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here is the layout of this pane:
- * <pre>
- * -------------------------------------------------------------------------
- * | ---------------------------------------------- |
- * | x Existence Checking: | |v| |
- * | ---------------------------------------------- |
- * -------------------------------------------------------------------------</pre>
- *
- * @see EclipseLinkCaching
- * @see CachingComposite - A container of this widget
- *
- * @version 2.1
- * @since 2.1
- */
-public class OrmEclipseLinkExistenceCheckingComposite extends Pane<EclipseLinkCaching> {
-
- /**
- * Creates a new <code>ExistenceCheckingComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public OrmEclipseLinkExistenceCheckingComposite(Pane<? extends EclipseLinkCaching> parentPane,
- Composite parent) {
-
- super(parentPane, parent, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- addLabeledComposite(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_label,
- addExistenceCheckingTypeCombo(container).getControl(),
- null
- );
- }
-
- private EnumFormComboViewer<EclipseLinkCaching, EclipseLinkExistenceType> addExistenceCheckingTypeCombo(Composite container) {
-
- return new EnumFormComboViewer<EclipseLinkCaching, EclipseLinkExistenceType>(this, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(EclipseLinkCaching.DEFAULT_EXISTENCE_TYPE_PROPERTY);
- propertyNames.add(EclipseLinkCaching.SPECIFIED_EXISTENCE_TYPE_PROPERTY);
- }
-
- @Override
- protected EclipseLinkExistenceType[] getChoices() {
- return EclipseLinkExistenceType.values();
- }
-
- @Override
- protected EclipseLinkExistenceType getDefaultValue() {
- return getSubject().getDefaultExistenceType();
- }
-
- @Override
- protected String displayString(EclipseLinkExistenceType value) {
- switch (value) {
- case CHECK_CACHE :
- return EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_check_cache;
- case CHECK_DATABASE :
- return EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_check_database;
- case ASSUME_EXISTENCE :
- return EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_assume_existence;
- case ASSUME_NON_EXISTENCE :
- return EclipseLinkUiDetailsMessages.EclipseLinkExistenceCheckingComposite_assume_non_existence;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected EclipseLinkExistenceType getValue() {
- return getSubject().getSpecifiedExistenceType();
- }
-
- @Override
- protected void setValue(EclipseLinkExistenceType value) {
- getSubject().setSpecifiedExistenceType(value);
- }
-
- @Override
- protected boolean sortChoices() {
- return false;
- }
- };
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMapping1_1Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMapping1_1Composite.java
index 4c576c790c..464c50ad60 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMapping1_1Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMapping1_1Composite.java
@@ -15,21 +15,28 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.IdMapping;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkIdMappingComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableTriStateCheckBox;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkIdMapping1_1Composite
extends EclipseLinkIdMappingComposite<IdMapping>
{
public OrmEclipseLinkIdMapping1_1Composite(
PropertyValueModel<? extends IdMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@@ -42,12 +49,34 @@ public class OrmEclipseLinkIdMapping1_1Composite
}
@Override
- protected void initializeIdSection(Composite container) {
- new ColumnComposite(this, buildColumnHolder(), container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new EclipseLinkMutableComposite(this, buildMutableHolder(), container);
+ protected Control initializeIdSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Column widgets
+ ColumnComposite columnComposite = new ColumnComposite(this, buildColumnHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ columnComposite.getControl().setLayoutData(gridData);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Mutable widgets
+ EclipseLinkMutableTriStateCheckBox mutableCheckBox = new EclipseLinkMutableTriStateCheckBox(this, buildMutableHolder(), container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ mutableCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMapping2_0Composite.java
index ad00b36d8d..2a8594e2a4 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMapping2_0Composite.java
@@ -12,34 +12,67 @@ package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.IdMapping;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableTriStateCheckBox;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.IdMapping2_0MappedByRelationshipPane;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.IdMappingGeneration2_0Composite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkIdMapping2_0Composite
extends OrmEclipseLinkIdMapping1_1Composite
{
public OrmEclipseLinkIdMapping2_0Composite(
PropertyValueModel<? extends IdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeIdSection(Composite container) {
- new IdMapping2_0MappedByRelationshipPane(this, getSubjectHolder(), container);
- new ColumnComposite(this, buildColumnHolder(), container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new EclipseLinkMutableComposite(this, buildMutableHolder(), container);
+ protected Control initializeIdSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ IdMapping2_0MappedByRelationshipPane mappedByRelationshipPane = new IdMapping2_0MappedByRelationshipPane(this, getSubjectHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ mappedByRelationshipPane.getControl().setLayoutData(gridData);
+
+ // Column widgets
+ ColumnComposite columnComposite = new ColumnComposite(this, buildColumnHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ columnComposite.getControl().setLayoutData(gridData);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Mutable widgets
+ EclipseLinkMutableTriStateCheckBox mutableCheckBox = new EclipseLinkMutableTriStateCheckBox(this, buildMutableHolder(), container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ mutableCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMappingComposite.java
index 83fe510fb0..843c43ab95 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMappingComposite.java
@@ -13,27 +13,52 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.IdMapping;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkIdMappingComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableTriStateCheckBox;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkIdMappingComposite
extends EclipseLinkIdMappingComposite<IdMapping>
{
public OrmEclipseLinkIdMappingComposite(
PropertyValueModel<? extends IdMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeIdSection(Composite container) {
- new ColumnComposite(this, buildColumnHolder(), container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new EclipseLinkMutableComposite(this, buildMutableHolder(), container);
+ protected Control initializeIdSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Column widgets
+ ColumnComposite columnComposite = new ColumnComposite(this, buildColumnHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ columnComposite.getControl().setLayoutData(gridData);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Mutable widgets
+ EclipseLinkMutableTriStateCheckBox mutableCheckBox = new EclipseLinkMutableTriStateCheckBox(this, buildMutableHolder(), container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ mutableCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToManyMapping1_1Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToManyMapping1_1Composite.java
index 3cef067c46..3e2383028a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToManyMapping1_1Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToManyMapping1_1Composite.java
@@ -13,16 +13,23 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.orm.OrmManyToManyMapping;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkManyToManyMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.ManyToManyJoiningStrategyPane;
import org.eclipse.jpt.jpa.ui.internal.details.OrderingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -56,9 +63,9 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see {@link ManyToManyMapping}
- * @see {@link TargetEntityComposite}
+ * @see {@link TargetEntityClassChooser}
* @see {@link ManyToManyJoiningStrategyPane}
- * @see {@link FetchTypeComposite}
+ * @see {@link FetchTypeComboViewer}
* @see {@link CascadeComposite}
* @see {@link OrderingComposite}
*
@@ -76,21 +83,48 @@ public class OrmEclipseLinkManyToManyMapping1_1Composite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEclipseLinkManyToManyMapping1_1Composite(PropertyValueModel<? extends OrmManyToManyMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToManyMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToManyMapping2_0Composite.java
index 5caa9bf269..d7073e216b 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToManyMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToManyMapping2_0Composite.java
@@ -12,25 +12,33 @@ package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.orm.OrmManyToManyMapping;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkManyToManyMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Ordering2_0Composite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkManyToManyMapping2_0Composite
extends EclipseLinkManyToManyMappingComposite<OrmManyToManyMapping>
{
public OrmEclipseLinkManyToManyMapping2_0Composite(
PropertyValueModel<? extends OrmManyToManyMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
@@ -42,18 +50,44 @@ public class OrmEclipseLinkManyToManyMapping2_0Composite
}
@Override
- protected void initializeManyToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new CascadePane2_0(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, buildCascadeHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
-
+
@Override
- protected void initializeOrderingCollapsibleSection(Composite container) {
- new Ordering2_0Composite(this, container);
+ protected Control initializeOrderingSection(Composite container) {
+ return new Ordering2_0Composite(this, container).getControl();
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToManyMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToManyMappingComposite.java
index 54ecddc9f1..8c2eb22874 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToManyMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToManyMappingComposite.java
@@ -13,15 +13,21 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.orm.OrmManyToManyMapping;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkManyToManyMappingComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.ManyToManyJoiningStrategyPane;
import org.eclipse.jpt.jpa.ui.internal.details.OrderingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -55,9 +61,9 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see {@link ManyToManyMapping}
- * @see {@link TargetEntityComposite}
+ * @see {@link TargetEntityClassChooser}
* @see {@link ManyToManyJoiningStrategyPane}
- * @see {@link FetchTypeComposite}
+ * @see {@link FetchTypeComboViewer}
* @see {@link CascadeComposite}
* @see {@link OrderingComposite}
*
@@ -75,20 +81,44 @@ public class OrmEclipseLinkManyToManyMappingComposite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEclipseLinkManyToManyMappingComposite(PropertyValueModel<? extends OrmManyToManyMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToOneMapping1_1Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToOneMapping1_1Composite.java
index b1c3616433..be0b8b2838 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToOneMapping1_1Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToOneMapping1_1Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -14,16 +14,23 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkManyToOneMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.ManyToOneJoiningStrategyPane;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -57,9 +64,9 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see {@link ManyToOneMapping}
- * @see {@link TargetEntityComposite}
+ * @see {@link TargetEntityClassChooser}
* @see {@link ManyToOneJoiningStrategyPane}
- * @see {@link FetchTypeComposite}
+ * @see {@link FetchTypeComboViewer}
* @see {@link OptionalComposite}
* @see {@link CascadeComposite}
*
@@ -77,21 +84,50 @@ public class OrmEclipseLinkManyToOneMapping1_1Composite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEclipseLinkManyToOneMapping1_1Composite(PropertyValueModel<? extends ManyToOneMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new OptionalComposite(this, container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToOneMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToOneMapping2_0Composite.java
index 89bd4f9bd2..86ddbdaa7c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToOneMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToOneMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -17,37 +17,73 @@ import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
import org.eclipse.jpt.jpa.core.jpa2.context.ManyToOneRelationship2_0;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetch;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchMapping;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.AbstractManyToOneMapping2_0Composite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkManyToOneMapping2_0Composite
extends AbstractManyToOneMapping2_0Composite<ManyToOneMapping, ManyToOneRelationship2_0>
{
public OrmEclipseLinkManyToOneMapping2_0Composite(
PropertyValueModel<? extends ManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new OptionalComposite(this, container);
- new CascadePane2_0(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToOneMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToOneMappingComposite.java
index fd1fb6daf9..e667440f60 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToOneMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkManyToOneMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Oracle. All rights reserved.
+ * Copyright (c) 2010, 2012 Oracle. 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.
@@ -14,15 +14,21 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkManyToOneMappingComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.ManyToOneJoiningStrategyPane;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -56,9 +62,9 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see {@link ManyToOneMapping}
- * @see {@link TargetEntityComposite}
+ * @see {@link TargetEntityClassChooser}
* @see {@link ManyToOneJoiningStrategyPane}
- * @see {@link FetchTypeComposite}
+ * @see {@link FetchTypeComboViewer}
* @see {@link OptionalComposite}
* @see {@link CascadeComposite}
*
@@ -76,20 +82,46 @@ public class OrmEclipseLinkManyToOneMappingComposite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEclipseLinkManyToOneMappingComposite(PropertyValueModel<? extends ManyToOneMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new OptionalComposite(this, container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_0Composite.java
index 88a3d983ab..d827e7588a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle.
+ * Copyright (c) 2009, 2012 Oracle.
* 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
@@ -13,8 +13,8 @@ package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.orm.OrmMappedSuperclass;
-import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkCaching;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class OrmEclipseLinkMappedSuperclass2_0Composite
extends AbstractOrmEclipseLinkMappedSuperclassComposite
@@ -27,7 +27,7 @@ public class OrmEclipseLinkMappedSuperclass2_0Composite
}
@Override
- protected void initializeCachingSection(Composite container, PropertyValueModel<OrmEclipseLinkCaching> cachingHolder) {
- new OrmEclipseLinkCaching2_0Composite(this, cachingHolder, container);
+ protected Control initializeCachingSection(Composite container) {
+ return new OrmEclipseLinkCaching2_0Composite(this, this.buildCachingHolder(), container).getControl();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_1Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_1Composite.java
index 858af0c74e..59991b026d 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_1Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_1Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle. All rights reserved.
+ * Copyright (c) 2011, 2012 Oracle. 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.
@@ -14,11 +14,16 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.QueryContainer;
import org.eclipse.jpt.jpa.core.context.orm.OrmMappedSuperclass;
-import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkCaching;
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMappedSuperclass;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.QueriesComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
public class OrmEclipseLinkMappedSuperclass2_1Composite
extends AbstractOrmEclipseLinkMappedSuperclassComposite {
@@ -40,20 +45,27 @@ public class OrmEclipseLinkMappedSuperclass2_1Composite
}
@Override
- protected void initializeCachingSection(Composite container, PropertyValueModel<OrmEclipseLinkCaching> cachingHolder) {
- new OrmEclipseLinkCaching2_0Composite(this, cachingHolder, container);
+ protected Control initializeCachingSection(Composite container) {
+ return new OrmEclipseLinkCaching2_0Composite(this, this.buildCachingHolder(), container).getControl();
}
-
+
protected void initializeQueriesCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkMappedSuperclassComposite_queries);
- this.initializeQueriesSection(container, buildQueryContainerHolder());
-
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.EntityComposite_queries);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeQueriesSection(section));
+ }
+ }
+ });
}
- protected void initializeQueriesSection(Composite container, PropertyValueModel<QueryContainer> queryContainerHolder) {
- new QueriesComposite(this, queryContainerHolder, container);
+ protected Control initializeQueriesSection(Composite container) {
+ return new QueriesComposite(this, this.buildQueryContainerHolder(), container).getControl();
}
private PropertyValueModel<QueryContainer> buildQueryContainerHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_3Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_3Composite.java
index da19c373fc..e8ca80a41a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_3Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_3Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle. All rights reserved.
+ * Copyright (c) 2011, 2012 Oracle. 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.
@@ -14,13 +14,19 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.QueryContainer;
import org.eclipse.jpt.jpa.core.context.orm.OrmMappedSuperclass;
-import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkCaching;
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMappedSuperclass;
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMultitenancy2_3;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMultitenancyComposite;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.QueriesComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
public class OrmEclipseLinkMappedSuperclass2_3Composite
extends AbstractOrmEclipseLinkMappedSuperclassComposite {
@@ -43,20 +49,27 @@ public class OrmEclipseLinkMappedSuperclass2_3Composite
}
@Override
- protected void initializeCachingSection(Composite container, PropertyValueModel<OrmEclipseLinkCaching> cachingHolder) {
- new OrmEclipseLinkCaching2_0Composite(this, cachingHolder, container);
+ protected Control initializeCachingSection(Composite container) {
+ return new OrmEclipseLinkCaching2_0Composite(this, this.buildCachingHolder(), container).getControl();
}
-
+
protected void initializeQueriesCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkMappedSuperclassComposite_queries);
- this.initializeQueriesSection(container, buildQueryContainerHolder());
-
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.EntityComposite_queries);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeQueriesSection(section));
+ }
+ }
+ });
}
- protected void initializeQueriesSection(Composite container, PropertyValueModel<QueryContainer> queryContainerHolder) {
- new QueriesComposite(this, queryContainerHolder, container);
+ protected Control initializeQueriesSection(Composite container) {
+ return new QueriesComposite(this, this.buildQueryContainerHolder(), container).getControl();
}
private PropertyValueModel<QueryContainer> buildQueryContainerHolder() {
@@ -68,16 +81,24 @@ public class OrmEclipseLinkMappedSuperclass2_3Composite
}
};
}
-
+
protected void initializeMultitenancyCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_multitenancy);
- this.initializeMultitenancySection(container, buildMultitenancyHolder());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_multitenancy);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeMultitenancySection(section));
+ }
+ }
+ });
}
- protected void initializeMultitenancySection(Composite container, PropertyValueModel<OrmEclipseLinkMultitenancy2_3> multitenancyHolder) {
- new EclipseLinkMultitenancyComposite(this, multitenancyHolder, container);
+ protected Control initializeMultitenancySection(Composite container) {
+ return new EclipseLinkMultitenancyComposite(this, this.buildMultitenancyHolder(), container).getControl();
}
private PropertyAspectAdapter<OrmMappedSuperclass, OrmEclipseLinkMultitenancy2_3> buildMultitenancyHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToManyMapping1_1Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToManyMapping1_1Composite.java
index e89de26f6c..af1adee3fd 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToManyMapping1_1Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToManyMapping1_1Composite.java
@@ -14,15 +14,22 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkOneToManyMappingComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedCheckBox;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkOneToManyMapping1_1Composite
@@ -30,21 +37,53 @@ public class OrmEclipseLinkOneToManyMapping1_1Composite
{
public OrmEclipseLinkOneToManyMapping1_1Composite(
PropertyValueModel<? extends OneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new EclipseLinkPrivateOwnedComposite(this, buildPrivateOwnableHolder(), container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeOneToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Private owned widgets
+ EclipseLinkPrivateOwnedCheckBox privateOwnedCheckBox = new EclipseLinkPrivateOwnedCheckBox(this, buildPrivateOwnableHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ privateOwnedCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToManyMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToManyMapping2_0Composite.java
index 697b7fe60c..b291477c23 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToManyMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToManyMapping2_0Composite.java
@@ -16,17 +16,24 @@ import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovalHolder2_0;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkOneToManyMappingComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedCheckBox;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Ordering2_0Composite;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0Composite;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0TriStateCheckBox;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkOneToManyMapping2_0Composite
@@ -34,10 +41,11 @@ public class OrmEclipseLinkOneToManyMapping2_0Composite
{
public OrmEclipseLinkOneToManyMapping2_0Composite(
PropertyValueModel<? extends OneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@@ -50,21 +58,57 @@ public class OrmEclipseLinkOneToManyMapping2_0Composite
}
@Override
- protected void initializeOneToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, this.buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, this.buildJoinFetchableHolder(), container);
- new EclipseLinkPrivateOwnedComposite(this, this.buildPrivateOwnableHolder(), container);
- new OrphanRemoval2_0Composite(this, this.buildOrphanRemovableHolder(), container);
- new CascadePane2_0(this, this.buildCascadeHolder(), this.addSubPane(container, 5));
+ protected Control initializeOneToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, this.buildJoinFetchableHolder(), container);
+
+ // Private owned widgets
+ EclipseLinkPrivateOwnedCheckBox privateOwnedCheckBox = new EclipseLinkPrivateOwnedCheckBox(this, buildPrivateOwnableHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ privateOwnedCheckBox.getControl().setLayoutData(gridData);
+
+ // Orphan removal widgets
+ OrphanRemoval2_0TriStateCheckBox orphanRemovalCheckBox = new OrphanRemoval2_0TriStateCheckBox(this, buildOrphanRemovableHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ orphanRemovalCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, this.buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
@Override
- protected void initializeOrderingCollapsibleSection(Composite container) {
- new Ordering2_0Composite(this, container);
+ protected Control initializeOrderingSection(Composite container) {
+ return new Ordering2_0Composite(this, container).getControl();
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToManyMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToManyMappingComposite.java
index 9d3114dd56..2390dacc2d 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToManyMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToManyMappingComposite.java
@@ -14,14 +14,20 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkOneToManyMappingComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedCheckBox;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkOneToManyMappingComposite
@@ -29,20 +35,49 @@ public class OrmEclipseLinkOneToManyMappingComposite
{
public OrmEclipseLinkOneToManyMappingComposite(
PropertyValueModel<? extends OneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new EclipseLinkPrivateOwnedComposite(this, buildPrivateOwnableHolder(), container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeOneToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Private owned widgets
+ EclipseLinkPrivateOwnedCheckBox privateOwnedCheckBox = new EclipseLinkPrivateOwnedCheckBox(this, buildPrivateOwnableHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ privateOwnedCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToOneMapping1_1Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToOneMapping1_1Composite.java
index 386e7aa9b0..0905086660 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToOneMapping1_1Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToOneMapping1_1Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -14,18 +14,25 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkOneToOneMappingComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedCheckBox;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.MappedByPane;
import org.eclipse.jpt.jpa.ui.internal.details.OneToOneJoiningStrategyPane;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -76,13 +83,13 @@ import org.eclipse.swt.widgets.Composite;
* @see OneToOneMapping
* @see AccessTypeComposite
* @see CascadeComposite
- * @see EclipseLinkJoinFetchComposite
- * @see EclipseLinkPrivateOwnedComposite
- * @see FetchTypeComposite
+ * @see EclipseLinkJoinFetchComboViewer
+ * @see EclipseLinkPrivateOwnedCheckBox
+ * @see FetchTypeComboViewer
* @see MappedByPane
* @see OneToOneJoiningStrategyPane
* @see OptionalComposite
- * @see TargetEntityComposite
+ * @see TargetEntityClassChooser
*
* @version 2.3
* @since 2.2
@@ -98,22 +105,56 @@ extends EclipseLinkOneToOneMappingComposite<OneToOneMapping>
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEclipseLinkOneToOneMapping1_1Composite(PropertyValueModel<? extends OneToOneMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new OptionalComposite(this, container);
- new EclipseLinkPrivateOwnedComposite(this, buildPrivateOwnableHolder(), container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeOneToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Private owned widgets
+ EclipseLinkPrivateOwnedCheckBox privateOwnedCheckBox = new EclipseLinkPrivateOwnedCheckBox(this, buildPrivateOwnableHolder(), container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ privateOwnedCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToOneMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToOneMapping2_0Composite.java
index de6a10b7dd..6a3bc231cc 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToOneMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToOneMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -20,42 +20,88 @@ import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovalHolder2_0;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetch;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkOneToOneMapping;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkPrivateOwned;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedCheckBox;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.AbstractOneToOneMapping2_0Composite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OneToOneJoiningStrategy2_0Pane;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0Composite;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0TriStateCheckBox;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkOneToOneMapping2_0Composite
extends AbstractOneToOneMapping2_0Composite<OneToOneMapping, OneToOneRelationship2_0>
{
public OrmEclipseLinkOneToOneMapping2_0Composite(
PropertyValueModel<? extends OneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new OptionalComposite(this, container);
- new EclipseLinkPrivateOwnedComposite(this, buildPrivateOwnableHolder(), container);
- new OrphanRemoval2_0Composite(this, buildOrphanRemovableHolder(), container);
- new CascadePane2_0(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeOneToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Private owned widgets
+ EclipseLinkPrivateOwnedCheckBox privateOwnedCheckBox = new EclipseLinkPrivateOwnedCheckBox(this, buildPrivateOwnableHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ privateOwnedCheckBox.getControl().setLayoutData(gridData);
+
+ // Orphan removal widgets
+ OrphanRemoval2_0TriStateCheckBox orphanRemovalCheckBox = new OrphanRemoval2_0TriStateCheckBox(this, buildOrphanRemovableHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ orphanRemovalCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToOneMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToOneMappingComposite.java
index e67e9d51fa..da930dd4c0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToOneMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkOneToOneMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Oracle. All rights reserved.
+ * Copyright (c) 2010, 2012 Oracle. 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.
@@ -14,18 +14,23 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkJoinFetchComboViewer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkOneToOneMappingComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkPrivateOwnedCheckBox;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.MappedByPane;
import org.eclipse.jpt.jpa.ui.internal.details.OneToOneJoiningStrategyPane;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -76,13 +81,13 @@ import org.eclipse.swt.widgets.Composite;
* @see OneToOneMapping
* @see AccessTypeComposite
* @see CascadeComposite
- * @see EclipseLinkJoinFetchComposite
- * @see EclipseLinkPrivateOwnedComposite
- * @see FetchTypeComposite
+ * @see EclipseLinkJoinFetchComboViewer
+ * @see EclipseLinkPrivateOwnedCheckBox
+ * @see FetchTypeComboViewer
* @see MappedByPane
* @see OneToOneJoiningStrategyPane
* @see OptionalComposite
- * @see TargetEntityComposite
+ * @see TargetEntityClassChooser
*
* @version 2.2
* @since 2.2
@@ -98,21 +103,52 @@ extends EclipseLinkOneToOneMappingComposite<OneToOneMapping>
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEclipseLinkOneToOneMappingComposite(PropertyValueModel<? extends OneToOneMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new FetchTypeComposite(this, container);
- new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), container);
- new OptionalComposite(this, container);
- new EclipseLinkPrivateOwnedComposite(this, buildPrivateOwnableHolder(), container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeOneToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Join fetch widgets
+ this.addLabel(container, EclipseLinkUiDetailsMessages.EclipseLinkJoinFetchComposite_label);
+ new EclipseLinkJoinFetchComboViewer(this, buildJoinFetchableHolder(), container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Private owned widgets
+ EclipseLinkPrivateOwnedCheckBox privateOwnedCheckBox = new EclipseLinkPrivateOwnedCheckBox(this, buildPrivateOwnableHolder(), container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ privateOwnedCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkStructureMapping2_3UiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkStructureMapping2_3UiDefinition.java
index 1d9d5960f5..81d66a90eb 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkStructureMapping2_3UiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkStructureMapping2_3UiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle. All rights reserved.
+ * Copyright (c) 2011, 2012 Oracle. 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.
@@ -47,9 +47,10 @@ public class OrmEclipseLinkStructureMapping2_3UiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<EclipseLinkStructureMapping2_3> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkStructureMapping2_3Composite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkStructureMapping2_3Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkTransformationMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkTransformationMappingUiDefinition.java
index 06ba78f760..eef7a31258 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkTransformationMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkTransformationMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -48,9 +48,10 @@ public class OrmEclipseLinkTransformationMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<EclipseLinkTransformationMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkTransformationMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkTransformationMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkVariableOneToOneMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkVariableOneToOneMappingUiDefinition.java
index bbf3b0dc07..e459f3deaa 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkVariableOneToOneMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkVariableOneToOneMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -48,9 +48,10 @@ public class OrmEclipseLinkVariableOneToOneMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<EclipseLinkVariableOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkVariableOneToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkVariableOneToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkVersionMapping1_1Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkVersionMapping1_1Composite.java
index 52f9b576af..a4092f02c9 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkVersionMapping1_1Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkVersionMapping1_1Composite.java
@@ -14,12 +14,18 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.VersionMapping;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableTriStateCheckBox;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkVersionMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkVersionMapping1_1Composite
extends EclipseLinkVersionMappingComposite<VersionMapping>
@@ -32,10 +38,11 @@ public class OrmEclipseLinkVersionMapping1_1Composite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEclipseLinkVersionMapping1_1Composite(PropertyValueModel<? extends VersionMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
@@ -46,12 +53,34 @@ public class OrmEclipseLinkVersionMapping1_1Composite
}
@Override
- protected void initializeVersionSection(Composite container) {
- new ColumnComposite(this, buildColumnHolder(), container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new EclipseLinkMutableComposite(this, buildMutableHolder(), container);
+ protected Control initializeVersionSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Column widgets
+ ColumnComposite columnComposite = new ColumnComposite(this, buildColumnHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ columnComposite.getControl().setLayoutData(gridData);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Mutable widgets
+ EclipseLinkMutableTriStateCheckBox mutableCheckBox = new EclipseLinkMutableTriStateCheckBox(this, buildMutableHolder(), container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ mutableCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkVersionMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkVersionMappingComposite.java
index 2935f682e2..0e9516f689 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkVersionMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkVersionMappingComposite.java
@@ -12,11 +12,16 @@ package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.VersionMapping;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableComposite;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMutableTriStateCheckBox;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkVersionMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEclipseLinkVersionMappingComposite
extends EclipseLinkVersionMappingComposite<VersionMapping>
@@ -29,17 +34,37 @@ public class OrmEclipseLinkVersionMappingComposite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEclipseLinkVersionMappingComposite(PropertyValueModel<? extends VersionMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeVersionSection(Composite container) {
- new ColumnComposite(this, buildColumnHolder(), container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new OrmAttributeTypeComposite(this, getSubjectHolder(), container);
- new EclipseLinkMutableComposite(this, buildMutableHolder(), container);
+ protected Control initializeVersionSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Column widgets
+ ColumnComposite columnComposite = new ColumnComposite(this, buildColumnHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ columnComposite.getControl().setLayoutData(gridData);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Attribute type widgets
+ Hyperlink attributeTypeHyperlink = this.addHyperlink(container, EclipseLinkUiDetailsMessages.OrmAttributeTypeComposite_attributeType);
+ new OrmAttributeTypeClassChooser(this, getSubjectHolder(), container, attributeTypeHyperlink);
+
+ // Mutable widgets
+ EclipseLinkMutableTriStateCheckBox mutableCheckBox = new EclipseLinkMutableTriStateCheckBox(this, buildMutableHolder(), container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ mutableCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/EclipseLinkPersistenceXmlUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/EclipseLinkPersistenceXmlUiDefinition.java
index c04baff4ff..300867d931 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/EclipseLinkPersistenceXmlUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/EclipseLinkPersistenceXmlUiDefinition.java
@@ -15,8 +15,8 @@ import org.eclipse.jpt.common.ui.jface.ItemTreeStateProviderFactoryProvider;
import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.structure.EclipseLinkPersistenceStructureItemContentProviderFactory;
import org.eclipse.jpt.jpa.ui.ResourceUiDefinition;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.AbstractPersistenceXmlResourceUiDefinition;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.PersistenceXmlUiFactory;
+import org.eclipse.jpt.jpa.ui.internal.persistence.AbstractPersistenceXmlResourceUiDefinition;
+import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceXmlUiFactory;
import org.eclipse.jpt.jpa.ui.internal.structure.PersistenceStructureItemLabelProviderFactory;
public class EclipseLinkPersistenceXmlUiDefinition
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/EclipseLinkPersistenceXmlUiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/EclipseLinkPersistenceXmlUiFactory.java
index d232e203db..e18c095491 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/EclipseLinkPersistenceXmlUiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/EclipseLinkPersistenceXmlUiFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -19,19 +19,14 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.SchemaGeneration;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching.PersistenceXmlCachingTab;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection.PersistenceXmlConnectionTab;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization.PersistenceXmlCustomizationTab;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.general.EclipseLinkPersistenceUnitGeneralComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.logging.PersistenceXmlLoggingTab;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.general.EclipseLinkPersistenceUnitGeneralTab;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options.PersistenceXmlOptionsTab;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.schema.generation.PersistenceXmlSchemaGenerationTab;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.PersistenceUnitPropertiesComposite;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.PersistenceXmlUiFactory;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
+import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceUnitPropertiesTab;
+import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceXmlUiFactory;
import org.eclipse.swt.widgets.Composite;
public class EclipseLinkPersistenceXmlUiFactory implements PersistenceXmlUiFactory
@@ -51,16 +46,11 @@ public class EclipseLinkPersistenceXmlUiFactory implements PersistenceXmlUiFacto
ArrayList<JpaPageComposite> pages = new ArrayList<JpaPageComposite>(8);
- PropertyValueModel<EclipseLinkPersistenceUnit> eclipseLinkPersistenceUnitHolder =
- this.buildEclipseLinkPersistenceUnitHolder(subjectHolder);
-
pages.add(this.buildGeneralTab(subjectHolder, parent, widgetFactory));
pages.add(this.buildConnectionTab(subjectHolder, parent, widgetFactory));
- pages.add(this.buildCustomizationTab(eclipseLinkPersistenceUnitHolder, parent, widgetFactory));
- pages.add(this.buildCachingTab(eclipseLinkPersistenceUnitHolder, parent, widgetFactory));
- pages.add(this.buildLoggingTab(eclipseLinkPersistenceUnitHolder, parent, widgetFactory));
+ pages.add(this.buildCustomizationTab(subjectHolder, parent, widgetFactory));
+ pages.add(this.buildCachingTab(subjectHolder, parent, widgetFactory));
pages.add(this.buildOptionsTab(subjectHolder, parent, widgetFactory));
- pages.add(this.buildSchemaGenerationTab(eclipseLinkPersistenceUnitHolder, parent, widgetFactory));
pages.add(this.buildPropertiesTab(subjectHolder, parent, widgetFactory));
return pages.listIterator();
@@ -68,34 +58,32 @@ public class EclipseLinkPersistenceXmlUiFactory implements PersistenceXmlUiFacto
// ********** persistence unit tabs **********
- protected EclipseLinkPersistenceUnitGeneralComposite buildGeneralTab(
+ protected EclipseLinkPersistenceUnitGeneralTab buildGeneralTab(
PropertyValueModel<PersistenceUnit> subjectHolder,
Composite parent,
WidgetFactory widgetFactory) {
- return new EclipseLinkPersistenceUnitGeneralComposite(subjectHolder, parent, widgetFactory);
+ return new EclipseLinkPersistenceUnitGeneralTab(subjectHolder, parent, widgetFactory);
}
protected PersistenceXmlConnectionTab<? extends Connection> buildConnectionTab(
PropertyValueModel<PersistenceUnit> subjectHolder,
Composite parent,
WidgetFactory widgetFactory) {
- PropertyValueModel<Connection> connectionHolder = this.buildConnectionHolder(subjectHolder);
- return new PersistenceXmlConnectionTab<Connection>(connectionHolder, parent, widgetFactory);
+ return new PersistenceXmlConnectionTab<Connection>( this.buildConnectionHolder(subjectHolder), parent, widgetFactory);
}
protected PersistenceXmlCustomizationTab<? extends Customization> buildCustomizationTab(
- PropertyValueModel<EclipseLinkPersistenceUnit> subjectHolder,
+ PropertyValueModel<PersistenceUnit> subjectHolder,
Composite parent,
WidgetFactory widgetFactory) {
- PropertyValueModel<Customization> customizationHolder = this.buildCustomizationHolder(subjectHolder);
- return new PersistenceXmlCustomizationTab<Customization>(customizationHolder, parent, widgetFactory);
+ return new PersistenceXmlCustomizationTab<Customization>(this.buildCustomizationHolder(subjectHolder), parent, widgetFactory);
}
protected PersistenceXmlCachingTab<? extends Caching> buildCachingTab(
- PropertyValueModel<EclipseLinkPersistenceUnit> subjectHolder,
+ PropertyValueModel<PersistenceUnit> subjectHolder,
Composite parent,
WidgetFactory widgetFactory) {
PropertyValueModel<Caching> cachingHolder = this.buildCachingHolder(subjectHolder);
@@ -103,111 +91,51 @@ public class EclipseLinkPersistenceXmlUiFactory implements PersistenceXmlUiFacto
return new PersistenceXmlCachingTab<Caching>(cachingHolder, parent, widgetFactory);
}
- protected PersistenceXmlLoggingTab<? extends Logging> buildLoggingTab(
- PropertyValueModel<EclipseLinkPersistenceUnit> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
- PropertyValueModel<Logging> loggingHolder = this.buildLoggingHolder(subjectHolder);
-
- return new PersistenceXmlLoggingTab<Logging>(loggingHolder, parent, widgetFactory);
- }
-
- protected PersistenceXmlOptionsTab<? extends Options> buildOptionsTab(
+ protected PersistenceXmlOptionsTab<? extends PersistenceUnit> buildOptionsTab(
PropertyValueModel<PersistenceUnit> subjectHolder,
Composite parent,
WidgetFactory widgetFactory) {
- PropertyValueModel<Options> optionsHolder = this.buildOptionsHolder(subjectHolder);
-
- return new PersistenceXmlOptionsTab<Options>(optionsHolder, parent, widgetFactory);
- }
-
- protected PersistenceXmlSchemaGenerationTab buildSchemaGenerationTab(
- PropertyValueModel<EclipseLinkPersistenceUnit> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
- PropertyValueModel<SchemaGeneration> schemaGenHolder = this.buildSchemaGenerationHolder(subjectHolder);
- return new PersistenceXmlSchemaGenerationTab(schemaGenHolder, parent, widgetFactory);
+ return new PersistenceXmlOptionsTab<PersistenceUnit>(subjectHolder, parent, widgetFactory);
}
- protected PersistenceUnitPropertiesComposite buildPropertiesTab(
+ protected PersistenceUnitPropertiesTab buildPropertiesTab(
PropertyValueModel<PersistenceUnit> subjectHolder,
Composite parent,
WidgetFactory widgetFactory) {
- return new PersistenceUnitPropertiesComposite(subjectHolder, parent, widgetFactory);
+ return new PersistenceUnitPropertiesTab(subjectHolder, parent, widgetFactory);
}
// ********** private methods **********
- private PropertyValueModel<EclipseLinkPersistenceUnit> buildEclipseLinkPersistenceUnitHolder(
- PropertyValueModel<PersistenceUnit> subjectHolder) {
- return new TransformationPropertyValueModel<PersistenceUnit, EclipseLinkPersistenceUnit>(subjectHolder) {
- @Override
- protected EclipseLinkPersistenceUnit transform_(PersistenceUnit value) {
- return (EclipseLinkPersistenceUnit) value;
- }
- };
- }
-
private PropertyValueModel<Connection> buildConnectionHolder(
PropertyValueModel<PersistenceUnit> subjectHolder) {
return new TransformationPropertyValueModel<PersistenceUnit, Connection>(subjectHolder) {
@Override
protected Connection transform_(PersistenceUnit value) {
- return ((EclipseLinkPersistenceUnit)value).getConnection();
+ return ((EclipseLinkPersistenceUnit) value).getConnection();
}
};
}
protected PropertyValueModel<Customization> buildCustomizationHolder(
- PropertyValueModel<EclipseLinkPersistenceUnit> subjectHolder) {
- return new TransformationPropertyValueModel<EclipseLinkPersistenceUnit, Customization>(subjectHolder) {
+ PropertyValueModel<PersistenceUnit> subjectHolder) {
+ return new TransformationPropertyValueModel<PersistenceUnit, Customization>(subjectHolder) {
@Override
- protected Customization transform_(EclipseLinkPersistenceUnit value) {
- return value.getCustomization();
+ protected Customization transform_(PersistenceUnit value) {
+ return ((EclipseLinkPersistenceUnit) value).getCustomization();
}
};
}
protected PropertyValueModel<Caching> buildCachingHolder(
- PropertyValueModel<EclipseLinkPersistenceUnit> subjectHolder) {
- return new TransformationPropertyValueModel<EclipseLinkPersistenceUnit, Caching>(subjectHolder) {
- @Override
- protected Caching transform_(EclipseLinkPersistenceUnit value) {
- return value.getCaching();
- }
- };
- }
-
- private PropertyValueModel<Logging> buildLoggingHolder(
- PropertyValueModel<EclipseLinkPersistenceUnit> subjectHolder) {
- return new TransformationPropertyValueModel<EclipseLinkPersistenceUnit, Logging>(subjectHolder) {
- @Override
- protected Logging transform_(EclipseLinkPersistenceUnit value) {
- return value.getLogging();
- }
- };
- }
-
- private PropertyValueModel<Options> buildOptionsHolder(
PropertyValueModel<PersistenceUnit> subjectHolder) {
- return new TransformationPropertyValueModel<PersistenceUnit, Options>(subjectHolder) {
- @Override
- protected Options transform_(PersistenceUnit value) {
-
- return ((EclipseLinkPersistenceUnit)value).getOptions();
- }
- };
- }
-
- private PropertyValueModel<SchemaGeneration> buildSchemaGenerationHolder(
- PropertyValueModel<EclipseLinkPersistenceUnit> subjectHolder) {
- return new TransformationPropertyValueModel<EclipseLinkPersistenceUnit, SchemaGeneration>(subjectHolder) {
+ return new TransformationPropertyValueModel<PersistenceUnit, Caching>(subjectHolder) {
@Override
- protected SchemaGeneration transform_(EclipseLinkPersistenceUnit value) {
- return value.getSchemaGeneration();
+ protected Caching transform_(PersistenceUnit value) {
+ return ((EclipseLinkPersistenceUnit) value).getCaching();
}
};
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/CacheDefaultsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/CacheDefaultsComposite.java
index 698161c1fa..2327672344 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/CacheDefaultsComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/CacheDefaultsComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2009, 2011 Oracle. All rights reserved.
+* Copyright (c) 2009, 2012 Oracle. 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.
@@ -9,9 +9,22 @@
*******************************************************************************/
package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching;
+import java.util.Collection;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.CacheType;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
/**
@@ -26,30 +39,171 @@ public class CacheDefaultsComposite<T extends Caching> extends Pane<T>
}
@Override
- protected void initializeLayout(Composite parent) {
-
- this.initializeCacheDefaultsPane(parent);
- }
-
- protected void initializeCacheDefaultsPane(Composite parent) {
-
- Composite defaultPane = this.addTitledGroup(
+ protected Composite addComposite(Composite parent) {
+ return this.addTitledGroup(
parent,
- EclipseLinkUiMessages.CacheDefaultsComposite_groupTitle
+ EclipseLinkUiMessages.CacheDefaultsComposite_groupTitle,
+ 2,
+ null
);
-
- this.initializeCacheDefaultsComposites(defaultPane);
}
-
- protected void initializeCacheDefaultsComposites(Composite parent) {
+ @Override
+ protected void initializeLayout(Composite parent) {
// Default Cache Type
- new DefaultCacheTypeComposite(this, parent);
+ addLabel(parent, EclipseLinkUiMessages.PersistenceXmlCachingTab_defaultCacheTypeLabel);
+ buildDefaultCacheTypeCombo(parent);
// Default Cache Size
- new DefaultCacheSizeComposite<T>(this, parent);
+ addLabel(parent, EclipseLinkUiMessages.DefaultCacheSizeComposite_defaultCacheSize);
+ addDefaultCacheSizeCombo(parent);
// Default Shared Cache
- new DefaultSharedCacheComposite(this, parent);
+ TriStateCheckBox sharedCacheCheckBox = this.addTriStateCheckBoxWithDefault(
+ parent,
+ EclipseLinkUiMessages.PersistenceXmlCachingTab_sharedCacheDefaultLabel,
+ this.buildDefaultSharedCacheHolder(),
+ this.buildDefaultSharedCacheStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_CACHING_DEFAULT_SHARED
+ );
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ sharedCacheCheckBox.getCheckBox().setLayoutData(gridData);
+ }
+
+ protected EnumFormComboViewer<Caching, CacheType> buildDefaultCacheTypeCombo(Composite container) {
+ return new EnumFormComboViewer<Caching, CacheType>(this, container) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(Caching.CACHE_TYPE_DEFAULT_PROPERTY);
+ }
+
+ @Override
+ protected CacheType[] getChoices() {
+ return CacheType.values();
+ }
+
+ @Override
+ protected boolean sortChoices() {
+ return false;
+ }
+
+ @Override
+ protected CacheType getDefaultValue() {
+ return getSubject().getDefaultCacheTypeDefault();
+ }
+
+ @Override
+ protected String displayString(CacheType value) {
+ switch (value) {
+ case full :
+ return EclipseLinkUiMessages.CacheTypeComposite_full;
+ case weak :
+ return EclipseLinkUiMessages.CacheTypeComposite_weak;
+ case soft :
+ return EclipseLinkUiMessages.CacheTypeComposite_soft;
+ case soft_weak :
+ return EclipseLinkUiMessages.CacheTypeComposite_soft_weak;
+ case hard_weak :
+ return EclipseLinkUiMessages.CacheTypeComposite_hard_weak;
+ case none :
+ return EclipseLinkUiMessages.CacheTypeComposite_none;
+ default :
+ throw new IllegalStateException();
+ }
+
+ }
+
+ @Override
+ protected CacheType getValue() {
+ return getSubject().getCacheTypeDefault();
+ }
+
+ @Override
+ protected void setValue(CacheType value) {
+ getSubject().setCacheTypeDefault(value);
+ }
+
+ @Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.PERSISTENCE_CACHING_DEFAULT_TYPE;
+ }
+ };
+ }
+
+ protected void addDefaultCacheSizeCombo(Composite container) {
+ new IntegerCombo<Caching>(this, container) {
+ @Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.PERSISTENCE_CACHING_DEFAULT_SIZE;
+ }
+
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<Caching, Integer>(getSubjectHolder()) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getDefaultCacheSizeDefault();
+ }
+ };
+ }
+
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<Caching, Integer>(getSubjectHolder(), Caching.CACHE_SIZE_DEFAULT_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getCacheSizeDefault();
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ this.subject.setCacheSizeDefault(value);
+ }
+ };
+ }
+ };
+ }
+
+ private ModifiablePropertyValueModel<Boolean> buildDefaultSharedCacheHolder() {
+ return new PropertyAspectAdapter<Caching, Boolean>(getSubjectHolder(), Caching.SHARED_CACHE_DEFAULT_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getSharedCacheDefault();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setSharedCacheDefault(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildDefaultSharedCacheStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultDefaultSharedCacheHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCachingTab_defaultSharedCacheDefaultLabel, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlCachingTab_sharedCacheDefaultLabel;
+ }
+ };
+ }
+ private PropertyValueModel<Boolean> buildDefaultDefaultSharedCacheHolder() {
+ return new PropertyAspectAdapter<Caching, Boolean>(
+ getSubjectHolder(),
+ Caching.SHARED_CACHE_DEFAULT_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getSharedCacheDefault() != null) {
+ return null;
+ }
+ return this.subject.getDefaultSharedCacheDefault();
+ }
+ };
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/CacheSizeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/CacheSizeComposite.java
deleted file mode 100644
index 74b0b5fa89..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/CacheSizeComposite.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching;
-
-import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.CachingEntity;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * CacheSizeComposite
- */
-public class CacheSizeComposite extends Pane<CachingEntity>
-{
- /**
- * Creates a new <code>CacheTypeComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public CacheSizeComposite(Pane<CachingEntity> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- this.addCacheSizeCombo(container);
- }
-
- private void addCacheSizeCombo(Composite container) {
- new IntegerCombo<CachingEntity>(this, container) {
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiMessages.CacheSizeComposite_cacheSize;
- }
-
- @Override
- protected String getHelpId() {
- return EclipseLinkHelpContextIds.PERSISTENCE_CACHING;
- }
-
- @Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<Caching, Integer>(buildCachingHolder(), Caching.CACHE_SIZE_DEFAULT_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- Integer value = this.subject.getCacheSizeDefault();
- if (value == null) {
- value = this.subject.getDefaultCacheSizeDefault();
- }
- return value;
- }
- };
- }
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<CachingEntity, Integer>(this.getSubjectHolder(), CachingEntity.CACHE_SIZE_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return getSubjectParent().getCacheSizeOf(getSubjectName());
- }
-
- @Override
- protected void setValue_(Integer value) {
- getSubjectParent().setCacheSizeOf(getSubjectName(), value);
- }
- };
- }
- };
- }
-
- private String getSubjectName() {
- return this.getSubjectHolder().getValue().getName();
- }
-
- private Caching getSubjectParent() {
- return this.getSubjectHolder().getValue().getParent();
- }
-
- private PropertyValueModel<Caching> buildCachingHolder() {
- return new TransformationPropertyValueModel<CachingEntity, Caching>(this.getSubjectHolder()) {
- @Override
- protected Caching transform_(CachingEntity value) {
- return value.getParent();
- }
- };
- }
-
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/CacheTypeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/CacheTypeComposite.java
deleted file mode 100644
index 25a014a48e..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/CacheTypeComposite.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.listeners.SWTPropertyChangeListenerWrapper;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent;
-import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.CacheType;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.CachingEntity;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * CacheTypeComposite
- */
-public class CacheTypeComposite extends Pane<CachingEntity>
-{
- /**
- * Creates a new <code>CacheTypeComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public CacheTypeComposite(Pane<CachingEntity> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addLabeledComposite(
- container,
- EclipseLinkUiMessages.PersistenceXmlCachingTab_cacheTypeLabel,
- new CacheTypeCombo(container),
- EclipseLinkHelpContextIds.PERSISTENCE_CACHING
- );
- }
-
- private class CacheTypeCombo extends EnumFormComboViewer<CachingEntity, CacheType> {
-
- private CacheTypeCombo(Composite parent) {
- super(CacheTypeComposite.this, parent);
- }
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(CachingEntity.CACHE_TYPE_PROPERTY);
- }
-
- private PropertyValueModel<Caching> buildCachingHolder() {
- return new TransformationPropertyValueModel<CachingEntity, Caching>(getSubjectHolder()) {
- @Override
- protected Caching transform_(CachingEntity value) {
- return value.getParent();
- }
- };
- }
-
- private PropertyValueModel<CacheType> buildDefaultCacheTypeHolder() {
- return new PropertyAspectAdapter<Caching, CacheType>(buildCachingHolder(), Caching.CACHE_TYPE_DEFAULT_PROPERTY) {
- @Override
- protected CacheType buildValue_() {
- CacheType cacheType = subject.getCacheTypeDefault();
- if (cacheType == null) {
- cacheType = subject.getDefaultCacheTypeDefault();
- }
- return cacheType;
- }
- };
- }
-
- private PropertyChangeListener buildDefaultCachingTypePropertyChangeListener() {
- return new SWTPropertyChangeListenerWrapper(
- buildDefaultCachingTypePropertyChangeListener_()
- );
- }
-
- private PropertyChangeListener buildDefaultCachingTypePropertyChangeListener_() {
- return new PropertyChangeListener() {
- public void propertyChanged(PropertyChangeEvent e) {
- if ((e.getNewValue() != null) && !getCombo().isDisposed()) {
- CacheTypeCombo.this.doPopulate();
- }
- }
- };
- }
-
- @Override
- protected CacheType[] getChoices() {
- return CacheType.values();
- }
-
- @Override
- protected CacheType getDefaultValue() {
- return getSubjectParent().getDefaultCacheType();
- }
-
- @Override
- protected String displayString(CacheType value) {
- switch (value) {
- case full :
- return EclipseLinkUiMessages.CacheTypeComposite_full;
- case weak :
- return EclipseLinkUiMessages.CacheTypeComposite_weak;
- case soft :
- return EclipseLinkUiMessages.CacheTypeComposite_soft;
- case soft_weak :
- return EclipseLinkUiMessages.CacheTypeComposite_soft_weak;
- case hard_weak :
- return EclipseLinkUiMessages.CacheTypeComposite_hard_weak;
- case none :
- return EclipseLinkUiMessages.CacheTypeComposite_none;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected void doPopulate() {
- // This is required to allow the class loader to let the listener
- // written above to access this method
- super.doPopulate();
- }
-
- @Override
- protected CacheType getValue() {
- return getSubjectParent().getCacheTypeOf(getSubjectName());
- }
-
- @Override
- protected void initialize() {
- super.initialize();
-
- PropertyValueModel<CacheType> defaultCacheTypeHolder =
- buildDefaultCacheTypeHolder();
-
- defaultCacheTypeHolder.addPropertyChangeListener(
- PropertyValueModel.VALUE,
- buildDefaultCachingTypePropertyChangeListener()
- );
- }
-
- @Override
- protected void setValue(CacheType value) {
- getSubjectParent().setCacheTypeOf(getSubjectName(), value);
- }
-
- @Override
- protected boolean sortChoices() {
- return false;
- }
- }
-
- private String getSubjectName() {
- return this.getSubjectHolder().getValue().getName();
- }
-
- private Caching getSubjectParent() {
- return this.getSubjectHolder().getValue().getParent();
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/DefaultCacheSizeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/DefaultCacheSizeComposite.java
deleted file mode 100644
index 15288d7837..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/DefaultCacheSizeComposite.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching;
-
-import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * CacheSizeComposite
- */
-public class DefaultCacheSizeComposite<T extends Caching> extends Pane<T>
-{
- /**
- * Creates a new <code>CacheTypeComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public DefaultCacheSizeComposite(Pane<T> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
-
-
- @Override
- protected void initializeLayout(Composite container) {
- addDefaultCacheSizeCombo(container);
- }
-
- private void addDefaultCacheSizeCombo(Composite container) {
- new IntegerCombo<Caching>(this, container) {
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiMessages.DefaultCacheSizeComposite_defaultCacheSize;
- }
-
- @Override
- protected String getHelpId() {
- return EclipseLinkHelpContextIds.PERSISTENCE_CACHING_DEFAULT_SIZE;
- }
-
- @Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<Caching, Integer>(getSubjectHolder()) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getDefaultCacheSizeDefault();
- }
- };
- }
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<Caching, Integer>(getSubjectHolder(), Caching.CACHE_SIZE_DEFAULT_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getCacheSizeDefault();
- }
-
- @Override
- protected void setValue_(Integer value) {
- this.subject.setCacheSizeDefault(value);
- }
- };
- }
- };
- }
-
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/DefaultCacheTypeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/DefaultCacheTypeComposite.java
deleted file mode 100644
index ce98727a8e..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/DefaultCacheTypeComposite.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.CacheType;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * DefaultCacheTypeComposite
- */
-public class DefaultCacheTypeComposite extends Pane<Caching>
-{
- /**
- * Creates a new <code>DefaultCacheTypeComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public DefaultCacheTypeComposite(
- Pane<? extends Caching> parentComposite,
- Composite parent) {
-
- super( parentComposite, parent);
- }
-
- private EnumFormComboViewer<Caching, CacheType> buildDefaultCacheTypeCombo(Composite container) {
- return new EnumFormComboViewer<Caching, CacheType>(this, container) {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(Caching.CACHE_TYPE_DEFAULT_PROPERTY);
- }
-
- @Override
- protected CacheType[] getChoices() {
- return CacheType.values();
- }
-
- @Override
- protected boolean sortChoices() {
- return false;
- }
-
- @Override
- protected CacheType getDefaultValue() {
- return getSubject().getDefaultCacheTypeDefault();
- }
-
- @Override
- protected String displayString(CacheType value) {
- switch (value) {
- case full :
- return EclipseLinkUiMessages.CacheTypeComposite_full;
- case weak :
- return EclipseLinkUiMessages.CacheTypeComposite_weak;
- case soft :
- return EclipseLinkUiMessages.CacheTypeComposite_soft;
- case soft_weak :
- return EclipseLinkUiMessages.CacheTypeComposite_soft_weak;
- case hard_weak :
- return EclipseLinkUiMessages.CacheTypeComposite_hard_weak;
- case none :
- return EclipseLinkUiMessages.CacheTypeComposite_none;
- default :
- throw new IllegalStateException();
- }
-
- }
-
- @Override
- protected CacheType getValue() {
- return getSubject().getCacheTypeDefault();
- }
-
- @Override
- protected void setValue(CacheType value) {
- getSubject().setCacheTypeDefault(value);
- }
- };
- }
-
- @Override
- protected void initializeLayout( Composite container) {
-
- this.addLabeledComposite(
- container,
- EclipseLinkUiMessages.PersistenceXmlCachingTab_defaultCacheTypeLabel,
- this.buildDefaultCacheTypeCombo( container),
- EclipseLinkHelpContextIds.PERSISTENCE_CACHING_DEFAULT_TYPE
- );
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/DefaultSharedCacheComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/DefaultSharedCacheComposite.java
deleted file mode 100644
index b7aa220caf..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/DefaultSharedCacheComposite.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * DefaultShareCacheComposite
- */
-public class DefaultSharedCacheComposite extends Pane<Caching>
-{
- /**
- * Creates a new <code>DefaultShareCacheComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public DefaultSharedCacheComposite(
- Pane<? extends Caching> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlCachingTab_sharedCacheDefaultLabel,
- this.buildDefaultSharedCacheHolder(),
- this.buildDefaultSharedCacheStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_CACHING_DEFAULT_SHARED
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildDefaultSharedCacheHolder() {
- return new PropertyAspectAdapter<Caching, Boolean>(getSubjectHolder(), Caching.SHARED_CACHE_DEFAULT_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getSharedCacheDefault();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setSharedCacheDefault(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildDefaultSharedCacheStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultDefaultSharedCacheHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCachingTab_defaultSharedCacheDefaultLabel, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlCachingTab_sharedCacheDefaultLabel;
- }
- };
- }
- private PropertyValueModel<Boolean> buildDefaultDefaultSharedCacheHolder() {
- return new PropertyAspectAdapter<Caching, Boolean>(
- getSubjectHolder(),
- Caching.SHARED_CACHE_DEFAULT_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getSharedCacheDefault() != null) {
- return null;
- }
- return this.subject.getDefaultSharedCacheDefault();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/EclipseLinkCachingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/EclipseLinkCachingComposite.java
deleted file mode 100644
index dbc3dbd616..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/EclipseLinkCachingComposite.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * EclipseLinkCachingComposite
- */
-public class EclipseLinkCachingComposite<T extends Caching> extends Pane<T>
-{
- public EclipseLinkCachingComposite(Pane<T> subjectHolder,
- Composite container) {
-
- super(subjectHolder, container);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
-
- Composite container = this.addSection(
- parent,
- EclipseLinkUiMessages.PersistenceXmlCachingTab_sectionTitle,
- EclipseLinkUiMessages.PersistenceXmlCachingTab_sectionDescription
- );
-
- // Defaults
- new CacheDefaultsComposite<T>(this, container);
- // EntitiesList
- new EntityListComposite<T>(this, container);
- // Flush Clear Cache
- new FlushClearCacheComposite(this, container);
- }
-
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/EntityCachingPropertyComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/EntityCachingPropertyComposite.java
index 75db700c32..c8151ba4c9 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/EntityCachingPropertyComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/EntityCachingPropertyComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -9,10 +9,31 @@
******************************************************************************/
package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching;
+import java.util.ArrayList;
+import java.util.Collection;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.listeners.SWTPropertyChangeListenerWrapper;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
+import org.eclipse.jpt.common.utility.internal.model.value.CompositeListValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.ListPropertyValueModelAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent;
+import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener;
+import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.CacheType;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.CachingEntity;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
/**
@@ -30,24 +51,290 @@ public class EntityCachingPropertyComposite extends Pane<CachingEntity> {
*/
public EntityCachingPropertyComposite(Pane<? extends Caching> parentComposite,
PropertyValueModel<CachingEntity> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent) {
- super(parentComposite, subjectHolder, parent);
+ super(parentComposite, subjectHolder, enabledModel, parent);
}
- /*
- * (non-Javadoc)
- */
@Override
- protected void initializeLayout(Composite container) {
+ protected Composite addComposite(Composite parent) {
+ return addSubPane(parent, 2, 0, 0, 0, 0);
+ }
- // Cache Type
- new CacheTypeComposite(this, container);
+ @Override
+ protected void initializeLayout(Composite container) {
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlCachingTab_cacheTypeLabel);
+ new CacheTypeComboViewer(container);
// Cache Size
- new CacheSizeComposite(this, container);
+ this.addLabel(container, EclipseLinkUiMessages.CacheSizeComposite_cacheSize);
+ this.addCacheSizeCombo(container);
+
+ TriStateCheckBox sharedCacheCheckBox = this.addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlCachingTab_sharedCacheLabel,
+ this.buildSharedCacheHolder(),
+ this.buildSharedCacheStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_CACHING
+ );
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ sharedCacheCheckBox.getCheckBox().setLayoutData(gridData);
+ }
+
+ private class CacheTypeComboViewer extends EnumFormComboViewer<CachingEntity, CacheType> {
+
+ private CacheTypeComboViewer(Composite parent) {
+ super(EntityCachingPropertyComposite.this, parent);
+ }
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(CachingEntity.CACHE_TYPE_PROPERTY);
+ }
+
+ private PropertyValueModel<Caching> buildCachingHolder() {
+ return new TransformationPropertyValueModel<CachingEntity, Caching>(getSubjectHolder()) {
+ @Override
+ protected Caching transform_(CachingEntity value) {
+ return value.getParent();
+ }
+ };
+ }
+
+ private PropertyValueModel<CacheType> buildDefaultCacheTypeHolder() {
+ return new PropertyAspectAdapter<Caching, CacheType>(buildCachingHolder(), Caching.CACHE_TYPE_DEFAULT_PROPERTY) {
+ @Override
+ protected CacheType buildValue_() {
+ CacheType cacheType = subject.getCacheTypeDefault();
+ if (cacheType == null) {
+ cacheType = subject.getDefaultCacheTypeDefault();
+ }
+ return cacheType;
+ }
+ };
+ }
+
+ private PropertyChangeListener buildDefaultCachingTypePropertyChangeListener() {
+ return new SWTPropertyChangeListenerWrapper(
+ buildDefaultCachingTypePropertyChangeListener_()
+ );
+ }
+
+ private PropertyChangeListener buildDefaultCachingTypePropertyChangeListener_() {
+ return new PropertyChangeListener() {
+ public void propertyChanged(PropertyChangeEvent e) {
+ if ((e.getNewValue() != null) && !getControl().isDisposed()) {
+ CacheTypeComboViewer.this.doPopulate();
+ }
+ }
+ };
+ }
+
+ @Override
+ protected CacheType[] getChoices() {
+ return CacheType.values();
+ }
+
+ @Override
+ protected CacheType getDefaultValue() {
+ return getSubjectParent().getDefaultCacheType();
+ }
+
+ @Override
+ protected String displayString(CacheType value) {
+ switch (value) {
+ case full :
+ return EclipseLinkUiMessages.CacheTypeComposite_full;
+ case weak :
+ return EclipseLinkUiMessages.CacheTypeComposite_weak;
+ case soft :
+ return EclipseLinkUiMessages.CacheTypeComposite_soft;
+ case soft_weak :
+ return EclipseLinkUiMessages.CacheTypeComposite_soft_weak;
+ case hard_weak :
+ return EclipseLinkUiMessages.CacheTypeComposite_hard_weak;
+ case none :
+ return EclipseLinkUiMessages.CacheTypeComposite_none;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected void doPopulate() {
+ // This is required to allow the class loader to let the listener
+ // written above to access this method
+ super.doPopulate();
+ }
+
+ @Override
+ protected CacheType getValue() {
+ return getSubjectParent().getCacheTypeOf(getSubjectName());
+ }
+
+ @Override
+ protected void initialize() {
+ super.initialize();
+
+ PropertyValueModel<CacheType> defaultCacheTypeHolder =
+ buildDefaultCacheTypeHolder();
+
+ defaultCacheTypeHolder.addPropertyChangeListener(
+ PropertyValueModel.VALUE,
+ buildDefaultCachingTypePropertyChangeListener()
+ );
+ }
+
+ @Override
+ protected void setValue(CacheType value) {
+ getSubjectParent().setCacheTypeOf(getSubjectName(), value);
+ }
+
+ @Override
+ protected boolean sortChoices() {
+ return false;
+ }
+
+ @Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.PERSISTENCE_CACHING;
+ }
+ }
+
+ private String getSubjectName() {
+ return this.getSubjectHolder().getValue().getName();
+ }
+
+ private Caching getSubjectParent() {
+ return this.getSubjectHolder().getValue().getParent();
+ }
+
+ private void addCacheSizeCombo(Composite container) {
+ new IntegerCombo<CachingEntity>(this, container) {
+ @Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.PERSISTENCE_CACHING;
+ }
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<Caching, Integer>(buildCachingHolder(), Caching.CACHE_SIZE_DEFAULT_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ Integer value = this.subject.getCacheSizeDefault();
+ if (value == null) {
+ value = this.subject.getDefaultCacheSizeDefault();
+ }
+ return value;
+ }
+ };
+ }
+
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<CachingEntity, Integer>(getSubjectHolder(), CachingEntity.CACHE_SIZE_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return getSubjectParent().getCacheSizeOf(getSubjectName());
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ getSubjectParent().setCacheSizeOf(getSubjectName(), value);
+ }
+ };
+ }
+ };
+ }
+
+ private PropertyValueModel<Caching> buildCachingHolder() {
+ return new TransformationPropertyValueModel<CachingEntity, Caching>(this.getSubjectHolder()) {
+ @Override
+ protected Caching transform_(CachingEntity value) {
+ return value.getParent();
+ }
+ };
+ }
+
+ private ModifiablePropertyValueModel<Boolean> buildSharedCacheHolder() {
+ return new PropertyAspectAdapter<CachingEntity, Boolean>(
+ getSubjectHolder(), CachingEntity.SHARED_CACHE_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return getSubjectParent().getSharedCacheOf(getSubjectName());
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ getSubjectParent().setSharedCacheOf(getSubjectName(), value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildSharedCacheStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultAndNonDefaultSharedCacheHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCachingTab_defaultSharedCacheLabel, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlCachingTab_sharedCacheLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultAndNonDefaultSharedCacheHolder() {
+ return new ListPropertyValueModelAdapter<Boolean>(
+ buildDefaultAndNonDefaultSharedCacheListHolder()
+ ) {
+ @Override
+ protected Boolean buildValue() {
+ // If the number of ListValueModel equals 1, that means the shared
+ // Cache properties is not set (partially selected), which means we
+ // want to see the default value appended to the text
+ if (this.listModel.size() == 1) {
+ return (Boolean) this.listModel.listIterator().next();
+ }
+ return null;
+ }
+ };
+ }
+
+ private ListValueModel<Boolean> buildDefaultAndNonDefaultSharedCacheListHolder() {
+ ArrayList<ListValueModel<Boolean>> holders = new ArrayList<ListValueModel<Boolean>>(2);
+ holders.add(buildSharedCacheListHolder());
+ holders.add(buildDefaultSharedCacheListHolder());
+
+ return new CompositeListValueModel<ListValueModel<Boolean>, Boolean>(
+ holders
+ );
+ }
+
+ private ListValueModel<Boolean> buildSharedCacheListHolder() {
+ return new PropertyListValueModelAdapter<Boolean>(
+ buildSharedCacheHolder()
+ );
+ }
+
+ private ListValueModel<Boolean> buildDefaultSharedCacheListHolder() {
+ return new PropertyListValueModelAdapter<Boolean>(
+ buildDefaultSharedCacheHolder()
+ );
+ }
- // Share Cache
- new SharedCacheComposite(this, container);
+ private PropertyValueModel<Boolean> buildDefaultSharedCacheHolder() {
+ return new PropertyAspectAdapter<Caching, Boolean>(buildCachingHolder(), Caching.SHARED_CACHE_DEFAULT_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ Boolean value = this.subject.getSharedCacheDefault();
+ if (value == null) {
+ value = this.subject.getDefaultSharedCacheDefault();
+ }
+ return value;
+ }
+ };
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/EntityListComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/EntityListComposite.java
index a2bc198203..24cb4d4cdd 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/EntityListComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/EntityListComposite.java
@@ -20,18 +20,17 @@ import org.eclipse.jdt.ui.JavaUI;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.window.Window;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
+import org.eclipse.jpt.common.utility.internal.model.value.CollectionPropertyValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.CachingEntity;
import org.eclipse.jpt.jpa.eclipselink.ui.JptJpaEclipseLinkUiPlugin;
@@ -47,7 +46,8 @@ import org.eclipse.ui.progress.IProgressService;
*/
public class EntityListComposite<T extends Caching> extends Pane<T>
{
- ModifiablePropertyValueModel<CachingEntity> entityHolder;
+ private ModifiableCollectionValueModel<CachingEntity> selectedEntitiesModel;
+ private PropertyValueModel<CachingEntity> selectedEntityModel;
public EntityListComposite(Pane<T> parentComposite, Composite parent) {
@@ -57,54 +57,79 @@ public class EntityListComposite<T extends Caching> extends Pane<T>
@Override
protected void initialize() {
super.initialize();
- this.entityHolder = this.buildEntityHolder();
+ this.selectedEntitiesModel = this.buildSelectedEntitiesModel();
+ this.selectedEntityModel = this.buildSelectedEntityModel(this.selectedEntitiesModel);
}
- @Override
- protected void initializeLayout(Composite container) {
+ private ModifiableCollectionValueModel<CachingEntity> buildSelectedEntitiesModel() {
+ return new SimpleCollectionValueModel<CachingEntity>();
+ }
- container = this.addTitledGroup(
- container,
+ private PropertyValueModel<CachingEntity> buildSelectedEntityModel(CollectionValueModel<CachingEntity> selectedEntitiesModel) {
+ return new CollectionPropertyValueModelAdapter<CachingEntity, CachingEntity>(selectedEntitiesModel) {
+ @Override
+ protected CachingEntity buildValue() {
+ if (this.collectionModel.size() == 1) {
+ return this.collectionModel.iterator().next();
+ }
+ return null;
+ }
+ };
+ }
+
+ @Override
+ protected Composite addComposite(Composite parent) {
+ return this.addTitledGroup(
+ parent,
EclipseLinkUiMessages.CachingEntityListComposite_groupTitle
);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
// Entities add/remove list pane
- new AddRemoveListPane<Caching>(
+ new AddRemoveListPane<Caching, CachingEntity>(
this,
container,
this.buildEntitiesAdapter(),
this.buildEntitiesListHolder(),
- this.entityHolder,
+ this.selectedEntitiesModel,
this.buildEntityLabelProvider(),
EclipseLinkHelpContextIds.PERSISTENCE_CACHING
);
// Entity Caching property pane
- EntityCachingPropertyComposite pane = new EntityCachingPropertyComposite(
+ new EntityCachingPropertyComposite(
this,
- this.entityHolder,
+ this.selectedEntityModel,
+ buildPaneEnablerModel(this.selectedEntityModel),
container
);
- this.installPaneEnabler(this.entityHolder, pane);
}
- private AddRemoveListPane.Adapter buildEntitiesAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- EntityListComposite.this.addEntities(listSelectionModel);
+ private AddRemoveListPane.Adapter<CachingEntity> buildEntitiesAdapter() {
+ return new AddRemoveListPane.AbstractAdapter<CachingEntity>() {
+
+ public CachingEntity addNewItem() {
+ return EntityListComposite.this.addEntity();
}
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- Caching caching = getSubject();
- for (Object item : listSelectionModel.selectedValues()) {
- CachingEntity entityCaching = (CachingEntity) item;
- caching.removeEntity(entityCaching.getName());
- }
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<CachingEntity> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
+
+ public void removeSelectedItems(CollectionValueModel<CachingEntity> selectedItemsModel) {
+ //assume only 1 item since remove button is disabled otherwise
+ CachingEntity cachingEntity = selectedItemsModel.iterator().next();
+ getSubject().removeEntity(cachingEntity.getName());
}
};
}
- private void addEntities(ObjectListSelectionModel listSelectionModel) {
+ private CachingEntity addEntity() {
IType type = this.chooseEntity();
@@ -115,13 +140,10 @@ public class EntityListComposite<T extends Caching> extends Pane<T>
}
if( ! this.getSubject().entityExists(entityName)) {
- this.getSubject().addEntity(entityName);
- int index = CollectionTools.indexOf(this.getSubject().getEntityNames(), entityName);
- CachingEntity entity = (CachingEntity) listSelectionModel.getListModel().getElementAt(index);
- listSelectionModel.setSelectedValue(entity);
- this.entityHolder.setValue(entity);
+ return this.getSubject().addEntity(entityName);
}
}
+ return null;
}
private String getEntityName(String fullyQualifiedTypeName) {
@@ -174,10 +196,6 @@ public class EntityListComposite<T extends Caching> extends Pane<T>
};
}
- private ModifiablePropertyValueModel<CachingEntity> buildEntityHolder() {
- return new SimplePropertyValueModel<CachingEntity>();
- }
-
private ListValueModel<CachingEntity> buildEntitiesListHolder() {
return new ListAspectAdapter<Caching, CachingEntity>(
this.getSubjectHolder(), Caching.ENTITIES_LIST) {
@@ -192,20 +210,11 @@ public class EntityListComposite<T extends Caching> extends Pane<T>
};
}
- private void installPaneEnabler(ModifiablePropertyValueModel<CachingEntity> entityHolder,
- EntityCachingPropertyComposite pane) {
-
- new PaneEnabler(
- this.buildPaneEnablerHolder(entityHolder),
- pane
- );
- }
-
- private PropertyValueModel<Boolean> buildPaneEnablerHolder(ModifiablePropertyValueModel<CachingEntity> entityHolder) {
+ private PropertyValueModel<Boolean> buildPaneEnablerModel(PropertyValueModel<CachingEntity> entityHolder) {
return new TransformationPropertyValueModel<CachingEntity, Boolean>(entityHolder) {
@Override
protected Boolean transform_(CachingEntity value) {
- return value.entityNameIsValid();
+ return Boolean.valueOf(value.entityNameIsValid());
}
};
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/FlushClearCacheComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/FlushClearCacheComposite.java
deleted file mode 100644
index 87f3042da1..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/FlushClearCacheComposite.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.FlushClearCache;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * FlushClearCacheComposite
- */
-public class FlushClearCacheComposite extends Pane<Caching>
-{
- /**
- * Creates a new <code>FlushClearCacheComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public FlushClearCacheComposite(
- Pane<? extends Caching> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
- this.addLabeledComposite(
- parent,
- EclipseLinkUiMessages.PersistenceXmlCachingTab_FlushClearCacheLabel,
- this.addFlushClearCacheCombo(parent),
- EclipseLinkHelpContextIds.PERSISTENCE_CACHING
- );
- }
-
- private EnumFormComboViewer<Caching, FlushClearCache> addFlushClearCacheCombo(Composite container) {
- return new EnumFormComboViewer<Caching, FlushClearCache>(this, container) {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(Caching.FLUSH_CLEAR_CACHE_PROPERTY);
- }
-
- @Override
- protected FlushClearCache[] getChoices() {
- return FlushClearCache.values();
- }
-
- @Override
- protected boolean sortChoices() {
- return false;
- }
-
- @Override
- protected FlushClearCache getDefaultValue() {
- return this.getSubject().getDefaultFlushClearCache();
- }
-
- @Override
- protected String displayString(FlushClearCache value) {
- switch (value) {
- case drop :
- return EclipseLinkUiMessages.FlushClearCacheComposite_drop;
- case drop_invalidate :
- return EclipseLinkUiMessages.FlushClearCacheComposite_drop_invalidate;
- case merge :
- return EclipseLinkUiMessages.FlushClearCacheComposite_merge;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected FlushClearCache getValue() {
- return this.getSubject().getFlushClearCache();
- }
-
- @Override
- protected void setValue(FlushClearCache value) {
- this.getSubject().setFlushClearCache(value);
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/PersistenceXmlCachingTab.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/PersistenceXmlCachingTab.java
index 8dfbd3c17d..80be10a55e 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/PersistenceXmlCachingTab.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/PersistenceXmlCachingTab.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2007, 2011 Oracle. All rights reserved.
+* Copyright (c) 2007, 2012 Oracle. 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.
@@ -9,15 +9,17 @@
*******************************************************************************/
package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching;
+import java.util.Collection;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.FlushClearCache;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
-import org.eclipse.swt.SWT;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
@@ -36,12 +38,6 @@ public class PersistenceXmlCachingTab<T extends Caching>
super(subjectHolder, parent, widgetFactory);
}
-
- @Override
- protected void initializeLayout(Composite container) {
-
- new EclipseLinkCachingComposite<T>(this, container);
- }
// ********** JpaPageComposite implementation **********
@@ -56,32 +52,84 @@ public class PersistenceXmlCachingTab<T extends Caching>
return EclipseLinkUiMessages.PersistenceXmlCachingTab_title;
}
- // ********** Layout **********
@Override
- protected Composite addContainer(Composite parent) {
- GridLayout layout = new GridLayout(1, true);
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- layout.marginTop = 0;
- layout.marginLeft = 0;
- layout.marginBottom = 0;
- layout.marginRight = 0;
- layout.verticalSpacing = 15;
-
- Composite container = addPane(parent, layout);
- updateGridData(container);
-
- return container;
- }
+ protected void initializeLayout(Composite container) {
+ container = this.addSection(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlCachingTab_sectionTitle,
+ EclipseLinkUiMessages.PersistenceXmlCachingTab_sectionDescription
+ );
+ container.setLayout(new GridLayout(2, false));
+
+ // Defaults
+ CacheDefaultsComposite<T> defaultsComposite = new CacheDefaultsComposite<T>(this, container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ defaultsComposite.getControl().setLayoutData(gridData);
+
+ // EntitiesList
+ EntityListComposite<T> entitiesComposite = new EntityListComposite<T>(this, container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ entitiesComposite.getControl().setLayoutData(gridData);
- private void updateGridData(Composite container) {
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
+ // Flush Clear Cache
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlCachingTab_FlushClearCacheLabel);
+ this.addFlushClearCacheCombo(container);
}
+ protected EnumFormComboViewer<Caching, FlushClearCache> addFlushClearCacheCombo(Composite container) {
+ return new EnumFormComboViewer<Caching, FlushClearCache>(this, container) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(Caching.FLUSH_CLEAR_CACHE_PROPERTY);
+ }
+
+ @Override
+ protected FlushClearCache[] getChoices() {
+ return FlushClearCache.values();
+ }
+
+ @Override
+ protected boolean sortChoices() {
+ return false;
+ }
+
+ @Override
+ protected FlushClearCache getDefaultValue() {
+ return this.getSubject().getDefaultFlushClearCache();
+ }
+
+ @Override
+ protected String displayString(FlushClearCache value) {
+ switch (value) {
+ case drop :
+ return EclipseLinkUiMessages.FlushClearCacheComposite_drop;
+ case drop_invalidate :
+ return EclipseLinkUiMessages.FlushClearCacheComposite_drop_invalidate;
+ case merge :
+ return EclipseLinkUiMessages.FlushClearCacheComposite_merge;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected FlushClearCache getValue() {
+ return this.getSubject().getFlushClearCache();
+ }
+
+ @Override
+ protected void setValue(FlushClearCache value) {
+ this.getSubject().setFlushClearCache(value);
+ }
+
+ @Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.PERSISTENCE_CACHING;
+ }
+ };
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/SharedCacheComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/SharedCacheComposite.java
deleted file mode 100644
index 206145de1b..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/caching/SharedCacheComposite.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching;
-
-import java.util.ArrayList;
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
-import org.eclipse.jpt.common.utility.internal.model.value.CompositeListValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.ListPropertyValueModelAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.CachingEntity;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * SharedCacheComposite
- */
-public class SharedCacheComposite extends Pane<CachingEntity>
-{
- private TriStateCheckBox sharedCacheCheckBox;
-
- /**
- * Creates a new <code>ShareCacheComposite</code>.
- *
- * @param parentController The parent container of this one
- * @param parent The parent container
- */
- public SharedCacheComposite(Pane<CachingEntity> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- private PropertyValueModel<Caching> buildCachingHolder() {
- return new TransformationPropertyValueModel<CachingEntity, Caching>(this.getSubjectHolder()) {
- @Override
- protected Caching transform_(CachingEntity value) {
- return value.getParent();
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultAndNonDefaultSharedCacheHolder() {
- return new ListPropertyValueModelAdapter<Boolean>(
- buildDefaultAndNonDefaultSharedCacheListHolder()
- ) {
- @Override
- protected Boolean buildValue() {
- // If the number of ListValueModel equals 1, that means the shared
- // Cache properties is not set (partially selected), which means we
- // want to see the default value appended to the text
- if (this.listModel.size() == 1) {
- return (Boolean) this.listModel.listIterator().next();
- }
- return null;
- }
- };
- }
-
- private ListValueModel<Boolean> buildDefaultAndNonDefaultSharedCacheListHolder() {
- ArrayList<ListValueModel<Boolean>> holders = new ArrayList<ListValueModel<Boolean>>(2);
- holders.add(buildSharedCacheListHolder());
- holders.add(buildDefaultSharedCacheListHolder());
-
- return new CompositeListValueModel<ListValueModel<Boolean>, Boolean>(
- holders
- );
- }
-
- private PropertyValueModel<Boolean> buildDefaultSharedCacheHolder() {
- return new PropertyAspectAdapter<Caching, Boolean>(buildCachingHolder(), Caching.SHARED_CACHE_DEFAULT_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- Boolean value = this.subject.getSharedCacheDefault();
- if (value == null) {
- value = this.subject.getDefaultSharedCacheDefault();
- }
- return value;
- }
- };
- }
-
- private ListValueModel<Boolean> buildDefaultSharedCacheListHolder() {
- return new PropertyListValueModelAdapter<Boolean>(
- buildDefaultSharedCacheHolder()
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildSharedCacheHolder() {
- return new PropertyAspectAdapter<CachingEntity, Boolean>(
- getSubjectHolder(), CachingEntity.SHARED_CACHE_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return getSubjectParent().getSharedCacheOf(getSubjectName());
- }
-
- @Override
- protected void setValue_(Boolean value) {
- getSubjectParent().setSharedCacheOf(getSubjectName(), value);
- }
- };
- }
-
- private String getSubjectName() {
- return this.getSubjectHolder().getValue().getName();
- }
-
- private Caching getSubjectParent() {
- return this.getSubjectHolder().getValue().getParent();
- }
-
- private ListValueModel<Boolean> buildSharedCacheListHolder() {
- return new PropertyListValueModelAdapter<Boolean>(
- buildSharedCacheHolder()
- );
- }
-
- private PropertyValueModel<String> buildSharedCacheStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultAndNonDefaultSharedCacheHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCachingTab_defaultSharedCacheLabel, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlCachingTab_sharedCacheLabel;
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.sharedCacheCheckBox = this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlCachingTab_sharedCacheLabel,
- this.buildSharedCacheHolder(),
- this.buildSharedCacheStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_CACHING
- );
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/BatchWritingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/BatchWritingComposite.java
deleted file mode 100644
index 19272784b2..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/BatchWritingComposite.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.BatchWriting;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * BatchWritingComposite
- */
-public class BatchWritingComposite<T extends Connection>
- extends Pane<T>
-{
- /**
- * Creates a new <code>BatchWritingComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public BatchWritingComposite(
- Pane<T> parentComposite,
- Composite parent) {
-
- super( parentComposite, parent);
- }
-
- private EnumFormComboViewer<Connection, BatchWriting> addBatchWritingCombo(Composite container) {
- return new EnumFormComboViewer<Connection, BatchWriting>(this, container) {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(Connection.BATCH_WRITING_PROPERTY);
- }
-
- @Override
- protected BatchWriting[] getChoices() {
- return BatchWriting.values();
- }
-
- @Override
- protected BatchWriting getDefaultValue() {
- return getSubject().getDefaultBatchWriting();
- }
-
- @Override
- protected String displayString(BatchWriting value) {
- switch (value) {
- case buffered :
- return EclipseLinkUiMessages.BatchWritingComposite_buffered;
- case jdbc :
- return EclipseLinkUiMessages.BatchWritingComposite_jdbc;
- case none :
- return EclipseLinkUiMessages.BatchWritingComposite_none;
- case oracle_jdbc :
- return EclipseLinkUiMessages.BatchWritingComposite_oracle_jdbc;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected BatchWriting getValue() {
- return getSubject().getBatchWriting();
- }
-
- @Override
- protected void setValue(BatchWriting value) {
- getSubject().setBatchWriting(value);
- }
- };
- }
-
- @Override
- protected void initializeLayout( Composite container) {
-
- this.addLabeledComposite(
- container,
- EclipseLinkUiMessages.PersistenceXmlConnectionTab_batchWritingLabel,
- this.addBatchWritingCombo( container),
- JpaHelpContextIds.PERSISTENCE_XML_CONNECTION
- );
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/CacheStatementsPropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/CacheStatementsPropertiesComposite.java
deleted file mode 100644
index 4bbcb8d129..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/CacheStatementsPropertiesComposite.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
-import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.StringConverter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * CacheStatementsPropertiesComposite
- */
-public class CacheStatementsPropertiesComposite<T extends Connection>
- extends Pane<T>
-{
- public CacheStatementsPropertiesComposite(
- Pane<T> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- ModifiablePropertyValueModel<Boolean> cacheStatementsHolder = buildCacheStatementsHolder();
-
- container = this.addSubPane(container, 3, 5, 0, 0, 0);
-
- this.addTriStateCheckBox(
- container,
- EclipseLinkUiMessages.PersistenceXmlConnectionTab_cacheStatementsLabel,
- cacheStatementsHolder,
- JpaHelpContextIds.PERSISTENCE_XML_CONNECTION
- );
- IntegerCombo<?> combo = addCacheStatementsSizeCombo(container);
-
- this.installControlEnabler(cacheStatementsHolder, combo);
- }
-
- private ModifiablePropertyValueModel<Boolean> buildCacheStatementsHolder() {
- return new PropertyAspectAdapter<Connection, Boolean>(getSubjectHolder(), Connection.CACHE_STATEMENTS_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getCacheStatements();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setCacheStatements(value);
- }
-
- @Override
- protected synchronized void subjectChanged() {
- Boolean oldValue = this.getValue();
- super.subjectChanged();
- Boolean newValue = this.getValue();
-
- // Make sure the default value is appended to the text
- if (oldValue == newValue && newValue == null) {
- this.fireAspectChanged(Boolean.TRUE, newValue);
- }
- }
- };
- }
-
- private IntegerCombo<Connection> addCacheStatementsSizeCombo(Composite container) {
- return new IntegerCombo<Connection>(this, container) {
-
- @Override
- protected Combo addIntegerCombo(Composite container) {
- return this.addEditableCombo(
- container,
- buildDefaultListHolder(),
- buildSelectedItemStringHolder(),
- StringConverter.Default.<String>instance());
- }
-
- @Override
- protected String getLabelText() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- protected String getHelpId() {
- return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
- }
-
- @Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder()) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getDefaultCacheStatementsSize();
- }
- };
- }
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder(), Connection.CACHE_STATEMENTS_SIZE_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getCacheStatementsSize();
- }
-
- @Override
- protected void setValue_(Integer value) {
- this.subject.setCacheStatementsSize(value);
- }
- };
- }
- };
- }
-
- private void installControlEnabler(ModifiablePropertyValueModel<Boolean> cacheStatementsHolder, IntegerCombo<?> combo) {
-
- new PaneEnabler(cacheStatementsHolder, combo);
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/ConnectionPropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/ConnectionPropertiesComposite.java
index f08a3728e5..6413494da1 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/ConnectionPropertiesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/ConnectionPropertiesComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2008, 2011 Oracle. All rights reserved.
+* Copyright (c) 2008, 2012 Oracle. 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.
@@ -10,8 +10,16 @@
package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
+import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitTransactionType;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
/**
@@ -27,19 +35,133 @@ public class ConnectionPropertiesComposite<T extends Connection>
super(parentComposite, parent);
}
- @Override
- protected void initializeLayout(Composite container) {
+ public String getHelpID() {
+ return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
+ }
- container = addTitledGroup(
+ @Override
+ protected Composite addComposite(Composite container) {
+ return addTitledGroup(
container,
- EclipseLinkUiMessages.ConnectionPropertiesComposite_Database_GroupBox
+ EclipseLinkUiMessages.ConnectionPropertiesComposite_Database_GroupBox,
+ 2,
+ null
);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ // JTA Data Source
+ PropertyValueModel<Boolean> jtaEnabled = this.buildJTADataSourceHolder();
+ addLabel(container, EclipseLinkUiMessages.PersistenceXmlConnectionTab_jtaDataSourceLabel, jtaEnabled);
+ addText(container, this.buildJtaDataSourceHolder(), this.getHelpID(), jtaEnabled);
+
+ // Non-JTA Data Source
+ PropertyValueModel<Boolean> nonJtaEnabled = this.buildNonJTADataSourceHolder();
+ addLabel(container, EclipseLinkUiMessages.PersistenceXmlConnectionTab_nonJtaDataSourceLabel, nonJtaEnabled);
+ addText(container, buildNonJtaDataSourceHolder(), this.getHelpID(), nonJtaEnabled);
+
+
+ PropertyValueModel<Boolean> enabledModel = buildTransacationTypeResourceLocalEnabledModel();
- // Data source
- new DataSourcePropertiesComposite<T>(this, container);
// EclipseLink Connection Pool
- new JdbcPropertiesComposite<T>(this, container);
+ JdbcPropertiesComposite<T> jdbcComposite = new JdbcPropertiesComposite<T>(this, container, enabledModel);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ jdbcComposite.getControl().setLayoutData(gridData);
+
// Exclusive Connections
- new JdbcExclusiveConnectionsPropertiesComposite<T>(this, container);
+ JdbcExclusiveConnectionsPropertiesComposite<T> exclusiveConnectionsComposite = new JdbcExclusiveConnectionsPropertiesComposite<T>(this, container, enabledModel);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ exclusiveConnectionsComposite.getControl().setLayoutData(gridData);
+ }
+
+
+
+ private PropertyValueModel<Boolean> buildTransacationTypeResourceLocalEnabledModel() {
+ return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(this.buildTransactionTypeHolder()) {
+ @Override
+ protected Boolean transform(PersistenceUnitTransactionType value) {
+ return Boolean.valueOf(value == PersistenceUnitTransactionType.RESOURCE_LOCAL);
+ }
+ };
+ }
+
+ private ModifiablePropertyValueModel<String> buildJtaDataSourceHolder() {
+ return new PropertyAspectAdapter<PersistenceUnit, String>(buildPersistenceUnitHolder(), PersistenceUnit.JTA_DATA_SOURCE_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return this.subject.getJtaDataSource();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (value.length() == 0) {
+ value = null;
+ }
+ this.subject.setJtaDataSource(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildJTADataSourceHolder() {
+ return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
+ @Override
+ protected Boolean transform(PersistenceUnitTransactionType value) {
+ return Boolean.valueOf(this.transform2(value));
+ }
+ private boolean transform2(PersistenceUnitTransactionType value) {
+ return value == null || value == PersistenceUnitTransactionType.JTA;
+ }
+ };
+ }
+
+ private ModifiablePropertyValueModel<String> buildNonJtaDataSourceHolder() {
+ return new PropertyAspectAdapter<PersistenceUnit, String>(buildPersistenceUnitHolder(), PersistenceUnit.NON_JTA_DATA_SOURCE_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return this.subject.getNonJtaDataSource();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (value.length() == 0) {
+ value = null;
+ }
+ this.subject.setNonJtaDataSource(value);
+ }
+ };
}
+
+ private PropertyValueModel<Boolean> buildNonJTADataSourceHolder() {
+ return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
+ @Override
+ protected Boolean transform(PersistenceUnitTransactionType value) {
+ return Boolean.valueOf(value == PersistenceUnitTransactionType.RESOURCE_LOCAL);
+ }
+ };
+ }
+
+ private PropertyValueModel<PersistenceUnitTransactionType> buildTransactionTypeHolder() {
+ return new PropertyAspectAdapter<PersistenceUnit, PersistenceUnitTransactionType>(
+ buildPersistenceUnitHolder(),
+ PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY,
+ PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY) {
+ @Override
+ protected PersistenceUnitTransactionType buildValue_() {
+ return this.subject.getTransactionType();
+ }
+ };
+ }
+
+ private PropertyValueModel<PersistenceUnit> buildPersistenceUnitHolder() {
+ return new PropertyAspectAdapter<Connection, PersistenceUnit>(getSubjectHolder()) {
+ @Override
+ protected PersistenceUnit buildValue_() {
+ return this.subject.getPersistenceUnit();
+ }
+ };
+ }
+
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/DataSourcePropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/DataSourcePropertiesComposite.java
deleted file mode 100644
index 64080cd763..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/DataSourcePropertiesComposite.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitTransactionType;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @version 2.0
- * @since 2.0
- */
-public class DataSourcePropertiesComposite<T extends Connection>
- extends Pane<T>
-{
- /**
- * Creates a new <code>DataSourcePropertiesComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public DataSourcePropertiesComposite(
- Pane<T> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- private ModifiablePropertyValueModel<String> buildJtaDataSourceHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, String>(buildPersistenceUnitHolder(), PersistenceUnit.JTA_DATA_SOURCE_PROPERTY) {
- @Override
- protected String buildValue_() {
- return this.subject.getJtaDataSource();
- }
-
- @Override
- protected void setValue_(String value) {
- if (value.length() == 0) {
- value = null;
- }
- this.subject.setJtaDataSource(value);
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildJTADataSourceHolder() {
- return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
- @Override
- protected Boolean transform(PersistenceUnitTransactionType value) {
- return Boolean.valueOf(this.transform2(value));
- }
- private boolean transform2(PersistenceUnitTransactionType value) {
- return value == null || value == PersistenceUnitTransactionType.JTA;
- }
- };
- }
-
- private ModifiablePropertyValueModel<String> buildNonJtaDataSourceHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, String>(buildPersistenceUnitHolder(), PersistenceUnit.NON_JTA_DATA_SOURCE_PROPERTY) {
- @Override
- protected String buildValue_() {
- return this.subject.getNonJtaDataSource();
- }
-
- @Override
- protected void setValue_(String value) {
- if (value.length() == 0) {
- value = null;
- }
- this.subject.setNonJtaDataSource(value);
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildNonJTADataSourceHolder() {
- return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
- @Override
- protected Boolean transform(PersistenceUnitTransactionType value) {
- return Boolean.valueOf(value == PersistenceUnitTransactionType.RESOURCE_LOCAL);
- }
- };
- }
-
- private PropertyValueModel<PersistenceUnitTransactionType> buildTransactionTypeHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, PersistenceUnitTransactionType>(
- buildPersistenceUnitHolder(),
- PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY,
- PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY) {
- @Override
- protected PersistenceUnitTransactionType buildValue_() {
- return this.subject.getTransactionType();
- }
- };
- }
-
- private PropertyValueModel<PersistenceUnit> buildPersistenceUnitHolder() {
- return new PropertyAspectAdapter<Connection, PersistenceUnit>(getSubjectHolder()) {
- @Override
- protected PersistenceUnit buildValue_() {
- return this.subject.getPersistenceUnit();
- }
- };
-
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- int groupBoxMargin = getGroupBoxMargin();
-
- container = addSubPane(container, 0, groupBoxMargin, 0, groupBoxMargin);
-
- // JTA Data Source
- PropertyValueModel<Boolean> jtaEnabled = this.buildJTADataSourceHolder();
- Label jtaLabel = addLabel(container, EclipseLinkUiMessages.PersistenceXmlConnectionTab_jtaDataSourceLabel, jtaEnabled);
- Text jtaText = addText(container, this.buildJtaDataSourceHolder(), this.getHelpID(), jtaEnabled);
- this.addLabeledComposite(container, jtaLabel, jtaText, this.getHelpID());
-
- // Non-JTA Data Source
- PropertyValueModel<Boolean> nonJtaEnabled = this.buildNonJTADataSourceHolder();
- Label nonJtaLabel = addLabel(container, EclipseLinkUiMessages.PersistenceXmlConnectionTab_nonJtaDataSourceLabel, nonJtaEnabled);
- Text nonJtaText = addText(container, buildNonJtaDataSourceHolder(), this.getHelpID(), nonJtaEnabled);
- this.addLabeledComposite(container, nonJtaLabel, nonJtaText, this.getHelpID());
- }
-
- public String getHelpID() {
- return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/EclipseLinkConnectionComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/EclipseLinkConnectionComposite.java
deleted file mode 100644
index 014c004b62..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/EclipseLinkConnectionComposite.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * EclipseLinkConnectionComposite
- */
-public class EclipseLinkConnectionComposite<T extends Connection>
- extends Pane<T>
-{
- public EclipseLinkConnectionComposite(
- Pane<T> subjectHolder,
- Composite container) {
- super(subjectHolder, container, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- int groupBoxMargin = getGroupBoxMargin() * 2;
-
- container = addSection(
- container,
- EclipseLinkUiMessages.PersistenceXmlConnectionTab_sectionTitle,
- EclipseLinkUiMessages.PersistenceXmlConnectionTab_sectionDescription
- );
-
- Composite subPane = addSubPane(
- container,
- 0, groupBoxMargin, 10, groupBoxMargin
- );
-
- new TransactionTypeComposite<T>(this, subPane);
-
- new BatchWritingComposite<T>(this, subPane);
-
- new CacheStatementsPropertiesComposite<T>(this, subPane);
-
- new NativeSqlComposite<T>(this, subPane);
-
- new ConnectionPropertiesComposite<T>(this, container);
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcBindParametersComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcBindParametersComposite.java
deleted file mode 100644
index 71d2fa018c..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcBindParametersComposite.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * JdbcBindParametersComposite
- */
-public class JdbcBindParametersComposite extends Pane<Connection>
-{
- /**
- * Creates a new <code>JdbcBindParametersComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public JdbcBindParametersComposite(
- Pane<? extends Connection> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlConnectionTab_bindParametersLabel,
- this.buildBindParametersHolder(),
- this.buildBindParametersStringHolder(),
- JpaHelpContextIds.PERSISTENCE_XML_CONNECTION
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildBindParametersHolder() {
- return new PropertyAspectAdapter<Connection, Boolean>(getSubjectHolder(), Connection.BIND_PARAMETERS_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getBindParameters();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setBindParameters(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildBindParametersStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultBindParametersHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlConnectionTab_bindParametersLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlConnectionTab_bindParametersLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultBindParametersHolder() {
- return new PropertyAspectAdapter<Connection, Boolean>(
- getSubjectHolder(),
- Connection.BIND_PARAMETERS_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getBindParameters() != null) {
- return null;
- }
- return this.subject.getDefaultBindParameters();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcConnectionPropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcConnectionPropertiesComposite.java
index b936d8a50d..bcd4d2cdd9 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcConnectionPropertiesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcConnectionPropertiesComposite.java
@@ -15,27 +15,37 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.SubMonitor;
+import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
import org.eclipse.jpt.common.utility.internal.CollectionTools;
import org.eclipse.jpt.common.utility.internal.StringTools;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.db.ConnectionProfile;
import org.eclipse.jpt.jpa.db.ConnectionProfileFactory;
import org.eclipse.jpt.jpa.db.JptJpaDbPlugin;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
import org.eclipse.jpt.jpa.eclipselink.ui.JptJpaEclipseLinkUiPlugin;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
+import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.dialogs.FilteredItemsSelectionDialog;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* JdbcConnectionPropertiesComposite
@@ -116,41 +126,134 @@ public class JdbcConnectionPropertiesComposite<T extends Connection>
}
@Override
+ protected Composite addComposite(Composite parent) {
+ return this.addSubPane(parent, 2, 0, 0, 0, 0);
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
// Populate from Connection hyperlink
- this.addHyperlink(
+ Hyperlink hyperLink = this.addHyperlink(
container,
JptUiPersistence2_0Messages.JdbcConnectionPropertiesComposite_populateFromConnectionHyperLink,
buildPopulateFromConnectionAction()
);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ hyperLink.setLayoutData(gridData);
// Driver
- new JdbcDriverComposite(this, container);
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlConnectionTab_driverLabel);
+ this.initializeJdbcDriverClassChooser(container);
// Url
- this.addLabeledText(
- container,
- EclipseLinkUiMessages.PersistenceXmlConnectionTab_urlLabel,
- buildUrlHolder()
- );
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlConnectionTab_urlLabel);
+ this.addText(container, buildUrlHolder());
// User
- this.addLabeledText(
- container,
- EclipseLinkUiMessages.PersistenceXmlConnectionTab_userLabel,
- buildUserHolder()
- );
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlConnectionTab_userLabel);
+ this.addText(container, buildUserHolder());
// Password
- this.addLabeledPasswordText(
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlConnectionTab_passwordLabel);
+ this.addPasswordText(container, buildPasswordHolder());
+
+ // Bind Parameters
+
+ TriStateCheckBox bindParametersCheckBox = this.addTriStateCheckBoxWithDefault(
container,
- EclipseLinkUiMessages.PersistenceXmlConnectionTab_passwordLabel,
- buildPasswordHolder()
+ EclipseLinkUiMessages.PersistenceXmlConnectionTab_bindParametersLabel,
+ this.buildBindParametersHolder(),
+ this.buildBindParametersStringHolder(),
+ JpaHelpContextIds.PERSISTENCE_XML_CONNECTION
);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ bindParametersCheckBox.getCheckBox().setLayoutData(gridData);
+ }
- // Bind Parameters
- new JdbcBindParametersComposite(this, container);
+ private ClassChooserPane<Connection> initializeJdbcDriverClassChooser(Composite container) {
+
+ return new ClassChooserPane<Connection>(this, container) {
+
+ @Override
+ protected ModifiablePropertyValueModel<String> buildTextHolder() {
+ return new PropertyAspectAdapter<Connection, String>(
+ this.getSubjectHolder(), Connection.DRIVER_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return this.subject.getDriver();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+
+ if (value.length() == 0) {
+ value = null;
+ }
+ this.subject.setDriver(value);
+ }
+ };
+ }
+
+ @Override
+ protected String getClassName() {
+ return this.getSubject().getDriver();
+ }
+
+ @Override
+ protected IJavaProject getJavaProject() {
+ return getSubject().getJpaProject().getJavaProject();
+ }
+
+ @Override
+ protected void setClassName(String className) {
+ this.getSubject().setDriver(className);
+ }
+ };
+ }
+
+ private ModifiablePropertyValueModel<Boolean> buildBindParametersHolder() {
+ return new PropertyAspectAdapter<Connection, Boolean>(getSubjectHolder(), Connection.BIND_PARAMETERS_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getBindParameters();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setBindParameters(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildBindParametersStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultBindParametersHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlConnectionTab_bindParametersLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlConnectionTab_bindParametersLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultBindParametersHolder() {
+ return new PropertyAspectAdapter<Connection, Boolean>(
+ getSubjectHolder(),
+ Connection.BIND_PARAMETERS_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getBindParameters() != null) {
+ return null;
+ }
+ return this.subject.getDefaultBindParameters();
+ }
+ };
}
void promptConnection() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcDriverComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcDriverComposite.java
deleted file mode 100644
index e665ac0537..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcDriverComposite.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * JdbcDriverComposite
- */
-public class JdbcDriverComposite extends Pane<Connection>
-{
- /**
- * Creates a new <code>EventListenerComposite</code>.
- *
- * @param parentPane The parent pane of this one
- * @param parent The parent container
- */
- public JdbcDriverComposite(Pane<? extends Connection> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- private ClassChooserPane<Connection> initializeClassChooser(Composite container) {
-
- return new ClassChooserPane<Connection>(this, container) {
-
- @Override
- protected ModifiablePropertyValueModel<String> buildTextHolder() {
- return new PropertyAspectAdapter<Connection, String>(
- this.getSubjectHolder(), Connection.DRIVER_PROPERTY) {
- @Override
- protected String buildValue_() {
- return this.subject.getDriver();
- }
-
- @Override
- protected void setValue_(String value) {
-
- if (value.length() == 0) {
- value = null;
- }
- this.subject.setDriver(value);
- }
- };
- }
-
- @Override
- protected String getClassName() {
- return this.getSubject().getDriver();
- }
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiMessages.PersistenceXmlConnectionTab_driverLabel;
- }
-
- @Override
- protected IJavaProject getJavaProject() {
- return getSubject().getJpaProject().getJavaProject();
- }
-
- @Override
- protected void setClassName(String className) {
- this.getSubject().setDriver(className);
- }
-
- @Override
- protected boolean allowTypeCreation() {
- //Does not make sense to allow the user to create a new Driver class
- return false;
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- this.initializeClassChooser(container);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcExclusiveConnectionModeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcExclusiveConnectionModeComposite.java
deleted file mode 100644
index 52c88d81af..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcExclusiveConnectionModeComposite.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.ExclusiveConnectionMode;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * ExclusiveConnectionModeComposite
- */
-public class JdbcExclusiveConnectionModeComposite<T extends Connection>
- extends Pane<T>
-{
- /**
- * Creates a new <code>ExclusiveConnectionModeComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public JdbcExclusiveConnectionModeComposite(
- Pane<T> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout( Composite container) {
-
- this.addLabeledComposite(
- container,
- EclipseLinkUiMessages.PersistenceXmlConnectionTab_exclusiveConnectionModeLabel,
- this.addExclusiveConnectionModeCombo(container),
- JpaHelpContextIds.PERSISTENCE_XML_CONNECTION
- );
- }
-
- private EnumFormComboViewer<Connection, ExclusiveConnectionMode> addExclusiveConnectionModeCombo(Composite container) {
- return new EnumFormComboViewer<Connection, ExclusiveConnectionMode>(this, container) {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(Connection.EXCLUSIVE_CONNECTION_MODE_PROPERTY);
- }
-
- @Override
- protected ExclusiveConnectionMode[] getChoices() {
- return ExclusiveConnectionMode.values();
- }
-
- @Override
- protected ExclusiveConnectionMode getDefaultValue() {
- return this.getSubject().getDefaultExclusiveConnectionMode();
- }
-
- @Override
- protected String displayString(ExclusiveConnectionMode value) {
- switch (value) {
- case always :
- return EclipseLinkUiMessages.JdbcExclusiveConnectionModeComposite_always;
- case isolated :
- return EclipseLinkUiMessages.JdbcExclusiveConnectionModeComposite_isolated;
- case transactional :
- return EclipseLinkUiMessages.JdbcExclusiveConnectionModeComposite_transactional;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected ExclusiveConnectionMode getValue() {
- return this.getSubject().getExclusiveConnectionMode();
- }
-
- @Override
- protected void setValue(ExclusiveConnectionMode value) {
- this.getSubject().setExclusiveConnectionMode(value);
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcExclusiveConnectionsPropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcExclusiveConnectionsPropertiesComposite.java
index 046b785107..96ab6e6c3b 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcExclusiveConnectionsPropertiesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcExclusiveConnectionsPropertiesComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2010, 2011 Oracle. All rights reserved.
+* Copyright (c) 2010, 2012 Oracle. 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.
@@ -9,15 +9,21 @@
*******************************************************************************/
package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
+import java.util.Collection;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitTransactionType;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.ExclusiveConnectionMode;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
/**
@@ -26,58 +32,128 @@ import org.eclipse.swt.widgets.Composite;
public class JdbcExclusiveConnectionsPropertiesComposite<T extends Connection>
extends Pane<T>
{
- public JdbcExclusiveConnectionsPropertiesComposite(Pane<T> parentComposite, Composite parent) {
+ public JdbcExclusiveConnectionsPropertiesComposite(Pane<T> parentComposite, Composite parent, PropertyValueModel<Boolean> enabledModel) {
- super(parentComposite, parent);
+ super(parentComposite, parent, enabledModel);
}
-
- @Override
- protected void initializeLayout(Composite container) {
- container = this.addTitledGroup(
- this.addSubPane(container, 10),
- EclipseLinkUiMessages.JdbcExclusiveConnectionsPropertiesComposite_GroupBox
+ @Override
+ protected Composite addComposite(Composite parent) {
+ return this.addTitledGroup(
+ parent,
+ EclipseLinkUiMessages.JdbcExclusiveConnectionsPropertiesComposite_GroupBox,
+ 2,
+ null
);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
// Exclusive connection mode
- new JdbcExclusiveConnectionModeComposite<T>(this, container);
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlConnectionTab_exclusiveConnectionModeLabel);
+ this.addExclusiveConnectionModeCombo(container);
// Lazy Connection
- new JdbcLazyConnectionComposite<T>(this, container);
+ TriStateCheckBox lazyConnectionCheckBox = this.addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlConnectionTab_lazyConnectionLabel,
+ this.buildLazyConnectionHolder(),
+ this.buildLazyConnectionStringHolder(),
+ JpaHelpContextIds.PERSISTENCE_XML_CONNECTION
+ );
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ lazyConnectionCheckBox.getCheckBox().setLayoutData(gridData);
- this.installPaneEnabler();
}
- private void installPaneEnabler() {
- new PaneEnabler(this.buildPaneEnablerHolder(), this);
- }
+ private EnumFormComboViewer<Connection, ExclusiveConnectionMode> addExclusiveConnectionModeCombo(Composite container) {
+ return new EnumFormComboViewer<Connection, ExclusiveConnectionMode>(this, container) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(Connection.EXCLUSIVE_CONNECTION_MODE_PROPERTY);
+ }
+
+ @Override
+ protected ExclusiveConnectionMode[] getChoices() {
+ return ExclusiveConnectionMode.values();
+ }
+
+ @Override
+ protected ExclusiveConnectionMode getDefaultValue() {
+ return this.getSubject().getDefaultExclusiveConnectionMode();
+ }
- private PropertyValueModel<Boolean> buildPaneEnablerHolder() {
- return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(this.buildTransactionTypeHolder()) {
@Override
- protected Boolean transform(PersistenceUnitTransactionType value) {
- return value == PersistenceUnitTransactionType.RESOURCE_LOCAL;
+ protected String displayString(ExclusiveConnectionMode value) {
+ switch (value) {
+ case always :
+ return EclipseLinkUiMessages.JdbcExclusiveConnectionModeComposite_always;
+ case isolated :
+ return EclipseLinkUiMessages.JdbcExclusiveConnectionModeComposite_isolated;
+ case transactional :
+ return EclipseLinkUiMessages.JdbcExclusiveConnectionModeComposite_transactional;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected ExclusiveConnectionMode getValue() {
+ return this.getSubject().getExclusiveConnectionMode();
+ }
+
+ @Override
+ protected void setValue(ExclusiveConnectionMode value) {
+ this.getSubject().setExclusiveConnectionMode(value);
+ }
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
}
};
}
+
+ private ModifiablePropertyValueModel<Boolean> buildLazyConnectionHolder() {
+ return new PropertyAspectAdapter<Connection, Boolean>(this.getSubjectHolder(), Connection.LAZY_CONNECTION_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getLazyConnection();
+ }
- private PropertyValueModel<PersistenceUnitTransactionType> buildTransactionTypeHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, PersistenceUnitTransactionType>(
- this.buildPersistenceUnitHolder(),
- PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY,
- PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY) {
@Override
- protected PersistenceUnitTransactionType buildValue_() {
- return this.subject.getTransactionType();
+ protected void setValue_(Boolean value) {
+ this.subject.setLazyConnection(value);
}
};
}
- private PropertyValueModel<PersistenceUnit> buildPersistenceUnitHolder() {
- return new PropertyAspectAdapter<Connection, PersistenceUnit>(this.getSubjectHolder()) {
+ private PropertyValueModel<String> buildLazyConnectionStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(this.buildDefaultLazyConnectionHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlConnectionTab_lazyConnectionLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlConnectionTab_lazyConnectionLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultLazyConnectionHolder() {
+ return new PropertyAspectAdapter<Connection, Boolean>(
+ this.getSubjectHolder(),
+ Connection.LAZY_CONNECTION_PROPERTY)
+ {
@Override
- protected PersistenceUnit buildValue_() {
- return this.subject.getPersistenceUnit();
+ protected Boolean buildValue_() {
+ if (this.subject.getLazyConnection() != null) {
+ return null;
+ }
+ return this.subject.getDefaultLazyConnection();
}
};
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcLazyConnectionComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcLazyConnectionComposite.java
deleted file mode 100644
index 74d4edab20..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcLazyConnectionComposite.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * JdbcLazyConnectionComposite
- */
-public class JdbcLazyConnectionComposite<T extends Connection>
- extends Pane<T>
-{
- /**
- * Creates a new <code>JdbcLazyConnectionComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public JdbcLazyConnectionComposite(
- Pane<T> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlConnectionTab_lazyConnectionLabel,
- this.buildLazyConnectionHolder(),
- this.buildLazyConnectionStringHolder(),
- JpaHelpContextIds.PERSISTENCE_XML_CONNECTION
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildLazyConnectionHolder() {
- return new PropertyAspectAdapter<Connection, Boolean>(this.getSubjectHolder(), Connection.LAZY_CONNECTION_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getLazyConnection();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setLazyConnection(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildLazyConnectionStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(this.buildDefaultLazyConnectionHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlConnectionTab_lazyConnectionLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlConnectionTab_lazyConnectionLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultLazyConnectionHolder() {
- return new PropertyAspectAdapter<Connection, Boolean>(
- this.getSubjectHolder(),
- Connection.LAZY_CONNECTION_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getLazyConnection() != null) {
- return null;
- }
- return this.subject.getDefaultLazyConnection();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcPropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcPropertiesComposite.java
index bcd471e2e1..65322ab8dc 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcPropertiesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcPropertiesComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2008, 2011 Oracle. All rights reserved.
+* Copyright (c) 2008, 2012 Oracle. 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.
@@ -9,15 +9,21 @@
*******************************************************************************/
package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitTransactionType;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
@@ -27,64 +33,251 @@ import org.eclipse.swt.widgets.Composite;
public class JdbcPropertiesComposite<T extends Connection>
extends Pane<T>
{
- public JdbcPropertiesComposite(Pane<T> parentComposite, Composite parent) {
+ public JdbcPropertiesComposite(Pane<T> parentComposite, Composite parent, PropertyValueModel<Boolean> enabledModel) {
- super(parentComposite, parent);
+ super(parentComposite, parent, enabledModel);
}
@Override
- protected void initializeLayout(Composite container) {
-
- container = this.addTitledGroup(
- this.addSubPane(container, 10),
- EclipseLinkUiMessages.JdbcPropertiesComposite_EclipseLinkConnectionPool_GroupBox
+ protected Composite addComposite(Composite parent) {
+ return this.addTitledGroup(
+ parent,
+ EclipseLinkUiMessages.JdbcPropertiesComposite_EclipseLinkConnectionPool_GroupBox,
+ 2,
+ null
);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// Connection Properties
- new JdbcConnectionPropertiesComposite<T>(this, container);
-
- container = this.addPane(container, new GridLayout(2, true));
+ JdbcConnectionPropertiesComposite<T> connectionComposite = new JdbcConnectionPropertiesComposite<T>(this, container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ connectionComposite.getControl().setLayoutData(gridData);
// Read Connection
- new JdbcReadConnectionPropertiesComposite<T>(this, container);
- // Write Connection
- new JdbcWriteConnectionPropertiesComposite<T>(this, container);
+ Composite readConnectionSection = this.addCollapsibleSubSection(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlConnectionTab_readConnectionsSectionTitle,
+ new SimplePropertyValueModel<Boolean>(Boolean.TRUE) //expanded
+ );
+ readConnectionSection.getParent().setLayoutData(new GridData()); //change layout so it doesn't fill horizontally
+ readConnectionSection.setLayout(new GridLayout(2, false));
+
+ // Read Connections Shared
+ TriStateCheckBox sharedCheckBox = this.addTriStateCheckBoxWithDefault(
+ readConnectionSection,
+ EclipseLinkUiMessages.PersistenceXmlConnectionTab_readConnectionsSharedLabel,
+ this.buildReadConnectionsSharedHolder(),
+ this.buildReadConnectionsSharedStringHolder(),
+ JpaHelpContextIds.PERSISTENCE_XML_CONNECTION
+ );
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ sharedCheckBox.getCheckBox().setLayoutData(gridData);
+
+ // Read Connections Minimum
+ this.addLabel(readConnectionSection, EclipseLinkUiMessages.PersistenceXmlConnectionTab_readConnectionsMinLabel);
+ this.addReadConnectionsMinCombo(readConnectionSection);
+
+ // Read Connections Maximum
+ this.addLabel(readConnectionSection, EclipseLinkUiMessages.PersistenceXmlConnectionTab_readConnectionsMaxLabel);
+ this.addReadConnectionsMaxCombo(readConnectionSection);
- this.installPaneEnabler();
+
+ // Write Connection
+ Composite writeConnectionSection = this.addCollapsibleSubSection(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlConnectionTab_writeConnectionsSectionTitle,
+ new SimplePropertyValueModel<Boolean>(Boolean.TRUE) //expanded
+ );
+ gridData = new GridData();
+ gridData.horizontalIndent = 15;
+ gridData.verticalAlignment = SWT.TOP;
+ writeConnectionSection.getParent().setLayoutData(gridData);
+ writeConnectionSection.setLayout(new GridLayout(2, false));
+
+ // Write Connections Minimum
+ this.addLabel(writeConnectionSection, EclipseLinkUiMessages.PersistenceXmlConnectionTab_writeConnectionsMinLabel);
+ this.addWriteConnectionsMinCombo(writeConnectionSection);
+
+ // Write Connections Maximum
+ this.addLabel(writeConnectionSection, EclipseLinkUiMessages.PersistenceXmlConnectionTab_writeConnectionsMaxLabel);
+ this.addWriteConnectionsMaxCombo(writeConnectionSection);
}
- private void installPaneEnabler() {
- new PaneEnabler(this.buildPaneEnablerHolder(), this);
+ private ModifiablePropertyValueModel<Boolean> buildReadConnectionsSharedHolder() {
+ return new PropertyAspectAdapter<Connection, Boolean>(getSubjectHolder(), Connection.READ_CONNECTIONS_SHARED_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getReadConnectionsShared();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setReadConnectionsShared(value);
+ }
+ };
}
- private PropertyValueModel<Boolean> buildPaneEnablerHolder() {
- return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(this.buildTransactionTypeHolder()) {
+ private PropertyValueModel<String> buildReadConnectionsSharedStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultReadConnectionsSharedHolder()) {
@Override
- protected Boolean transform(PersistenceUnitTransactionType value) {
- return value == PersistenceUnitTransactionType.RESOURCE_LOCAL;
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlConnectionTab_readConnectionsSharedLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlConnectionTab_readConnectionsSharedLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultReadConnectionsSharedHolder() {
+ return new PropertyAspectAdapter<Connection, Boolean>(
+ getSubjectHolder(),
+ Connection.READ_CONNECTIONS_SHARED_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getReadConnectionsShared() != null) {
+ return null;
+ }
+ return this.subject.getDefaultReadConnectionsShared();
}
};
}
- private PropertyValueModel<PersistenceUnitTransactionType> buildTransactionTypeHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, PersistenceUnitTransactionType>(
- this.buildPersistenceUnitHolder(),
- PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY,
- PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY) {
+
+ private void addReadConnectionsMinCombo(Composite container) {
+ new IntegerCombo<Connection>(this, container) {
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
+ }
@Override
- protected PersistenceUnitTransactionType buildValue_() {
- return this.subject.getTransactionType();
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder()) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getDefaultReadConnectionsMin();
+ }
+ };
+ }
+
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder(), Connection.READ_CONNECTIONS_MIN_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getReadConnectionsMin();
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ this.subject.setReadConnectionsMin(value);
+ }
+ };
}
};
}
- private PropertyValueModel<PersistenceUnit> buildPersistenceUnitHolder() {
- return new PropertyAspectAdapter<Connection, PersistenceUnit>(this.getSubjectHolder()) {
+ private void addReadConnectionsMaxCombo(Composite container) {
+ new IntegerCombo<Connection>(this, container) {
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
+ }
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder()) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getDefaultReadConnectionsMax();
+ }
+ };
+ }
+
@Override
- protected PersistenceUnit buildValue_() {
- return this.subject.getPersistenceUnit();
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder(), Connection.READ_CONNECTIONS_MAX_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getReadConnectionsMax();
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ this.subject.setReadConnectionsMax(value);
+ }
+ };
+ }
+ };
+ }
+
+ private void addWriteConnectionsMinCombo(Composite container) {
+ new IntegerCombo<Connection>(this, container) {
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
+ }
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder()) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getDefaultWriteConnectionsMin();
+ }
+ };
+ }
+
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder(), Connection.WRITE_CONNECTIONS_MIN_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getWriteConnectionsMin();
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ this.subject.setWriteConnectionsMin(value);
+ }
+ };
+ }
+ };
+ }
+ private void addWriteConnectionsMaxCombo(Composite container) {
+ new IntegerCombo<Connection>(this, container) {
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
+ }
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder()) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getDefaultWriteConnectionsMax();
+ }
+ };
+ }
+
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder(), Connection.WRITE_CONNECTIONS_MAX_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getWriteConnectionsMax();
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ this.subject.setWriteConnectionsMax(value);
+ }
+ };
}
};
-
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionPropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionPropertiesComposite.java
deleted file mode 100644
index 0136e6a62e..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionPropertiesComposite.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2011 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * JdbcReadConnectionPropertiesComposite
- */
-public class JdbcReadConnectionPropertiesComposite<T extends Connection>
- extends Pane<T>
-{
- public JdbcReadConnectionPropertiesComposite(
- Pane<T> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- container = this.addCollapsibleSubSection(
- container,
- EclipseLinkUiMessages.PersistenceXmlConnectionTab_readConnectionsSectionTitle,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE) //exapanded
- );
-
- GridData data = (GridData) container.getLayoutData();
- data.verticalAlignment = SWT.TOP;
-
- data = (GridData) getControl().getLayoutData();
- data.verticalAlignment = SWT.TOP;
-
- // Read Connections Shared
- new JdbcReadConnectionsSharedComposite<T>(this, container);
-
- // Read Connections Minimum
- new JdbcReadConnectionsMinComposite<T>(this, container);
-
- // Read Connections Maximum
- new JdbcReadConnectionsMaxComposite<T>(this, container);
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionsMaxComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionsMaxComposite.java
deleted file mode 100644
index 3748d4b84e..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionsMaxComposite.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * JdbcReadConnectionsMaxComposite
- */
-public class JdbcReadConnectionsMaxComposite<T extends Connection>
- extends Pane<T>
-{
- /**
- * Creates a new <code>JdbcReadConnectionsMaxComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public JdbcReadConnectionsMaxComposite(
- Pane<T> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
-
- @Override
- protected void initializeLayout(Composite container) {
- addReadConnectionsMaxCombo(container);
- }
-
- private void addReadConnectionsMaxCombo(Composite container) {
- new IntegerCombo<Connection>(this, container) {
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiMessages.PersistenceXmlConnectionTab_readConnectionsMaxLabel;
- }
-
- @Override
- protected String getHelpId() {
- return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
- }
-
- @Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder()) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getDefaultReadConnectionsMax();
- }
- };
- }
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder(), Connection.READ_CONNECTIONS_MAX_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getReadConnectionsMax();
- }
-
- @Override
- protected void setValue_(Integer value) {
- this.subject.setReadConnectionsMax(value);
- }
- };
- }
- };
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionsMinComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionsMinComposite.java
deleted file mode 100644
index 272cde3166..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionsMinComposite.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * JdbcReadConnectionsMinComposite
- */
-public class JdbcReadConnectionsMinComposite<T extends Connection>
- extends Pane<T>
-{
- /**
- * Creates a new <code>JdbcReadConnectionsMinComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public JdbcReadConnectionsMinComposite(
- Pane<T> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- addReadConnectionsMinCombo(container);
- }
-
- private void addReadConnectionsMinCombo(Composite container) {
- new IntegerCombo<Connection>(this, container) {
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiMessages.PersistenceXmlConnectionTab_readConnectionsMinLabel;
- }
-
- @Override
- protected String getHelpId() {
- return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
- }
-
- @Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder()) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getDefaultReadConnectionsMin();
- }
- };
- }
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder(), Connection.READ_CONNECTIONS_MIN_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getReadConnectionsMin();
- }
-
- @Override
- protected void setValue_(Integer value) {
- this.subject.setReadConnectionsMin(value);
- }
- };
- }
- };
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionsSharedComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionsSharedComposite.java
deleted file mode 100644
index 40341774ee..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcReadConnectionsSharedComposite.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * ReadConnectionsSharedComposite
- */
-public class JdbcReadConnectionsSharedComposite<T extends Connection>
- extends Pane<T>
-{
- /**
- * Creates a new <code>ReadConnectionsSharedComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public JdbcReadConnectionsSharedComposite(
- Pane<T> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlConnectionTab_readConnectionsSharedLabel,
- this.buildReadConnectionsSharedHolder(),
- this.buildReadConnectionsSharedStringHolder(),
- JpaHelpContextIds.PERSISTENCE_XML_CONNECTION
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildReadConnectionsSharedHolder() {
- return new PropertyAspectAdapter<Connection, Boolean>(getSubjectHolder(), Connection.READ_CONNECTIONS_SHARED_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getReadConnectionsShared();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setReadConnectionsShared(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildReadConnectionsSharedStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultReadConnectionsSharedHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlConnectionTab_readConnectionsSharedLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlConnectionTab_readConnectionsSharedLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultReadConnectionsSharedHolder() {
- return new PropertyAspectAdapter<Connection, Boolean>(
- getSubjectHolder(),
- Connection.READ_CONNECTIONS_SHARED_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getReadConnectionsShared() != null) {
- return null;
- }
- return this.subject.getDefaultReadConnectionsShared();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcWriteConnectionPropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcWriteConnectionPropertiesComposite.java
deleted file mode 100644
index 7a7b431563..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcWriteConnectionPropertiesComposite.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2011 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * JdbcWriteConnectionPropertiesComposite
- */
-@SuppressWarnings("nls")
-public class JdbcWriteConnectionPropertiesComposite<T extends Connection>
- extends Pane<T>
-{
- public JdbcWriteConnectionPropertiesComposite(
- Pane<T> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- container = this.addCollapsibleSubSection(
- container,
- EclipseLinkUiMessages.PersistenceXmlConnectionTab_writeConnectionsSectionTitle,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE) //exapanded
- );
-
- GridData data = (GridData) container.getLayoutData();
- data.verticalAlignment = SWT.TOP;
-
- data = (GridData) getControl().getLayoutData();
- data.verticalAlignment = SWT.TOP;
-
- // This will add space to have the same layout than read connection pool
- Button space = this.getWidgetFactory().createCheckBox(container, "m");
- Point size = space.computeSize(SWT.DEFAULT, SWT.DEFAULT);
- container = this.addSubPane(container, size.y + 5);
- space.dispose();
-
- // Write Connections Minimum
- new JdbcWriteConnectionsMinComposite<T>(this, container);
-
- // Write Connections Maximum
- new JdbcWriteConnectionsMaxComposite<T>(this, container);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcWriteConnectionsMaxComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcWriteConnectionsMaxComposite.java
deleted file mode 100644
index f0ef8aa24a..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcWriteConnectionsMaxComposite.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * JdbcWriteConnectionsMaxComposite
- */
-public class JdbcWriteConnectionsMaxComposite<T extends Connection>
- extends Pane<T>
-{
- /**
- * Creates a new <code>JdbcWriteConnectionsMaxComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public JdbcWriteConnectionsMaxComposite(
- Pane<T> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- addWriteConnectionsMaxCombo(container);
- }
-
- private void addWriteConnectionsMaxCombo(Composite container) {
- new IntegerCombo<Connection>(this, container) {
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiMessages.PersistenceXmlConnectionTab_writeConnectionsMaxLabel;
- }
-
- @Override
- protected String getHelpId() {
- return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
- }
-
- @Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder()) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getDefaultWriteConnectionsMax();
- }
- };
- }
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder(), Connection.WRITE_CONNECTIONS_MAX_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getWriteConnectionsMax();
- }
-
- @Override
- protected void setValue_(Integer value) {
- this.subject.setWriteConnectionsMax(value);
- }
- };
- }
- };
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcWriteConnectionsMinComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcWriteConnectionsMinComposite.java
deleted file mode 100644
index bd3b320a99..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/JdbcWriteConnectionsMinComposite.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * JdbcWriteConnectionsMinComposite
- */
-public class JdbcWriteConnectionsMinComposite<T extends Connection>
- extends Pane<T>
-{
- /**
- * Creates a new <code>JdbcWriteConnectionsMinComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public JdbcWriteConnectionsMinComposite(
- Pane<T> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- addWriteConnectionsMinCombo(container);
- }
-
- private void addWriteConnectionsMinCombo(Composite container) {
- new IntegerCombo<Connection>(this, container) {
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiMessages.PersistenceXmlConnectionTab_writeConnectionsMinLabel;
- }
-
- @Override
- protected String getHelpId() {
- return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
- }
-
- @Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder()) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getDefaultWriteConnectionsMin();
- }
- };
- }
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder(), Connection.WRITE_CONNECTIONS_MIN_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getWriteConnectionsMin();
- }
-
- @Override
- protected void setValue_(Integer value) {
- this.subject.setWriteConnectionsMin(value);
- }
- };
- }
- };
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/NativeSqlComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/NativeSqlComposite.java
deleted file mode 100644
index 4f3f9f5be9..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/NativeSqlComposite.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * NativeSqlComposite
- */
-public class NativeSqlComposite<T extends Connection>
- extends Pane<T>
-{
- /**
- * Creates a new <code>NativeSqlComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public NativeSqlComposite(
- Pane<T> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlConnectionTab_nativeSqlLabel,
- this.buildNativeSqlHolder(),
- this.buildNativeSqlStringHolder(),
- JpaHelpContextIds.PERSISTENCE_XML_CONNECTION
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildNativeSqlHolder() {
- return new PropertyAspectAdapter<Connection, Boolean>(getSubjectHolder(), Connection.NATIVE_SQL_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getNativeSql();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setNativeSql(value);
- }
-
- };
- }
-
- private PropertyValueModel<String> buildNativeSqlStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultNativeSqlHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlConnectionTab_nativeSqlLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlConnectionTab_nativeSqlLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultNativeSqlHolder() {
- return new PropertyAspectAdapter<Connection, Boolean>(
- getSubjectHolder(),
- Connection.NATIVE_SQL_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getNativeSql() != null) {
- return null;
- }
- return this.subject.getDefaultNativeSql();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/PersistenceXmlConnectionTab.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/PersistenceXmlConnectionTab.java
index ddd14367ed..34faa61da3 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/PersistenceXmlConnectionTab.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/PersistenceXmlConnectionTab.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -9,15 +9,27 @@
*******************************************************************************/
package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
+import java.util.Collection;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.utility.swt.SWTTools;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
+import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitTransactionType;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.BatchWriting;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.swt.SWT;
+import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
@@ -38,11 +50,6 @@ public class PersistenceXmlConnectionTab<T extends Connection>
super(subjectHolder, parent, widgetFactory);
}
- @Override
- protected void initializeLayout(Composite container) {
- new EclipseLinkConnectionComposite<T>(this, container);
- }
-
// ********** JpaPageComposite implementation **********
public String getHelpID() {
@@ -57,28 +64,304 @@ public class PersistenceXmlConnectionTab<T extends Connection>
return EclipseLinkUiMessages.PersistenceXmlConnectionTab_title;
}
- // ********** Layout **********
+
@Override
- protected Composite addContainer(Composite parent) {
- GridLayout layout = new GridLayout(1, true);
+ protected void initializeLayout(Composite container) {
+ container = addSection(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlConnectionTab_sectionTitle,
+ EclipseLinkUiMessages.PersistenceXmlConnectionTab_sectionDescription
+ );
+ GridLayout layout = new GridLayout(2, false);
layout.marginHeight = 0;
- layout.marginWidth = 0;
- layout.marginTop = 0;
- layout.marginLeft = 0;
+ layout.marginWidth = 0;
+ layout.marginTop = 0;
+ layout.marginLeft = 0;
layout.marginBottom = 0;
- layout.marginRight = 0;
- layout.verticalSpacing = 15;
- Composite container = this.addPane(parent, layout);
- this.updateGridData(container);
- return container;
- }
+ layout.marginRight = 0;
+ container.setLayout(layout);
- private void updateGridData(Composite container) {
+ //transaction type
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlConnectionTab_transactionTypeLabel);
+ this.addTransactionTypeCombo(container);
+
+ //batch writing
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlConnectionTab_batchWritingLabel);
+ this.addBatchWritingCombo(container);
+
+
+ //cache statements
+ ModifiablePropertyValueModel<Boolean> cacheStatementsHolder = buildCacheStatementsHolder();
+ this.addTriStateCheckBox(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlConnectionTab_cacheStatementsLabel,
+ cacheStatementsHolder,
+ JpaHelpContextIds.PERSISTENCE_XML_CONNECTION
+ );
+ IntegerCombo<?> combo = addCacheStatementsSizeCombo(container);
+
+ this.installControlEnabler(cacheStatementsHolder, combo);
+
+
+ TriStateCheckBox nativeSqlCheckBox = this.addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlConnectionTab_nativeSqlLabel,
+ this.buildNativeSqlHolder(),
+ this.buildNativeSqlStringHolder(),
+ JpaHelpContextIds.PERSISTENCE_XML_CONNECTION
+ );
GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
+ gridData.horizontalSpan = 2;
+ nativeSqlCheckBox.getCheckBox().setLayoutData(gridData);
+
+ ConnectionPropertiesComposite<T> connectionPropertiesComposite = new ConnectionPropertiesComposite<T>(this, container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ connectionPropertiesComposite.getControl().setLayoutData(gridData);
+ }
+
+ private EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType> addTransactionTypeCombo(Composite container) {
+ return new EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType>(this, this.buildPersistenceUnitHolder(), container) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY);
+ propertyNames.add(PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY);
+ }
+
+ @Override
+ protected PersistenceUnitTransactionType[] getChoices() {
+ return PersistenceUnitTransactionType.values();
+ }
+
+ @Override
+ protected PersistenceUnitTransactionType getDefaultValue() {
+ return this.getSubject().getDefaultTransactionType();
+ }
+
+ @Override
+ protected String displayString(PersistenceUnitTransactionType value) {
+ switch (value) {
+ case JTA :
+ return EclipseLinkUiMessages.TransactionTypeComposite_jta;
+ case RESOURCE_LOCAL :
+ return EclipseLinkUiMessages.TransactionTypeComposite_resource_local;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected PersistenceUnitTransactionType getValue() {
+ return this.getSubject().getSpecifiedTransactionType();
+ }
+
+ @Override
+ protected void setValue(PersistenceUnitTransactionType value) {
+ this.getSubject().setSpecifiedTransactionType(value);
+
+ if (value == PersistenceUnitTransactionType.RESOURCE_LOCAL) {
+ clearJTAProperties();
+ }
+ else {
+ clearResourceLocalProperties();
+ }
+ }
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
+ }
+ };
+ }
+
+ private PropertyValueModel<PersistenceUnit> buildPersistenceUnitHolder() {
+ return new PropertyAspectAdapter<Connection, PersistenceUnit>(getSubjectHolder()) {
+ @Override
+ protected PersistenceUnit buildValue_() {
+ return this.subject.getPersistenceUnit();
+ }
+ };
+
+ }
+
+ private void clearJTAProperties() {
+ getSubject().getPersistenceUnit().setJtaDataSource(null);
+ }
+
+ private void clearResourceLocalProperties() {
+ Connection connection = this.getSubject();
+ connection.getPersistenceUnit().setNonJtaDataSource(null);
+ connection.setDriver(null);
+ connection.setUrl(null);
+ connection.setUser(null);
+ connection.setPassword(null);
+ connection.setBindParameters(null);
+ connection.setWriteConnectionsMax(null);
+ connection.setWriteConnectionsMin(null);
+ connection.setReadConnectionsMax(null);
+ connection.setReadConnectionsMin(null);
+ connection.setReadConnectionsShared(null);
+ connection.setExclusiveConnectionMode(null);
+ connection.setLazyConnection(null);
+ }
+
+ private EnumFormComboViewer<Connection, BatchWriting> addBatchWritingCombo(Composite container) {
+ return new EnumFormComboViewer<Connection, BatchWriting>(this, container) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(Connection.BATCH_WRITING_PROPERTY);
+ }
+
+ @Override
+ protected BatchWriting[] getChoices() {
+ return BatchWriting.values();
+ }
+
+ @Override
+ protected BatchWriting getDefaultValue() {
+ return getSubject().getDefaultBatchWriting();
+ }
+
+ @Override
+ protected String displayString(BatchWriting value) {
+ switch (value) {
+ case buffered :
+ return EclipseLinkUiMessages.BatchWritingComposite_buffered;
+ case jdbc :
+ return EclipseLinkUiMessages.BatchWritingComposite_jdbc;
+ case none :
+ return EclipseLinkUiMessages.BatchWritingComposite_none;
+ case oracle_jdbc :
+ return EclipseLinkUiMessages.BatchWritingComposite_oracle_jdbc;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected BatchWriting getValue() {
+ return getSubject().getBatchWriting();
+ }
+
+ @Override
+ protected void setValue(BatchWriting value) {
+ getSubject().setBatchWriting(value);
+ }
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
+ }
+ };
+ }
+
+ private ModifiablePropertyValueModel<Boolean> buildNativeSqlHolder() {
+ return new PropertyAspectAdapter<Connection, Boolean>(getSubjectHolder(), Connection.NATIVE_SQL_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getNativeSql();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setNativeSql(value);
+ }
+
+ };
+ }
+
+ private PropertyValueModel<String> buildNativeSqlStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultNativeSqlHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlConnectionTab_nativeSqlLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlConnectionTab_nativeSqlLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultNativeSqlHolder() {
+ return new PropertyAspectAdapter<Connection, Boolean>(
+ getSubjectHolder(),
+ Connection.NATIVE_SQL_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getNativeSql() != null) {
+ return null;
+ }
+ return this.subject.getDefaultNativeSql();
+ }
+ };
+ }
+
+
+ private ModifiablePropertyValueModel<Boolean> buildCacheStatementsHolder() {
+ return new PropertyAspectAdapter<Connection, Boolean>(getSubjectHolder(), Connection.CACHE_STATEMENTS_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getCacheStatements();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setCacheStatements(value);
+ }
+
+ @Override
+ protected synchronized void subjectChanged() {
+ Boolean oldValue = this.getValue();
+ super.subjectChanged();
+ Boolean newValue = this.getValue();
+
+ // Make sure the default value is appended to the text
+ if (oldValue == newValue && newValue == null) {
+ this.fireAspectChanged(Boolean.TRUE, newValue);
+ }
+ }
+ };
+ }
+
+ private IntegerCombo<Connection> addCacheStatementsSizeCombo(Composite container) {
+ return new IntegerCombo<Connection>(this, container) {
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
+ }
+
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder()) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getDefaultCacheStatementsSize();
+ }
+ };
+ }
+
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<Connection, Integer>(getSubjectHolder(), Connection.CACHE_STATEMENTS_SIZE_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getCacheStatementsSize();
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ this.subject.setCacheStatementsSize(value);
+ }
+ };
+ }
+ };
+ }
+
+ private void installControlEnabler(ModifiablePropertyValueModel<Boolean> cacheStatementsHolder, IntegerCombo<?> combo) {
+ SWTTools.controlEnabledState(cacheStatementsHolder, combo.getControl());
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/TransactionTypeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/TransactionTypeComposite.java
deleted file mode 100644
index 0b7fc8b535..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/connection/TransactionTypeComposite.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.connection;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitTransactionType;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * TransactionTypeComposite
- */
-public class TransactionTypeComposite<T extends Connection>
- extends Pane<T>
-{
- /**
- * Creates a new <code>TransactionTypeComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public TransactionTypeComposite(
- Pane<T> parentComposite,
- Composite parent) {
-
- super( parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout( Composite container) {
-
- this.addLabeledComposite(
- container,
- EclipseLinkUiMessages.PersistenceXmlConnectionTab_transactionTypeLabel,
- this.addTransactionTypeCombo( container),
- JpaHelpContextIds.PERSISTENCE_XML_CONNECTION
- );
- }
-
- private EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType> addTransactionTypeCombo(Composite container) {
- return new EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType>(this, this.buildPersistenceUnitHolder(), container) {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY);
- propertyNames.add(PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY);
- }
-
- @Override
- protected PersistenceUnitTransactionType[] getChoices() {
- return PersistenceUnitTransactionType.values();
- }
-
- @Override
- protected PersistenceUnitTransactionType getDefaultValue() {
- return this.getSubject().getDefaultTransactionType();
- }
-
- @Override
- protected String displayString(PersistenceUnitTransactionType value) {
- switch (value) {
- case JTA :
- return EclipseLinkUiMessages.TransactionTypeComposite_jta;
- case RESOURCE_LOCAL :
- return EclipseLinkUiMessages.TransactionTypeComposite_resource_local;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected PersistenceUnitTransactionType getValue() {
- return this.getSubject().getSpecifiedTransactionType();
- }
-
- @Override
- protected void setValue(PersistenceUnitTransactionType value) {
- this.getSubject().setSpecifiedTransactionType(value);
-
- if (value == PersistenceUnitTransactionType.RESOURCE_LOCAL) {
- clearJTAProperties();
- }
- else {
- clearResourceLocalProperties();
- }
- }
- };
- }
-
- private PropertyValueModel<PersistenceUnit> buildPersistenceUnitHolder() {
- return new PropertyAspectAdapter<Connection, PersistenceUnit>(getSubjectHolder()) {
- @Override
- protected PersistenceUnit buildValue_() {
- return this.subject.getPersistenceUnit();
- }
- };
-
- }
-
- private void clearJTAProperties() {
- getSubject().getPersistenceUnit().setJtaDataSource(null);
- }
-
- private void clearResourceLocalProperties() {
- Connection connection = this.getSubject();
- connection.getPersistenceUnit().setNonJtaDataSource(null);
- connection.setDriver(null);
- connection.setUrl(null);
- connection.setUser(null);
- connection.setPassword(null);
- connection.setBindParameters(null);
- connection.setWriteConnectionsMax(null);
- connection.setWriteConnectionsMin(null);
- connection.setReadConnectionsMax(null);
- connection.setReadConnectionsMin(null);
- connection.setReadConnectionsShared(null);
- connection.setExclusiveConnectionMode(null);
- connection.setLazyConnection(null);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/CustomizerComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/CustomizerComposite.java
deleted file mode 100644
index 74295f1a35..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/CustomizerComposite.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.CustomizationEntity;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * CustomizerComposite
- */
-public class CustomizerComposite extends Pane<CustomizationEntity>
-{
- /**
- * Creates a new <code>CustomizerComposite</code>.
- *
- * @param parentPane The parent pane of this one
- * @param parent The parent container
- */
- public CustomizerComposite(Pane<? extends CustomizationEntity> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- private ClassChooserPane<CustomizationEntity> initializeClassChooser(Composite container) {
-
- return new ClassChooserPane<CustomizationEntity>(this, container) {
-
- @Override
- protected ModifiablePropertyValueModel<String> buildTextHolder() {
- return new PropertyAspectAdapter<CustomizationEntity, String>(
- this.getSubjectHolder(), CustomizationEntity.DESCRIPTOR_CUSTOMIZER_PROPERTY) {
- @Override
- protected String buildValue_() {
- return getSubjectParent().getDescriptorCustomizerOf(getSubjectName());
- }
-
- @Override
- protected void setValue_(String value) {
-
- if (value.length() == 0) {
- value = null;
- }
- getSubjectParent().setDescriptorCustomizerOf(getSubjectName(), value);
- }
- };
- }
-
- @Override
- protected String getClassName() {
- return getSubjectParent().getDescriptorCustomizerOf(getSubjectName());
- }
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_customizerLabel;
- }
-
- @Override
- protected IJavaProject getJavaProject() {
- return getSubjectParent().getJpaProject().getJavaProject();
- }
-
- @Override
- protected void setClassName(String className) {
- getSubjectParent().setDescriptorCustomizerOf(getSubjectName(), className);
- }
-
- @Override
- protected String getSuperInterfaceName() {
- return EclipseLinkCustomizer.ECLIPSELINK_DESCRIPTOR_CUSTOMIZER_CLASS_NAME;
- }
- };
- }
-
- private String getSubjectName() {
- return this.getSubjectHolder().getValue().getName();
- }
-
- private Customization getSubjectParent() {
- return this.getSubjectHolder().getValue().getParent();
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- this.initializeClassChooser(container);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/EclipseLinkCustomizationComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/EclipseLinkCustomizationComposite.java
deleted file mode 100644
index eda7fae366..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/EclipseLinkCustomizationComposite.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2011 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.Section;
-
-/**
- * PersistenceUnitCustomizationComposite
- */
-public class EclipseLinkCustomizationComposite<T extends Customization> extends Pane<T>
-{
- public EclipseLinkCustomizationComposite(Pane<T> subjectHolder,
- Composite container) {
-
- super(subjectHolder, container);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
- Section section = getWidgetFactory().createSection(parent, SWT.FLAT | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION);
- section.setText(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_sectionTitle);
- section.setDescription(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_sectionDescription);
- section.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- Composite composite = this.addSubPane(section);
- section.setClient(composite);
-
- // Default pane
- int groupBoxMargin = this.getGroupBoxMargin();
-
- Composite defaultPane = this.addSubPane(
- composite,
- 0, groupBoxMargin, 0, groupBoxMargin
- );
-
- // Weaving Group
- new WeavingPropertiesComposite(this, defaultPane);
-
- // Validation Only
- new ValidationOnlyComposite(this, defaultPane);
-
- // Mapping Files Validate Schema
- new ValidateSchemaComposite(this, defaultPane);
-
- // Throw Exceptions
- new ThrowExceptionsComposite(this, defaultPane);
-
- // Exception Handler
- new ExceptionHandlerComposite(this, defaultPane);
-
- // Session Customizer
- new SessionCustomizersComposite(this, composite);
-
- this.buildEntityListComposite(composite);
-
- // Profiler:
- new ProfilerComposite(this, composite);
- }
-
- protected void buildEntityListComposite(Composite parent) {
- new EntityListComposite(this, parent);
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/EntityCustomizationPropertyComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/EntityCustomizationPropertyComposite.java
deleted file mode 100644
index e6f59d3972..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/EntityCustomizationPropertyComposite.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.CustomizationEntity;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * EntityCustomizationPropertyComposite
- */
-public class EntityCustomizationPropertyComposite extends Pane<CustomizationEntity> {
-
- /**
- * Creates a new <code>EntityCustomizationPropertyComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param subjectHolder The holder of this pane's subject
- * @param parent The parent container
- */
- public EntityCustomizationPropertyComposite(Pane<Customization> parentComposite,
- PropertyValueModel<CustomizationEntity> subjectHolder,
- Composite parent) {
-
- super(parentComposite, subjectHolder, parent);
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected void initializeLayout(Composite container) {
-
- // Customizer
- new CustomizerComposite(this, container);
-
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/EntityListComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/EntityListComposite.java
index dd1a69730c..64a281e0f3 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/EntityListComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/EntityListComposite.java
@@ -20,18 +20,22 @@ import org.eclipse.jdt.ui.JavaUI;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.window.Window;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
+import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
+import org.eclipse.jpt.common.utility.internal.model.value.CollectionPropertyValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.CustomizationEntity;
import org.eclipse.jpt.jpa.eclipselink.ui.JptJpaEclipseLinkUiPlugin;
@@ -40,6 +44,7 @@ import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.dialogs.SelectionDialog;
+import org.eclipse.ui.forms.widgets.Hyperlink;
import org.eclipse.ui.progress.IProgressService;
/**
@@ -47,7 +52,8 @@ import org.eclipse.ui.progress.IProgressService;
*/
public class EntityListComposite extends Pane<Customization>
{
- private ModifiablePropertyValueModel<CustomizationEntity> entityHolder;
+ private ModifiableCollectionValueModel<CustomizationEntity> selectedEntitiesModel;
+ private PropertyValueModel<CustomizationEntity> selectedEntityModel;
public EntityListComposite(Pane<? extends Customization> parentComposite, Composite parent) {
@@ -57,55 +63,74 @@ public class EntityListComposite extends Pane<Customization>
@Override
protected void initialize() {
super.initialize();
- this.entityHolder = this.buildEntityHolder();
+ this.selectedEntitiesModel = this.buildSelectedEntitiesModel();
+ this.selectedEntityModel = this.buildSelectedEntityModel(this.selectedEntitiesModel);
}
- @Override
- protected void initializeLayout(Composite container) {
+ private ModifiableCollectionValueModel<CustomizationEntity> buildSelectedEntitiesModel() {
+ return new SimpleCollectionValueModel<CustomizationEntity>();
+ }
- container = this.addTitledGroup(
- container,
+ private PropertyValueModel<CustomizationEntity> buildSelectedEntityModel(CollectionValueModel<CustomizationEntity> selectedEntitiesModel) {
+ return new CollectionPropertyValueModelAdapter<CustomizationEntity, CustomizationEntity>(selectedEntitiesModel) {
+ @Override
+ protected CustomizationEntity buildValue() {
+ if (this.collectionModel.size() == 1) {
+ return this.collectionModel.iterator().next();
+ }
+ return null;
+ }
+ };
+ }
+
+ @Override
+ protected Composite addComposite(Composite parent) {
+ return this.addTitledGroup(
+ parent,
EclipseLinkUiMessages.CustomizationEntityListComposite_groupTitle
);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// Entities add/remove list pane
- new AddRemoveListPane<Customization>(
+ new AddRemoveListPane<Customization, CustomizationEntity>(
this,
container,
this.buildEntitiesAdapter(),
this.buildEntitiesListHolder(),
- this.entityHolder,
+ this.selectedEntitiesModel,
this.buildEntityLabelProvider(),
EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
);
// Entity Customization property pane
- EntityCustomizationPropertyComposite pane = new EntityCustomizationPropertyComposite(
- this,
- this.entityHolder,
- container
- );
- this.installPaneEnabler(this.entityHolder, pane);
+ Hyperlink customizationHyperlink = this.addHyperlink(container, EclipseLinkUiMessages.PersistenceXmlCustomizationTab_customizerLabel);
+ this.initializeClassChooser(container, customizationHyperlink);
}
- private AddRemoveListPane.Adapter buildEntitiesAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- EntityListComposite.this.addEntities(listSelectionModel);
+ private AddRemoveListPane.Adapter<CustomizationEntity> buildEntitiesAdapter() {
+ return new AddRemoveListPane.AbstractAdapter<CustomizationEntity>() {
+
+ public CustomizationEntity addNewItem() {
+ return EntityListComposite.this.addEntity();
}
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- Customization customization = getSubject();
- for (Object item : listSelectionModel.selectedValues()) {
- CustomizationEntity entityCustomization = (CustomizationEntity) item;
- customization.removeEntity(entityCustomization.getName());
- }
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<CustomizationEntity> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
+
+ public void removeSelectedItems(CollectionValueModel<CustomizationEntity> selectedItemsModel) {
+ //assume only 1 item since remove button is disabled otherwise
+ CustomizationEntity customizationEntity = selectedItemsModel.iterator().next();
+ getSubject().removeEntity(customizationEntity.getName());
}
};
}
- private void addEntities(ObjectListSelectionModel listSelectionModel) {
-
+ private CustomizationEntity addEntity() {
IType type = this.chooseEntity();
if (type != null) {
@@ -115,13 +140,10 @@ public class EntityListComposite extends Pane<Customization>
}
if( ! this.getSubject().entityExists(entityName)) {
- this.getSubject().addEntity(entityName);
- int index = CollectionTools.indexOf(this.getSubject().getEntityNames(), entityName);
- CustomizationEntity entity = (CustomizationEntity) listSelectionModel.getListModel().getElementAt(index);
- listSelectionModel.setSelectedValue(entity);
- this.entityHolder.setValue(entity);
+ return this.getSubject().addEntity(entityName);
}
}
+ return null;
}
private String getEntityName(String fullyQualifiedTypeName) {
@@ -192,21 +214,67 @@ public class EntityListComposite extends Pane<Customization>
};
}
- private void installPaneEnabler(ModifiablePropertyValueModel<CustomizationEntity> entityHolder,
- EntityCustomizationPropertyComposite pane) {
-
- new PaneEnabler(
- this.buildPaneEnablerHolder(entityHolder),
- pane
- );
- }
-
- private PropertyValueModel<Boolean> buildPaneEnablerHolder(ModifiablePropertyValueModel<CustomizationEntity> entityHolder) {
+ private PropertyValueModel<Boolean> buildPaneEnablerHolder(PropertyValueModel<CustomizationEntity> entityHolder) {
return new TransformationPropertyValueModel<CustomizationEntity, Boolean>(entityHolder) {
@Override
protected Boolean transform_(CustomizationEntity value) {
- return value.entityNameIsValid();
+ return Boolean.valueOf(value.entityNameIsValid());
}
};
}
+
+
+ private ClassChooserPane<CustomizationEntity> initializeClassChooser(Composite container, Hyperlink hyperlink) {
+ return new ClassChooserPane<CustomizationEntity>(this, this.selectedEntityModel, this.buildPaneEnablerHolder(this.selectedEntityModel), container, hyperlink) {
+
+ @Override
+ protected ModifiablePropertyValueModel<String> buildTextHolder() {
+ return new PropertyAspectAdapter<CustomizationEntity, String>(
+ this.getSubjectHolder(), CustomizationEntity.DESCRIPTOR_CUSTOMIZER_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return getSubjectParent().getDescriptorCustomizerOf(getSubjectName());
+ }
+
+ @Override
+ protected void setValue_(String value) {
+
+ if (value.length() == 0) {
+ value = null;
+ }
+ getSubjectParent().setDescriptorCustomizerOf(getSubjectName(), value);
+ }
+ };
+ }
+
+ @Override
+ protected String getClassName() {
+ return getSubjectParent().getDescriptorCustomizerOf(getSubjectName());
+ }
+
+ @Override
+ protected IJavaProject getJavaProject() {
+ return getSubjectParent().getJpaProject().getJavaProject();
+ }
+
+ @Override
+ protected void setClassName(String className) {
+ getSubjectParent().setDescriptorCustomizerOf(getSubjectName(), className);
+ }
+
+ @Override
+ protected String getSuperInterfaceName() {
+ return EclipseLinkCustomizer.ECLIPSELINK_DESCRIPTOR_CUSTOMIZER_CLASS_NAME;
+ }
+
+ private String getSubjectName() {
+ return this.getSubjectHolder().getValue().getName();
+ }
+
+ private Customization getSubjectParent() {
+ return this.getSubjectHolder().getValue().getParent();
+ }
+ };
+ }
+
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ExceptionHandlerComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ExceptionHandlerComposite.java
deleted file mode 100644
index b723aeb79d..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ExceptionHandlerComposite.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * ExceptionHandlerComposite
- */
-public class ExceptionHandlerComposite extends Pane<Customization>
-{
- /**
- * Creates a new <code>ExceptionHandlerComposite</code>.
- *
- * @param parentPane The parent pane of this one
- * @param parent The parent container
- */
- public ExceptionHandlerComposite(Pane<? extends Customization> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- private ClassChooserPane<Customization> initializeClassChooser(Composite container) {
-
- return new ClassChooserPane<Customization>(this, container) {
-
- @Override
- protected ModifiablePropertyValueModel<String> buildTextHolder() {
- return new PropertyAspectAdapter<Customization, String>(
- this.getSubjectHolder(), Customization.EXCEPTION_HANDLER_PROPERTY) {
- @Override
- protected String buildValue_() {
- return this.subject.getExceptionHandler();
- }
-
- @Override
- protected void setValue_(String value) {
-
- if (value.length() == 0) {
- value = null;
- }
- this.subject.setExceptionHandler(value);
- }
- };
- }
-
- @Override
- protected String getClassName() {
- return this.getSubject().getExceptionHandler();
- }
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_exceptionHandlerLabel;
- }
-
- @Override
- protected IJavaProject getJavaProject() {
- return getSubject().getJpaProject().getJavaProject();
- }
-
- @Override
- protected void setClassName(String className) {
- this.getSubject().setExceptionHandler(className);
- }
-
- @Override
- protected String getSuperInterfaceName() {
- return Customization.ECLIPSELINK_EXCEPTION_HANDLER_CLASS_NAME;
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- this.initializeClassChooser(container);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/PersistenceXmlCustomizationTab.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/PersistenceXmlCustomizationTab.java
index 05f7414140..24da558146 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/PersistenceXmlCustomizationTab.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/PersistenceXmlCustomizationTab.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -9,18 +9,30 @@
******************************************************************************/
package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;
+import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
+import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+import org.eclipse.ui.forms.widgets.Section;
/**
* PersistenceXmlCustomizationTabItem
@@ -37,12 +49,6 @@ public class PersistenceXmlCustomizationTab<T extends Customization>
super(subjectHolder, parent, widgetFactory);
}
- @Override
- protected void initializeLayout(Composite container) {
-
- this.buildEclipseLinkCustomizationComposite(container);
- }
-
// ********** JpaPageComposite implementation **********
public String getHelpID() {
@@ -57,35 +63,295 @@ public class PersistenceXmlCustomizationTab<T extends Customization>
return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_title;
}
- // ********** Layout **********
-
@Override
- protected Composite addContainer(Composite parent) {
- GridLayout layout = new GridLayout(1, true);
+ protected Composite addComposite(Composite container) {
+ GridLayout layout = new GridLayout(2, true); //2 columns equal width
layout.marginHeight = 0;
- layout.marginWidth = 0;
- layout.marginTop = 0;
- layout.marginLeft = 0;
+ layout.marginWidth = 0;
+ layout.marginTop = 0;
+ layout.marginLeft = 0;
layout.marginBottom = 0;
- layout.marginRight = 0;
- layout.verticalSpacing = 15;
+ layout.marginRight = 0;
+
+ return this.addPane(container, layout);
+ }
+
+ @Override
+ protected void initializeLayout(Composite parent) {
+ Section weavingSection = this.getWidgetFactory().createSection(parent, ExpandableComposite.TITLE_BAR);
+ weavingSection.setText(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingPropertiesGroupBox);
+ weavingSection.setClient(this.initializeWeavingSection(weavingSection));
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.verticalAlignment = SWT.TOP;
+ weavingSection.setLayoutData(gridData);
- Composite container = addPane(parent, layout);
- updateGridData(container);
+ Section customizersSection = this.getWidgetFactory().createSection(parent, ExpandableComposite.TITLE_BAR);
+ customizersSection.setText(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_customizersSection);
+ customizersSection.setClient(this.initializeCustomizersSection(customizersSection));
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.verticalAlignment = SWT.TOP;
+ gridData.verticalSpan = 2;
+ customizersSection.setLayoutData(gridData);
+
+ Section otherSection = this.getWidgetFactory().createSection(parent, ExpandableComposite.TITLE_BAR);
+ otherSection.setText(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_otherSection);
+ otherSection.setClient(this.initializeOtherSection(otherSection));
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.verticalAlignment = SWT.TOP;
+ otherSection.setLayoutData(gridData);
+ }
+
+ protected Control initializeWeavingSection(Section weavingSection) {
+ return new WeavingPropertiesComposite(this, weavingSection).getControl();
+ }
+
+ protected Control initializeOtherSection(Section otherSection) {
+ Composite container = this.addSubPane(otherSection, 2, 0, 0, 0, 0);
+
+ // Validation Only
+ TriStateCheckBox validationOnlyCheckBox = this.addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlCustomizationTab_validationOnlyLabel,
+ this.buildValidationOnlyHolder(),
+ this.buildValidationOnlyStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
+ );
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ validationOnlyCheckBox.getCheckBox().setLayoutData(gridData);
+
+ // Mapping Files Validate Schema
+
+ TriStateCheckBox validateSchemaCheckBox = this.addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlCustomizationTab_validateSchemaLabel,
+ this.buildValidateSchemaHolder(),
+ this.buildValidateSchemaStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
+ );
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ validateSchemaCheckBox.getCheckBox().setLayoutData(gridData);
+
+ // Throw Exceptions
+ TriStateCheckBox throwExceptionsCheckBox = this.addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlCustomizationTab_throwExceptionsLabel,
+ this.buildThrowExceptionsHolder(),
+ this.buildThrowExceptionsStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
+ );
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ throwExceptionsCheckBox.getCheckBox().setLayoutData(gridData);
+
+ // Exception Handler
+ Hyperlink exceptionHandlerHyperlink = this.addHyperlink(container, EclipseLinkUiMessages.PersistenceXmlCustomizationTab_exceptionHandlerLabel);
+ this.initializeExceptionHandlerClassChooser(container, exceptionHandlerHyperlink);
+
+ // Profiler:
+ Hyperlink profilerHyperlink = this.addHyperlink(container, EclipseLinkUiMessages.PersistenceXmlCustomizationTab_profilerLabel);
+ new ProfilerClassChooser(this, container, profilerHyperlink);
return container;
}
- private void updateGridData(Composite container) {
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
+ protected Control initializeCustomizersSection(Section customizersSection) {
+ Composite container = this.addSubPane(customizersSection);
+
+ // Session Customizer
+ new SessionCustomizersComposite(this, container);
+
+ this.buildEntityListComposite(container);
+
+ return container;
+ }
+
+ protected void buildEntityListComposite(Composite parent) {
+ new EntityListComposite(this, parent);
+ }
+
+
+ //********* validation only ***********
+
+ private ModifiablePropertyValueModel<Boolean> buildValidationOnlyHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.VALIDATION_ONLY_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getValidationOnly();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setValidationOnly(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildValidationOnlyStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultValidationOnlyHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_validationOnlyLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_validationOnlyLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultValidationOnlyHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(
+ getSubjectHolder(),
+ Customization.VALIDATION_ONLY_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getValidationOnly() != null) {
+ return null;
+ }
+ return this.subject.getDefaultValidationOnly();
+ }
+ };
+ }
+
+
+ //********* validate schema ***********
+
+ private ModifiablePropertyValueModel<Boolean> buildValidateSchemaHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.VALIDATE_SCHEMA_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getValidateSchema();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setValidateSchema(value);
+ }
+ };
}
- protected void buildEclipseLinkCustomizationComposite(Composite container) {
- new EclipseLinkCustomizationComposite<T>(this, container);
+ private PropertyValueModel<String> buildValidateSchemaStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultValidateSchemaHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_validateSchemaLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_validateSchemaLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultValidateSchemaHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(
+ getSubjectHolder(),
+ Customization.VALIDATE_SCHEMA_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getValidateSchema() != null) {
+ return null;
+ }
+ return this.subject.getDefaultValidateSchema();
+ }
+ };
}
+
+
+ //********* throw exceptions ***********
+
+ private ModifiablePropertyValueModel<Boolean> buildThrowExceptionsHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.THROW_EXCEPTIONS_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getThrowExceptions();
+ }
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setThrowExceptions(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildThrowExceptionsStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultThrowExceptionsHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_throwExceptionsLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_throwExceptionsLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultThrowExceptionsHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(
+ getSubjectHolder(),
+ Customization.THROW_EXCEPTIONS_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getThrowExceptions() != null) {
+ return null;
+ }
+ return this.subject.getDefaultThrowExceptions();
+ }
+ };
+ }
+
+
+ //********* exception handler ***********
+
+ private ClassChooserPane<Customization> initializeExceptionHandlerClassChooser(Composite container, Hyperlink hyperlink) {
+
+ return new ClassChooserPane<Customization>(this, container, hyperlink) {
+
+ @Override
+ protected ModifiablePropertyValueModel<String> buildTextHolder() {
+ return new PropertyAspectAdapter<Customization, String>(
+ this.getSubjectHolder(), Customization.EXCEPTION_HANDLER_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return this.subject.getExceptionHandler();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+
+ if (value.length() == 0) {
+ value = null;
+ }
+ this.subject.setExceptionHandler(value);
+ }
+ };
+ }
+
+ @Override
+ protected String getClassName() {
+ return this.getSubject().getExceptionHandler();
+ }
+
+ @Override
+ protected IJavaProject getJavaProject() {
+ return getSubject().getJpaProject().getJavaProject();
+ }
+
+ @Override
+ protected void setClassName(String className) {
+ this.getSubject().setExceptionHandler(className);
+ }
+
+ @Override
+ protected String getSuperInterfaceName() {
+ return Customization.ECLIPSELINK_EXCEPTION_HANDLER_CLASS_NAME;
+ }
+ };
+ }
+
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ProfilerComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ProfilerClassChooser.java
index 3b07cedc57..2dc6f9a188 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ProfilerComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ProfilerClassChooser.java
@@ -33,12 +33,13 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Profiler;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
import com.ibm.icu.text.Collator;
/**
* ProfilerComposite
*/
-public class ProfilerComposite extends ClassChooserComboPane<Customization>
+public class ProfilerClassChooser extends ClassChooserComboPane<Customization>
{
/**
@@ -47,28 +48,24 @@ public class ProfilerComposite extends ClassChooserComboPane<Customization>
* @param parentPane The parent container of this one
* @param parent The parent container
*/
- public ProfilerComposite(
+ public ProfilerClassChooser(
Pane<? extends Customization> parentPane,
- Composite parent) {
+ Composite parent,
+ Hyperlink hyperlink) {
- super(parentPane, parent);
+ super(parentPane, parent, hyperlink);
}
@Override
protected String getClassName() {
return Profiler.getProfilerClassName(this.getSubject().getProfiler());
}
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_profilerLabel;
- }
-
+
@Override
protected IJavaProject getJavaProject() {
return getSubject().getJpaProject().getJavaProject();
}
-
+
@Override
protected ModifiablePropertyValueModel<String> buildTextHolder() {
return new PropertyAspectAdapter<Customization, String>(this.getSubjectHolder(), Customization.PROFILER_PROPERTY) {
@@ -77,7 +74,7 @@ public class ProfilerComposite extends ClassChooserComboPane<Customization>
String name = this.subject.getProfiler();
if (name == null) {
- name = ProfilerComposite.this.getDefaultValue(this.subject);
+ name = ProfilerClassChooser.this.getDefaultValue(this.subject);
}
return name;
}
@@ -92,12 +89,12 @@ public class ProfilerComposite extends ClassChooserComboPane<Customization>
}
};
}
-
+
private PropertyValueModel<String> buildDefaultProfilerHolder() {
return new PropertyAspectAdapter<Customization, String>(this.getSubjectHolder(), Customization.DEFAULT_PROFILER) {
@Override
protected String buildValue_() {
- return ProfilerComposite.this.getDefaultValue(this.subject);
+ return ProfilerClassChooser.this.getDefaultValue(this.subject);
}
};
}
@@ -152,7 +149,6 @@ public class ProfilerComposite extends ClassChooserComboPane<Customization>
};
}
-
@Override
protected ListValueModel<String> buildClassListHolder() {
ArrayList<ListValueModel<String>> holders = new ArrayList<ListValueModel<String>>(2);
@@ -194,12 +190,12 @@ public class ProfilerComposite extends ClassChooserComboPane<Customization>
}
return JptCommonUiMessages.DefaultEmpty;
}
-
+
@Override
protected void setClassName(String className) {
this.getSubject().setProfiler(className);
}
-
+
@Override
protected String getSuperInterfaceName() {
return Customization.ECLIPSELINK_SESSION_PROFILER_CLASS_NAME;
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/SessionCustomizersComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/SessionCustomizersComposite.java
index c21f8e76fc..7e04146227 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/SessionCustomizersComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/SessionCustomizersComposite.java
@@ -26,16 +26,15 @@ import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
import org.eclipse.jpt.jpa.eclipselink.ui.JptJpaEclipseLinkUiPlugin;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.dialogs.SelectionDialog;
import org.eclipse.ui.progress.IProgressService;
@@ -58,7 +57,7 @@ public class SessionCustomizersComposite extends Pane<Customization>
}
- private void addSessionCustomizerClass(ObjectListSelectionModel listSelectionModel) {
+ private String addSessionCustomizerClass() {
IType type = chooseType();
@@ -66,22 +65,27 @@ public class SessionCustomizersComposite extends Pane<Customization>
String className = type.getFullyQualifiedName('$');
if( ! this.getSubject().sessionCustomizerExists(className)) {
- String classRef = this.getSubject().addSessionCustomizer(className);
- listSelectionModel.setSelectedValue(classRef);
+ return this.getSubject().addSessionCustomizer(className);
}
}
+ return null;
}
- private Adapter buildAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addSessionCustomizerClass(listSelectionModel);
+ private Adapter<String> buildAdapter() {
+ return new AddRemoveListPane.AbstractAdapter<String>() {
+ public String addNewItem() {
+ return addSessionCustomizerClass();
}
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- getSubject().removeSessionCustomizer((String) item);
- }
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<String> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
+
+ public void removeSelectedItems(CollectionValueModel<String> selectedItemsModel) {
+ String item = selectedItemsModel.iterator().next();
+ getSubject().removeSessionCustomizer(item);
}
};
}
@@ -115,8 +119,8 @@ public class SessionCustomizersComposite extends Pane<Customization>
};
}
- private ModifiablePropertyValueModel<String> buildSelectedItemHolder() {
- return new SimplePropertyValueModel<String>();
+ private ModifiableCollectionValueModel<String> buildSelectedItemsModel() {
+ return new SimpleCollectionValueModel<String>();
}
/**
@@ -158,32 +162,24 @@ public class SessionCustomizersComposite extends Pane<Customization>
}
@Override
- protected void initializeLayout(Composite container) {
- // Description
- container = addTitledGroup(
- container,
+ protected Composite addComposite(Composite parent) {
+ return addTitledGroup(
+ parent,
EclipseLinkUiMessages.PersistenceXmlCustomizationTab_sessionCustomizerLabel
);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// List pane
- new AddRemoveListPane<Customization>(
+ new AddRemoveListPane<Customization, String>(
this,
container,
buildAdapter(),
buildListHolder(),
- buildSelectedItemHolder(),
+ buildSelectedItemsModel(),
buildLabelProvider()
- )
- {
- @Override
- protected void initializeTable(Table table) {
- super.initializeTable(table);
-
- Composite container = table.getParent();
- GridData gridData = (GridData) container.getLayoutData();
- gridData.heightHint = 75;
- }
- };
+ );
}
private IJavaProject getJavaProject() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ThrowExceptionsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ThrowExceptionsComposite.java
deleted file mode 100644
index b6e5a939a1..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ThrowExceptionsComposite.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * ThrowExceptionsComposite
- */
-public class ThrowExceptionsComposite extends Pane<Customization>
-{
- /**
- * Creates a new <code>ThrowExceptionsComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public ThrowExceptionsComposite(
- Pane<? extends Customization> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlCustomizationTab_throwExceptionsLabel,
- this.buildThrowExceptionsHolder(),
- this.buildThrowExceptionsStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildThrowExceptionsHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.THROW_EXCEPTIONS_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getThrowExceptions();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setThrowExceptions(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildThrowExceptionsStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultThrowExceptionsHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_throwExceptionsLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_throwExceptionsLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultThrowExceptionsHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(
- getSubjectHolder(),
- Customization.THROW_EXCEPTIONS_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getThrowExceptions() != null) {
- return null;
- }
- return this.subject.getDefaultThrowExceptions();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ValidateSchemaComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ValidateSchemaComposite.java
deleted file mode 100644
index 1d1e12a836..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ValidateSchemaComposite.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * ValidateSchemaComposite
- */
-public class ValidateSchemaComposite extends Pane<Customization>
-{
- /**
- * Creates a new <code>ValidateSchemaComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public ValidateSchemaComposite(
- Pane<? extends Customization> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlCustomizationTab_validateSchemaLabel,
- this.buildValidateSchemaHolder(),
- this.buildValidateSchemaStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildValidateSchemaHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.VALIDATE_SCHEMA_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getValidateSchema();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setValidateSchema(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildValidateSchemaStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultValidateSchemaHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_validateSchemaLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_validateSchemaLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultValidateSchemaHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(
- getSubjectHolder(),
- Customization.VALIDATE_SCHEMA_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getValidateSchema() != null) {
- return null;
- }
- return this.subject.getDefaultValidateSchema();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ValidationOnlyComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ValidationOnlyComposite.java
deleted file mode 100644
index 0bceaa9834..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/ValidationOnlyComposite.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * ValidationOnlyComposite
- */
-public class ValidationOnlyComposite extends Pane<Customization>
-{
- /**
- * Creates a new <code>ValidationOnlyComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public ValidationOnlyComposite(
- Pane<? extends Customization> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlCustomizationTab_validationOnlyLabel,
- this.buildValidationOnlyHolder(),
- this.buildValidationOnlyStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildValidationOnlyHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.VALIDATION_ONLY_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getValidationOnly();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setValidationOnly(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildValidationOnlyStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultValidationOnlyHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_validationOnlyLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_validationOnlyLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultValidationOnlyHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(
- getSubjectHolder(),
- Customization.VALIDATION_ONLY_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getValidationOnly() != null) {
- return null;
- }
- return this.subject.getDefaultValidationOnly();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingChangeTrackingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingChangeTrackingComposite.java
deleted file mode 100644
index 8f2d45b882..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingChangeTrackingComposite.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * WeavingChangeTrackingComposite
- */
-public class WeavingChangeTrackingComposite extends Pane<Customization>
-{
- /**
- * Creates a new <code>WeavingChangeTrackingComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public WeavingChangeTrackingComposite(
- Pane<? extends Customization> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingChangeTrackingLabel,
- this.buildWeavingChangeTrackingHolder(),
- this.buildWeavingChangeTrackingStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildWeavingChangeTrackingHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.WEAVING_CHANGE_TRACKING_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getWeavingChangeTracking();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setWeavingChangeTracking(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildWeavingChangeTrackingStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultWeavingChangeTrackingHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingChangeTrackingLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingChangeTrackingLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultWeavingChangeTrackingHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(
- getSubjectHolder(),
- Customization.WEAVING_CHANGE_TRACKING_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getWeavingChangeTracking() != null) {
- return null;
- }
- return this.subject.getDefaultWeavingChangeTracking();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingComposite.java
deleted file mode 100644
index d4c5c3c905..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingComposite.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Weaving;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * WeavingComposite
- */
-public class WeavingComposite extends Pane<Customization>
-{
- /**
- * Creates a new <code>WeavingComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public WeavingComposite(
- Pane<? extends Customization> parentComposite,
- Composite parent) {
-
- super( parentComposite, parent);
- }
-
- private EnumFormComboViewer<Customization, Weaving> addWeavingCombo(Composite container) {
- return new EnumFormComboViewer<Customization, Weaving>(this, container) {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(Customization.WEAVING_PROPERTY);
- }
-
- @Override
- protected Weaving[] getChoices() {
- return Weaving.values();
- }
-
- @Override
- protected Weaving getDefaultValue() {
- return getSubject().getDefaultWeaving();
- }
-
- @Override
- protected String displayString(Weaving value) {
- switch (value) {
- case true_ :
- return EclipseLinkUiMessages.WeavingComposite_true_;
- case false_ :
- return EclipseLinkUiMessages.WeavingComposite_false_;
- case static_ :
- return EclipseLinkUiMessages.WeavingComposite_static_;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected Weaving getValue() {
- return getSubject().getWeaving();
- }
-
- @Override
- protected void setValue(Weaving value) {
- getSubject().setWeaving(value);
- }
- };
- }
-
- @Override
- protected void initializeLayout( Composite container) {
-
- this.addLabeledComposite(
- container,
- EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingLabel,
- this.addWeavingCombo( container),
- EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
- );
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingEagerComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingEagerComposite.java
deleted file mode 100644
index 27c1affcbb..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingEagerComposite.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * WeavingEagerComposite
- */
-public class WeavingEagerComposite extends Pane<Customization>
-{
- /**
- * Creates a new <code>WeavingEagerComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public WeavingEagerComposite(
- Pane<? extends Customization> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingEagerLabel,
- this.buildWeavingEagerHolder(),
- this.buildWeavingEagerStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildWeavingEagerHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.WEAVING_EAGER_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getWeavingEager();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setWeavingEager(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildWeavingEagerStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultWeavingEagerHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingEagerLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingEagerLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultWeavingEagerHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(
- getSubjectHolder(),
- Customization.WEAVING_EAGER_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getWeavingEager() != null) {
- return null;
- }
- return this.subject.getDefaultWeavingEager();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingFetchGroupsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingFetchGroupsComposite.java
deleted file mode 100644
index 98747053dd..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingFetchGroupsComposite.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * WeavingFetchGroupsComposite
- */
-public class WeavingFetchGroupsComposite extends Pane<Customization>
-{
- /**
- * Creates a new <code>WeavingFetchGroupsComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public WeavingFetchGroupsComposite(
- Pane<? extends Customization> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingFetchGroupsLabel,
- this.buildWeavingFetchGroupsHolder(),
- this.buildWeavingFetchGroupsStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildWeavingFetchGroupsHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.WEAVING_FETCH_GROUPS_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getWeavingFetchGroups();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setWeavingFetchGroups(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildWeavingFetchGroupsStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultWeavingFetchGroupsHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingFetchGroupsLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingFetchGroupsLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultWeavingFetchGroupsHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(
- getSubjectHolder(),
- Customization.WEAVING_FETCH_GROUPS_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getWeavingFetchGroups() != null) {
- return null;
- }
- return this.subject.getDefaultWeavingFetchGroups();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingInternalComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingInternalComposite.java
deleted file mode 100644
index 34fcf48b63..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingInternalComposite.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * WeavingInternalComposite
- */
-public class WeavingInternalComposite extends Pane<Customization>
-{
- /**
- * Creates a new <code>WeavingInternalComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public WeavingInternalComposite(
- Pane<? extends Customization> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingInternalLabel,
- this.buildWeavingInternalHolder(),
- this.buildWeavingInternalStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildWeavingInternalHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.WEAVING_INTERNAL_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getWeavingInternal();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setWeavingInternal(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildWeavingInternalStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultWeavingInternalHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingInternalLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingInternalLabel;
- }
- };
- }
-
-
- private PropertyValueModel<Boolean> buildDefaultWeavingInternalHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(
- getSubjectHolder(),
- Customization.WEAVING_INTERNAL_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getWeavingInternal() != null) {
- return null;
- }
- return this.subject.getDefaultWeavingInternal();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingLazyComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingLazyComposite.java
deleted file mode 100644
index 6080b37e29..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingLazyComposite.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * WeavingLazyComposite
- */
-public class WeavingLazyComposite extends Pane<Customization>
-{
- /**
- * Creates a new <code>WeavingLazyComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public WeavingLazyComposite(
- Pane<? extends Customization> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingLazyLabel,
- this.buildWeavingLazyHolder(),
- this.buildWeavingLazyStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildWeavingLazyHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.WEAVING_LAZY_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getWeavingLazy();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setWeavingLazy(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildWeavingLazyStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultWeavingLazyHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingLazyLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingLazyLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultWeavingLazyHolder() {
- return new PropertyAspectAdapter<Customization, Boolean>(
- getSubjectHolder(),
- Customization.WEAVING_LAZY_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getWeavingLazy() != null) {
- return null;
- }
- return this.subject.getDefaultWeavingLazy();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingPropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingPropertiesComposite.java
index f4de4eaeba..7929792a8c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingPropertiesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/customization/WeavingPropertiesComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2010, 2011 Oracle. All rights reserved.
+* Copyright (c) 2010, 2012 Oracle. 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.
@@ -9,9 +9,21 @@
*******************************************************************************/
package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization;
+import java.util.Collection;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Weaving;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
/**
@@ -26,31 +38,351 @@ public class WeavingPropertiesComposite extends Pane<Customization>
}
@Override
- protected void initializeLayout(Composite parent) {
-
- Composite weavingGroup = this.addTitledGroup(
- this.addSubPane(parent, 10),
- EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingPropertiesGroupBox
- );
+ protected Composite addComposite(Composite parent) {
+ return this.addSubPane(parent, 2, 0, 0, 0, 0);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// Weaving
- new WeavingComposite(this, weavingGroup);
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingLabel);
+ this.addWeavingCombo(container);
// Weaving Lazy
- new WeavingLazyComposite(this, weavingGroup);
+ TriStateCheckBox weavingLazyCheckBox = this.addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingLazyLabel,
+ this.buildWeavingLazyHolder(),
+ this.buildWeavingLazyStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
+ );
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ weavingLazyCheckBox.getCheckBox().setLayoutData(gridData);
// Weaving Fetch Groups
- new WeavingFetchGroupsComposite(this, weavingGroup);
+ TriStateCheckBox weavingFetchGroupsCheckBox = this.addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingFetchGroupsLabel,
+ this.buildWeavingFetchGroupsHolder(),
+ this.buildWeavingFetchGroupsStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
+ );
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ weavingFetchGroupsCheckBox.getCheckBox().setLayoutData(gridData);
// Weaving Internal
- new WeavingInternalComposite(this, weavingGroup);
+ TriStateCheckBox weavingInternalCheckBox = this.addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingInternalLabel,
+ this.buildWeavingInternalHolder(),
+ this.buildWeavingInternalStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
+ );
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ weavingInternalCheckBox.getCheckBox().setLayoutData(gridData);
// Weaving Eager
- new WeavingEagerComposite(this, weavingGroup);
+ TriStateCheckBox weavingEagerCheckBox = this.addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingEagerLabel,
+ this.buildWeavingEagerHolder(),
+ this.buildWeavingEagerStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
+ );
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ weavingEagerCheckBox.getCheckBox().setLayoutData(gridData);
// Weaving Change Tracking
- new WeavingChangeTrackingComposite(this, weavingGroup);
+ TriStateCheckBox weavingChangeTrackingCheckBox = this.addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingChangeTrackingLabel,
+ this.buildWeavingChangeTrackingHolder(),
+ this.buildWeavingChangeTrackingStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION
+ );
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ weavingChangeTrackingCheckBox.getCheckBox().setLayoutData(gridData);
+ }
+
+ // ********* weaving **********
+
+ private EnumFormComboViewer<Customization, Weaving> addWeavingCombo(Composite container) {
+ return new EnumFormComboViewer<Customization, Weaving>(this, container) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(Customization.WEAVING_PROPERTY);
+ }
+
+ @Override
+ protected Weaving[] getChoices() {
+ return Weaving.values();
+ }
+
+ @Override
+ protected Weaving getDefaultValue() {
+ return getSubject().getDefaultWeaving();
+ }
+
+ @Override
+ protected String displayString(Weaving value) {
+ switch (value) {
+ case true_ :
+ return EclipseLinkUiMessages.WeavingComposite_true_;
+ case false_ :
+ return EclipseLinkUiMessages.WeavingComposite_false_;
+ case static_ :
+ return EclipseLinkUiMessages.WeavingComposite_static_;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected Weaving getValue() {
+ return getSubject().getWeaving();
+ }
+
+ @Override
+ protected void setValue(Weaving value) {
+ getSubject().setWeaving(value);
+ }
+
+ @Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.PERSISTENCE_CUSTOMIZATION;
+ }
+ };
+ }
+
+
+ // ********* weaving lazy **********
+
+ private ModifiablePropertyValueModel<Boolean> buildWeavingLazyHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.WEAVING_LAZY_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getWeavingLazy();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setWeavingLazy(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildWeavingLazyStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultWeavingLazyHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingLazyLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingLazyLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultWeavingLazyHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(
+ getSubjectHolder(),
+ Customization.WEAVING_LAZY_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getWeavingLazy() != null) {
+ return null;
+ }
+ return this.subject.getDefaultWeavingLazy();
+ }
+ };
+ }
+
+
+ // ********* weaving fetch groups **********
+
+ private ModifiablePropertyValueModel<Boolean> buildWeavingFetchGroupsHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.WEAVING_FETCH_GROUPS_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getWeavingFetchGroups();
+ }
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setWeavingFetchGroups(value);
+ }
+ };
}
+
+ private PropertyValueModel<String> buildWeavingFetchGroupsStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultWeavingFetchGroupsHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingFetchGroupsLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingFetchGroupsLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultWeavingFetchGroupsHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(
+ getSubjectHolder(),
+ Customization.WEAVING_FETCH_GROUPS_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getWeavingFetchGroups() != null) {
+ return null;
+ }
+ return this.subject.getDefaultWeavingFetchGroups();
+ }
+ };
+ }
+
+
+ // ********* weaving internal **********
+
+ private ModifiablePropertyValueModel<Boolean> buildWeavingInternalHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.WEAVING_INTERNAL_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getWeavingInternal();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setWeavingInternal(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildWeavingInternalStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultWeavingInternalHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingInternalLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingInternalLabel;
+ }
+ };
+ }
+
+
+ private PropertyValueModel<Boolean> buildDefaultWeavingInternalHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(
+ getSubjectHolder(),
+ Customization.WEAVING_INTERNAL_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getWeavingInternal() != null) {
+ return null;
+ }
+ return this.subject.getDefaultWeavingInternal();
+ }
+ };
+ }
+
+
+ // ********* weaving eager **********
+ private ModifiablePropertyValueModel<Boolean> buildWeavingEagerHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.WEAVING_EAGER_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getWeavingEager();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setWeavingEager(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildWeavingEagerStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultWeavingEagerHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingEagerLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingEagerLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultWeavingEagerHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(
+ getSubjectHolder(),
+ Customization.WEAVING_EAGER_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getWeavingEager() != null) {
+ return null;
+ }
+ return this.subject.getDefaultWeavingEager();
+ }
+ };
+ }
+
+
+ // ********* weaving change tracking **********
+
+ private ModifiablePropertyValueModel<Boolean> buildWeavingChangeTrackingHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(getSubjectHolder(), Customization.WEAVING_CHANGE_TRACKING_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getWeavingChangeTracking();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setWeavingChangeTracking(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildWeavingChangeTrackingStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultWeavingChangeTrackingHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingChangeTrackingLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlCustomizationTab_weavingChangeTrackingLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultWeavingChangeTrackingHolder() {
+ return new PropertyAspectAdapter<Customization, Boolean>(
+ getSubjectHolder(),
+ Customization.WEAVING_CHANGE_TRACKING_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getWeavingChangeTracking() != null) {
+ return null;
+ }
+ return this.subject.getDefaultWeavingChangeTracking();
+ }
+ };
+ }
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitGeneralComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitGeneralComposite.java
deleted file mode 100644
index 883a4b3959..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitGeneralComposite.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.general;
-
-import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.ui.internal.persistence.JptUiPersistenceMessages;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.PersistenceUnitGeneralComposite;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * EclipseLinkPersistenceUnitGeneralComposite
- */
-public class EclipseLinkPersistenceUnitGeneralComposite
- extends PersistenceUnitGeneralComposite
-{
- // ********** constructors **********
- public EclipseLinkPersistenceUnitGeneralComposite(
- PropertyValueModel<PersistenceUnit> subjectHolder,
- Composite container,
- WidgetFactory widgetFactory) {
- super(subjectHolder, container, widgetFactory);
- }
-
- // ********** initialization **********
- @Override
- protected void initializeLayout(Composite container) {
- this.initializeGeneralPane(container);
- this.initializeMappedClassesPane(container);
- this.initializeJPAMappingDescriptorsPane(container);
- this.initializeJarFilesPane(container);
- }
-
- protected void initializeJPAMappingDescriptorsPane(Composite container) {
-
- container = addCollapsibleSection(
- container,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_jpaMappingDescriptors,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_jpaMappingDescriptors_description
- );
-
- updateGridData(container);
- updateGridData(container.getParent());
-
- new EclipseLinkPersistenceUnitMappingFilesComposite(this, container);
- }
-
- protected void initializeJarFilesPane(Composite container) {
-
- container = addCollapsibleSection(
- container,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_jarFiles
- );
-
- updateGridData(container);
- updateGridData(container.getParent());
-
- new EclipseLinkPersistenceUnitJarFilesComposite(this, container);
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitGeneralTab.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitGeneralTab.java
new file mode 100644
index 0000000000..3877d46bfa
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitGeneralTab.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 Oracle. 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
+ *******************************************************************************/
+package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.general;
+
+import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
+import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceUnitGeneralTab;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+/**
+ * EclipseLinkPersistenceUnitGeneralTab
+ */
+public class EclipseLinkPersistenceUnitGeneralTab
+ extends PersistenceUnitGeneralTab
+{
+ // ********** constructors **********
+ public EclipseLinkPersistenceUnitGeneralTab(
+ PropertyValueModel<PersistenceUnit> subjectHolder,
+ Composite container,
+ WidgetFactory widgetFactory) {
+ super(subjectHolder, container, widgetFactory);
+ }
+
+ @Override
+ protected Control buildMappingFilesComposite(Composite parent) {
+ return new EclipseLinkPersistenceUnitMappingFilesComposite(this, parent).getControl();
+ }
+
+ @Override
+ protected Control buildJarFilesComposite(Composite parent) {
+ return new EclipseLinkPersistenceUnitJarFilesComposite(this, parent).getControl();
+ }
+} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitJarFilesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitJarFilesComposite.java
index 25a7415cc5..52913277ca 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitJarFilesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitJarFilesComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle.
+ * Copyright (c) 2009, 2012 Oracle.
* 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
@@ -14,9 +14,9 @@ import org.eclipse.core.resources.IFile;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.ArchiveFileSelectionDialog;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.PersistenceUnitJarFilesComposite;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.ArchiveFileSelectionDialog.DeploymentPathCalculator;
+import org.eclipse.jpt.jpa.ui.internal.persistence.ArchiveFileSelectionDialog;
+import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceUnitJarFilesComposite;
+import org.eclipse.jpt.jpa.ui.internal.persistence.ArchiveFileSelectionDialog.DeploymentPathCalculator;
import org.eclipse.swt.widgets.Composite;
public class EclipseLinkPersistenceUnitJarFilesComposite
@@ -45,9 +45,7 @@ public class EclipseLinkPersistenceUnitJarFilesComposite
if (JptJpaCorePlugin.projectHasWebFacet(file.getProject())) {
return "../" + baseDeploymentPath;
}
- else {
- return baseDeploymentPath;
- }
+ return baseDeploymentPath;
}
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitMappingFilesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitMappingFilesComposite.java
index 575456e430..dc483c06a9 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitMappingFilesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/general/EclipseLinkPersistenceUnitMappingFilesComposite.java
@@ -21,8 +21,8 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersi
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.GeneralProperties;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.PersistenceUnitGeneralComposite;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.PersistenceUnitMappingFilesComposite;
+import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceUnitGeneralTab;
+import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceUnitMappingFilesComposite;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
@@ -38,7 +38,7 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see PersistenceUnit
- * @see PersistenceUnitGeneralComposite - The parent container
+ * @see PersistenceUnitGeneralTab - The parent container
* @see AddRemoveListPane
*
* @version 2.0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/EclipseLinkLoggingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/EclipseLinkLoggingComposite.java
deleted file mode 100644
index 5c16de6981..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/EclipseLinkLoggingComposite.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.logging;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.Section;
-
-/**
- * EclipseLinkLoggingComposite
- */
-public class EclipseLinkLoggingComposite<T extends Logging>
- extends Pane<T>
-{
- public EclipseLinkLoggingComposite(
- Pane<T> subjectHolder,
- Composite container) {
- super(subjectHolder, container, false);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
- Section section = getWidgetFactory().createSection(parent, SWT.FLAT | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION);
- section.setText(EclipseLinkUiMessages.PersistenceXmlLoggingTab_sectionTitle);
- section.setDescription(EclipseLinkUiMessages.PersistenceXmlLoggingTab_sectionDescription);
- Composite composite = getWidgetFactory().createComposite(section);
- composite.setLayout(new GridLayout(1, false));
- section.setClient(composite);
- this.updateGridData(composite);
- this.updateGridData(composite.getParent());
-
- // LoggingLevel:
- new LoggingLevelComposite(this, composite);
-
- // Boolean properties group
- this.logPropertiesComposite(composite);
-
- // LoggingFile:
- new LoggingFileLocationComposite(this, composite);
-
- // Logger:
- new LoggerComposite(this, composite);
-
- return;
- }
-
- protected void logPropertiesComposite(Composite parent) {
-
- // Timestamp:
- new TimestampComposite(this, parent);
-
- // Thread:
- new ThreadComposite(this, parent);
-
- // Session:
- new SessionComposite(this, parent);
-
- // Exceptions:
- new ExceptionsComposite(this, parent);
- }
-
- private void updateGridData(Composite container) {
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/ExceptionsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/ExceptionsComposite.java
deleted file mode 100644
index 97b0105d43..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/ExceptionsComposite.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.logging;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * ExceptionsComposite
- */
-public class ExceptionsComposite extends Pane<Logging>
-{
- /**
- * Creates a new <code>ExceptionsComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public ExceptionsComposite(
- Pane<? extends Logging> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlLoggingTab_exceptionsLabel,
- this.buildExceptionsHolder(),
- this.buildExceptionsStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_LOGGING_EXCEPTIONS
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildExceptionsHolder() {
- return new PropertyAspectAdapter<Logging, Boolean>(getSubjectHolder(), Logging.EXCEPTIONS_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getExceptions();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setExceptions(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildExceptionsStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultExceptionsHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlLoggingTab_exceptionsLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlLoggingTab_exceptionsLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultExceptionsHolder() {
- return new PropertyAspectAdapter<Logging, Boolean>(
- getSubjectHolder(),
- Logging.EXCEPTIONS_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getExceptions() != null) {
- return null;
- }
- return this.subject.getDefaultExceptions();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/LoggingFileLocationComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/LoggingFileLocationComposite.java
deleted file mode 100644
index 052fdf5be9..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/LoggingFileLocationComposite.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.logging;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.FileChooserComboPane;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * LoggingFileLocationComposite
- */
-public class LoggingFileLocationComposite extends Pane<Logging>
-{
- public LoggingFileLocationComposite(Pane<? extends Logging> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- new FileChooserComboPane<Logging>(this, container) {
-
- @Override
- protected ModifiablePropertyValueModel<String> buildTextHolder() {
- return new PropertyAspectAdapter<Logging, String>(
- getSubjectHolder(), Logging.LOG_FILE_LOCATION_PROPERTY) {
- @Override
- protected String buildValue_() {
-
- String name = subject.getLogFileLocation();
- if (name == null) {
- name = defaultValue(subject);
- }
- return name;
- }
-
- @Override
- protected void setValue_(String value) {
-
- if (defaultValue(subject).equals(value)) {
- value = null;
- }
- subject.setLogFileLocation(value);
- }
- };
- }
-
- private String defaultValue(Logging subject) {
- String defaultValue = subject.getDefaultLogFileLocation();
-
- if (defaultValue != null) {
- return NLS.bind(
- JptCommonUiMessages.DefaultWithOneParam,
- defaultValue
- );
- }
- else {
- return this.getDefaultString();
- }
- }
-
- @Override
- protected String getDefaultString() {
- return EclipseLinkUiMessages.PersistenceXmlLoggingTab_defaultStdout;
- }
-
- @Override
- protected String getDialogTitle() {
- return EclipseLinkUiMessages.LoggingFileLocationComposite_dialogTitle;
- }
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiMessages.PersistenceXmlLoggingTab_loggingFileLabel;
- }
-
- @Override
- protected String getProjectPath() {
- return this.getSubject().getJpaProject().getProject().getLocation().toString();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/LoggingLevelComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/LoggingLevelComposite.java
deleted file mode 100644
index 9af650bc97..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/LoggingLevelComposite.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.logging;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.LoggingLevel;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * LoggingLevelComposite
- */
-public class LoggingLevelComposite extends Pane<Logging>
-{
- /**
- * Creates a new <code>LoggingLevelComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public LoggingLevelComposite(
- Pane<? extends Logging> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- private EnumFormComboViewer<Logging, LoggingLevel> addLoggingLevelCombo(Composite container) {
- return new EnumFormComboViewer<Logging, LoggingLevel>(this, container) {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(Logging.LEVEL_PROPERTY);
- }
-
- @Override
- protected LoggingLevel[] getChoices() {
- return LoggingLevel.values();
- }
-
- @Override
- protected boolean sortChoices() {
- return false;
- }
-
- @Override
- protected LoggingLevel getDefaultValue() {
- return this.getSubject().getDefaultLevel();
- }
-
- @Override
- protected String displayString(LoggingLevel value) {
- switch (value) {
- case all :
- return EclipseLinkUiMessages.LoggingLevelComposite_all;
- case config :
- return EclipseLinkUiMessages.LoggingLevelComposite_config;
- case fine :
- return EclipseLinkUiMessages.LoggingLevelComposite_fine;
- case finer :
- return EclipseLinkUiMessages.LoggingLevelComposite_finer;
- case finest :
- return EclipseLinkUiMessages.LoggingLevelComposite_finest;
- case info :
- return EclipseLinkUiMessages.LoggingLevelComposite_info;
- case off :
- return EclipseLinkUiMessages.LoggingLevelComposite_off;
- case severe :
- return EclipseLinkUiMessages.LoggingLevelComposite_severe;
- case warning :
- return EclipseLinkUiMessages.LoggingLevelComposite_warning;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected LoggingLevel getValue() {
- return this.getSubject().getLevel();
- }
-
- @Override
- protected void setValue(LoggingLevel value) {
- this.getSubject().setLevel(value);
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- this.addLabeledComposite(
- container,
- EclipseLinkUiMessages.PersistenceXmlLoggingTab_loggingLevelLabel,
- this.addLoggingLevelCombo(container),
- EclipseLinkHelpContextIds.PERSISTENCE_LOGGING_LEVEL
- );
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/PersistenceXmlLoggingTab.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/PersistenceXmlLoggingTab.java
deleted file mode 100644
index c7eb00aa8d..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/PersistenceXmlLoggingTab.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.logging;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * PersistenceXmlLoggingTab
- */
-public class PersistenceXmlLoggingTab<T extends Logging>
- extends Pane<T>
- implements JpaPageComposite
-{
- // ********** constructors/initialization **********
- public PersistenceXmlLoggingTab(
- PropertyValueModel<T> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- new EclipseLinkLoggingComposite<T>(this, container);
- }
-
- // ********** JpaPageComposite implementation **********
-
- public String getHelpID() {
- return EclipseLinkHelpContextIds.PERSISTENCE_LOGGING;
- }
-
- public ImageDescriptor getPageImageDescriptor() {
- return null;
- }
-
- public String getPageText() {
- return EclipseLinkUiMessages.PersistenceXmlLoggingTab_title;
- }
-
- // ********** Layout **********
- @Override
- protected Composite addContainer(Composite parent) {
- GridLayout layout = new GridLayout(1, true);
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- layout.marginTop = 0;
- layout.marginLeft = 0;
- layout.marginBottom = 0;
- layout.marginRight = 0;
- layout.verticalSpacing = 15;
- Composite container = this.addPane(parent, layout);
- this.updateGridData(container);
- return container;
- }
-
- private void updateGridData(Composite container) {
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/SessionComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/SessionComposite.java
deleted file mode 100644
index 349fbb2110..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/SessionComposite.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.logging;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * SessionComposite
- */
-public class SessionComposite extends Pane<Logging>
-{
- /**
- * Creates a new <code>SessionComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public SessionComposite(
- Pane<? extends Logging> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlLoggingTab_sessionLabel,
- this.buildSessionHolder(),
- this.buildSessionStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_LOGGING_SESSION
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildSessionHolder() {
- return new PropertyAspectAdapter<Logging, Boolean>(getSubjectHolder(), Logging.SESSION_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getSession();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setSession(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildSessionStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultSessionHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlLoggingTab_sessionLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlLoggingTab_sessionLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultSessionHolder() {
- return new PropertyAspectAdapter<Logging, Boolean>(
- getSubjectHolder(),
- Logging.SESSION_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getSession() != null) {
- return null;
- }
- return this.subject.getDefaultSession();
- }
- };
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/ThreadComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/ThreadComposite.java
deleted file mode 100644
index 460170e9d9..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/ThreadComposite.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.logging;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * ThreadComposite
- */
-public class ThreadComposite extends Pane<Logging>
-{
- /**
- * Creates a new <code>ThreadComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public ThreadComposite(
- Pane<? extends Logging> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlLoggingTab_threadLabel,
- this.buildThreadHolder(),
- this.buildThreadStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_LOGGING_THREAD
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildThreadHolder() {
- return new PropertyAspectAdapter<Logging, Boolean>(getSubjectHolder(), Logging.THREAD_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getThread();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setThread(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildThreadStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultThreadHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlLoggingTab_threadLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlLoggingTab_threadLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultThreadHolder() {
- return new PropertyAspectAdapter<Logging, Boolean>(
- getSubjectHolder(),
- Logging.THREAD_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getThread() != null) {
- return null;
- }
- return this.subject.getDefaultThread();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/TimestampComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/TimestampComposite.java
deleted file mode 100644
index 743c8e0992..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/TimestampComposite.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.logging;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * TimestampComposite
- */
-public class TimestampComposite extends Pane<Logging>
-{
- /**
- * Creates a new <code>TimestampComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public TimestampComposite(
- Pane<? extends Logging> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlLoggingTab_timestampLabel,
- this.buildTimestampHolder(),
- this.buildTimestampStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_LOGGING_TIMESTAMP
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildTimestampHolder() {
- return new PropertyAspectAdapter<Logging, Boolean>(getSubjectHolder(), Logging.TIMESTAMP_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getTimestamp();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setTimestamp(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildTimestampStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultTimestampHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlLoggingTab_timestampLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlLoggingTab_timestampLabel;
- }
- };
- }
- private PropertyValueModel<Boolean> buildDefaultTimestampHolder() {
- return new PropertyAspectAdapter<Logging, Boolean>(
- getSubjectHolder(),
- Logging.TIMESTAMP_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getTimestamp() != null) {
- return null;
- }
- return this.subject.getDefaultTimestamp();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/EclipseLinkLoggingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/EclipseLinkLoggingComposite.java
new file mode 100644
index 0000000000..b073c23ac6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/EclipseLinkLoggingComposite.java
@@ -0,0 +1,418 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 Oracle. 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
+ *******************************************************************************/
+package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options;
+
+import java.util.Collection;
+import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.common.ui.internal.widgets.FileChooserComboPane;
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.LoggingLevel;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+
+/**
+ * EclipseLinkLoggingComposite
+ */
+public class EclipseLinkLoggingComposite<T extends Logging>
+ extends Pane<T>
+{
+ public EclipseLinkLoggingComposite(
+ PropertyValueModel<T> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ @Override
+ protected Composite addComposite(Composite container) {
+ return addSubPane(container, 2, 0, 0, 0, 0);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ // LoggingLevel:
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_loggingLevelLabel);
+ this.addLoggingLevelCombo(container);
+
+ this.logPropertiesComposite(container);
+
+ // LoggingFile:
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_loggingFileLabel);
+ this.addLogFileLocationComposite(container);
+
+ // Logger:
+ Hyperlink loggerHyperlink = this.addHyperlink(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_loggerLabel);
+ new LoggerClassChooser(this, container, loggerHyperlink);
+ }
+
+ protected void logPropertiesComposite(Composite parent) {
+ // Timestamp:
+ TriStateCheckBox timestampCheckBox = this.addTriStateCheckBoxWithDefault(
+ parent,
+ EclipseLinkUiMessages.PersistenceXmlLoggingTab_timestampLabel,
+ this.buildTimestampHolder(),
+ this.buildTimestampStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_LOGGING_TIMESTAMP
+ );
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ timestampCheckBox.getCheckBox().setLayoutData(gridData);
+
+ // Thread:
+ TriStateCheckBox threadCheckBox = this.addTriStateCheckBoxWithDefault(
+ parent,
+ EclipseLinkUiMessages.PersistenceXmlLoggingTab_threadLabel,
+ this.buildThreadHolder(),
+ this.buildThreadStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_LOGGING_THREAD
+ );
+ threadCheckBox.getCheckBox().setLayoutData(gridData);
+
+ // Session:
+ TriStateCheckBox sessionCheckBox = this.addTriStateCheckBoxWithDefault(
+ parent,
+ EclipseLinkUiMessages.PersistenceXmlLoggingTab_sessionLabel,
+ this.buildSessionHolder(),
+ this.buildSessionStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_LOGGING_SESSION
+ );
+ sessionCheckBox.getCheckBox().setLayoutData(gridData);
+
+ // Exceptions:
+ TriStateCheckBox exceptionsCheckBox = this.addTriStateCheckBoxWithDefault(
+ parent,
+ EclipseLinkUiMessages.PersistenceXmlLoggingTab_exceptionsLabel,
+ this.buildExceptionsHolder(),
+ this.buildExceptionsStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_LOGGING_EXCEPTIONS
+ );
+ exceptionsCheckBox.getCheckBox().setLayoutData(gridData);
+ }
+
+ //************* logging level ************
+
+ private EnumFormComboViewer<Logging, LoggingLevel> addLoggingLevelCombo(Composite container) {
+ return new EnumFormComboViewer<Logging, LoggingLevel>(this, container) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(Logging.LEVEL_PROPERTY);
+ }
+
+ @Override
+ protected LoggingLevel[] getChoices() {
+ return LoggingLevel.values();
+ }
+
+ @Override
+ protected boolean sortChoices() {
+ return false;
+ }
+
+ @Override
+ protected LoggingLevel getDefaultValue() {
+ return this.getSubject().getDefaultLevel();
+ }
+
+ @Override
+ protected String displayString(LoggingLevel value) {
+ switch (value) {
+ case all :
+ return EclipseLinkUiMessages.LoggingLevelComposite_all;
+ case config :
+ return EclipseLinkUiMessages.LoggingLevelComposite_config;
+ case fine :
+ return EclipseLinkUiMessages.LoggingLevelComposite_fine;
+ case finer :
+ return EclipseLinkUiMessages.LoggingLevelComposite_finer;
+ case finest :
+ return EclipseLinkUiMessages.LoggingLevelComposite_finest;
+ case info :
+ return EclipseLinkUiMessages.LoggingLevelComposite_info;
+ case off :
+ return EclipseLinkUiMessages.LoggingLevelComposite_off;
+ case severe :
+ return EclipseLinkUiMessages.LoggingLevelComposite_severe;
+ case warning :
+ return EclipseLinkUiMessages.LoggingLevelComposite_warning;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected LoggingLevel getValue() {
+ return this.getSubject().getLevel();
+ }
+
+ @Override
+ protected void setValue(LoggingLevel value) {
+ this.getSubject().setLevel(value);
+ }
+ @Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.PERSISTENCE_LOGGING_LEVEL;
+ }
+ };
+
+ }
+
+ //************* logging level ************
+
+ private FileChooserComboPane<Logging> addLogFileLocationComposite(Composite parent) {
+ return new FileChooserComboPane<Logging>(this, parent) {
+
+ @Override
+ protected ModifiablePropertyValueModel<String> buildTextHolder() {
+ return new PropertyAspectAdapter<Logging, String>(
+ getSubjectHolder(), Logging.LOG_FILE_LOCATION_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+
+ String name = subject.getLogFileLocation();
+ if (name == null) {
+ name = defaultValue(subject);
+ }
+ return name;
+ }
+
+ @Override
+ protected void setValue_(String value) {
+
+ if (defaultValue(subject).equals(value)) {
+ value = null;
+ }
+ subject.setLogFileLocation(value);
+ }
+ };
+ }
+
+ private String defaultValue(Logging subject) {
+ String defaultValue = subject.getDefaultLogFileLocation();
+
+ if (defaultValue != null) {
+ return NLS.bind(
+ JptCommonUiMessages.DefaultWithOneParam,
+ defaultValue
+ );
+ }
+ else {
+ return this.getDefaultString();
+ }
+ }
+
+ @Override
+ protected String getDefaultString() {
+ return EclipseLinkUiMessages.PersistenceXmlLoggingTab_defaultStdout;
+ }
+
+ @Override
+ protected String getDialogTitle() {
+ return EclipseLinkUiMessages.LoggingFileLocationComposite_dialogTitle;
+ }
+
+ @Override
+ protected String getProjectPath() {
+ return this.getSubject().getJpaProject().getProject().getLocation().toString();
+ }
+ };
+ }
+
+
+ //************* timestamp ************
+
+ private ModifiablePropertyValueModel<Boolean> buildTimestampHolder() {
+ return new PropertyAspectAdapter<Logging, Boolean>(getSubjectHolder(), Logging.TIMESTAMP_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getTimestamp();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setTimestamp(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildTimestampStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultTimestampHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlLoggingTab_timestampLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlLoggingTab_timestampLabel;
+ }
+ };
+ }
+ private PropertyValueModel<Boolean> buildDefaultTimestampHolder() {
+ return new PropertyAspectAdapter<Logging, Boolean>(
+ getSubjectHolder(),
+ Logging.TIMESTAMP_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getTimestamp() != null) {
+ return null;
+ }
+ return this.subject.getDefaultTimestamp();
+ }
+ };
+ }
+
+
+ //************* thread ************
+
+ private ModifiablePropertyValueModel<Boolean> buildThreadHolder() {
+ return new PropertyAspectAdapter<Logging, Boolean>(getSubjectHolder(), Logging.THREAD_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getThread();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setThread(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildThreadStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultThreadHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlLoggingTab_threadLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlLoggingTab_threadLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultThreadHolder() {
+ return new PropertyAspectAdapter<Logging, Boolean>(
+ getSubjectHolder(),
+ Logging.THREAD_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getThread() != null) {
+ return null;
+ }
+ return this.subject.getDefaultThread();
+ }
+ };
+ }
+
+
+ //************* session ************
+
+ private ModifiablePropertyValueModel<Boolean> buildSessionHolder() {
+ return new PropertyAspectAdapter<Logging, Boolean>(getSubjectHolder(), Logging.SESSION_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getSession();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setSession(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildSessionStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultSessionHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlLoggingTab_sessionLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlLoggingTab_sessionLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultSessionHolder() {
+ return new PropertyAspectAdapter<Logging, Boolean>(
+ getSubjectHolder(),
+ Logging.SESSION_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getSession() != null) {
+ return null;
+ }
+ return this.subject.getDefaultSession();
+ }
+ };
+ }
+
+
+ //********** exceptions ************
+
+ private ModifiablePropertyValueModel<Boolean> buildExceptionsHolder() {
+ return new PropertyAspectAdapter<Logging, Boolean>(getSubjectHolder(), Logging.EXCEPTIONS_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getExceptions();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setExceptions(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildExceptionsStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultExceptionsHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlLoggingTab_exceptionsLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlLoggingTab_exceptionsLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultExceptionsHolder() {
+ return new PropertyAspectAdapter<Logging, Boolean>(
+ getSubjectHolder(),
+ Logging.EXCEPTIONS_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getExceptions() != null) {
+ return null;
+ }
+ return this.subject.getDefaultExceptions();
+ }
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/EclipseLinkOptionsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/EclipseLinkOptionsComposite.java
deleted file mode 100644
index 1396f30a3a..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/EclipseLinkOptionsComposite.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * EclipseLinkOptionsComposite
- */
-public class EclipseLinkOptionsComposite<T extends Options> extends Pane<T>
-{
- public EclipseLinkOptionsComposite(
- Pane<T> subjectHolder,
- Composite container) {
-
- super(subjectHolder, container, false);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
- this.initializeSessionOptionsPane(parent);
- this.initializeMiscellaneousPane(parent);
- }
-
- private void initializeSessionOptionsPane(Composite parent) {
- Composite composite = this.addSection(parent,
- EclipseLinkUiMessages.PersistenceXmlOptionsTab_sessionSectionTitle,
- EclipseLinkUiMessages.PersistenceXmlOptionsTab_sessionSectionDescription);
-
- this.updateGridData(composite);
- this.updateGridData(composite.getParent());
-
- new SessionNameComposite(this, composite);
-
- new SessionsXmlComposite(this, composite);
-
- new TargetDatabaseComposite(this, composite);
-
- new TargetServerComposite(this, composite);
-
- new EventListenerComposite(this, composite);
-
- new IncludeDescriptorQueriesComposite(this, composite);
-
- return;
- }
-
- protected Composite initializeMiscellaneousPane(Composite container) {
-
- this.updateGridData(container);
- this.updateGridData(container.getParent());
-
- Composite composite = this.addSection(container,
- EclipseLinkUiMessages.PersistenceXmlOptionsTab_miscellaneousSectionTitle,
- EclipseLinkUiMessages.PersistenceXmlOptionsTab_miscellaneousSectionDescription);
-
- this.updateGridData(composite);
- this.updateGridData(composite.getParent());
-
- new TemporalMutableComposite(this, composite);
-
- return composite;
- }
-
- private void updateGridData(Composite container) {
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/EventListenerComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/EventListenerComposite.java
deleted file mode 100644
index a117e1a0cd..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/EventListenerComposite.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * EventListenerComposite
- */
-public class EventListenerComposite extends Pane<Options>
-{
- /**
- * Creates a new <code>EventListenerComposite</code>.
- *
- * @param parentPane The parent pane of this one
- * @param parent The parent container
- */
- public EventListenerComposite(Pane<? extends Options> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- private ClassChooserPane<Options> initializeClassChooser(Composite container) {
-
- return new ClassChooserPane<Options>(this, container) {
-
- @Override
- protected ModifiablePropertyValueModel<String> buildTextHolder() {
- return new PropertyAspectAdapter<Options, String>(
- this.getSubjectHolder(), Options.SESSION_EVENT_LISTENER_PROPERTY) {
- @Override
- protected String buildValue_() {
- return this.subject.getEventListener();
- }
-
- @Override
- protected void setValue_(String value) {
-
- if (value.length() == 0) {
- value = null;
- }
- this.subject.setEventListener(value);
- }
- };
- }
-
- @Override
- protected String getClassName() {
- return this.getSubject().getEventListener();
- }
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiMessages.PersistenceXmlOptionsTab_eventListenerLabel;
- }
-
- @Override
- protected IJavaProject getJavaProject() {
- return getSubject().getJpaProject().getJavaProject();
- }
-
- @Override
- protected void setClassName(String className) {
- this.getSubject().setEventListener(className);
- }
-
- @Override
- protected String getSuperInterfaceName() {
- return Options.ECLIPSELINK_EVENT_LISTENER_CLASS_NAME;
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- this.initializeClassChooser(container);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/IncludeDescriptorQueriesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/IncludeDescriptorQueriesComposite.java
deleted file mode 100644
index c9d4576b6e..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/IncludeDescriptorQueriesComposite.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * IncludeDescriptorQueriesComposite
- */
-public class IncludeDescriptorQueriesComposite extends Pane<Options>
-{
- /**
- * Creates a new <code>IncludeDescriptorQueriesComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public IncludeDescriptorQueriesComposite(
- Pane<? extends Options> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlOptionsTab_includeDescriptorQueriesLabel,
- this.buildIncludeDescriptorQueriesHolder(),
- this.buildIncludeDescriptorQueriesStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_OPTIONS
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildIncludeDescriptorQueriesHolder() {
- return new PropertyAspectAdapter<Options, Boolean>(getSubjectHolder(), Options.SESSION_INCLUDE_DESCRIPTOR_QUERIES_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getIncludeDescriptorQueries();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setIncludeDescriptorQueries(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildIncludeDescriptorQueriesStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultIncludeDescriptorQueriesHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlOptionsTab_includeDescriptorQueriesLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlOptionsTab_includeDescriptorQueriesLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultIncludeDescriptorQueriesHolder() {
- return new PropertyAspectAdapter<Options, Boolean>(
- getSubjectHolder(),
- Options.SESSION_INCLUDE_DESCRIPTOR_QUERIES_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getIncludeDescriptorQueries() != null) {
- return null;
- }
- return this.subject.getDefaultIncludeDescriptorQueries();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/LoggerComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/LoggerClassChooser.java
index 1bfe19b2b7..7a14fe44ff 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/logging/LoggerComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/LoggerClassChooser.java
@@ -7,7 +7,7 @@
* Contributors:
* Oracle - initial API and implementation
*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.logging;
+package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options;
import java.util.ArrayList;
import java.util.Comparator;
@@ -33,12 +33,13 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
import com.ibm.icu.text.Collator;
/**
* LoggerComposite
*/
-public class LoggerComposite extends ClassChooserComboPane<Logging>
+public class LoggerClassChooser extends ClassChooserComboPane<Logging>
{
/**
* Creates a new <code>LoggerComposite</code>.
@@ -46,11 +47,11 @@ public class LoggerComposite extends ClassChooserComboPane<Logging>
* @param parentPane The parent container of this one
* @param parent The parent container
*/
- public LoggerComposite(
- Pane<? extends Logging> parentPane,
- Composite parent) {
+ public LoggerClassChooser(Pane<? extends Logging> parentPane,
+ Composite parent,
+ Hyperlink hyperlink) {
- super(parentPane, parent);
+ super(parentPane, parent, hyperlink);
}
@Override
@@ -60,11 +61,6 @@ public class LoggerComposite extends ClassChooserComboPane<Logging>
}
return Logger.getLoggerClassName(this.getSubject().getLogger());
}
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiMessages.PersistenceXmlLoggingTab_loggerLabel;
- }
@Override
protected IJavaProject getJavaProject() {
@@ -84,7 +80,7 @@ public class LoggerComposite extends ClassChooserComboPane<Logging>
String name = this.subject.getLogger();
if (name == null) {
- name = LoggerComposite.this.getDefaultValue(this.subject);
+ name = LoggerClassChooser.this.getDefaultValue(this.subject);
}
return name;
}
@@ -104,7 +100,7 @@ public class LoggerComposite extends ClassChooserComboPane<Logging>
return new PropertyAspectAdapter<Logging, String>(this.getSubjectHolder(), Logging.DEFAULT_LOGGER) {
@Override
protected String buildValue_() {
- return LoggerComposite.this.getDefaultValue(this.subject);
+ return LoggerClassChooser.this.getDefaultValue(this.subject);
}
};
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/PersistenceXmlOptionsTab.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/PersistenceXmlOptionsTab.java
index ee58f8fb55..221db18e37 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/PersistenceXmlOptionsTab.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/PersistenceXmlOptionsTab.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -9,27 +9,61 @@
*******************************************************************************/
package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.Iterator;
+import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
+import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
+import org.eclipse.jpt.common.utility.internal.CollectionTools;
+import org.eclipse.jpt.common.utility.internal.StringConverter;
+import org.eclipse.jpt.common.utility.internal.iterators.TransformationIterator;
+import org.eclipse.jpt.common.utility.internal.model.value.CompositeListValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SortedListValueModelAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.SchemaGeneration;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.TargetDatabase;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.TargetServer;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
+import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+import org.eclipse.ui.forms.widgets.Section;
+import com.ibm.icu.text.Collator;
/**
- * PersistenceXmlOptionsTab
+ * EclipseLinkOptionsComposite
*/
-public class PersistenceXmlOptionsTab<T extends Options>
+public class PersistenceXmlOptionsTab<T extends PersistenceUnit>
extends Pane<T>
implements JpaPageComposite
{
- // ********** constructors/initialization **********
+ private PropertyValueModel<Options> optionsHolder;
+
public PersistenceXmlOptionsTab(
PropertyValueModel<T> subjectHolder,
Composite parent,
@@ -38,11 +72,6 @@ public class PersistenceXmlOptionsTab<T extends Options>
super(subjectHolder, parent, widgetFactory);
}
- @Override
- protected void initializeLayout(Composite container) {
- new EclipseLinkOptionsComposite<T>(this, container);
- }
-
// ********** JpaPageComposite implementation **********
public String getHelpID() {
@@ -57,28 +86,705 @@ public class PersistenceXmlOptionsTab<T extends Options>
return EclipseLinkUiMessages.PersistenceXmlOptionsTab_title;
}
- // ********** Layout **********
@Override
- protected Composite addContainer(Composite parent) {
- GridLayout layout = new GridLayout(1, true);
+ protected Composite addComposite(Composite parent) {
+ return this.addSubPane(parent, 2, 0, 0, 0, 0);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ Section sessionOptionsSection = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR);
+ sessionOptionsSection.setText(EclipseLinkUiMessages.PersistenceXmlOptionsTab_sessionSectionTitle);
+ Control sessionOptionsComposite = this.initializeSessionOptionsSection(sessionOptionsSection);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.verticalAlignment = SWT.TOP;
+ sessionOptionsSection.setLayoutData(gridData);
+ sessionOptionsSection.setClient(sessionOptionsComposite);
+
+ Section schemaGenerationSection = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR);
+ schemaGenerationSection.setText(EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_sectionTitle);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.verticalAlignment = SWT.TOP;
+ schemaGenerationSection.setLayoutData(gridData);
+ Control schemaGenerationComposite = this.initializeSchemaGenerationSection(schemaGenerationSection);
+ schemaGenerationSection.setClient(schemaGenerationComposite);
+
+ Section loggingSection = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR);
+ loggingSection.setText(EclipseLinkUiMessages.PersistenceXmlLoggingTab_sectionTitle);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.verticalAlignment = SWT.TOP;
+ loggingSection.setLayoutData(gridData);
+ Control loggingComposite = this.initializeLoggingSection(loggingSection);
+ loggingSection.setClient(loggingComposite);
+
+ Section miscellaneousSection = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR);
+ miscellaneousSection.setText(EclipseLinkUiMessages.PersistenceXmlOptionsTab_miscellaneousSectionTitle);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.verticalAlignment = SWT.TOP;
+ miscellaneousSection.setLayoutData(gridData);
+ Control miscellaneousComposite = this.initializeMiscellaneousSection(miscellaneousSection);
+ miscellaneousSection.setClient(miscellaneousComposite);
+ }
+
+ private Control initializeSessionOptionsSection(Section section) {
+ this.optionsHolder = this.buildOptionsHolder();
+ GridLayout layout = new GridLayout(2, false);
layout.marginHeight = 0;
- layout.marginWidth = 0;
- layout.marginTop = 0;
- layout.marginLeft = 0;
+ layout.marginWidth = 0;
+ layout.marginTop = 0;
+ layout.marginLeft = 0;
layout.marginBottom = 0;
- layout.marginRight = 0;
- layout.verticalSpacing = 15;
- Composite container = this.addPane(parent, layout);
- this.updateGridData(container);
+ layout.marginRight = 0;
+ Composite container = this.addPane(section, layout);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlOptionsTab_sessionName);
+ Combo sessionNameCombo = addEditableCombo(
+ container,
+ this.buildDefaultSessionNameListHolder(),
+ this.buildSessionNameHolder(),
+ StringConverter.Default.<String>instance(),
+ EclipseLinkHelpContextIds.PERSISTENCE_OPTIONS_SESSION_NAME
+
+ );
+ SWTUtil.attachDefaultValueHandler(sessionNameCombo);
+
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlOptionsTab_sessionsXml);
+ Combo sessionsXmlCombo = addEditableCombo(
+ container,
+ this.buildDefaultSessionsXmlFileNameListHolder(),
+ this.buildSessionsXmlFileNameHolder(),
+ StringConverter.Default.<String>instance(),
+ EclipseLinkHelpContextIds.PERSISTENCE_OPTIONS_SESSIONS_XML);
+ SWTUtil.attachDefaultValueHandler(sessionsXmlCombo);
+
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlOptionsTab_targetDatabaseLabel);
+ Combo targetDatabaseCombo = addEditableCombo(
+ container,
+ this.buildTargetDatabaseListHolder(),
+ this.buildTargetDatabaseHolder(),
+ this.buildTargetDatabaseConverter(),
+ EclipseLinkHelpContextIds.PERSISTENCE_OPTIONS_TARGET_DATABASE
+ );
+ SWTUtil.attachDefaultValueHandler(targetDatabaseCombo);
+
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlOptionsTab_targetServerLabel);
+ Combo targetServerCombo = addEditableCombo(
+ container,
+ this.buildTargetServerListHolder(),
+ this.buildTargetServerHolder(),
+ this.buildTargetServerConverter(),
+ EclipseLinkHelpContextIds.PERSISTENCE_OPTIONS_TARGET_SERVER
+ );
+ SWTUtil.attachDefaultValueHandler(targetServerCombo);
+
+ Hyperlink eventListenerLink = addHyperlink(container, EclipseLinkUiMessages.PersistenceXmlOptionsTab_eventListenerLabel);
+ this.initializeEventListenerClassChooser(container, eventListenerLink);
+
+ TriStateCheckBox includeDescriptorQueriesCheckBox = this.addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlOptionsTab_includeDescriptorQueriesLabel,
+ this.buildIncludeDescriptorQueriesHolder(),
+ this.buildIncludeDescriptorQueriesStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_OPTIONS
+ );
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ includeDescriptorQueriesCheckBox.getCheckBox().setLayoutData(gridData);
+
return container;
}
- private void updateGridData(Composite container) {
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
+ protected Control initializeLoggingSection(Section section) {
+ return new EclipseLinkLoggingComposite<Logging>(this.buildLoggingHolder(), section, getWidgetFactory()).getControl();
+ }
+
+ protected Control initializeSchemaGenerationSection(Section section) {
+ return new PersistenceXmlSchemaGenerationComposite(this.buildSchemaGenerationHolder(), section, getWidgetFactory()).getControl();
+ }
+
+ protected Control initializeMiscellaneousSection(Section section) {
+ Composite container = this.addSubPane(section);
+ this.addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlOptionsTab_temporalMutableLabel,
+ this.buildTemporalMutableHolder(),
+ this.buildTemporalMutableStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_OPTIONS
+ );
+
+ return container;
+ }
+
+ private PropertyValueModel<SchemaGeneration> buildSchemaGenerationHolder() {
+ return new TransformationPropertyValueModel<PersistenceUnit, SchemaGeneration>(getSubjectHolder()) {
+ @Override
+ protected SchemaGeneration transform_(PersistenceUnit value) {
+ return ((EclipseLinkPersistenceUnit) value).getSchemaGeneration();
+ }
+ };
+ }
+
+ private PropertyValueModel<Logging> buildLoggingHolder() {
+ return new TransformationPropertyValueModel<PersistenceUnit, Logging>(getSubjectHolder()) {
+ @Override
+ protected Logging transform_(PersistenceUnit value) {
+ return ((EclipseLinkPersistenceUnit) value).getLogging();
+ }
+ };
+ }
+
+ private PropertyValueModel<Options> buildOptionsHolder() {
+ return new TransformationPropertyValueModel<PersistenceUnit, Options>(getSubjectHolder()) {
+ @Override
+ protected Options transform_(PersistenceUnit value) {
+
+ return ((EclipseLinkPersistenceUnit)value).getOptions();
+ }
+ };
+ }
+
+
+ //******** session name *********
+
+ private PropertyValueModel<String> buildDefaultSessionNameHolder() {
+ return new PropertyAspectAdapter<Options, String>(this.optionsHolder, Options.DEFAULT_SESSION_NAME) {
+ @Override
+ protected String buildValue_() {
+ return PersistenceXmlOptionsTab.this.getSessionNameDefaultValue(subject);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildDefaultSessionNameListHolder() {
+ return new PropertyListValueModelAdapter<String>(
+ this.buildDefaultSessionNameHolder()
+ );
+ }
+
+ private ModifiablePropertyValueModel<String> buildSessionNameHolder() {
+ return new PropertyAspectAdapter<Options, String>(this.optionsHolder, Options.SESSION_NAME_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+
+ String name = subject.getSessionName();
+ if (name == null) {
+ name = PersistenceXmlOptionsTab.this.getSessionNameDefaultValue(subject);
+ }
+ return name;
+ }
+
+ @Override
+ protected void setValue_(String value) {
+
+ if (getSessionNameDefaultValue(subject).equals(value)) {
+ value = null;
+ }
+ subject.setSessionName(value);
+ }
+ };
+ }
+
+ private String getSessionNameDefaultValue(Options subject) {
+ String defaultValue = subject.getDefaultSessionName();
+
+ if (defaultValue != null) {
+ return NLS.bind(
+ JptCommonUiMessages.DefaultWithOneParam,
+ defaultValue
+ );
+ }
+ return JptCommonUiMessages.DefaultEmpty;
+ }
+
+
+ //******** sessions xml *********
+
+ private PropertyValueModel<String> buildDefaultSessionsXmlFileNameHolder() {
+ return new PropertyAspectAdapter<Options, String>(this.optionsHolder, Options.DEFAULT_SESSIONS_XML) {
+ @Override
+ protected String buildValue_() {
+ return PersistenceXmlOptionsTab.this.getSessionsXmlDefaultValue(subject);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildDefaultSessionsXmlFileNameListHolder() {
+ return new PropertyListValueModelAdapter<String>(
+ this.buildDefaultSessionsXmlFileNameHolder()
+ );
+ }
+
+ private ModifiablePropertyValueModel<String> buildSessionsXmlFileNameHolder() {
+ return new PropertyAspectAdapter<Options, String>(this.optionsHolder, Options.SESSIONS_XML_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+
+ String name = subject.getSessionsXml();
+ if (name == null) {
+ name = PersistenceXmlOptionsTab.this.getSessionsXmlDefaultValue(subject);
+ }
+ return name;
+ }
+
+ @Override
+ protected void setValue_(String value) {
+
+ if (getSessionsXmlDefaultValue(subject).equals(value)) {
+ value = null;
+ }
+ subject.setSessionsXml(value);
+ }
+ };
+ }
+
+ private String getSessionsXmlDefaultValue(Options subject) {
+ String defaultValue = subject.getDefaultSessionsXml();
+
+ if (defaultValue != null) {
+ return NLS.bind(
+ JptCommonUiMessages.DefaultWithOneParam,
+ defaultValue
+ );
+ }
+ return JptCommonUiMessages.DefaultEmpty;
+ }
+
+
+ //******** target database *********
+
+ private PropertyValueModel<String> buildDefaultTargetDatabaseHolder() {
+ return new PropertyAspectAdapter<Options, String>(this.optionsHolder, Options.DEFAULT_TARGET_DATABASE) {
+ @Override
+ protected String buildValue_() {
+ return PersistenceXmlOptionsTab.this.getTargetDatabaseDefaultValue(subject);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildDefaultTargetDatabaseListHolder() {
+ return new PropertyListValueModelAdapter<String>(
+ this.buildDefaultTargetDatabaseHolder()
+ );
+ }
+
+ private String buildTargetDatabaseDisplayString(String targetDatabaseName) {
+ switch (TargetDatabase.valueOf(targetDatabaseName)) {
+ case attunity :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_attunity;
+ case auto :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_auto;
+ case cloudscape :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_cloudscape;
+ case database :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_database;
+ case db2 :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_db2;
+ case db2mainframe :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_db2mainframe;
+ case dbase :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_dbase;
+ case derby :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_derby;
+ case hsql :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_hsql;
+ case informix :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_informix;
+ case javadb :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_javadb;
+ case maxdb :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_maxdb;
+ case mysql :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_mysql;
+ case oracle :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_oracle;
+ case oracle10 :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_oracle10;
+ case oracle11 :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_oracle11;
+ case oracle8 :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_oracle8;
+ case oracle9 :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_oracle9;
+ case pointbase :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_pointbase;
+ case postgresql :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_postgresql;
+ case sqlanywhere :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_sqlanywhere;
+ case sqlserver :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_sqlserver;
+ case sybase :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_sybase;
+ case symfoware :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_symfoware;
+ case timesten :
+ return EclipseLinkUiMessages.TargetDatabaseComposite_timesten;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ private Comparator<String> buildTargetDatabaseComparator() {
+ return new Comparator<String>() {
+ public int compare(String targetDatabase1, String targetDatabase2) {
+ targetDatabase1 = buildTargetDatabaseDisplayString(targetDatabase1);
+ targetDatabase2 = buildTargetDatabaseDisplayString(targetDatabase2);
+ return Collator.getInstance().compare(targetDatabase1, targetDatabase2);
+ }
+ };
+ }
+
+ private StringConverter<String> buildTargetDatabaseConverter() {
+ return new StringConverter<String>() {
+ public String convertToString(String value) {
+ try {
+ TargetDatabase.valueOf(value);
+ value = buildTargetDatabaseDisplayString(value);
+ }
+ catch (Exception e) {
+ // Ignore since the value is not a TargetDatabase
+ }
+ return value;
+ }
+ };
+ }
+
+ private ModifiablePropertyValueModel<String> buildTargetDatabaseHolder() {
+ return new PropertyAspectAdapter<Options, String>(this.optionsHolder, Options.TARGET_DATABASE_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+
+ String name = subject.getTargetDatabase();
+ if (name == null) {
+ name = PersistenceXmlOptionsTab.this.getTargetDatabaseDefaultValue(subject);
+ }
+ return name;
+ }
+
+ @Override
+ protected void setValue_(String value) {
+
+ if (getTargetDatabaseDefaultValue(subject).equals(value)) {
+ value = null;
+ }
+ subject.setTargetDatabase(value);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildTargetDatabaseListHolder() {
+ ArrayList<ListValueModel<String>> holders = new ArrayList<ListValueModel<String>>(2);
+ holders.add(buildDefaultTargetDatabaseListHolder());
+ holders.add(buildTargetDatabasesListHolder());
+ return new CompositeListValueModel<ListValueModel<String>, String>(holders);
+ }
+
+ private Iterator<String> buildTargetDatabases() {
+ return new TransformationIterator<TargetDatabase, String>(CollectionTools.iterator(TargetDatabase.values())) {
+ @Override
+ protected String transform(TargetDatabase next) {
+ return next.name();
+ }
+ };
+ }
+
+ private CollectionValueModel<String> buildTargetDatabasesCollectionHolder() {
+ return new SimpleCollectionValueModel<String>(
+ CollectionTools.collection(buildTargetDatabases())
+ );
+ }
+
+ private ListValueModel<String> buildTargetDatabasesListHolder() {
+ return new SortedListValueModelAdapter<String>(
+ buildTargetDatabasesCollectionHolder(),
+ buildTargetDatabaseComparator()
+ );
+ }
+
+ private String getTargetDatabaseDefaultValue(Options subject) {
+ String defaultValue = subject.getDefaultTargetDatabase();
+
+ if (defaultValue != null) {
+ return NLS.bind(
+ JptCommonUiMessages.DefaultWithOneParam,
+ defaultValue
+ );
+ }
+ return JptCommonUiMessages.DefaultEmpty;
+ }
+
+
+ //******** target server *********
+
+ private PropertyValueModel<String> buildDefaultTargetServerHolder() {
+ return new PropertyAspectAdapter<Options, String>(this.optionsHolder, Options.DEFAULT_TARGET_SERVER) {
+ @Override
+ protected String buildValue_() {
+ return PersistenceXmlOptionsTab.this.getTargetServerDefaultValue(subject);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildDefaultTargetServerListHolder() {
+ return new PropertyListValueModelAdapter<String>(
+ this.buildDefaultTargetServerHolder()
+ );
+ }
+
+ private String buildTargetServerDisplayString(String targetServerName) {
+ switch (TargetServer.valueOf(targetServerName)) {
+ case jboss :
+ return EclipseLinkUiMessages.TargetServerComposite_jboss;
+ case netweaver_7_1 :
+ return EclipseLinkUiMessages.TargetServerComposite_netweaver_7_1;
+ case none :
+ return EclipseLinkUiMessages.TargetServerComposite_none;
+ case oc4j :
+ return EclipseLinkUiMessages.TargetServerComposite_oc4j;
+ case sunas9 :
+ return EclipseLinkUiMessages.TargetServerComposite_sunas9;
+ case weblogic :
+ return EclipseLinkUiMessages.TargetServerComposite_weblogic;
+ case weblogic_10 :
+ return EclipseLinkUiMessages.TargetServerComposite_weblogic_10;
+ case weblogic_9 :
+ return EclipseLinkUiMessages.TargetServerComposite_weblogic_9;
+ case websphere :
+ return EclipseLinkUiMessages.TargetServerComposite_websphere;
+ case websphere_6_1 :
+ return EclipseLinkUiMessages.TargetServerComposite_websphere_6_1;
+ case websphere_7 :
+ return EclipseLinkUiMessages.TargetServerComposite_websphere_7;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ private Comparator<String> buildTargetServerComparator() {
+ return new Comparator<String>() {
+ public int compare(String targetServer1, String targetServer2) {
+ targetServer1 = buildTargetServerDisplayString(targetServer1);
+ targetServer2 = buildTargetServerDisplayString(targetServer2);
+ return Collator.getInstance().compare(targetServer1, targetServer2);
+ }
+ };
+ }
+
+ private StringConverter<String> buildTargetServerConverter() {
+ return new StringConverter<String>() {
+ public String convertToString(String value) {
+ try {
+ TargetServer.valueOf(value);
+ value = buildTargetServerDisplayString(value);
+ }
+ catch (Exception e) {
+ // Ignore since the value is not a TargetServer
+ }
+ return value;
+ }
+ };
+ }
+
+ private ModifiablePropertyValueModel<String> buildTargetServerHolder() {
+ return new PropertyAspectAdapter<Options, String>(this.optionsHolder, Options.TARGET_SERVER_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ String name = subject.getTargetServer();
+ if (name == null) {
+ name = PersistenceXmlOptionsTab.this.getTargetServerDefaultValue(subject);
+ }
+ return name;
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (getTargetServerDefaultValue(subject).equals(value)) {
+ value = null;
+ }
+ subject.setTargetServer(value);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildTargetServerListHolder() {
+ ArrayList<ListValueModel<String>> holders = new ArrayList<ListValueModel<String>>(2);
+ holders.add(buildDefaultTargetServerListHolder());
+ holders.add(buildTargetServersListHolder());
+ return new CompositeListValueModel<ListValueModel<String>, String>(holders);
+ }
+
+ private Iterator<String> buildTargetServers() {
+ return new TransformationIterator<TargetServer, String>(CollectionTools.iterator(TargetServer.values())) {
+ @Override
+ protected String transform(TargetServer next) {
+ return next.name();
+ }
+ };
+ }
+
+ private CollectionValueModel<String> buildTargetServersCollectionHolder() {
+ return new SimpleCollectionValueModel<String>(
+ CollectionTools.collection(buildTargetServers())
+ );
+ }
+
+ private ListValueModel<String> buildTargetServersListHolder() {
+ return new SortedListValueModelAdapter<String>(
+ buildTargetServersCollectionHolder(),
+ buildTargetServerComparator()
+ );
+ }
+
+ private String getTargetServerDefaultValue(Options subject) {
+ String defaultValue = subject.getDefaultTargetServer();
+
+ if (defaultValue != null) {
+ return NLS.bind(
+ JptCommonUiMessages.DefaultWithOneParam,
+ defaultValue
+ );
+ }
+ return JptCommonUiMessages.DefaultEmpty;
+ }
+
+
+ //********event listener *********
+
+ private ClassChooserPane<Options> initializeEventListenerClassChooser(Composite container, Hyperlink hyperlink) {
+ return new ClassChooserPane<Options>(this, this.optionsHolder, container, hyperlink) {
+
+ @Override
+ protected ModifiablePropertyValueModel<String> buildTextHolder() {
+ return new PropertyAspectAdapter<Options, String>(
+ this.getSubjectHolder(), Options.SESSION_EVENT_LISTENER_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return this.subject.getEventListener();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+
+ if (value.length() == 0) {
+ value = null;
+ }
+ this.subject.setEventListener(value);
+ }
+ };
+ }
+
+ @Override
+ protected String getClassName() {
+ return this.getSubject().getEventListener();
+ }
+
+ @Override
+ protected IJavaProject getJavaProject() {
+ return getSubject().getJpaProject().getJavaProject();
+ }
+
+ @Override
+ protected void setClassName(String className) {
+ this.getSubject().setEventListener(className);
+ }
+
+ @Override
+ protected String getSuperInterfaceName() {
+ return Options.ECLIPSELINK_EVENT_LISTENER_CLASS_NAME;
+ }
+ };
+ }
+
+
+ //******** include descriptor queries *********
+
+ private ModifiablePropertyValueModel<Boolean> buildIncludeDescriptorQueriesHolder() {
+ return new PropertyAspectAdapter<Options, Boolean>(this.optionsHolder, Options.SESSION_INCLUDE_DESCRIPTOR_QUERIES_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getIncludeDescriptorQueries();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setIncludeDescriptorQueries(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildIncludeDescriptorQueriesStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultIncludeDescriptorQueriesHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlOptionsTab_includeDescriptorQueriesLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlOptionsTab_includeDescriptorQueriesLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultIncludeDescriptorQueriesHolder() {
+ return new PropertyAspectAdapter<Options, Boolean>(
+ this.optionsHolder,
+ Options.SESSION_INCLUDE_DESCRIPTOR_QUERIES_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getIncludeDescriptorQueries() != null) {
+ return null;
+ }
+ return this.subject.getDefaultIncludeDescriptorQueries();
+ }
+ };
+ }
+
+
+ //******** temporal mutable *********
+
+ protected ModifiablePropertyValueModel<Boolean> buildTemporalMutableHolder() {
+ return new PropertyAspectAdapter<Options, Boolean>(this.optionsHolder, Options.TEMPORAL_MUTABLE_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getTemporalMutable();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setTemporalMutable(value);
+ }
+ };
+ }
+
+ protected PropertyValueModel<String> buildTemporalMutableStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(buildDefaultTemporalMutableHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlOptionsTab_temporalMutableLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlOptionsTab_temporalMutableLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultTemporalMutableHolder() {
+ return new PropertyAspectAdapter<Options, Boolean>(
+ this.optionsHolder,
+ Options.TEMPORAL_MUTABLE_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getTemporalMutable() != null) {
+ return null;
+ }
+ return this.subject.getDefaultTemporalMutable();
+ }
+ };
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/PersistenceXmlSchemaGenerationComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/PersistenceXmlSchemaGenerationComposite.java
new file mode 100644
index 0000000000..4adb437f77
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/PersistenceXmlSchemaGenerationComposite.java
@@ -0,0 +1,362 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. 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
+ *******************************************************************************/
+package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options;
+
+import java.util.Collection;
+import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.common.ui.internal.widgets.FolderChooserComboPane;
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.StringConverter;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
+import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.DdlGenerationType;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.OutputMode;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.SchemaGeneration;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * PersistenceXmlSchemaGenerationTab
+ */
+public class PersistenceXmlSchemaGenerationComposite
+ extends Pane<SchemaGeneration>
+{
+ // ********** constructors/initialization **********
+ public PersistenceXmlSchemaGenerationComposite(
+ PropertyValueModel<SchemaGeneration> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ // ********** JpaPageComposite implementation **********
+
+ public String getHelpID() {
+ return EclipseLinkHelpContextIds.PERSISTENCE_SCHEMA_GENERATION;
+ }
+
+ @Override
+ protected Composite addComposite(Composite container) {
+ return addSubPane(container, 2, 0, 0, 0, 0);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ // DDL Generation Type:
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_ddlGenerationTypeLabel);
+ this.addDdlGenerationTypeCombo(container);
+
+ // Output Mode:
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_outputModeLabel);
+ this.addBuildOutputModeCombo(container);
+
+ // DDL Generation Location
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_ddlGenerationLocationLabel);
+ this.buildDdlGenerationLocationComposite(container);
+
+ // Create DDL File Name:
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_createDdlFileNameLabel);
+ Combo ddlFileNameCombo = addEditableCombo(
+ container,
+ this.buildDefaultCreateDdlFileNameListHolder(),
+ this.buildCreateDdlFileNameHolder(),
+ StringConverter.Default.<String>instance(),
+ getHelpID()
+ );
+ SWTUtil.attachDefaultValueHandler(ddlFileNameCombo);
+
+ // Drop DDL File Name:
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_dropDdlFileNameLabel);
+ Combo dropDDLCombo = addEditableCombo(
+ container,
+ this.buildDefaultDropDdlFileNameListHolder(),
+ this.buildDropDdlFileNameHolder(),
+ StringConverter.Default.<String>instance(),
+ getHelpID()
+ );
+ SWTUtil.attachDefaultValueHandler(dropDDLCombo);
+ }
+
+ //************ DDL generation type ************
+
+ private EnumFormComboViewer<SchemaGeneration, DdlGenerationType> addDdlGenerationTypeCombo(Composite container) {
+ return new EnumFormComboViewer<SchemaGeneration, DdlGenerationType>(this, container) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(SchemaGeneration.DDL_GENERATION_TYPE_PROPERTY);
+ }
+
+ @Override
+ protected DdlGenerationType[] getChoices() {
+ return DdlGenerationType.values();
+ }
+
+ @Override
+ protected DdlGenerationType getDefaultValue() {
+ return this.getSubject().getDefaultDdlGenerationType();
+ }
+
+ @Override
+ protected String displayString(DdlGenerationType value) {
+ switch (value) {
+ case create_tables :
+ return EclipseLinkUiMessages.DdlGenerationTypeComposite_create_tables;
+ case drop_and_create_tables :
+ return EclipseLinkUiMessages.DdlGenerationTypeComposite_drop_and_create_tables;
+ case none :
+ return EclipseLinkUiMessages.DdlGenerationTypeComposite_none;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected DdlGenerationType getValue() {
+ return this.getSubject().getDdlGenerationType();
+ }
+
+ @Override
+ protected void setValue(DdlGenerationType value) {
+ this.getSubject().setDdlGenerationType(value);
+ }
+
+ @Override
+ protected String getHelpId() {
+ return getHelpID();
+ }
+ };
+ }
+
+
+ //************ output mode ************
+
+ private EnumFormComboViewer<SchemaGeneration, OutputMode> addBuildOutputModeCombo(Composite container) {
+ return new EnumFormComboViewer<SchemaGeneration, OutputMode>(this, container) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(SchemaGeneration.OUTPUT_MODE_PROPERTY);
+ }
+
+ @Override
+ protected OutputMode[] getChoices() {
+ return OutputMode.values();
+ }
+
+ @Override
+ protected OutputMode getDefaultValue() {
+ return this.getSubject().getDefaultOutputMode();
+ }
+
+ @Override
+ protected String displayString(OutputMode value) {
+ switch (value) {
+ case both :
+ return EclipseLinkUiMessages.OutputModeComposite_both;
+ case database :
+ return EclipseLinkUiMessages.OutputModeComposite_database;
+ case sql_script :
+ return EclipseLinkUiMessages.OutputModeComposite_sql_script;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected OutputMode getValue() {
+ return this.getSubject().getOutputMode();
+ }
+
+ @Override
+ protected void setValue(OutputMode value) {
+ this.getSubject().setOutputMode(value);
+ }
+ @Override
+ protected String getHelpId() {
+ return getHelpID();
+ }
+ };
+ }
+
+
+ //************ Create DDL file name ************
+
+ private PropertyValueModel<String> buildDefaultCreateDdlFileNameHolder() {
+ return new PropertyAspectAdapter<SchemaGeneration, String>(this.getSubjectHolder(), SchemaGeneration.DEFAULT_SCHEMA_GENERATION_CREATE_FILE_NAME) {
+ @Override
+ protected String buildValue_() {
+ return PersistenceXmlSchemaGenerationComposite.this.getDefaultCreateFileNameValue(subject);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildDefaultCreateDdlFileNameListHolder() {
+ return new PropertyListValueModelAdapter<String>(
+ this.buildDefaultCreateDdlFileNameHolder()
+ );
+ }
+
+ private ModifiablePropertyValueModel<String> buildCreateDdlFileNameHolder() {
+ return new PropertyAspectAdapter<SchemaGeneration, String>(this.getSubjectHolder(), SchemaGeneration.CREATE_FILE_NAME_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+
+ String name = subject.getCreateFileName();
+ if (name == null) {
+ name = PersistenceXmlSchemaGenerationComposite.this.getDefaultCreateFileNameValue(subject);
+ }
+ return name;
+ }
+
+ @Override
+ protected void setValue_(String value) {
+
+ if (getDefaultCreateFileNameValue(subject).equals(value)) {
+ value = null;
+ }
+ subject.setCreateFileName(value);
+ }
+ };
+ }
+
+ private String getDefaultCreateFileNameValue(SchemaGeneration subject) {
+ String defaultValue = subject.getDefaultCreateFileName();
+
+ if (defaultValue != null) {
+ return NLS.bind(
+ JptCommonUiMessages.DefaultWithOneParam,
+ defaultValue
+ );
+ }
+ return JptCommonUiMessages.DefaultEmpty;
+ }
+
+
+ //************ Drop DDL file name ************
+
+
+ private PropertyValueModel<String> buildDefaultDropDdlFileNameHolder() {
+ return new PropertyAspectAdapter<SchemaGeneration, String>(this.getSubjectHolder(), SchemaGeneration.DEFAULT_SCHEMA_GENERATION_DROP_FILE_NAME) {
+ @Override
+ protected String buildValue_() {
+ return PersistenceXmlSchemaGenerationComposite.this.getDefaultDropDdlFileNameValue(subject);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildDefaultDropDdlFileNameListHolder() {
+ return new PropertyListValueModelAdapter<String>(
+ this.buildDefaultDropDdlFileNameHolder()
+ );
+ }
+
+ private ModifiablePropertyValueModel<String> buildDropDdlFileNameHolder() {
+ return new PropertyAspectAdapter<SchemaGeneration, String>(this.getSubjectHolder(), SchemaGeneration.DROP_FILE_NAME_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+
+ String name = subject.getDropFileName();
+ if (name == null) {
+ name = PersistenceXmlSchemaGenerationComposite.this.getDefaultDropDdlFileNameValue(subject);
+ }
+ return name;
+ }
+
+ @Override
+ protected void setValue_(String value) {
+
+ if (PersistenceXmlSchemaGenerationComposite.this.getDefaultDropDdlFileNameValue(subject).equals(value)) {
+ value = null;
+ }
+ subject.setDropFileName(value);
+ }
+ };
+ }
+
+ private String getDefaultDropDdlFileNameValue(SchemaGeneration subject) {
+ String defaultValue = subject.getDefaultDropFileName();
+
+ if (defaultValue != null) {
+ return NLS.bind(
+ JptCommonUiMessages.DefaultWithOneParam,
+ defaultValue
+ );
+ }
+ return JptCommonUiMessages.DefaultEmpty;
+ }
+
+ private Pane<SchemaGeneration> buildDdlGenerationLocationComposite(Composite container) {
+ return new FolderChooserComboPane<SchemaGeneration>(this, container) {
+
+ @Override
+ protected ModifiablePropertyValueModel<String> buildTextHolder() {
+ return new PropertyAspectAdapter<SchemaGeneration, String>(
+ getSubjectHolder(), SchemaGeneration.APPLICATION_LOCATION_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+
+ String name = subject.getApplicationLocation();
+ if (name == null) {
+ name = defaultValue(subject);
+ }
+ return name;
+ }
+
+ @Override
+ protected void setValue_(String value) {
+
+ if (defaultValue(subject).equals(value)) {
+ value = null;
+ }
+ subject.setApplicationLocation(value);
+ }
+ };
+ }
+
+ private String defaultValue(SchemaGeneration subject) {
+ String defaultValue = subject.getDefaultApplicationLocation();
+
+ if (defaultValue != null) {
+ return NLS.bind(
+ JptCommonUiMessages.DefaultWithOneParam,
+ defaultValue
+ );
+ }
+ return this.getDefaultString();
+ }
+
+ @Override
+ protected String getDefaultString() {
+ return EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_defaultDot;
+ }
+
+ @Override
+ protected String getDialogMessage() {
+ return EclipseLinkUiMessages.DdlGenerationLocationComposite_dialogMessage;
+ }
+
+ @Override
+ protected String getDialogTitle() {
+ return EclipseLinkUiMessages.DdlGenerationLocationComposite_dialogTitle;
+ }
+ };
+ }
+} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/SessionNameComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/SessionNameComposite.java
deleted file mode 100644
index c104501b51..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/SessionNameComposite.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * SessionNameComposite
- */
-public class SessionNameComposite extends Pane<Options>
-{
- /**
- * Creates a new <code>SessionNameComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public SessionNameComposite(
- Pane<? extends Options> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- private PropertyValueModel<String> buildDefaultSessionNameHolder() {
- return new PropertyAspectAdapter<Options, String>(this.getSubjectHolder(), Options.DEFAULT_SESSION_NAME) {
- @Override
- protected String buildValue_() {
- return SessionNameComposite.this.getDefaultValue(subject);
- }
- };
- }
-
- private ListValueModel<String> buildDefaultSessionNameListHolder() {
- return new PropertyListValueModelAdapter<String>(
- this.buildDefaultSessionNameHolder()
- );
- }
-
- private ModifiablePropertyValueModel<String> buildSessionNameHolder() {
- return new PropertyAspectAdapter<Options, String>(this.getSubjectHolder(), Options.SESSION_NAME_PROPERTY) {
- @Override
- protected String buildValue_() {
-
- String name = subject.getSessionName();
- if (name == null) {
- name = SessionNameComposite.this.getDefaultValue(subject);
- }
- return name;
- }
-
- @Override
- protected void setValue_(String value) {
-
- if (getDefaultValue(subject).equals(value)) {
- value = null;
- }
- subject.setSessionName(value);
- }
- };
- }
-
- private String getDefaultValue(Options subject) {
- String defaultValue = subject.getDefaultSessionName();
-
- if (defaultValue != null) {
- return NLS.bind(
- JptCommonUiMessages.DefaultWithOneParam,
- defaultValue
- );
- }
- return JptCommonUiMessages.DefaultEmpty;
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- Combo combo = addLabeledEditableCombo(
- container,
- EclipseLinkUiMessages.PersistenceXmlOptionsTab_sessionName,
- this.buildDefaultSessionNameListHolder(),
- this.buildSessionNameHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_OPTIONS_SESSION_NAME
- );
- SWTUtil.attachDefaultValueHandler(combo);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/SessionsXmlComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/SessionsXmlComposite.java
deleted file mode 100644
index fa56c59ad6..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/SessionsXmlComposite.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * SessionsXmlComposite
- */
-public class SessionsXmlComposite extends Pane<Options>
-{
- /**
- * Creates a new <code>SessionsXmlComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public SessionsXmlComposite(
- Pane<? extends Options> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- private PropertyValueModel<String> buildDefaultSessionsXmlFileNameHolder() {
- return new PropertyAspectAdapter<Options, String>(this.getSubjectHolder(), Options.DEFAULT_SESSIONS_XML) {
- @Override
- protected String buildValue_() {
- return SessionsXmlComposite.this.getDefaultValue(subject);
- }
- };
- }
-
- private ListValueModel<String> buildDefaultSessionsXmlFileNameListHolder() {
- return new PropertyListValueModelAdapter<String>(
- this.buildDefaultSessionsXmlFileNameHolder()
- );
- }
-
- private ModifiablePropertyValueModel<String> buildSessionsXmlFileNameHolder() {
- return new PropertyAspectAdapter<Options, String>(this.getSubjectHolder(), Options.SESSIONS_XML_PROPERTY) {
- @Override
- protected String buildValue_() {
-
- String name = subject.getSessionsXml();
- if (name == null) {
- name = SessionsXmlComposite.this.getDefaultValue(subject);
- }
- return name;
- }
-
- @Override
- protected void setValue_(String value) {
-
- if (getDefaultValue(subject).equals(value)) {
- value = null;
- }
- subject.setSessionsXml(value);
- }
- };
- }
-
- private String getDefaultValue(Options subject) {
- String defaultValue = subject.getDefaultSessionsXml();
-
- if (defaultValue != null) {
- return NLS.bind(
- JptCommonUiMessages.DefaultWithOneParam,
- defaultValue
- );
- }
- return JptCommonUiMessages.DefaultEmpty;
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- Combo combo = addLabeledEditableCombo(
- container,
- EclipseLinkUiMessages.PersistenceXmlOptionsTab_sessionsXml,
- this.buildDefaultSessionsXmlFileNameListHolder(),
- this.buildSessionsXmlFileNameHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_OPTIONS_SESSIONS_XML
- );
- SWTUtil.attachDefaultValueHandler(combo);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/TargetDatabaseComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/TargetDatabaseComposite.java
deleted file mode 100644
index 122de1cd8f..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/TargetDatabaseComposite.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options;
-
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.Iterator;
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.StringConverter;
-import org.eclipse.jpt.common.utility.internal.iterators.TransformationIterator;
-import org.eclipse.jpt.common.utility.internal.model.value.CompositeListValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.SortedListValueModelAdapter;
-import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.TargetDatabase;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import com.ibm.icu.text.Collator;
-
-/**
- * TargetDatabaseComposite
- */
-public class TargetDatabaseComposite extends Pane<Options>
-{
- /**
- * Creates a new <code>TargetDatabaseComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public TargetDatabaseComposite(
- Pane<? extends Options> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- private PropertyValueModel<String> buildDefaultTargetDatabaseHolder() {
- return new PropertyAspectAdapter<Options, String>(this.getSubjectHolder(), Options.DEFAULT_TARGET_DATABASE) {
- @Override
- protected String buildValue_() {
- return TargetDatabaseComposite.this.getDefaultValue(subject);
- }
- };
- }
-
- private ListValueModel<String> buildDefaultTargetDatabaseListHolder() {
- return new PropertyListValueModelAdapter<String>(
- this.buildDefaultTargetDatabaseHolder()
- );
- }
-
- private String buildDisplayString(String targetDatabaseName) {
- switch (TargetDatabase.valueOf(targetDatabaseName)) {
- case attunity :
- return EclipseLinkUiMessages.TargetDatabaseComposite_attunity;
- case auto :
- return EclipseLinkUiMessages.TargetDatabaseComposite_auto;
- case cloudscape :
- return EclipseLinkUiMessages.TargetDatabaseComposite_cloudscape;
- case database :
- return EclipseLinkUiMessages.TargetDatabaseComposite_database;
- case db2 :
- return EclipseLinkUiMessages.TargetDatabaseComposite_db2;
- case db2mainframe :
- return EclipseLinkUiMessages.TargetDatabaseComposite_db2mainframe;
- case dbase :
- return EclipseLinkUiMessages.TargetDatabaseComposite_dbase;
- case derby :
- return EclipseLinkUiMessages.TargetDatabaseComposite_derby;
- case hsql :
- return EclipseLinkUiMessages.TargetDatabaseComposite_hsql;
- case informix :
- return EclipseLinkUiMessages.TargetDatabaseComposite_informix;
- case javadb :
- return EclipseLinkUiMessages.TargetDatabaseComposite_javadb;
- case maxdb :
- return EclipseLinkUiMessages.TargetDatabaseComposite_maxdb;
- case mysql :
- return EclipseLinkUiMessages.TargetDatabaseComposite_mysql;
- case oracle :
- return EclipseLinkUiMessages.TargetDatabaseComposite_oracle;
- case oracle10 :
- return EclipseLinkUiMessages.TargetDatabaseComposite_oracle10;
- case oracle11 :
- return EclipseLinkUiMessages.TargetDatabaseComposite_oracle11;
- case oracle8 :
- return EclipseLinkUiMessages.TargetDatabaseComposite_oracle8;
- case oracle9 :
- return EclipseLinkUiMessages.TargetDatabaseComposite_oracle9;
- case pointbase :
- return EclipseLinkUiMessages.TargetDatabaseComposite_pointbase;
- case postgresql :
- return EclipseLinkUiMessages.TargetDatabaseComposite_postgresql;
- case sqlanywhere :
- return EclipseLinkUiMessages.TargetDatabaseComposite_sqlanywhere;
- case sqlserver :
- return EclipseLinkUiMessages.TargetDatabaseComposite_sqlserver;
- case sybase :
- return EclipseLinkUiMessages.TargetDatabaseComposite_sybase;
- case symfoware :
- return EclipseLinkUiMessages.TargetDatabaseComposite_symfoware;
- case timesten :
- return EclipseLinkUiMessages.TargetDatabaseComposite_timesten;
- default :
- throw new IllegalStateException();
- }
- }
-
- private Comparator<String> buildTargetDatabaseComparator() {
- return new Comparator<String>() {
- public int compare(String targetDatabase1, String targetDatabase2) {
- targetDatabase1 = buildDisplayString(targetDatabase1);
- targetDatabase2 = buildDisplayString(targetDatabase2);
- return Collator.getInstance().compare(targetDatabase1, targetDatabase2);
- }
- };
- }
-
- private StringConverter<String> buildTargetDatabaseConverter() {
- return new StringConverter<String>() {
- public String convertToString(String value) {
- try {
- TargetDatabase.valueOf(value);
- value = buildDisplayString(value);
- }
- catch (Exception e) {
- // Ignore since the value is not a TargetDatabase
- }
- return value;
- }
- };
- }
-
- private ModifiablePropertyValueModel<String> buildTargetDatabaseHolder() {
- return new PropertyAspectAdapter<Options, String>(this.getSubjectHolder(), Options.TARGET_DATABASE_PROPERTY) {
- @Override
- protected String buildValue_() {
-
- String name = subject.getTargetDatabase();
- if (name == null) {
- name = TargetDatabaseComposite.this.getDefaultValue(subject);
- }
- return name;
- }
-
- @Override
- protected void setValue_(String value) {
-
- if (getDefaultValue(subject).equals(value)) {
- value = null;
- }
- subject.setTargetDatabase(value);
- }
- };
- }
-
- private ListValueModel<String> buildTargetDatabaseListHolder() {
- ArrayList<ListValueModel<String>> holders = new ArrayList<ListValueModel<String>>(2);
- holders.add(buildDefaultTargetDatabaseListHolder());
- holders.add(buildTargetDatabasesListHolder());
- return new CompositeListValueModel<ListValueModel<String>, String>(holders);
- }
-
- private Iterator<String> buildTargetDatabases() {
- return new TransformationIterator<TargetDatabase, String>(CollectionTools.iterator(TargetDatabase.values())) {
- @Override
- protected String transform(TargetDatabase next) {
- return next.name();
- }
- };
- }
-
- private CollectionValueModel<String> buildTargetDatabasesCollectionHolder() {
- return new SimpleCollectionValueModel<String>(
- CollectionTools.collection(buildTargetDatabases())
- );
- }
-
- private ListValueModel<String> buildTargetDatabasesListHolder() {
- return new SortedListValueModelAdapter<String>(
- buildTargetDatabasesCollectionHolder(),
- buildTargetDatabaseComparator()
- );
- }
-
- private String getDefaultValue(Options subject) {
- String defaultValue = subject.getDefaultTargetDatabase();
-
- if (defaultValue != null) {
- return NLS.bind(
- JptCommonUiMessages.DefaultWithOneParam,
- defaultValue
- );
- }
- return JptCommonUiMessages.DefaultEmpty;
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- Combo combo = addLabeledEditableCombo(
- container,
- EclipseLinkUiMessages.PersistenceXmlOptionsTab_targetDatabaseLabel,
- this.buildTargetDatabaseListHolder(),
- this.buildTargetDatabaseHolder(),
- this.buildTargetDatabaseConverter(),
- EclipseLinkHelpContextIds.PERSISTENCE_OPTIONS_TARGET_DATABASE
- );
-
- SWTUtil.attachDefaultValueHandler(combo);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/TargetServerComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/TargetServerComposite.java
deleted file mode 100644
index f92fa70f0c..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/TargetServerComposite.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options;
-
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.Iterator;
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.StringConverter;
-import org.eclipse.jpt.common.utility.internal.iterators.TransformationIterator;
-import org.eclipse.jpt.common.utility.internal.model.value.CompositeListValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.SortedListValueModelAdapter;
-import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.TargetServer;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import com.ibm.icu.text.Collator;
-
-/**
- * TargetServerComposite
- */
-public class TargetServerComposite extends Pane<Options>
-{
- /**
- * Creates a new <code>TargetServerComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public TargetServerComposite(
- Pane<? extends Options> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- private PropertyValueModel<String> buildDefaultTargetServerHolder() {
- return new PropertyAspectAdapter<Options, String>(this.getSubjectHolder(), Options.DEFAULT_TARGET_SERVER) {
- @Override
- protected String buildValue_() {
- return TargetServerComposite.this.getDefaultValue(subject);
- }
- };
- }
-
- private ListValueModel<String> buildDefaultTargetServerListHolder() {
- return new PropertyListValueModelAdapter<String>(
- this.buildDefaultTargetServerHolder()
- );
- }
-
- private String buildDisplayString(String targetServerName) {
- switch (TargetServer.valueOf(targetServerName)) {
- case jboss :
- return EclipseLinkUiMessages.TargetServerComposite_jboss;
- case netweaver_7_1 :
- return EclipseLinkUiMessages.TargetServerComposite_netweaver_7_1;
- case none :
- return EclipseLinkUiMessages.TargetServerComposite_none;
- case oc4j :
- return EclipseLinkUiMessages.TargetServerComposite_oc4j;
- case sunas9 :
- return EclipseLinkUiMessages.TargetServerComposite_sunas9;
- case weblogic :
- return EclipseLinkUiMessages.TargetServerComposite_weblogic;
- case weblogic_10 :
- return EclipseLinkUiMessages.TargetServerComposite_weblogic_10;
- case weblogic_9 :
- return EclipseLinkUiMessages.TargetServerComposite_weblogic_9;
- case websphere :
- return EclipseLinkUiMessages.TargetServerComposite_websphere;
- case websphere_6_1 :
- return EclipseLinkUiMessages.TargetServerComposite_websphere_6_1;
- case websphere_7 :
- return EclipseLinkUiMessages.TargetServerComposite_websphere_7;
- default :
- throw new IllegalStateException();
- }
- }
-
- private Comparator<String> buildTargetServerComparator() {
- return new Comparator<String>() {
- public int compare(String targetServer1, String targetServer2) {
- targetServer1 = buildDisplayString(targetServer1);
- targetServer2 = buildDisplayString(targetServer2);
- return Collator.getInstance().compare(targetServer1, targetServer2);
- }
- };
- }
-
- private StringConverter<String> buildTargetServerConverter() {
- return new StringConverter<String>() {
- public String convertToString(String value) {
- try {
- TargetServer.valueOf(value);
- value = buildDisplayString(value);
- }
- catch (Exception e) {
- // Ignore since the value is not a TargetServer
- }
- return value;
- }
- };
- }
-
- private ModifiablePropertyValueModel<String> buildTargetServerHolder() {
- return new PropertyAspectAdapter<Options, String>(this.getSubjectHolder(), Options.TARGET_SERVER_PROPERTY) {
- @Override
- protected String buildValue_() {
-
- String name = subject.getTargetServer();
- if (name == null) {
- name = TargetServerComposite.this.getDefaultValue(subject);
- }
- return name;
- }
-
- @Override
- protected void setValue_(String value) {
-
- if (getDefaultValue(subject).equals(value)) {
- value = null;
- }
- subject.setTargetServer(value);
- }
- };
- }
-
- private ListValueModel<String> buildTargetServerListHolder() {
- ArrayList<ListValueModel<String>> holders = new ArrayList<ListValueModel<String>>(2);
- holders.add(buildDefaultTargetServerListHolder());
- holders.add(buildTargetServersListHolder());
- return new CompositeListValueModel<ListValueModel<String>, String>(holders);
- }
-
- private Iterator<String> buildTargetServers() {
- return new TransformationIterator<TargetServer, String>(CollectionTools.iterator(TargetServer.values())) {
- @Override
- protected String transform(TargetServer next) {
- return next.name();
- }
- };
- }
-
- private CollectionValueModel<String> buildTargetServersCollectionHolder() {
- return new SimpleCollectionValueModel<String>(
- CollectionTools.collection(buildTargetServers())
- );
- }
-
- private ListValueModel<String> buildTargetServersListHolder() {
- return new SortedListValueModelAdapter<String>(
- buildTargetServersCollectionHolder(),
- buildTargetServerComparator()
- );
- }
-
- private String getDefaultValue(Options subject) {
- String defaultValue = subject.getDefaultTargetServer();
-
- if (defaultValue != null) {
- return NLS.bind(
- JptCommonUiMessages.DefaultWithOneParam,
- defaultValue
- );
- }
- return JptCommonUiMessages.DefaultEmpty;
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- Combo combo = addLabeledEditableCombo(
- container,
- EclipseLinkUiMessages.PersistenceXmlOptionsTab_targetServerLabel,
- this.buildTargetServerListHolder(),
- this.buildTargetServerHolder(),
- this.buildTargetServerConverter(),
- EclipseLinkHelpContextIds.PERSISTENCE_OPTIONS_TARGET_SERVER
- );
-
- SWTUtil.attachDefaultValueHandler(combo);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/TemporalMutableComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/TemporalMutableComposite.java
deleted file mode 100644
index 0bbfbce083..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/options/TemporalMutableComposite.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * TemporalMutableComposite
- */
-public class TemporalMutableComposite extends Pane<Options>
-{
- /**
- * Creates a new <code>TemporalMutableComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public TemporalMutableComposite(
- Pane<? extends Options> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlOptionsTab_temporalMutableLabel,
- this.buildTemporalMutableHolder(),
- this.buildTemporalMutableStringHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_OPTIONS
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildTemporalMutableHolder() {
- return new PropertyAspectAdapter<Options, Boolean>(getSubjectHolder(), Options.TEMPORAL_MUTABLE_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getTemporalMutable();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setTemporalMutable(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildTemporalMutableStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(buildDefaultTemporalMutableHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlOptionsTab_temporalMutableLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlOptionsTab_temporalMutableLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultTemporalMutableHolder() {
- return new PropertyAspectAdapter<Options, Boolean>(
- getSubjectHolder(),
- Options.TEMPORAL_MUTABLE_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getTemporalMutable() != null) {
- return null;
- }
- return this.subject.getDefaultTemporalMutable();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/CreateDdlFileNameComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/CreateDdlFileNameComposite.java
deleted file mode 100644
index 6ab6de68a3..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/CreateDdlFileNameComposite.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.schema.generation;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.SchemaGeneration;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * CreateDdlFileNameComposite
- */
-public class CreateDdlFileNameComposite extends Pane<SchemaGeneration>
-{
- /**
- * Creates a new <code>CreateDdlFileNameComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public CreateDdlFileNameComposite(
- Pane<? extends SchemaGeneration> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- private PropertyValueModel<String> buildDefaultCreateDdlFileNameHolder() {
- return new PropertyAspectAdapter<SchemaGeneration, String>(this.getSubjectHolder(), SchemaGeneration.DEFAULT_SCHEMA_GENERATION_CREATE_FILE_NAME) {
- @Override
- protected String buildValue_() {
- return CreateDdlFileNameComposite.this.getDefaultValue(subject);
- }
- };
- }
-
- private ListValueModel<String> buildDefaultCreateDdlFileNameListHolder() {
- return new PropertyListValueModelAdapter<String>(
- this.buildDefaultCreateDdlFileNameHolder()
- );
- }
-
- private ModifiablePropertyValueModel<String> buildCreateDdlFileNameHolder() {
- return new PropertyAspectAdapter<SchemaGeneration, String>(this.getSubjectHolder(), SchemaGeneration.CREATE_FILE_NAME_PROPERTY) {
- @Override
- protected String buildValue_() {
-
- String name = subject.getCreateFileName();
- if (name == null) {
- name = CreateDdlFileNameComposite.this.getDefaultValue(subject);
- }
- return name;
- }
-
- @Override
- protected void setValue_(String value) {
-
- if (getDefaultValue(subject).equals(value)) {
- value = null;
- }
- subject.setCreateFileName(value);
- }
- };
- }
-
- private String getDefaultValue(SchemaGeneration subject) {
- String defaultValue = subject.getDefaultCreateFileName();
-
- if (defaultValue != null) {
- return NLS.bind(
- JptCommonUiMessages.DefaultWithOneParam,
- defaultValue
- );
- }
- return JptCommonUiMessages.DefaultEmpty;
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- Combo combo = addLabeledEditableCombo(
- container,
- EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_createDdlFileNameLabel,
- this.buildDefaultCreateDdlFileNameListHolder(),
- this.buildCreateDdlFileNameHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_SCHEMA_GENERATION
- );
- SWTUtil.attachDefaultValueHandler(combo);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/DdlGenerationLocationComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/DdlGenerationLocationComposite.java
deleted file mode 100644
index 3db55a53bc..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/DdlGenerationLocationComposite.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.schema.generation;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.FolderChooserComboPane;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.SchemaGeneration;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * DdlGenerationLocationComposite
- */
-public class DdlGenerationLocationComposite extends Pane<SchemaGeneration>
-{
- public DdlGenerationLocationComposite(Pane<? extends SchemaGeneration> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- new FolderChooserComboPane<SchemaGeneration>(this, container) {
-
- @Override
- protected ModifiablePropertyValueModel<String> buildTextHolder() {
- return new PropertyAspectAdapter<SchemaGeneration, String>(
- getSubjectHolder(), SchemaGeneration.APPLICATION_LOCATION_PROPERTY) {
- @Override
- protected String buildValue_() {
-
- String name = subject.getApplicationLocation();
- if (name == null) {
- name = defaultValue(subject);
- }
- return name;
- }
-
- @Override
- protected void setValue_(String value) {
-
- if (defaultValue(subject).equals(value)) {
- value = null;
- }
- subject.setApplicationLocation(value);
- }
- };
- }
-
- private String defaultValue(SchemaGeneration subject) {
- String defaultValue = subject.getDefaultApplicationLocation();
-
- if (defaultValue != null) {
- return NLS.bind(
- JptCommonUiMessages.DefaultWithOneParam,
- defaultValue
- );
- }
- else {
- return this.getDefaultString();
- }
- }
-
- @Override
- protected String getDefaultString() {
- return EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_defaultDot;
- }
-
- @Override
- protected String getDialogMessage() {
- return EclipseLinkUiMessages.DdlGenerationLocationComposite_dialogMessage;
- }
-
- @Override
- protected String getDialogTitle() {
- return EclipseLinkUiMessages.DdlGenerationLocationComposite_dialogTitle;
- }
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_ddlGenerationLocationLabel;
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/DdlGenerationTypeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/DdlGenerationTypeComposite.java
deleted file mode 100644
index 8f7a65cca8..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/DdlGenerationTypeComposite.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.schema.generation;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.DdlGenerationType;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.SchemaGeneration;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * DdlGenerationTypeComposite
- */
-public class DdlGenerationTypeComposite
- extends Pane<SchemaGeneration>
-{
- /**
- * Creates a new <code>DdlGenerationTypeComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public DdlGenerationTypeComposite(
- Pane<? extends SchemaGeneration> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- private EnumFormComboViewer<SchemaGeneration, DdlGenerationType> addDdlGenerationTypeCombo(Composite container) {
- return new EnumFormComboViewer<SchemaGeneration, DdlGenerationType>(this, container) {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(SchemaGeneration.DDL_GENERATION_TYPE_PROPERTY);
- }
-
- @Override
- protected DdlGenerationType[] getChoices() {
- return DdlGenerationType.values();
- }
-
- @Override
- protected DdlGenerationType getDefaultValue() {
- return this.getSubject().getDefaultDdlGenerationType();
- }
-
- @Override
- protected String displayString(DdlGenerationType value) {
- switch (value) {
- case create_tables :
- return EclipseLinkUiMessages.DdlGenerationTypeComposite_create_tables;
- case drop_and_create_tables :
- return EclipseLinkUiMessages.DdlGenerationTypeComposite_drop_and_create_tables;
- case none :
- return EclipseLinkUiMessages.DdlGenerationTypeComposite_none;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected DdlGenerationType getValue() {
- return this.getSubject().getDdlGenerationType();
- }
-
- @Override
- protected void setValue(DdlGenerationType value) {
- this.getSubject().setDdlGenerationType(value);
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addLabeledComposite(
- container,
- EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_ddlGenerationTypeLabel,
- addDdlGenerationTypeCombo( container),
- EclipseLinkHelpContextIds.PERSISTENCE_SCHEMA_GENERATION
- );
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/DropDdlFileNameComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/DropDdlFileNameComposite.java
deleted file mode 100644
index 528f1d984f..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/DropDdlFileNameComposite.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.schema.generation;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.SchemaGeneration;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * DropDdlFileNameComposite
- */
-public class DropDdlFileNameComposite extends Pane<SchemaGeneration>
-{
- /**
- * Creates a new <code>DropDdlFileNameComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public DropDdlFileNameComposite(
- Pane<? extends SchemaGeneration> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- private PropertyValueModel<String> buildDefaultDropDdlFileNameHolder() {
- return new PropertyAspectAdapter<SchemaGeneration, String>(this.getSubjectHolder(), SchemaGeneration.DEFAULT_SCHEMA_GENERATION_DROP_FILE_NAME) {
- @Override
- protected String buildValue_() {
- return DropDdlFileNameComposite.this.getDefaultValue(subject);
- }
- };
- }
-
- private ListValueModel<String> buildDefaultDropDdlFileNameListHolder() {
- return new PropertyListValueModelAdapter<String>(
- this.buildDefaultDropDdlFileNameHolder()
- );
- }
-
- private ModifiablePropertyValueModel<String> buildDropDdlFileNameHolder() {
- return new PropertyAspectAdapter<SchemaGeneration, String>(this.getSubjectHolder(), SchemaGeneration.DROP_FILE_NAME_PROPERTY) {
- @Override
- protected String buildValue_() {
-
- String name = subject.getDropFileName();
- if (name == null) {
- name = DropDdlFileNameComposite.this.getDefaultValue(subject);
- }
- return name;
- }
-
- @Override
- protected void setValue_(String value) {
-
- if (DropDdlFileNameComposite.this.getDefaultValue(subject).equals(value)) {
- value = null;
- }
- subject.setDropFileName(value);
- }
- };
- }
-
- private String getDefaultValue(SchemaGeneration subject) {
- String defaultValue = subject.getDefaultDropFileName();
-
- if (defaultValue != null) {
- return NLS.bind(
- JptCommonUiMessages.DefaultWithOneParam,
- defaultValue
- );
- }
- return JptCommonUiMessages.DefaultEmpty;
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- Combo combo = addLabeledEditableCombo(
- container,
- EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_dropDdlFileNameLabel,
- this.buildDefaultDropDdlFileNameListHolder(),
- this.buildDropDdlFileNameHolder(),
- EclipseLinkHelpContextIds.PERSISTENCE_SCHEMA_GENERATION
- );
- SWTUtil.attachDefaultValueHandler(combo);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/EclipseLinkSchemaGenerationComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/EclipseLinkSchemaGenerationComposite.java
deleted file mode 100644
index 957ba3c31b..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/EclipseLinkSchemaGenerationComposite.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.schema.generation;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.SchemaGeneration;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * EclipseLinkSchemaGenerationComposite
- */
-public class EclipseLinkSchemaGenerationComposite
- extends Pane<SchemaGeneration>
-{
- public EclipseLinkSchemaGenerationComposite(
- Pane<SchemaGeneration> subjectHolder,
- Composite container) {
- super(subjectHolder, container, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- container = addSection(
- container,
- EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_sectionTitle,
- EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_sectionDescription
- );
-
- // DDL Generation Type:
- new DdlGenerationTypeComposite(this, container);
- // Output Mode:
- new OutputModeComposite(this, container);
- // DDL Generation Location
- new DdlGenerationLocationComposite(this, container);
- // Create DDL File Name:
- new CreateDdlFileNameComposite(this, container);
- // Drop DDL File Name:
- new DropDdlFileNameComposite(this, container);
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/OutputModeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/OutputModeComposite.java
deleted file mode 100644
index 73aa5054e4..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/OutputModeComposite.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.schema.generation;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.OutputMode;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.SchemaGeneration;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * OutputModeComposite
- */
-public class OutputModeComposite extends Pane<SchemaGeneration>
-{
- /**
- * Creates a new <code>OutputModeComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public OutputModeComposite(
- Pane<? extends SchemaGeneration> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- private EnumFormComboViewer<SchemaGeneration, OutputMode> addBuildOutputModeCombo(Composite container) {
- return new EnumFormComboViewer<SchemaGeneration, OutputMode>(this, container) {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(SchemaGeneration.OUTPUT_MODE_PROPERTY);
- }
-
- @Override
- protected OutputMode[] getChoices() {
- return OutputMode.values();
- }
-
- @Override
- protected OutputMode getDefaultValue() {
- return this.getSubject().getDefaultOutputMode();
- }
-
- @Override
- protected String displayString(OutputMode value) {
- switch (value) {
- case both :
- return EclipseLinkUiMessages.OutputModeComposite_both;
- case database :
- return EclipseLinkUiMessages.OutputModeComposite_database;
- case sql_script :
- return EclipseLinkUiMessages.OutputModeComposite_sql_script;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected OutputMode getValue() {
- return this.getSubject().getOutputMode();
- }
-
- @Override
- protected void setValue(OutputMode value) {
- this.getSubject().setOutputMode(value);
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- this.addLabeledComposite(
- container,
- EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_outputModeLabel,
- this.addBuildOutputModeCombo(container),
- EclipseLinkHelpContextIds.PERSISTENCE_SCHEMA_GENERATION
- );
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/PersistenceXmlSchemaGenerationTab.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/PersistenceXmlSchemaGenerationTab.java
deleted file mode 100644
index cd961341e5..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/persistence/schema/generation/PersistenceXmlSchemaGenerationTab.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.schema.generation;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.SchemaGeneration;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * PersistenceXmlSchemaGenerationTab
- */
-public class PersistenceXmlSchemaGenerationTab
- extends Pane<SchemaGeneration>
- implements JpaPageComposite
-{
- // ********** constructors/initialization **********
- public PersistenceXmlSchemaGenerationTab(
- PropertyValueModel<SchemaGeneration> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- new EclipseLinkSchemaGenerationComposite(this, container);
- }
-
- // ********** JpaPageComposite implementation **********
-
- public String getHelpID() {
- return EclipseLinkHelpContextIds.PERSISTENCE_SCHEMA_GENERATION;
- }
-
- public ImageDescriptor getPageImageDescriptor() {
- return null;
- }
-
- public String getPageText() {
- return EclipseLinkUiMessages.PersistenceXmlSchemaGenerationTab_title;
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/EclipseLink2_0PersistenceXmlUiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/EclipseLink2_0PersistenceXmlUiFactory.java
index 66109843f5..4d9cbe9e1b 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/EclipseLink2_0PersistenceXmlUiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/EclipseLink2_0PersistenceXmlUiFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2009, 2011 Oracle. All rights reserved.
+* Copyright (c) 2009, 2012 Oracle. 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.
@@ -10,24 +10,14 @@
package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence;
import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.PersistenceUnit2_0;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging2_0;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options2_0;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.EclipseLinkPersistenceXmlUiFactory;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching.PersistenceXmlCachingTab;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization.PersistenceXmlCustomizationTab;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.logging.PersistenceXmlLoggingTab;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options.PersistenceXmlOptionsTab;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.caching.PersistenceXmlCaching2_0Tab;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.customization.PersistenceXmlCustomization2_0Tab;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.logging.PersistenceXmlLogging2_0Tab;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.options.PersistenceXmlOptions2_0Tab;
import org.eclipse.swt.widgets.Composite;
public class EclipseLink2_0PersistenceXmlUiFactory extends EclipseLinkPersistenceXmlUiFactory
@@ -42,65 +32,25 @@ public class EclipseLink2_0PersistenceXmlUiFactory extends EclipseLinkPersistenc
@Override
protected PersistenceXmlCustomizationTab<Customization> buildCustomizationTab(
- PropertyValueModel<EclipseLinkPersistenceUnit> subjectHolder,
+ PropertyValueModel<PersistenceUnit> subjectHolder,
Composite parent,
WidgetFactory widgetFactory) {
- PropertyValueModel<Customization> customizationHolder = this.buildCustomizationHolder(subjectHolder);
-
- return new PersistenceXmlCustomization2_0Tab(customizationHolder, parent, widgetFactory);
+ return new PersistenceXmlCustomization2_0Tab(this.buildCustomizationHolder(subjectHolder), parent, widgetFactory);
}
@Override
protected PersistenceXmlCachingTab<Caching> buildCachingTab(
- PropertyValueModel<EclipseLinkPersistenceUnit> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
- PropertyValueModel<Caching> cachingHolder = this.buildCachingHolder(subjectHolder);
-
- return new PersistenceXmlCaching2_0Tab(cachingHolder, parent, widgetFactory);
- }
-
- @Override
- protected PersistenceXmlLoggingTab<? extends Logging2_0> buildLoggingTab(
- PropertyValueModel<EclipseLinkPersistenceUnit> subjectHolder,
+ PropertyValueModel<PersistenceUnit> subjectHolder,
Composite parent,
WidgetFactory widgetFactory) {
- PropertyValueModel<Logging2_0> logging2_0Holder = this.buildLogging2_0Holder(subjectHolder);
-
- return new PersistenceXmlLogging2_0Tab(logging2_0Holder, parent, widgetFactory);
+ return new PersistenceXmlCaching2_0Tab(this.buildCachingHolder(subjectHolder), parent, widgetFactory);
}
@Override
- protected PersistenceXmlOptionsTab<Options2_0> buildOptionsTab(
+ protected PersistenceXmlOptionsTab<PersistenceUnit> buildOptionsTab(
PropertyValueModel<PersistenceUnit> subjectHolder,
Composite parent,
WidgetFactory widgetFactory) {
- PropertyValueModel<Options2_0> options2_0Holder = this.buildOptions2_0Holder(subjectHolder);
-
- return new PersistenceXmlOptions2_0Tab(options2_0Holder, parent, widgetFactory);
- }
-
- // ********** private methods **********
-
- private PropertyValueModel<Logging2_0> buildLogging2_0Holder(
- PropertyValueModel<EclipseLinkPersistenceUnit> subjectHolder) {
- return new TransformationPropertyValueModel<EclipseLinkPersistenceUnit, Logging2_0>(subjectHolder) {
- @Override
- protected Logging2_0 transform_(EclipseLinkPersistenceUnit value) {
-
- return (Logging2_0) value.getLogging();
- }
- };
- }
-
- private PropertyValueModel<Options2_0> buildOptions2_0Holder(
- PropertyValueModel<PersistenceUnit> subjectHolder) {
- return new TransformationPropertyValueModel<PersistenceUnit, Options2_0>(subjectHolder) {
- @Override
- protected Options2_0 transform_(PersistenceUnit value) {
-
- return (Options2_0) ((PersistenceUnit2_0)value).getOptions();
- }
- };
+ return new PersistenceXmlOptions2_0Tab(subjectHolder, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/EclipseLinkLogging2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/EclipseLinkLogging2_0Composite.java
new file mode 100644
index 0000000000..06ecba83e2
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/EclipseLinkLogging2_0Composite.java
@@ -0,0 +1,254 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2012 Oracle. 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
+ *******************************************************************************/
+package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence;
+
+import java.util.Collection;
+import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging2_0;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.LoggingLevel;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options.EclipseLinkLoggingComposite;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * EclipseLinkLogging2_0Composite
+ */
+public class EclipseLinkLogging2_0Composite extends EclipseLinkLoggingComposite<Logging2_0>
+{
+
+ public EclipseLinkLogging2_0Composite(
+ PropertyValueModel<Logging2_0> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ super.initializeLayout(container);
+
+ Composite loggingLevelComposite = this.addCategoryLoggingLevelComposite(container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ loggingLevelComposite.setLayoutData(gridData);
+ }
+
+ protected Composite addCategoryLoggingLevelComposite(Composite container) {
+ container = this.addCollapsibleSubSection(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlLoggingTab_categoryLoggingLevelSectionTitle,
+ new SimplePropertyValueModel<Boolean>(Boolean.FALSE)
+ );
+ GridLayout layout = new GridLayout(2, false);
+ container.setLayout(layout);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_sqlLoggingLevelLabel);
+ this.addLoggingLevelCombo(container, Logging2_0.SQL_CATEGORY_LOGGING_PROPERTY);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_connectionLoggingLevelLabel);
+ this.addLoggingLevelCombo(container, Logging2_0.TRANSACTION_CATEGORY_LOGGING_PROPERTY);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_eventLoggingLevelLabel);
+ this.addLoggingLevelCombo(container, Logging2_0.EVENT_CATEGORY_LOGGING_PROPERTY);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_connectionLoggingLevelLabel);
+ this.addLoggingLevelCombo(container, Logging2_0.CONNECTION_CATEGORY_LOGGING_PROPERTY);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_queryLoggingLevelLabel);
+ this.addLoggingLevelCombo(container, Logging2_0.QUERY_CATEGORY_LOGGING_PROPERTY);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_cacheLoggingLevelLabel);
+ this.addLoggingLevelCombo(container, Logging2_0.CACHE_CATEGORY_LOGGING_PROPERTY);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_propagationLoggingLevelLabel);
+ this.addLoggingLevelCombo(container, Logging2_0.PROPAGATION_CATEGORY_LOGGING_PROPERTY);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_sequencingLoggingLevelLabel);
+ this.addLoggingLevelCombo(container, Logging2_0.SEQUENCING_CATEGORY_LOGGING_PROPERTY);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_ejbLoggingLevelLabel);
+ this.addLoggingLevelCombo(container, Logging2_0.EJB_CATEGORY_LOGGING_PROPERTY);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_dmsLoggingLevelLabel);
+ this.addLoggingLevelCombo(container, Logging2_0.DMS_CATEGORY_LOGGING_PROPERTY);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_ejb_or_metadataLoggingLevelLabel);
+ this.addLoggingLevelCombo(container, Logging2_0.EJB_OR_METADATA_CATEGORY_LOGGING_PROPERTY);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_jpa_metamodelLoggingLevelLabel);
+ this.addLoggingLevelCombo(container, Logging2_0.METAMODEL_CATEGORY_LOGGING_PROPERTY);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_weaverLoggingLevelLabel);
+ this.addLoggingLevelCombo(container, Logging2_0.WEAVER_CATEGORY_LOGGING_PROPERTY);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_propertiesLoggingLevelLabel);
+ this.addLoggingLevelCombo(container, Logging2_0.PROPERTIES_CATEGORY_LOGGING_PROPERTY);
+
+ this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlLoggingTab_serverLoggingLevelLabel);
+ this.addLoggingLevelCombo(container, Logging2_0.SERVER_CATEGORY_LOGGING_PROPERTY);
+
+ return container.getParent(); //return the Section, instead of its client
+ }
+
+ @Override
+ protected void logPropertiesComposite(Composite container) {
+ super.logPropertiesComposite(container);
+ // Connection:
+ TriStateCheckBox connectionCheckBox =
+ this.addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlLoggingTab_connectionLabel,
+ this.buildConnectionHolder(),
+ this.buildConnectionStringHolder(),
+ null
+// EclipseLinkHelpContextIds.PERSISTENCE_LOGGING_CONNECTION // TODO
+ );
+
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ connectionCheckBox.getCheckBox().setLayoutData(gridData);
+ }
+
+ private ModifiablePropertyValueModel<Boolean> buildConnectionHolder() {
+ return new PropertyAspectAdapter<Logging2_0, Boolean>(getSubjectHolder(), Logging2_0.CONNECTION_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return this.subject.getConnection();
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ this.subject.setConnection(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<String> buildConnectionStringHolder() {
+ return new TransformationPropertyValueModel<Boolean, String>(this.buildDefaultConnectionHolder()) {
+ @Override
+ protected String transform(Boolean value) {
+ if (value != null) {
+ String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
+ return NLS.bind(EclipseLinkUiMessages.PersistenceXmlLoggingTab_connectionLabelDefault, defaultStringValue);
+ }
+ return EclipseLinkUiMessages.PersistenceXmlLoggingTab_connectionLabel;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildDefaultConnectionHolder() {
+ return new PropertyAspectAdapter<Logging2_0, Boolean>(
+ getSubjectHolder(),
+ Logging2_0.CONNECTION_PROPERTY)
+ {
+ @Override
+ protected Boolean buildValue_() {
+ if (this.subject.getConnection() != null) {
+ return null;
+ }
+ return this.subject.getDefaultConnection();
+ }
+ };
+ }
+ private static final String DEFAULT_PROPERTY = Logging2_0.CATEGORIES_DEFAULT_LOGGING_PROPERTY;
+
+ private EnumFormComboViewer<Logging2_0, LoggingLevel> addLoggingLevelCombo(Composite container, final String category) {
+ return new EnumFormComboViewer<Logging2_0, LoggingLevel>(this, container) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(DEFAULT_PROPERTY);
+ propertyNames.add(Logging2_0.SQL_CATEGORY_LOGGING_PROPERTY);
+ propertyNames.add(Logging2_0.TRANSACTION_CATEGORY_LOGGING_PROPERTY);
+ propertyNames.add(Logging2_0.EVENT_CATEGORY_LOGGING_PROPERTY);
+ propertyNames.add(Logging2_0.CONNECTION_CATEGORY_LOGGING_PROPERTY);
+ propertyNames.add(Logging2_0.QUERY_CATEGORY_LOGGING_PROPERTY);
+ propertyNames.add(Logging2_0.CACHE_CATEGORY_LOGGING_PROPERTY);
+ propertyNames.add(Logging2_0.PROPAGATION_CATEGORY_LOGGING_PROPERTY);
+ propertyNames.add(Logging2_0.SEQUENCING_CATEGORY_LOGGING_PROPERTY);
+ propertyNames.add(Logging2_0.EJB_CATEGORY_LOGGING_PROPERTY);
+ propertyNames.add(Logging2_0.DMS_CATEGORY_LOGGING_PROPERTY);
+ propertyNames.add(Logging2_0.EJB_OR_METADATA_CATEGORY_LOGGING_PROPERTY);
+ propertyNames.add(Logging2_0.METAMODEL_CATEGORY_LOGGING_PROPERTY);
+ propertyNames.add(Logging2_0.WEAVER_CATEGORY_LOGGING_PROPERTY);
+ propertyNames.add(Logging2_0.PROPERTIES_CATEGORY_LOGGING_PROPERTY);
+ propertyNames.add(Logging2_0.SERVER_CATEGORY_LOGGING_PROPERTY);
+ }
+
+ @Override
+ protected LoggingLevel[] getChoices() {
+ return LoggingLevel.values();
+ }
+
+ @Override
+ protected boolean sortChoices() {
+ return false;
+ }
+
+ @Override
+ protected LoggingLevel getDefaultValue() {
+ return this.getSubject().getCategoriesDefaultLevel();
+ }
+
+ @Override
+ protected String displayString(LoggingLevel value) {
+ switch (value) {
+ case all :
+ return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_all;
+ case config :
+ return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_config;
+ case fine :
+ return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_fine;
+ case finer :
+ return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_finer;
+ case finest :
+ return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_finest;
+ case info :
+ return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_info;
+ case off :
+ return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_off;
+ case severe :
+ return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_severe;
+ case warning :
+ return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_warning;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected LoggingLevel getValue() {
+ return this.getSubject().getLevel(category);
+ }
+
+ @Override
+ protected void setValue(LoggingLevel value) {
+ this.getSubject().setLevel(category, value);
+ }
+
+ @Override
+ protected void propertyChanged(String propertyName) {
+ if( propertyName != category && propertyName != DEFAULT_PROPERTY) return;
+ super.propertyChanged(propertyName);
+ }
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/EclipseLinkPersistenceXml2_0UiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/EclipseLinkPersistenceXml2_0UiDefinition.java
index df03c31cdf..92bb31464a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/EclipseLinkPersistenceXml2_0UiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/EclipseLinkPersistenceXml2_0UiDefinition.java
@@ -14,8 +14,8 @@ import org.eclipse.jpt.common.ui.jface.ItemTreeStateProviderFactoryProvider;
import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.EclipseLinkPersistenceXmlUiDefinition;
import org.eclipse.jpt.jpa.ui.ResourceUiDefinition;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.AbstractPersistenceXmlResourceUiDefinition;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.PersistenceXmlUiFactory;
+import org.eclipse.jpt.jpa.ui.internal.persistence.AbstractPersistenceXmlResourceUiDefinition;
+import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceXmlUiFactory;
public class EclipseLinkPersistenceXml2_0UiDefinition
extends AbstractPersistenceXmlResourceUiDefinition
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/PersistenceXmlCaching2_0Tab.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/PersistenceXmlCaching2_0Tab.java
new file mode 100644
index 0000000000..e55f83abd1
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/PersistenceXmlCaching2_0Tab.java
@@ -0,0 +1,264 @@
+/*******************************************************************************
+* Copyright (c) 2009, 2012 Oracle. 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
+*******************************************************************************/
+package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence;
+
+import java.util.Collection;
+import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.ui.internal.utility.swt.SWTTools;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.jpa2.context.persistence.PersistenceUnit2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.SharedCacheMode;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.CacheType;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching.PersistenceXmlCachingTab;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+/**
+ * PersistenceXmlCaching2_0Tab
+ */
+public class PersistenceXmlCaching2_0Tab extends PersistenceXmlCachingTab<Caching>
+{
+ public PersistenceXmlCaching2_0Tab(
+ PropertyValueModel<Caching> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ container = this.addSection(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlCachingTab_sectionTitle,
+ EclipseLinkUiMessages.PersistenceXmlCachingTab_sectionDescription
+ );
+ container.setLayout(new GridLayout(2, false));
+
+ // SharedCacheMode
+ this.addLabel(container, JptUiPersistence2_0Messages.SharedCacheModeComposite_sharedCacheModeLabel);
+ this.addSharedCacheModeCombo(container, this.buildPersistenceUnit2_0Holder());
+
+ // Defaults
+ // Default Cache Type
+ Label cacheTypeLabel = this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlCachingTab_defaultCacheTypeLabel);
+ Combo cacheTypeCombo = this.buildDefaultCacheTypeCombo(container).getControl();
+
+ // Default Cache Size
+ Label cacheSizeLabel = this.addLabel(container, EclipseLinkUiMessages.DefaultCacheSizeComposite_defaultCacheSize);
+ Combo cacheSizeCombo = this.addDefaultCacheSizeCombo(container).getControl();
+
+
+ // Flush Clear Cache
+ Label flushClearCacheLabel = this.addLabel(container, EclipseLinkUiMessages.PersistenceXmlCachingTab_FlushClearCacheLabel);
+ Combo flushClearCacheCombo = this.addFlushClearCacheCombo(container).getControl();
+
+ SWTTools.controlEnabledState(
+ this.buildSharedCacheModeEnablerHolder(),
+ cacheTypeLabel,
+ cacheTypeCombo,
+ cacheSizeLabel,
+ cacheSizeCombo,
+ flushClearCacheLabel,
+ flushClearCacheCombo);
+ }
+
+ private PropertyValueModel<PersistenceUnit2_0> buildPersistenceUnit2_0Holder() {
+ return new PropertyAspectAdapter<Caching, PersistenceUnit2_0>(this.getSubjectHolder()) {
+ @Override
+ protected PersistenceUnit2_0 buildValue_() {
+ return (PersistenceUnit2_0) this.subject.getPersistenceUnit();
+ }
+ };
+ }
+
+
+ //********* shared cache mode ***********
+
+ private EnumFormComboViewer<PersistenceUnit2_0, SharedCacheMode> addSharedCacheModeCombo(Composite parent, PropertyValueModel<? extends PersistenceUnit2_0> subjectHolder) {
+ return new EnumFormComboViewer<PersistenceUnit2_0, SharedCacheMode>(this, subjectHolder, parent) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(PersistenceUnit2_0.SPECIFIED_SHARED_CACHE_MODE_PROPERTY);
+ }
+
+ @Override
+ protected SharedCacheMode[] getChoices() {
+ return SharedCacheMode.values();
+ }
+
+ @Override
+ protected boolean sortChoices() {
+ return false;
+ }
+
+ @Override
+ protected SharedCacheMode getDefaultValue() {
+ return this.getSubject().getDefaultSharedCacheMode();
+ }
+
+ @Override
+ protected String displayString(SharedCacheMode value) {
+ switch (value) {
+ case ALL :
+ return JptUiPersistence2_0Messages.SharedCacheModeComposite_all;
+ case DISABLE_SELECTIVE :
+ return JptUiPersistence2_0Messages.SharedCacheModeComposite_disable_selective;
+ case ENABLE_SELECTIVE :
+ return JptUiPersistence2_0Messages.SharedCacheModeComposite_enable_selective;
+ case NONE :
+ return JptUiPersistence2_0Messages.SharedCacheModeComposite_none;
+ case UNSPECIFIED :
+ return JptUiPersistence2_0Messages.SharedCacheModeComposite_unspecified;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected SharedCacheMode getValue() {
+ return this.getSubject().getSpecifiedSharedCacheMode();
+ }
+
+ @Override
+ protected void setValue(SharedCacheMode value) {
+ this.getSubject().setSpecifiedSharedCacheMode(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildSharedCacheModeEnablerHolder() {
+ return new TransformationPropertyValueModel<SharedCacheMode, Boolean>(this.buildSharedCacheModeHolder()) {
+ @Override
+ protected Boolean transform(SharedCacheMode value) {
+ return value != SharedCacheMode.NONE;
+ }
+ };
+ }
+
+ private PropertyValueModel<SharedCacheMode> buildSharedCacheModeHolder() {
+ return new PropertyAspectAdapter<PersistenceUnit2_0, SharedCacheMode>(
+ this.buildPersistenceUnit2_0Holder(),
+ PersistenceUnit2_0.SPECIFIED_SHARED_CACHE_MODE_PROPERTY,
+ PersistenceUnit2_0.DEFAULT_SHARED_CACHE_MODE_PROPERTY) {
+ @Override
+ protected SharedCacheMode buildValue_() {
+ return this.subject.getSharedCacheMode();
+ }
+ };
+ }
+
+ protected EnumFormComboViewer<Caching, CacheType> buildDefaultCacheTypeCombo(Composite container) {
+ return new EnumFormComboViewer<Caching, CacheType>(this, container) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(Caching.CACHE_TYPE_DEFAULT_PROPERTY);
+ }
+
+ @Override
+ protected CacheType[] getChoices() {
+ return CacheType.values();
+ }
+
+ @Override
+ protected boolean sortChoices() {
+ return false;
+ }
+
+ @Override
+ protected CacheType getDefaultValue() {
+ return getSubject().getDefaultCacheTypeDefault();
+ }
+
+ @Override
+ protected String displayString(CacheType value) {
+ switch (value) {
+ case full :
+ return EclipseLinkUiMessages.CacheTypeComposite_full;
+ case weak :
+ return EclipseLinkUiMessages.CacheTypeComposite_weak;
+ case soft :
+ return EclipseLinkUiMessages.CacheTypeComposite_soft;
+ case soft_weak :
+ return EclipseLinkUiMessages.CacheTypeComposite_soft_weak;
+ case hard_weak :
+ return EclipseLinkUiMessages.CacheTypeComposite_hard_weak;
+ case none :
+ return EclipseLinkUiMessages.CacheTypeComposite_none;
+ default :
+ throw new IllegalStateException();
+ }
+
+ }
+
+ @Override
+ protected CacheType getValue() {
+ return getSubject().getCacheTypeDefault();
+ }
+
+ @Override
+ protected void setValue(CacheType value) {
+ getSubject().setCacheTypeDefault(value);
+ }
+
+ @Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.PERSISTENCE_CACHING_DEFAULT_TYPE;
+ }
+ };
+ }
+
+ protected IntegerCombo<Caching> addDefaultCacheSizeCombo(Composite container) {
+ return new IntegerCombo<Caching>(this, container) {
+ @Override
+ protected String getHelpId() {
+ return EclipseLinkHelpContextIds.PERSISTENCE_CACHING_DEFAULT_SIZE;
+ }
+
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<Caching, Integer>(getSubjectHolder()) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getDefaultCacheSizeDefault();
+ }
+ };
+ }
+
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<Caching, Integer>(getSubjectHolder(), Caching.CACHE_SIZE_DEFAULT_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getCacheSizeDefault();
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ this.subject.setCacheSizeDefault(value);
+ }
+ };
+ }
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/customization/PersistenceXmlCustomization2_0Tab.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/PersistenceXmlCustomization2_0Tab.java
index 83db6df75a..47259000a7 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/customization/PersistenceXmlCustomization2_0Tab.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/PersistenceXmlCustomization2_0Tab.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2010, 2011 Oracle. All rights reserved.
+* Copyright (c) 2010, 2012 Oracle. 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.
@@ -7,7 +7,7 @@
* Contributors:
* Oracle - initial API and implementation
*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.customization;
+package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
@@ -28,9 +28,10 @@ public class PersistenceXmlCustomization2_0Tab extends PersistenceXmlCustomizati
super(subjectHolder, parent, widgetFactory);
}
+
@Override
- protected void buildEclipseLinkCustomizationComposite(Composite container) {
- new EclipseLinkCustomization2_0Composite(this, container);
+ protected void buildEntityListComposite(Composite parent) {
+ // do nothing
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/PersistenceXmlOptions2_0Tab.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/PersistenceXmlOptions2_0Tab.java
new file mode 100644
index 0000000000..1f3ab1dc46
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/PersistenceXmlOptions2_0Tab.java
@@ -0,0 +1,499 @@
+/*******************************************************************************
+* Copyright (c) 2009, 2012 Oracle. 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
+*******************************************************************************/
+package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence;
+
+import java.util.Collection;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.IType;
+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.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.window.Window;
+import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
+import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
+import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
+import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
+import org.eclipse.jpt.jpa.core.jpa2.context.persistence.PersistenceUnit2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.JpaOptions2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.ValidationMode;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging2_0;
+import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options2_0;
+import org.eclipse.jpt.jpa.eclipselink.ui.JptJpaEclipseLinkUiPlugin;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkHelpContextIds;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options.PersistenceXmlOptionsTab;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.dialogs.SelectionDialog;
+import org.eclipse.ui.forms.widgets.Section;
+import org.eclipse.ui.progress.IProgressService;
+
+/**
+ * EclipseLinkOptions2_0Composite
+ */
+public class PersistenceXmlOptions2_0Tab extends PersistenceXmlOptionsTab<PersistenceUnit>
+{
+ private PropertyValueModel<Options2_0> optionsHolder;
+
+ public PersistenceXmlOptions2_0Tab(
+ PropertyValueModel<PersistenceUnit> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ @Override
+ protected Control initializeMiscellaneousSection(Section section) {
+ Composite container = this.addSubPane(section, 2, 0, 0, 0, 0);
+
+ TriStateCheckBox checkBox = this.addTriStateCheckBoxWithDefault(
+ container,
+ EclipseLinkUiMessages.PersistenceXmlOptionsTab_temporalMutableLabel,
+ this.buildTemporalMutableHolder(),
+ this.buildTemporalMutableStringHolder(),
+ EclipseLinkHelpContextIds.PERSISTENCE_OPTIONS
+ );
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ checkBox.getCheckBox().setLayoutData(gridData);
+
+ this.optionsHolder = this.buildOptions2_0Holder();
+ this.addLabel(container, JptUiPersistence2_0Messages.LockingConfigurationComposite_lockTimeoutLabel);
+ this.addLockTimeoutCombo(container);
+
+ this.addLabel(container, JptUiPersistence2_0Messages.QueryConfigurationComposite_queryTimeoutLabel);
+ this.addQueryTimeoutCombo(container);
+
+
+ // ValidationMode
+ this.addLabel(container, JptUiPersistence2_0Messages.ValidationModeComposite_validationModeLabel);
+ this.addValidationModeCombo(container);
+
+ // ValidationGroupPrePersist
+ this.addLabel(container, JptUiPersistence2_0Messages.ValidationConfigurationComposite_groupPrePersistLabel);
+ this.addPrePersistListPane(container);
+
+ // ValidationGroupPreUpdate
+ this.addLabel(container, JptUiPersistence2_0Messages.ValidationConfigurationComposite_groupPreUpdateLabel);
+ this.addPreUpdateListPane(container);
+
+ // ValidationGroupPreRemove
+ this.addLabel(container, JptUiPersistence2_0Messages.ValidationConfigurationComposite_groupPreRemoveLabel);
+ this.addPreRemoveListPane(container);
+
+ return container;
+ }
+
+ @Override
+ protected Control initializeLoggingSection(Section section) {
+ return new EclipseLinkLogging2_0Composite(this.buildLoggingHolder(), section, getWidgetFactory()).getControl();
+ }
+
+ private PropertyValueModel<Logging2_0> buildLoggingHolder() {
+ return new TransformationPropertyValueModel<PersistenceUnit, Logging2_0>(getSubjectHolder()) {
+ @Override
+ protected Logging2_0 transform_(PersistenceUnit value) {
+ return (Logging2_0) ((EclipseLinkPersistenceUnit) value).getLogging();
+ }
+ };
+ }
+
+ private void addLockTimeoutCombo(Composite container) {
+ new IntegerCombo<Options2_0>(this, this.optionsHolder, container) {
+ @Override
+ protected String getHelpId() {
+ return null; // TODO
+ }
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<Options2_0, Integer>(this.getSubjectHolder()) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getDefaultLockTimeout();
+ }
+ };
+ }
+
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<Options2_0, Integer>(this.getSubjectHolder(), Options2_0.LOCK_TIMEOUT_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getLockTimeout();
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ this.subject.setLockTimeout(value);
+ }
+ };
+ }
+ };
+ }
+
+ private void addQueryTimeoutCombo(Composite container) {
+ new IntegerCombo<Options2_0>(this, this.optionsHolder, container) {
+ @Override
+ protected String getHelpId() {
+ return null; // TODO
+ }
+
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<Options2_0, Integer>(this.getSubjectHolder()) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getDefaultQueryTimeout();
+ }
+ };
+ }
+
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<Options2_0, Integer>(this.getSubjectHolder(), Options2_0.QUERY_TIMEOUT_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getQueryTimeout();
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ this.subject.setQueryTimeout(value);
+ }
+ };
+ }
+ };
+ }
+
+ private EnumFormComboViewer<PersistenceUnit, ValidationMode> addValidationModeCombo(Composite parent) {
+ return new EnumFormComboViewer<PersistenceUnit, ValidationMode>(this, this.getSubjectHolder(), parent) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(PersistenceUnit2_0.SPECIFIED_VALIDATION_MODE_PROPERTY);
+ }
+
+ @Override
+ protected ValidationMode[] getChoices() {
+ return ValidationMode.values();
+ }
+
+ @Override
+ protected boolean sortChoices() {
+ return false;
+ }
+
+ @Override
+ protected ValidationMode getDefaultValue() {
+ return ((PersistenceUnit2_0) this.getSubject()).getDefaultValidationMode();
+ }
+
+ @Override
+ protected String displayString(ValidationMode value) {
+ switch (value) {
+ case AUTO :
+ return JptUiPersistence2_0Messages.ValidationModeComposite_auto;
+ case CALLBACK :
+ return JptUiPersistence2_0Messages.ValidationModeComposite_callback;
+ case NONE :
+ return JptUiPersistence2_0Messages.ValidationModeComposite_none;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected ValidationMode getValue() {
+ return ((PersistenceUnit2_0) this.getSubject()).getSpecifiedValidationMode();
+ }
+
+ @Override
+ protected void setValue(ValidationMode value) {
+ ((PersistenceUnit2_0) this.getSubject()).setSpecifiedValidationMode(value);
+ }
+ };
+ }
+
+ // ********** ValidationGroupPrePersists **********
+
+ private void addPrePersistListPane(Composite parent) {
+ new AddRemoveListPane<Options2_0, String>(
+ this,
+ this.optionsHolder,
+ parent,
+ this.buildPrePersistAdapter(),
+ this.buildPrePersistListHolder(),
+ this.buildSelectedItemsModel(),
+ this.buildLabelProvider()
+ );
+ }
+
+ private Adapter<String> buildPrePersistAdapter() {
+ return new AddRemoveListPane.AbstractAdapter<String>() {
+ public String addNewItem() {
+ return addPrePersistClass();
+ }
+
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<String> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
+
+ public void removeSelectedItems(CollectionValueModel<String> selectedItemsModel) {
+ String item = selectedItemsModel.iterator().next();
+ optionsHolder.getValue().removeValidationGroupPrePersist(item);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildPrePersistListHolder() {
+ return new ListAspectAdapter<Options2_0, String>(this.optionsHolder, JpaOptions2_0.VALIDATION_GROUP_PRE_PERSIST_LIST) {
+ @Override
+ protected ListIterable<String> getListIterable() {
+ return subject.getValidationGroupPrePersists();
+ }
+
+ @Override
+ protected int size_() {
+ return subject.getValidationGroupPrePersistsSize();
+ }
+ };
+ }
+
+ private String addPrePersistClass() {
+
+ IType type = this.chooseType();
+
+ if (type != null) {
+ String className = type.getFullyQualifiedName('$');
+ if( ! this.optionsHolder.getValue().validationGroupPrePersistExists(className)) {
+
+ return this.optionsHolder.getValue().addValidationGroupPrePersist(className);
+ }
+ }
+ return null;
+ }
+
+ // ********** ValidationGroupPreUpdates **********
+
+ private void addPreUpdateListPane(Composite parent) {
+ new AddRemoveListPane<Options2_0, String>(
+ this,
+ this.optionsHolder,
+ parent,
+ this.buildPreUpdateAdapter(),
+ this.buildPreUpdateListHolder(),
+ this.buildSelectedItemsModel(),
+ this.buildLabelProvider()
+ );
+ }
+
+ private Adapter<String> buildPreUpdateAdapter() {
+ return new AddRemoveListPane.AbstractAdapter<String>() {
+ public String addNewItem() {
+ return addPreUpdateClass();
+ }
+
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<String> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
+
+ public void removeSelectedItems(CollectionValueModel<String> selectedItemsModel) {
+ String item = selectedItemsModel.iterator().next();
+ optionsHolder.getValue().removeValidationGroupPreUpdate(item);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildPreUpdateListHolder() {
+ return new ListAspectAdapter<Options2_0, String>(this.optionsHolder, Options2_0.VALIDATION_GROUP_PRE_UPDATE_LIST) {
+ @Override
+ protected ListIterable<String> getListIterable() {
+ return subject.getValidationGroupPreUpdates();
+ }
+
+ @Override
+ protected int size_() {
+ return subject.getValidationGroupPreUpdatesSize();
+ }
+ };
+ }
+
+ private String addPreUpdateClass() {
+
+ IType type = this.chooseType();
+
+ if (type != null) {
+ String className = type.getFullyQualifiedName('$');
+ if( ! this.optionsHolder.getValue().validationGroupPreUpdateExists(className)) {
+
+ return this.optionsHolder.getValue().addValidationGroupPreUpdate(className);
+ }
+ }
+ return null;
+ }
+
+ // ********** ValidationGroupPreRemoves **********
+
+ private void addPreRemoveListPane(Composite parent) {
+ new AddRemoveListPane<Options2_0, String>(
+ this,
+ this.optionsHolder,
+ parent,
+ this.buildPreRemoveAdapter(),
+ this.buildPreRemoveListHolder(),
+ this.buildSelectedItemsModel(),
+ this.buildLabelProvider()
+ );
+ }
+
+ private Adapter<String> buildPreRemoveAdapter() {
+ return new AddRemoveListPane.AbstractAdapter<String>() {
+ public String addNewItem() {
+ return addPreRemoveClass();
+ }
+
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<String> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
+
+ public void removeSelectedItems(CollectionValueModel<String> selectedItemsModel) {
+ String item = selectedItemsModel.iterator().next();
+ optionsHolder.getValue().removeValidationGroupPreRemove(item);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildPreRemoveListHolder() {
+ return new ListAspectAdapter<Options2_0, String>(this.optionsHolder, JpaOptions2_0.VALIDATION_GROUP_PRE_REMOVE_LIST) {
+ @Override
+ protected ListIterable<String> getListIterable() {
+ return subject.getValidationGroupPreRemoves();
+ }
+
+ @Override
+ protected int size_() {
+ return subject.getValidationGroupPreRemovesSize();
+ }
+ };
+ }
+
+ private String addPreRemoveClass() {
+
+ IType type = this.chooseType();
+
+ if (type != null) {
+ String className = type.getFullyQualifiedName('$');
+ if( ! this.optionsHolder.getValue().validationGroupPreRemoveExists(className)) {
+
+ return this.optionsHolder.getValue().addValidationGroupPreRemove(className);
+ }
+ }
+ return null;
+ }
+
+
+ // ********** Private methods **********
+
+ private ILabelProvider buildLabelProvider() {
+ return new LabelProvider() {
+
+ @Override
+ public String getText(Object element) {
+ String name = (String) element;
+
+ if (name == null) {
+ name = EclipseLinkUiMessages.PersistenceXmlOptionsTab_noName;
+ }
+ return name;
+ }
+ };
+ }
+
+ /**
+ * Prompts the user the Open Type dialog.
+ *
+ * @return Either the selected type or <code>null</code> if the user
+ * canceled the dialog
+ */
+ private IType chooseType() {
+ IJavaProject javaProject = this.getSubject().getJpaProject().getJavaProject();
+ IJavaElement[] elements = new IJavaElement[] { javaProject };
+ IJavaSearchScope scope = SearchEngine.createJavaSearchScope(elements);
+ IProgressService service = PlatformUI.getWorkbench().getProgressService();
+ SelectionDialog typeSelectionDialog;
+
+ try {
+ typeSelectionDialog = JavaUI.createTypeDialog(
+ getShell(),
+ service,
+ scope,
+ IJavaElementSearchConstants.CONSIDER_CLASSES,
+ false,
+ ""
+ );
+ }
+ catch (JavaModelException e) {
+ JptJpaEclipseLinkUiPlugin.log(e);
+ return null;
+ }
+
+ typeSelectionDialog.setTitle(JptCommonUiMessages.ClassChooserPane_dialogTitle);
+ typeSelectionDialog.setMessage(JptCommonUiMessages.ClassChooserPane_dialogMessage);
+
+ if (typeSelectionDialog.open() == Window.OK) {
+ return (IType) typeSelectionDialog.getResult()[0];
+ }
+
+ return null;
+ }
+
+ private ModifiableCollectionValueModel<String> buildSelectedItemsModel() {
+ return new SimpleCollectionValueModel<String>();
+ }
+
+ private PropertyValueModel<Options2_0> buildOptions2_0Holder() {
+ return new TransformationPropertyValueModel<PersistenceUnit, Options2_0>(getSubjectHolder()) {
+ @Override
+ protected Options2_0 transform_(PersistenceUnit value) {
+ return (Options2_0) ((PersistenceUnit2_0) value).getOptions();
+ }
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/CacheDefaults2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/CacheDefaults2_0Composite.java
deleted file mode 100644
index 9e9136a970..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/CacheDefaults2_0Composite.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2009, 2011 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.caching;
-
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.PersistenceUnit2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.SharedCacheMode;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching.CacheDefaultsComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching.DefaultCacheSizeComposite;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching.DefaultCacheTypeComposite;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * CacheDefaults2_0Composite
- */
-public class CacheDefaults2_0Composite extends CacheDefaultsComposite<Caching>
-{
- public CacheDefaults2_0Composite(Pane<Caching> subjectHolder,
- Composite container) {
-
- super(subjectHolder, container);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
- this.initializeCacheDefaultsComposites(parent);
- this.installPaneEnabler();
- }
-
- @Override
- protected void initializeCacheDefaultsComposites(Composite parent) {
-
- // Default Cache Type
- new DefaultCacheTypeComposite(this, parent);
-
- // Default Cache Size
- new DefaultCacheSizeComposite<Caching>(this, parent);
-
- }
-
- // ********** private methods **********
-
- private void installPaneEnabler() {
- new PaneEnabler(this.buildPaneEnablerHolder(), this);
- }
-
- private PropertyValueModel<Boolean> buildPaneEnablerHolder() {
- return new TransformationPropertyValueModel<SharedCacheMode, Boolean>(this.buildSharedCacheModeHolder()) {
- @Override
- protected Boolean transform(SharedCacheMode value) {
- return value != SharedCacheMode.NONE;
- }
- };
- }
-
- private PropertyValueModel<SharedCacheMode> buildSharedCacheModeHolder() {
- return new PropertyAspectAdapter<PersistenceUnit2_0, SharedCacheMode>(
- this.buildPersistenceUnit2_0Holder(),
- PersistenceUnit2_0.SPECIFIED_SHARED_CACHE_MODE_PROPERTY,
- PersistenceUnit2_0.DEFAULT_SHARED_CACHE_MODE_PROPERTY) {
- @Override
- protected SharedCacheMode buildValue_() {
- return this.subject.getSharedCacheMode();
- }
- };
- }
-
- private PropertyValueModel<PersistenceUnit2_0> buildPersistenceUnit2_0Holder() {
- return new PropertyAspectAdapter<Caching, PersistenceUnit2_0>(this.getSubjectHolder()) {
- @Override
- protected PersistenceUnit2_0 buildValue_() {
- return (PersistenceUnit2_0) this.subject.getPersistenceUnit();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/EclipseLinkCaching2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/EclipseLinkCaching2_0Composite.java
deleted file mode 100644
index 14bb1e1d7a..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/EclipseLinkCaching2_0Composite.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2009, 2011 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.caching;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.PersistenceUnit2_0;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching.EclipseLinkCachingComposite;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.options.SharedCacheModeComposite;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.Section;
-
-/**
- * EclipseLinkCaching2_0Composite
- */
-public class EclipseLinkCaching2_0Composite extends EclipseLinkCachingComposite<Caching>
-{
- public EclipseLinkCaching2_0Composite(
- Pane<Caching> subjectHolder,
- Composite container) {
- super(subjectHolder, container);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
- Section section = getWidgetFactory().createSection(parent, SWT.FLAT | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION);
- section.setText(EclipseLinkUiMessages.PersistenceXmlCachingTab_sectionTitle);
- section.setDescription(EclipseLinkUiMessages.PersistenceXmlCachingTab_sectionDescription);
- Composite composite = getWidgetFactory().createComposite(section);
- composite.setLayout(new GridLayout(1, false));
- section.setClient(composite);
- this.updateGridData(composite);
- this.updateGridData(composite.getParent());
-
- // SharedCacheMode
- new SharedCacheModeComposite(this, this.buildPersistenceUnit2_0Holder(), composite);
- // Defaults
- new CacheDefaults2_0Composite(this, composite);
- // Flush Clear Cache
- new FlushClearCache2_0Composite(this, composite);
- }
-
- private PropertyValueModel<PersistenceUnit2_0> buildPersistenceUnit2_0Holder() {
- return new PropertyAspectAdapter<Caching, PersistenceUnit2_0>(this.getSubjectHolder()) {
- @Override
- protected PersistenceUnit2_0 buildValue_() {
- return (PersistenceUnit2_0) this.subject.getPersistenceUnit();
- }
- };
- }
-
- private void updateGridData(Composite container) {
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/FlushClearCache2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/FlushClearCache2_0Composite.java
deleted file mode 100644
index 3b528f6142..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/FlushClearCache2_0Composite.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.caching;
-
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.PersistenceUnit2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.SharedCacheMode;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching.FlushClearCacheComposite;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * FlushClearCache2_0Composite
- */
-public class FlushClearCache2_0Composite extends FlushClearCacheComposite
-{
- /**
- * Creates a new <code>FlushClearCache2_0Composite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public FlushClearCache2_0Composite(
- Pane<? extends Caching> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
- super.initializeLayout(parent);
-
- this.installPaneEnabler();
- }
-
- // ********** private methods **********
-
- private void installPaneEnabler() {
- new PaneEnabler(this.buildPaneEnablerHolder(), this);
- }
-
- private PropertyValueModel<Boolean> buildPaneEnablerHolder() {
- return new TransformationPropertyValueModel<SharedCacheMode, Boolean>(this.buildSharedCacheModeHolder()) {
- @Override
- protected Boolean transform(SharedCacheMode value) {
- return value != SharedCacheMode.NONE;
- }
- };
- }
-
- private PropertyValueModel<SharedCacheMode> buildSharedCacheModeHolder() {
- return new PropertyAspectAdapter<PersistenceUnit2_0, SharedCacheMode>(
- this.buildPersistenceUnit2_0Holder(),
- PersistenceUnit2_0.SPECIFIED_SHARED_CACHE_MODE_PROPERTY,
- PersistenceUnit2_0.DEFAULT_SHARED_CACHE_MODE_PROPERTY) {
- @Override
- protected SharedCacheMode buildValue_() {
- return this.subject.getSharedCacheMode();
- }
- };
- }
-
- private PropertyValueModel<PersistenceUnit2_0> buildPersistenceUnit2_0Holder() {
- return new PropertyAspectAdapter<Caching, PersistenceUnit2_0>(this.getSubjectHolder()) {
- @Override
- protected PersistenceUnit2_0 buildValue_() {
- return (PersistenceUnit2_0) this.subject.getPersistenceUnit();
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/PersistenceXmlCaching2_0Tab.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/PersistenceXmlCaching2_0Tab.java
deleted file mode 100644
index 116dc65da4..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/caching/PersistenceXmlCaching2_0Tab.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2009, 2011 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.caching;
-
-import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Caching;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.caching.PersistenceXmlCachingTab;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * PersistenceXmlCaching2_0Tab
- */
-public class PersistenceXmlCaching2_0Tab extends PersistenceXmlCachingTab<Caching>
-{
- public PersistenceXmlCaching2_0Tab(
- PropertyValueModel<Caching> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- new EclipseLinkCaching2_0Composite(this, container);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/customization/EclipseLinkCustomization2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/customization/EclipseLinkCustomization2_0Composite.java
deleted file mode 100644
index ce0de967b9..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/customization/EclipseLinkCustomization2_0Composite.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010, 2011 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.customization;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.customization.EclipseLinkCustomizationComposite;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * EclipseLinkCustomization2_0Composite
- */
-public class EclipseLinkCustomization2_0Composite extends EclipseLinkCustomizationComposite<Customization>
-{
- public EclipseLinkCustomization2_0Composite(
- Pane<Customization> subjectHolder,
- Composite container) {
- super(subjectHolder, container);
- }
-
- @Override
- protected void buildEntityListComposite(Composite parent) {
- // do nothing
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/ConnectionComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/ConnectionComposite.java
deleted file mode 100644
index c2210f96f9..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/ConnectionComposite.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.logging;
-
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging2_0;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * ConnectionComposite
- */
-public class ConnectionComposite extends Pane<Logging2_0>
-{
- /**
- * Creates a new <code>ConnectionComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public ConnectionComposite(
- Pane<? extends Logging2_0> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addTriStateCheckBoxWithDefault(
- container,
- EclipseLinkUiMessages.PersistenceXmlLoggingTab_connectionLabel,
- this.buildConnectionHolder(),
- this.buildConnectionStringHolder(),
- null
-// EclipseLinkHelpContextIds.PERSISTENCE_LOGGING_CONNECTION // TODO
- );
- }
-
- private ModifiablePropertyValueModel<Boolean> buildConnectionHolder() {
- return new PropertyAspectAdapter<Logging2_0, Boolean>(getSubjectHolder(), Logging2_0.CONNECTION_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return this.subject.getConnection();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setConnection(value);
- }
- };
- }
-
- private PropertyValueModel<String> buildConnectionStringHolder() {
- return new TransformationPropertyValueModel<Boolean, String>(this.buildDefaultConnectionHolder()) {
- @Override
- protected String transform(Boolean value) {
- if (value != null) {
- String defaultStringValue = value.booleanValue() ? JptCommonUiMessages.Boolean_True : JptCommonUiMessages.Boolean_False;
- return NLS.bind(EclipseLinkUiMessages.PersistenceXmlLoggingTab_connectionLabelDefault, defaultStringValue);
- }
- return EclipseLinkUiMessages.PersistenceXmlLoggingTab_connectionLabel;
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildDefaultConnectionHolder() {
- return new PropertyAspectAdapter<Logging2_0, Boolean>(
- getSubjectHolder(),
- Logging2_0.CONNECTION_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- if (this.subject.getConnection() != null) {
- return null;
- }
- return this.subject.getDefaultConnection();
- }
- };
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/EclipseLinkCategoryLoggingLevelComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/EclipseLinkCategoryLoggingLevelComposite.java
deleted file mode 100644
index 5192b28283..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/EclipseLinkCategoryLoggingLevelComposite.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.logging;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging2_0;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.LoggingLevel;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * EclipseLinkCategoryLoggingLevelComposite
- */
-public class EclipseLinkCategoryLoggingLevelComposite extends Pane<Logging2_0>
-{
-
- /**
- * Creates a new <code>EclipseLinkCategoryLoggingLevelComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public EclipseLinkCategoryLoggingLevelComposite(
- Pane<Logging2_0> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
- new CategoryLoggingLevelComboViewer(this, parent, Logging2_0.SQL_CATEGORY_LOGGING_PROPERTY, EclipseLinkUiMessages.PersistenceXmlLoggingTab_sqlLoggingLevelLabel);
-
- new CategoryLoggingLevelComboViewer(this, parent, Logging2_0.TRANSACTION_CATEGORY_LOGGING_PROPERTY, EclipseLinkUiMessages.PersistenceXmlLoggingTab_connectionLoggingLevelLabel);
-
- new CategoryLoggingLevelComboViewer(this, parent, Logging2_0.EVENT_CATEGORY_LOGGING_PROPERTY, EclipseLinkUiMessages.PersistenceXmlLoggingTab_eventLoggingLevelLabel);
-
- new CategoryLoggingLevelComboViewer(this, parent, Logging2_0.CONNECTION_CATEGORY_LOGGING_PROPERTY, EclipseLinkUiMessages.PersistenceXmlLoggingTab_connectionLoggingLevelLabel);
-
- new CategoryLoggingLevelComboViewer(this, parent, Logging2_0.QUERY_CATEGORY_LOGGING_PROPERTY, EclipseLinkUiMessages.PersistenceXmlLoggingTab_queryLoggingLevelLabel);
-
- new CategoryLoggingLevelComboViewer(this, parent, Logging2_0.CACHE_CATEGORY_LOGGING_PROPERTY, EclipseLinkUiMessages.PersistenceXmlLoggingTab_cacheLoggingLevelLabel);
-
- new CategoryLoggingLevelComboViewer(this, parent, Logging2_0.PROPAGATION_CATEGORY_LOGGING_PROPERTY, EclipseLinkUiMessages.PersistenceXmlLoggingTab_propagationLoggingLevelLabel);
-
- new CategoryLoggingLevelComboViewer(this, parent, Logging2_0.SEQUENCING_CATEGORY_LOGGING_PROPERTY, EclipseLinkUiMessages.PersistenceXmlLoggingTab_sequencingLoggingLevelLabel);
-
- new CategoryLoggingLevelComboViewer(this, parent, Logging2_0.EJB_CATEGORY_LOGGING_PROPERTY, EclipseLinkUiMessages.PersistenceXmlLoggingTab_ejbLoggingLevelLabel);
-
- new CategoryLoggingLevelComboViewer(this, parent, Logging2_0.DMS_CATEGORY_LOGGING_PROPERTY, EclipseLinkUiMessages.PersistenceXmlLoggingTab_dmsLoggingLevelLabel);
-
- new CategoryLoggingLevelComboViewer(this, parent, Logging2_0.EJB_OR_METADATA_CATEGORY_LOGGING_PROPERTY, EclipseLinkUiMessages.PersistenceXmlLoggingTab_ejb_or_metadataLoggingLevelLabel);
-
- new CategoryLoggingLevelComboViewer(this, parent, Logging2_0.METAMODEL_CATEGORY_LOGGING_PROPERTY, EclipseLinkUiMessages.PersistenceXmlLoggingTab_jpa_metamodelLoggingLevelLabel);
-
- new CategoryLoggingLevelComboViewer(this, parent, Logging2_0.WEAVER_CATEGORY_LOGGING_PROPERTY, EclipseLinkUiMessages.PersistenceXmlLoggingTab_weaverLoggingLevelLabel);
-
- new CategoryLoggingLevelComboViewer(this, parent, Logging2_0.PROPERTIES_CATEGORY_LOGGING_PROPERTY, EclipseLinkUiMessages.PersistenceXmlLoggingTab_propertiesLoggingLevelLabel);
-
- new CategoryLoggingLevelComboViewer(this, parent, Logging2_0.SERVER_CATEGORY_LOGGING_PROPERTY, EclipseLinkUiMessages.PersistenceXmlLoggingTab_serverLoggingLevelLabel);
- }
-
-
-
- private class CategoryLoggingLevelComboViewer extends Pane<Logging2_0>
- {
- private static final String DEFAULT_PROPERTY = Logging2_0.CATEGORIES_DEFAULT_LOGGING_PROPERTY;
- final private String category;
- final private String labelString;
-
- /**
- * Creates a new <code>CategoryLoggingLevelComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public CategoryLoggingLevelComboViewer(
- Pane<? extends Logging2_0> parentComposite,
- Composite parent,
- String property,
- String labelString) {
- super(parentComposite, parent);
-
- this.category = property;
- this.labelString = labelString;
- initializeLayout2(this.getControl());
- }
-
- private EnumFormComboViewer<Logging2_0, LoggingLevel> addLoggingLevelCombo(Composite container) {
- return new EnumFormComboViewer<Logging2_0, LoggingLevel>(this, container) {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(DEFAULT_PROPERTY);
- propertyNames.add(Logging2_0.SQL_CATEGORY_LOGGING_PROPERTY);
- propertyNames.add(Logging2_0.TRANSACTION_CATEGORY_LOGGING_PROPERTY);
- propertyNames.add(Logging2_0.EVENT_CATEGORY_LOGGING_PROPERTY);
- propertyNames.add(Logging2_0.CONNECTION_CATEGORY_LOGGING_PROPERTY);
- propertyNames.add(Logging2_0.QUERY_CATEGORY_LOGGING_PROPERTY);
- propertyNames.add(Logging2_0.CACHE_CATEGORY_LOGGING_PROPERTY);
- propertyNames.add(Logging2_0.PROPAGATION_CATEGORY_LOGGING_PROPERTY);
- propertyNames.add(Logging2_0.SEQUENCING_CATEGORY_LOGGING_PROPERTY);
- propertyNames.add(Logging2_0.EJB_CATEGORY_LOGGING_PROPERTY);
- propertyNames.add(Logging2_0.DMS_CATEGORY_LOGGING_PROPERTY);
- propertyNames.add(Logging2_0.EJB_OR_METADATA_CATEGORY_LOGGING_PROPERTY);
- propertyNames.add(Logging2_0.METAMODEL_CATEGORY_LOGGING_PROPERTY);
- propertyNames.add(Logging2_0.WEAVER_CATEGORY_LOGGING_PROPERTY);
- propertyNames.add(Logging2_0.PROPERTIES_CATEGORY_LOGGING_PROPERTY);
- propertyNames.add(Logging2_0.SERVER_CATEGORY_LOGGING_PROPERTY);
- }
-
- @Override
- protected LoggingLevel[] getChoices() {
- return LoggingLevel.values();
- }
-
- @Override
- protected boolean sortChoices() {
- return false;
- }
-
- @Override
- protected LoggingLevel getDefaultValue() {
- return this.getSubject().getCategoriesDefaultLevel();
- }
-
- @Override
- protected String displayString(LoggingLevel value) {
- switch (value) {
- case all :
- return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_all;
- case config :
- return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_config;
- case fine :
- return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_fine;
- case finer :
- return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_finer;
- case finest :
- return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_finest;
- case info :
- return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_info;
- case off :
- return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_off;
- case severe :
- return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_severe;
- case warning :
- return EclipseLinkUiMessages.EclipseLinkCategoryLoggingLevelComposite_warning;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected LoggingLevel getValue() {
- return this.getSubject().getLevel(category);
- }
-
- @Override
- protected void setValue(LoggingLevel value) {
- this.getSubject().setLevel(category, value);
- }
-
- @Override
- protected void propertyChanged(String propertyName) {
- if( propertyName != category && propertyName != DEFAULT_PROPERTY) return;
- super.propertyChanged(propertyName);
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- // see initializeLayout2
- }
-
- protected void initializeLayout2(Composite parent) {
- this.addLabeledComposite(
- parent,
- this.labelString,
- this.addLoggingLevelCombo(parent),
- null // TODO
- );
- }
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/EclipseLinkLogging2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/EclipseLinkLogging2_0Composite.java
deleted file mode 100644
index 7503618004..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/EclipseLinkLogging2_0Composite.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.logging;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging2_0;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.logging.EclipseLinkLoggingComposite;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * EclipseLinkLogging2_0Composite
- */
-public class EclipseLinkLogging2_0Composite extends EclipseLinkLoggingComposite<Logging2_0>
-{
-
- public EclipseLinkLogging2_0Composite(
- Pane<Logging2_0> subjectHolder,
- Composite container) {
- super(subjectHolder, container);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
- super.initializeLayout(parent);
-
- Composite categoryLoggingSection = this.addCollapsibleSubSection(
- this.addSubPane(parent, 0, 16),
- EclipseLinkUiMessages.PersistenceXmlLoggingTab_categoryLoggingLevelSectionTitle,
- new SimplePropertyValueModel<Boolean>(Boolean.FALSE)
- );
-
- this.addCategoryLoggingLevelComposite(categoryLoggingSection);
- }
-
- protected void addCategoryLoggingLevelComposite(Composite parent) {
- new EclipseLinkCategoryLoggingLevelComposite(this, parent);
- }
-
- @Override
- protected void logPropertiesComposite(Composite parent) {
- super.logPropertiesComposite(parent);
-
- // Connection:
- new ConnectionComposite(this, parent);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/PersistenceXmlLogging2_0Tab.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/PersistenceXmlLogging2_0Tab.java
deleted file mode 100644
index ec4bc98e30..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/logging/PersistenceXmlLogging2_0Tab.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2009, 2011 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.logging;
-
-import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging2_0;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.logging.PersistenceXmlLoggingTab;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * PersistenceXmlLogging2_0Tab
- */
-public class PersistenceXmlLogging2_0Tab extends PersistenceXmlLoggingTab<Logging2_0>
-{
- // ********** constructors/initialization **********
- public PersistenceXmlLogging2_0Tab(
- PropertyValueModel<Logging2_0> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- new EclipseLinkLogging2_0Composite(this, container);
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/EclipseLinkOptions2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/EclipseLinkOptions2_0Composite.java
deleted file mode 100644
index 4f52bbd266..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/EclipseLinkOptions2_0Composite.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2009, 2011 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.options;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options2_0;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options.EclipseLinkOptionsComposite;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * EclipseLinkOptions2_0Composite
- */
-public class EclipseLinkOptions2_0Composite extends EclipseLinkOptionsComposite<Options2_0>
-{
- public EclipseLinkOptions2_0Composite(
- Pane<Options2_0> subjectHolder,
- Composite container) {
- super(subjectHolder, container);
- }
-
- @Override
- protected Composite initializeMiscellaneousPane(Composite container) {
- Composite composite = super.initializeMiscellaneousPane(container);
-
- new LockingConfigurationComposite(this, composite);
- new QueryConfigurationComposite(this, composite);
- new ValidationConfigurationComposite(this, composite);
- return composite;
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/LockingConfigurationComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/LockingConfigurationComposite.java
deleted file mode 100644
index 19656f8129..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/LockingConfigurationComposite.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.options;
-
-import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options2_0;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * LockingConfigurationComposite
- */
-public class LockingConfigurationComposite extends Pane<Options2_0>
-{
- /**
- * Creates a new <code>LockingConfigurationComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public LockingConfigurationComposite(
- Pane<Options2_0> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- addLockTimeoutCombo(container);
- }
-
- private void addLockTimeoutCombo(Composite container) {
- new IntegerCombo<Options2_0>(this, container) {
-
- @Override
- protected String getLabelText() {
- return JptUiPersistence2_0Messages.LockingConfigurationComposite_lockTimeoutLabel;
- }
-
- @Override
- protected String getHelpId() {
- return null; // TODO
- }
-
- @Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<Options2_0, Integer>(this.getSubjectHolder()) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getDefaultLockTimeout();
- }
- };
- }
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<Options2_0, Integer>(this.getSubjectHolder(), Options2_0.LOCK_TIMEOUT_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getLockTimeout();
- }
-
- @Override
- protected void setValue_(Integer value) {
- this.subject.setLockTimeout(value);
- }
- };
- }
- };
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/PersistenceXmlOptions2_0Tab.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/PersistenceXmlOptions2_0Tab.java
deleted file mode 100644
index 8a556e1169..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/PersistenceXmlOptions2_0Tab.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2009, 2011 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.options;
-
-import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options2_0;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.persistence.options.PersistenceXmlOptionsTab;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * PersistenceXmlOptions2_0Tab
- */
-public class PersistenceXmlOptions2_0Tab extends PersistenceXmlOptionsTab<Options2_0>
-{
- // ********** constructors/initialization **********
- public PersistenceXmlOptions2_0Tab(
- PropertyValueModel<Options2_0> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- new EclipseLinkOptions2_0Composite(this, container);
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/QueryConfigurationComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/QueryConfigurationComposite.java
deleted file mode 100644
index 994dc7bc6b..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/QueryConfigurationComposite.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.options;
-
-import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options2_0;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * QueryConfigurationComposite
- */
-public class QueryConfigurationComposite extends Pane<Options2_0>
-{
- /**
- * Creates a new <code>QueryConfigurationComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public QueryConfigurationComposite(
- Pane<Options2_0> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- this.addQueryTimeoutCombo(container);
- }
-
- private void addQueryTimeoutCombo(Composite container) {
- new IntegerCombo<Options2_0>(this, container) {
-
- @Override
- protected String getLabelText() {
- return JptUiPersistence2_0Messages.QueryConfigurationComposite_queryTimeoutLabel;
- }
-
- @Override
- protected String getHelpId() {
- return null; // TODO
- }
-
- @Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<Options2_0, Integer>(this.getSubjectHolder()) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getDefaultQueryTimeout();
- }
- };
- }
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<Options2_0, Integer>(this.getSubjectHolder(), Options2_0.QUERY_TIMEOUT_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getQueryTimeout();
- }
-
- @Override
- protected void setValue_(Integer value) {
- this.subject.setQueryTimeout(value);
- }
- };
- }
- };
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/ValidationConfigurationComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/ValidationConfigurationComposite.java
deleted file mode 100644
index d7847c4ce3..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/ValidationConfigurationComposite.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.options;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-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.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
-import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.PersistenceUnit2_0;
-import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Options2_0;
-import org.eclipse.jpt.jpa.eclipselink.ui.JptJpaEclipseLinkUiPlugin;
-import org.eclipse.jpt.jpa.eclipselink.ui.internal.EclipseLinkUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.progress.IProgressService;
-
-/**
- * ValidationConfigurationComposite
- */
-public class ValidationConfigurationComposite extends Pane<Options2_0>
-{
- /**
- * Creates a new <code>ValidationGroupComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public ValidationConfigurationComposite(
- Pane<Options2_0> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
-
- // ValidationMode
- new ValidationModeComposite(this, this.buildPersistenceUnit2_0Holder(), parent);
-
- // ValidationGroupPrePersist
- this.addGroupPrePersistListPane(parent);
-
- // ValidationGroupPreUpdate
- this.addGroupPreUpdateListPane(parent);
-
- // ValidationGroupPreRemove
- this.addGroupPreRemoveListPane(parent);
- }
-
- // ********** ValidationGroupPrePersists **********
-
- private void addGroupPrePersistListPane(Composite parent) {
-
- this.addLabeledComposite(parent,
- JptUiPersistence2_0Messages.ValidationConfigurationComposite_groupPrePersistLabel,
- this.addPrePersistListPane(parent),
- null // TODO Help
- );
- }
-
- private AddRemoveListPane<Options2_0> addPrePersistListPane(Composite parent) {
-
- // List pane
- AddRemoveListPane<Options2_0> listPane = new AddRemoveListPane<Options2_0>(
- this,
- parent,
- this.buildPrePersistAdapter(),
- this.buildPrePersistListHolder(),
- this.buildSelectedItemHolder(),
- this.buildLabelProvider()
- )
- {
- @Override
- protected void initializeTable(Table table) {
- super.initializeTable(table);
-
- Composite container = table.getParent();
- GridData gridData = (GridData) container.getLayoutData();
- gridData.heightHint = 75;
- }
- };
- return listPane;
- }
-
- private Adapter buildPrePersistAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addPrePersistClass(listSelectionModel);
- }
-
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- getSubject().removeValidationGroupPrePersist((String) item);
- }
- }
- };
- }
-
- private ListValueModel<String> buildPrePersistListHolder() {
- return new ListAspectAdapter<Options2_0, String>(getSubjectHolder(), Options2_0.VALIDATION_GROUP_PRE_PERSIST_LIST) {
- @Override
- protected ListIterable<String> getListIterable() {
- return subject.getValidationGroupPrePersists();
- }
-
- @Override
- protected int size_() {
- return subject.getValidationGroupPrePersistsSize();
- }
- };
- }
-
- private void addPrePersistClass(ObjectListSelectionModel listSelectionModel) {
-
- IType type = this.chooseType();
-
- if (type != null) {
- String className = type.getFullyQualifiedName('$');
- if( ! this.getSubject().validationGroupPrePersistExists(className)) {
-
- String classRef = this.getSubject().addValidationGroupPrePersist(className);
- listSelectionModel.setSelectedValue(classRef);
- }
- }
- }
-
- // ********** ValidationGroupPreUpdates **********
-
- private void addGroupPreUpdateListPane(Composite parent) {
-
- this.addLabeledComposite(parent,
- JptUiPersistence2_0Messages.ValidationConfigurationComposite_groupPreUpdateLabel,
- this.addPreUpdateListPane(parent),
- null // TODO Help
- );
- }
-
- private AddRemoveListPane<Options2_0> addPreUpdateListPane(Composite parent) {
-
- // List pane
- AddRemoveListPane<Options2_0> listPane = new AddRemoveListPane<Options2_0>(
- this,
- parent,
- this.buildPreUpdateAdapter(),
- this.buildPreUpdateListHolder(),
- this.buildSelectedItemHolder(),
- this.buildLabelProvider()
- )
- {
- @Override
- protected void initializeTable(Table table) {
- super.initializeTable(table);
-
- Composite container = table.getParent();
- GridData gridData = (GridData) container.getLayoutData();
- gridData.heightHint = 75;
- }
- };
- return listPane;
- }
-
- private Adapter buildPreUpdateAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addPreUpdateClass(listSelectionModel);
- }
-
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- getSubject().removeValidationGroupPreUpdate((String) item);
- }
- }
- };
- }
-
- private ListValueModel<String> buildPreUpdateListHolder() {
- return new ListAspectAdapter<Options2_0, String>(getSubjectHolder(), Options2_0.VALIDATION_GROUP_PRE_UPDATE_LIST) {
- @Override
- protected ListIterable<String> getListIterable() {
- return subject.getValidationGroupPreUpdates();
- }
-
- @Override
- protected int size_() {
- return subject.getValidationGroupPreUpdatesSize();
- }
- };
- }
-
- private void addPreUpdateClass(ObjectListSelectionModel listSelectionModel) {
-
- IType type = this.chooseType();
-
- if (type != null) {
- String className = type.getFullyQualifiedName('$');
- if( ! this.getSubject().validationGroupPreUpdateExists(className)) {
-
- String classRef = this.getSubject().addValidationGroupPreUpdate(className);
- listSelectionModel.setSelectedValue(classRef);
- }
- }
- }
-
- // ********** ValidationGroupPreRemoves **********
-
- private void addGroupPreRemoveListPane(Composite parent) {
-
- this.addLabeledComposite(parent,
- JptUiPersistence2_0Messages.ValidationConfigurationComposite_groupPreRemoveLabel,
- this.addPreRemoveListPane(parent),
- null // TODO Help
- );
- }
-
- private AddRemoveListPane<Options2_0> addPreRemoveListPane(Composite parent) {
-
- // List pane
- AddRemoveListPane<Options2_0> listPane = new AddRemoveListPane<Options2_0>(
- this,
- parent,
- this.buildPreRemoveAdapter(),
- this.buildPreRemoveListHolder(),
- this.buildSelectedItemHolder(),
- this.buildLabelProvider()
- )
- {
- @Override
- protected void initializeTable(Table table) {
- super.initializeTable(table);
-
- Composite container = table.getParent();
- GridData gridData = (GridData) container.getLayoutData();
- gridData.heightHint = 75;
- }
- };
- return listPane;
- }
-
- private Adapter buildPreRemoveAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addPreRemoveClass(listSelectionModel);
- }
-
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- getSubject().removeValidationGroupPreRemove((String) item);
- }
- }
- };
- }
-
- private ListValueModel<String> buildPreRemoveListHolder() {
- return new ListAspectAdapter<Options2_0, String>(getSubjectHolder(), Options2_0.VALIDATION_GROUP_PRE_REMOVE_LIST) {
- @Override
- protected ListIterable<String> getListIterable() {
- return subject.getValidationGroupPreRemoves();
- }
-
- @Override
- protected int size_() {
- return subject.getValidationGroupPreRemovesSize();
- }
- };
- }
-
- private void addPreRemoveClass(ObjectListSelectionModel listSelectionModel) {
-
- IType type = this.chooseType();
-
- if (type != null) {
- String className = type.getFullyQualifiedName('$');
- if( ! this.getSubject().validationGroupPreRemoveExists(className)) {
-
- String classRef = this.getSubject().addValidationGroupPreRemove(className);
- listSelectionModel.setSelectedValue(classRef);
- }
- }
- }
-
-
- // ********** Private methods **********
-
- private ILabelProvider buildLabelProvider() {
- return new LabelProvider() {
-
- @Override
- public String getText(Object element) {
- String name = (String) element;
-
- if (name == null) {
- name = EclipseLinkUiMessages.PersistenceXmlOptionsTab_noName;
- }
- return name;
- }
- };
- }
-
- /**
- * Prompts the user the Open Type dialog.
- *
- * @return Either the selected type or <code>null</code> if the user
- * canceled the dialog
- */
- private IType chooseType() {
- IJavaProject javaProject = this.getSubject().getJpaProject().getJavaProject();
- IJavaElement[] elements = new IJavaElement[] { javaProject };
- IJavaSearchScope scope = SearchEngine.createJavaSearchScope(elements);
- IProgressService service = PlatformUI.getWorkbench().getProgressService();
- SelectionDialog typeSelectionDialog;
-
- try {
- typeSelectionDialog = JavaUI.createTypeDialog(
- getShell(),
- service,
- scope,
- IJavaElementSearchConstants.CONSIDER_CLASSES,
- false,
- ""
- );
- }
- catch (JavaModelException e) {
- JptJpaEclipseLinkUiPlugin.log(e);
- return null;
- }
-
- typeSelectionDialog.setTitle(JptCommonUiMessages.ClassChooserPane_dialogTitle);
- typeSelectionDialog.setMessage(JptCommonUiMessages.ClassChooserPane_dialogMessage);
-
- if (typeSelectionDialog.open() == Window.OK) {
- return (IType) typeSelectionDialog.getResult()[0];
- }
-
- return null;
- }
-
- private ModifiablePropertyValueModel<String> buildSelectedItemHolder() {
- return new SimplePropertyValueModel<String>();
- }
-
- private PropertyValueModel<PersistenceUnit2_0> buildPersistenceUnit2_0Holder() {
- return new TransformationPropertyValueModel<Options2_0, PersistenceUnit2_0>(this.getSubjectHolder()) {
- @Override
- protected PersistenceUnit2_0 transform_(Options2_0 value) {
- return (PersistenceUnit2_0) value.getPersistenceUnit();
- }
- };
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/ValidationModeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/ValidationModeComposite.java
deleted file mode 100644
index d8623bd0c5..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/v2_0/persistence/options/ValidationModeComposite.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.ui.internal.v2_0.persistence.options;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.PersistenceUnit2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.ValidationMode;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * ValidationModeComposite
- */
-public class ValidationModeComposite extends Pane<PersistenceUnit2_0>
-{
- /**
- * Creates a new <code>ValidationModeComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public ValidationModeComposite(
- Pane<?> parentPane,
- PropertyValueModel<? extends PersistenceUnit2_0> subjectHolder,
- Composite parent) {
-
- super(parentPane, subjectHolder, parent);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
- this.addLabeledComposite(
- parent,
- JptUiPersistence2_0Messages.ValidationModeComposite_validationModeLabel,
- this.addValidationModeCombo(parent),
- null // TODO
- );
- }
-
- private EnumFormComboViewer<PersistenceUnit2_0, ValidationMode> addValidationModeCombo(Composite parent) {
-
- return new EnumFormComboViewer<PersistenceUnit2_0, ValidationMode>(this, this.getSubjectHolder(), parent) {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(PersistenceUnit2_0.SPECIFIED_VALIDATION_MODE_PROPERTY);
- }
-
- @Override
- protected ValidationMode[] getChoices() {
- return ValidationMode.values();
- }
-
- @Override
- protected boolean sortChoices() {
- return false;
- }
-
- @Override
- protected ValidationMode getDefaultValue() {
- return this.getSubject().getDefaultValidationMode();
- }
-
- @Override
- protected String displayString(ValidationMode value) {
- switch (value) {
- case AUTO :
- return JptUiPersistence2_0Messages.ValidationModeComposite_auto;
- case CALLBACK :
- return JptUiPersistence2_0Messages.ValidationModeComposite_callback;
- case NONE :
- return JptUiPersistence2_0Messages.ValidationModeComposite_none;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected ValidationMode getValue() {
- return this.getSubject().getSpecifiedValidationMode();
- }
-
- @Override
- protected void setValue(ValidationMode value) {
- this.getSubject().setSpecifiedValidationMode(value);
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/META-INF/MANIFEST.MF b/jpa/plugins/org.eclipse.jpt.jpa.ui/META-INF/MANIFEST.MF
index 3a2f3b7f58..5ded5941f2 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/META-INF/MANIFEST.MF
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/META-INF/MANIFEST.MF
@@ -51,6 +51,7 @@ Export-Package: org.eclipse.jpt.jpa.ui,
org.eclipse.jpt.jpa.ui.details,
org.eclipse.jpt.jpa.ui.details.java,
org.eclipse.jpt.jpa.ui.details.orm,
+ org.eclipse.jpt.jpa.ui.editors,
org.eclipse.jpt.jpa.ui.internal;x-internal:=true,
org.eclipse.jpt.jpa.ui.internal.actions;x-internal:=true,
org.eclipse.jpt.jpa.ui.internal.commands;x-internal:=true,
@@ -66,15 +67,12 @@ Export-Package: org.eclipse.jpt.jpa.ui,
org.eclipse.jpt.jpa.ui.internal.jpa2.details.java;x-internal:=true,
org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm;x-internal:=true,
org.eclipse.jpt.jpa.ui.internal.jpa2.persistence;x-internal:=true,
- org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.connection;x-internal:=true,
- org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.options;x-internal:=true,
org.eclipse.jpt.jpa.ui.internal.jpa2.platform.generic;x-internal:=true,
org.eclipse.jpt.jpa.ui.internal.jpql;x-internal:=true,
org.eclipse.jpt.jpa.ui.internal.listeners;x-internal:=true,
org.eclipse.jpt.jpa.ui.internal.menus;x-internal:=true,
org.eclipse.jpt.jpa.ui.internal.navigator;x-internal:=true,
org.eclipse.jpt.jpa.ui.internal.persistence;x-internal:=true,
- org.eclipse.jpt.jpa.ui.internal.persistence.details;x-internal:=true,
org.eclipse.jpt.jpa.ui.internal.perspective;x-internal:=true,
org.eclipse.jpt.jpa.ui.internal.platform;x-internal:=true,
org.eclipse.jpt.jpa.ui.internal.platform.base;x-internal:=true,
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/JpaPlatformUi.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/JpaPlatformUi.java
index 4cae15da39..dc8d458fc9 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/JpaPlatformUi.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/JpaPlatformUi.java
@@ -111,6 +111,7 @@ public interface JpaPlatformUi {
String mappingKey,
Composite parent,
PropertyValueModel<AttributeMapping> mappingHolder,
+ PropertyValueModel<Boolean> enabledModel,
WidgetFactory widgetFactory);
DefaultMappingUiDefinition<ReadOnlyPersistentAttribute, ? extends AttributeMapping>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/MappingResourceUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/MappingResourceUiDefinition.java
index 3f18490732..4ff92e64e8 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/MappingResourceUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/MappingResourceUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -37,7 +37,9 @@ public interface MappingResourceUiDefinition extends ResourceUiDefinition
JpaComposite buildAttributeMappingComposite(
String key,
PropertyValueModel<AttributeMapping> mappingHolder,
- Composite parent, WidgetFactory widgetFactory);
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory);
/**
* Return an iterator of attribute mapping ui definitions appropriate for this file type
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/PersistenceXmlResourceUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/PersistenceXmlResourceUiDefinition.java
index c1d4ab6225..14d85ea95e 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/PersistenceXmlResourceUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/PersistenceXmlResourceUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -13,7 +13,7 @@ import java.util.ListIterator;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
import org.eclipse.swt.widgets.Composite;
/**
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/JpaComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/JpaComposite.java
index 45a34c1b6c..d0da39714d 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/JpaComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/JpaComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2005, 2012 Oracle. 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.
@@ -31,14 +31,6 @@ public interface JpaComposite {
Control getControl();
/**
- * Changes the enablement state of the widgets of this pane.
- *
- * @param enabled <code>true</code> to enable the widgets or <code>false</code>
- * to disable them
- */
- void enableWidgets(boolean enabled);
-
- /**
* Notifies this composite it should dispose any resources.
*/
void dispose();
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/java/JavaAttributeMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/java/JavaAttributeMappingUiDefinition.java
index eca73a692a..5dbbfa1c76 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/java/JavaAttributeMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/java/JavaAttributeMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -43,6 +43,7 @@ public interface JavaAttributeMappingUiDefinition<T extends AttributeMapping>
JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<T> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/java/JavaUiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/java/JavaUiFactory.java
index f3f86666af..7e8a111122 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/java/JavaUiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/java/JavaUiFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -142,6 +142,7 @@ public interface JavaUiFactory
*/
JpaComposite createJavaIdMappingComposite(
PropertyValueModel<JavaIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -155,6 +156,7 @@ public interface JavaUiFactory
*/
JpaComposite createJavaEmbeddedIdMappingComposite(
PropertyValueModel<JavaEmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -168,6 +170,7 @@ public interface JavaUiFactory
*/
JpaComposite createJavaBasicMappingComposite(
PropertyValueModel<JavaBasicMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -181,6 +184,7 @@ public interface JavaUiFactory
*/
JpaComposite createJavaVersionMappingComposite(
PropertyValueModel<JavaVersionMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -194,6 +198,7 @@ public interface JavaUiFactory
*/
JpaComposite createJavaManyToOneMappingComposite(
PropertyValueModel<JavaManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -207,6 +212,7 @@ public interface JavaUiFactory
*/
JpaComposite createJavaOneToManyMappingComposite(
PropertyValueModel<JavaOneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -220,6 +226,7 @@ public interface JavaUiFactory
*/
JpaComposite createJavaOneToOneMappingComposite(
PropertyValueModel<JavaOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -233,6 +240,7 @@ public interface JavaUiFactory
*/
JpaComposite createJavaManyToManyMappingComposite(
PropertyValueModel<JavaManyToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -246,6 +254,7 @@ public interface JavaUiFactory
*/
JpaComposite createJavaEmbeddedMappingComposite(
PropertyValueModel<JavaEmbeddedMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -259,6 +268,7 @@ public interface JavaUiFactory
*/
JpaComposite createJavaTransientMappingComposite(
PropertyValueModel<JavaTransientMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/orm/OrmAttributeMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/orm/OrmAttributeMappingUiDefinition.java
index 2c5861fbe6..a3fb5478e0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/orm/OrmAttributeMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/orm/OrmAttributeMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -43,6 +43,7 @@ public interface OrmAttributeMappingUiDefinition<T extends AttributeMapping>
JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<T> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/orm/OrmXmlUiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/orm/OrmXmlUiFactory.java
index 6c1eaf975e..1bb2548373 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/orm/OrmXmlUiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/orm/OrmXmlUiFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -98,6 +98,7 @@ public interface OrmXmlUiFactory
*/
JpaComposite createOrmIdMappingComposite(
PropertyValueModel<OrmIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -111,6 +112,7 @@ public interface OrmXmlUiFactory
*/
JpaComposite createOrmEmbeddedIdMappingComposite(
PropertyValueModel<OrmEmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -124,6 +126,7 @@ public interface OrmXmlUiFactory
*/
JpaComposite createOrmBasicMappingComposite(
PropertyValueModel<OrmBasicMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -137,6 +140,7 @@ public interface OrmXmlUiFactory
*/
JpaComposite createOrmVersionMappingComposite(
PropertyValueModel<OrmVersionMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -150,6 +154,7 @@ public interface OrmXmlUiFactory
*/
JpaComposite createOrmManyToOneMappingComposite(
PropertyValueModel<OrmManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -163,6 +168,7 @@ public interface OrmXmlUiFactory
*/
JpaComposite createOrmOneToManyMappingComposite(
PropertyValueModel<OrmOneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -176,6 +182,7 @@ public interface OrmXmlUiFactory
*/
JpaComposite createOrmOneToOneMappingComposite(
PropertyValueModel<OrmOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -189,6 +196,7 @@ public interface OrmXmlUiFactory
*/
JpaComposite createOrmManyToManyMappingComposite(
PropertyValueModel<OrmManyToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -202,6 +210,7 @@ public interface OrmXmlUiFactory
*/
JpaComposite createOrmEmbeddedMappingComposite(
PropertyValueModel<OrmEmbeddedMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
@@ -215,6 +224,7 @@ public interface OrmXmlUiFactory
*/
JpaComposite createOrmTransientMappingComposite(
PropertyValueModel<OrmTransientMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/JpaPageComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/editors/JpaPageComposite.java
index 7a28e81d88..e0031ae4d6 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/JpaPageComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/editors/JpaPageComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2005, 2012 Oracle. 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.
@@ -7,9 +7,10 @@
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
-package org.eclipse.jpt.jpa.ui.details;
+package org.eclipse.jpt.jpa.ui.editors;
import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jpt.jpa.ui.details.JpaComposite;
/**
* A {@link JpaPageComposite} defines the common behavior of the JPA
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/GenericJpaPlatformUiProvider.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/GenericJpaPlatformUiProvider.java
index 03077a3de2..3cffe86bc5 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/GenericJpaPlatformUiProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/GenericJpaPlatformUiProvider.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -20,7 +20,7 @@ import org.eclipse.jpt.jpa.ui.internal.details.orm.EntityMappingsDetailsProvider
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPersistentAttributeDetailsProvider;
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPersistentTypeDetailsProvider;
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmXmlUiDefinition;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.PersistenceXmlUiDefinition;
+import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceXmlUiDefinition;
/**
* All the state in the JPA platform should be "static" (i.e. unchanging once
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractBasicMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractBasicMappingComposite.java
index b3928aedde..2445dd1477 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractBasicMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractBasicMappingComposite.java
@@ -12,7 +12,6 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
@@ -25,9 +24,13 @@ import org.eclipse.jpt.jpa.core.context.LobConverter;
import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
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.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -67,11 +70,11 @@ import org.eclipse.swt.widgets.Composite;
*
* @see BasicMapping
* @see ColumnComposite
- * @see EnumTypeComposite
- * @see FetchTypeComposite
+ * @see EnumTypeComboViewer
+ * @see FetchTypeComboViewer
* @see LobComposite
- * @see OptionalComposite
- * @see TemporalTypeComposite
+ * @see OptionalTriStateCheckBox
+ * @see TemporalTypeCombo
*
* @version 2.3
* @since 1.0
@@ -88,10 +91,11 @@ public abstract class AbstractBasicMappingComposite<T extends BasicMapping>
* @param widgetFactory The factory used to create various common widgets
*/
protected AbstractBasicMappingComposite(PropertyValueModel<? extends T> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
@@ -101,31 +105,48 @@ public abstract class AbstractBasicMappingComposite<T extends BasicMapping>
}
protected void initializeBasicCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.BasicSection_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE)
- );
-
- this.initializeBasicSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.BasicSection_title);
+ section.setExpanded(true);
+ section.setClient(this.initializeBasicSection(section));
}
- protected void initializeBasicSection(Composite container) {
- new ColumnComposite(this, buildColumnHolder(), container);
- new FetchTypeComposite(this, container);
- new OptionalComposite(this, addSubPane(container, 4));
+ protected Control initializeBasicSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ ColumnComposite columnComposite = new ColumnComposite(this, buildColumnHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ columnComposite.getControl().setLayoutData(gridData);
+
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
}
protected void initializeTypeCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.TypeSection_type
- );
- this.initializeTypeSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.TypeSection_type);
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(AbstractBasicMappingComposite.this.initializeTypeSection(section));
+ }
+ }
+ });
}
- protected void initializeTypeSection(Composite container) {
- ((GridLayout) container.getLayout()).numColumns = 2;
+ protected Control initializeTypeSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
// No converter
Button noConverterButton = addRadioButton(
@@ -150,7 +171,7 @@ public abstract class AbstractBasicMappingComposite<T extends BasicMapping>
JptUiDetailsMessages.TypeSection_temporal,
buildConverterBooleanHolder(BaseTemporalConverter.class),
null);
- registerSubPane(new TemporalTypeComposite(buildTemporalConverterHolder(converterHolder), container, getWidgetFactory()));
+ registerSubPane(new TemporalTypeCombo(buildTemporalConverterHolder(converterHolder), getEnabledModel(), container, getWidgetFactory()));
// Enumerated
@@ -159,7 +180,8 @@ public abstract class AbstractBasicMappingComposite<T extends BasicMapping>
JptUiDetailsMessages.TypeSection_enumerated,
buildConverterBooleanHolder(BaseEnumeratedConverter.class),
null);
- registerSubPane(new EnumTypeComposite(buildEnumeratedConverterHolder(converterHolder), container, getWidgetFactory()));
+ registerSubPane(new EnumTypeComboViewer(buildEnumeratedConverterHolder(converterHolder), getEnabledModel(), container, getWidgetFactory()));
+ return container;
}
protected PropertyValueModel<Column> buildColumnHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddableComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddableComposite.java
index cd59441aea..d9dd837b94 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddableComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddableComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -11,12 +11,15 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.Embeddable;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.details.java.JavaUiFactory;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* This pane does not have any widgets.
@@ -45,22 +48,16 @@ public abstract class AbstractEmbeddableComposite<T extends Embeddable>
super(subjectHolder, parent, widgetFactory);
}
-
- @Override
- protected void initializeLayout(Composite container) {
- }
protected void initializeEmbeddableCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.EmbeddableSection_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE)
- );
-
- this.initializeEmbeddableSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.EmbeddableSection_title);
+ section.setExpanded(true);
+ section.setClient(this.initializeEmbeddableSection(section));
}
- protected void initializeEmbeddableSection(Composite container) {
-
+ protected Control initializeEmbeddableSection(Composite container) {
+ throw new UnsupportedOperationException();
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddedIdMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddedIdMappingComposite.java
index 0fc0e5137b..71a212efe1 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddedIdMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddedIdMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -11,11 +11,14 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
public abstract class AbstractEmbeddedIdMappingComposite<T extends EmbeddedIdMapping>
extends Pane<T>
@@ -23,26 +26,26 @@ public abstract class AbstractEmbeddedIdMappingComposite<T extends EmbeddedIdMap
{
protected AbstractEmbeddedIdMappingComposite(
PropertyValueModel<? extends T> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
-
-
+
@Override
protected void initializeLayout(Composite container) {
- initializeEmbeddedIdCollapsibleSection(container);
+ this.initializeEmbeddedIdCollapsibleSection(container);
}
-
+
protected void initializeEmbeddedIdCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.EmbeddedIdSection_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
-
- this.initializeEmbeddedIdSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.EmbeddedIdSection_title);
+ section.setClient(this.initializeEmbeddedIdSection(section));
+ section.setExpanded(true);
}
-
- protected abstract void initializeEmbeddedIdSection(Composite container);
+
+ protected abstract Control initializeEmbeddedIdSection(Composite container);
+
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddedMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddedMappingComposite.java
index 8aedf8ec83..a490743948 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddedMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddedMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -11,11 +11,14 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.EmbeddedMapping;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -45,10 +48,11 @@ public abstract class AbstractEmbeddedMappingComposite<T extends EmbeddedMapping
* @param widgetFactory The factory used to create various common widgets
*/
protected AbstractEmbeddedMappingComposite(PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
@@ -57,19 +61,18 @@ public abstract class AbstractEmbeddedMappingComposite<T extends EmbeddedMapping
}
protected void initializeEmbeddedCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.EmbeddedSection_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE)
- );
-
- this.initializeEmbeddedSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.EmbeddedSection_title);
+ section.setClient(this.initializeEmbeddedSection(section));
+ section.setExpanded(true);
}
- protected void initializeEmbeddedSection(Composite container) {
- new EmbeddedMappingOverridesComposite(
- this,
- container
- );
+ protected Control initializeEmbeddedSection(Composite container) {
+ //a Section having a Group as its client causes exceptions. EmbeddedMappingOverridesComposite
+ //uses a Group as its 'control' so I am adding an extra composite here.
+ container = this.addSubPane(container);
+ new EmbeddedMappingOverridesComposite(this, container);
+ return container;
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddedMappingOverridesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddedMappingOverridesComposite.java
index 8311fd4897..d7df150650 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddedMappingOverridesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEmbeddedMappingOverridesComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -26,7 +26,13 @@ public abstract class AbstractEmbeddedMappingOverridesComposite<T extends BaseEm
super(parentPane, parent);
}
-
+ @Override
+ protected Composite addComposite(Composite container) {
+ return addTitledGroup(
+ container,
+ JptUiDetailsMessages.OverridesComposite_attributeOverridesGroup);
+ }
+
@Override
protected PropertyValueModel<AttributeOverrideContainer> buildAttributeOverrideContainerHolder() {
return new PropertyAspectAdapter<T, AttributeOverrideContainer>(getSubjectHolder()) {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEntityComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEntityComposite.java
index 56219a0784..d0fa283b25 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEntityComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractEntityComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -12,14 +12,20 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.Entity;
import org.eclipse.jpt.jpa.core.context.GeneratorContainer;
import org.eclipse.jpt.jpa.core.context.IdClassReference;
import org.eclipse.jpt.jpa.core.context.QueryContainer;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -78,7 +84,6 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see Entity
- * @see EntityNameComposite
* @see InheritanceComposite
* @see IdClassComposite
* @see EntityOverridesComposite
@@ -108,12 +113,7 @@ public abstract class AbstractEntityComposite<T extends Entity>
super(subjectHolder, parent, widgetFactory);
}
-
-
- protected abstract void initializeSecondaryTablesSection(Composite container);
-
- protected abstract void initializeInheritanceSection(Composite container);
-
+
@Override
protected void initializeLayout(Composite container) {
this.initializeEntityCollapsibleSection(container);
@@ -125,19 +125,31 @@ public abstract class AbstractEntityComposite<T extends Entity>
}
protected void initializeEntityCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.EntitySection_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE)
- );
-
- this.initializeEntitySection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.EntitySection_title);
+ section.setExpanded(true);
+ section.setClient(this.initializeEntitySection(section));
}
- protected void initializeEntitySection(Composite container) {
- new TableComposite(this, container);
- new EntityNameComposite(this, container);
- new IdClassComposite(this, buildIdClassReferenceHolder(), container);
+ protected Control initializeEntitySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ //Table widgets
+ TableComposite tableComposite = new TableComposite(this, container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ tableComposite.getControl().setLayoutData(gridData);
+
+ //Entity name widgets
+ this.addLabel(container, JptUiDetailsMessages.EntityNameComposite_name);
+ new EntityNameCombo(this, container);
+
+ //Id class widgets
+ Hyperlink hyperlink = this.addHyperlink(container, JptUiDetailsMessages.IdClassComposite_label);
+ new IdClassChooser(this, this.buildIdClassReferenceHolder(), container, hyperlink);
+
+ return container;
}
protected PropertyValueModel<IdClassReference> buildIdClassReferenceHolder() {
@@ -150,17 +162,25 @@ public abstract class AbstractEntityComposite<T extends Entity>
}
protected void initializeQueriesCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.EntityComposite_queries);
- this.initializeQueriesSection(container, buildQueryContainerHolder());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.EntityComposite_queries);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeQueriesSection(section));
+ }
+ }
+ });
}
-
- protected void initializeQueriesSection(Composite container, PropertyValueModel<QueryContainer> queryContainerHolder) {
- new QueriesComposite(this, queryContainerHolder, container);
+
+ protected Control initializeQueriesSection(Composite container) {
+ return new QueriesComposite(this, this.buildQueryContainerHolder(), container).getControl();
}
- private PropertyValueModel<QueryContainer> buildQueryContainerHolder() {
+ protected PropertyValueModel<QueryContainer> buildQueryContainerHolder() {
return new PropertyAspectAdapter<Entity, QueryContainer>(getSubjectHolder()) {
@Override
protected QueryContainer buildValue_() {
@@ -168,37 +188,63 @@ public abstract class AbstractEntityComposite<T extends Entity>
}
};
}
-
+
protected void initializeAttributeOverridesCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.OverridesComposite_attributeOverridesSection);
- initializeAttributeOverridesSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.OverridesComposite_attributeOverridesSection);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeAttributeOverridesSection(section));
+ }
+ }
+ });
}
- protected void initializeAttributeOverridesSection(Composite container) {
- new EntityOverridesComposite(this, container);
+ protected Control initializeAttributeOverridesSection(Composite container) {
+ return new EntityOverridesComposite(this, container).getControl();
}
-
+
protected void initializeInheritanceCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.EntityComposite_inheritance);
- initializeInheritanceSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.EntityComposite_inheritance);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeInheritanceSection(section));
+ }
+ }
+ });
}
+
+ protected abstract Control initializeInheritanceSection(Composite container);
protected void initializeGeneratorsCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.IdMappingComposite_primaryKeyGenerationSection);
- initializeGeneratorsSection(container, buildGeneratorContainer());
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.IdMappingComposite_primaryKeyGenerationSection);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeGeneratorsSection(section));
+ }
+ }
+ });
}
-
- protected void initializeGeneratorsSection(Composite container, PropertyValueModel<GeneratorContainer> generatorContainerHolder) {
- new GenerationComposite(this, generatorContainerHolder, container);
+
+ protected Control initializeGeneratorsSection(Composite container) {
+ return new GenerationComposite(this, this.buildGeneratorContainerHolder(), container).getControl();
}
- private PropertyValueModel<GeneratorContainer> buildGeneratorContainer() {
+ protected PropertyValueModel<GeneratorContainer> buildGeneratorContainerHolder() {
return new PropertyAspectAdapter<Entity, GeneratorContainer>(getSubjectHolder()) {
@Override
protected GeneratorContainer buildValue_() {
@@ -208,9 +254,20 @@ public abstract class AbstractEntityComposite<T extends Entity>
}
protected void initializeSecondaryTablesCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.SecondaryTablesComposite_secondaryTables);
- initializeSecondaryTablesSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.SecondaryTablesComposite_secondaryTables);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeSecondaryTablesSection(section));
+ }
+ }
+ });
}
+
+ protected abstract Control initializeSecondaryTablesSection(Composite container);
+
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractIdMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractIdMappingComposite.java
index 8c2f8f527b..2e501e8748 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractIdMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractIdMappingComposite.java
@@ -12,7 +12,6 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
@@ -23,9 +22,13 @@ import org.eclipse.jpt.jpa.core.context.IdMapping;
import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
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.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
public abstract class AbstractIdMappingComposite<T extends IdMapping>
extends Pane<T>
@@ -33,10 +36,11 @@ public abstract class AbstractIdMappingComposite<T extends IdMapping>
{
public AbstractIdMappingComposite(
PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@@ -48,25 +52,31 @@ public abstract class AbstractIdMappingComposite<T extends IdMapping>
}
protected void initializeIdCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.IdSection_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
-
- this.initializeIdSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.IdSection_title);
+ section.setExpanded(true);
+ section.setClient(this.initializeIdSection(section));
}
- protected abstract void initializeIdSection(Composite container);
+ protected abstract Control initializeIdSection(Composite container);
protected void initializeTypeCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.TypeSection_type);
- this.initializeTypeSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.TypeSection_type);
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(AbstractIdMappingComposite.this.initializeTypeSection(section));
+ }
+ }
+ });
}
- protected void initializeTypeSection(Composite container) {
- ((GridLayout) container.getLayout()).numColumns = 2;
+ protected Control initializeTypeSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
// No converter
Button noConverterButton = addRadioButton(
@@ -83,7 +93,9 @@ public abstract class AbstractIdMappingComposite<T extends IdMapping>
JptUiDetailsMessages.TypeSection_temporal,
buildConverterBooleanHolder(BaseTemporalConverter.class),
null);
- registerSubPane(new TemporalTypeComposite(buildTemporalConverterHolder(converterHolder), container, getWidgetFactory()));
+ registerSubPane(new TemporalTypeCombo(buildTemporalConverterHolder(converterHolder), getEnabledModel(), container, getWidgetFactory()));
+
+ return container;
}
protected void initializeGenerationCollapsibleSection(Composite container) {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractInheritanceComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractInheritanceComposite.java
index b081309d0f..c062afb87c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractInheritanceComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractInheritanceComposite.java
@@ -24,9 +24,9 @@ import org.eclipse.jpt.jpa.core.context.Entity;
import org.eclipse.jpt.jpa.core.context.InheritanceType;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Control;
/**
* Here the layout of this pane:
@@ -81,52 +81,48 @@ public abstract class AbstractInheritanceComposite<T extends Entity> extends Pan
public AbstractInheritanceComposite(Pane<? extends T> parentPane,
Composite parent) {
- super(parentPane, parent, false);
+ super(parentPane, parent);
}
@Override
- protected void initializeLayout(Composite container) {
-
- int groupBoxMargin = getGroupBoxMargin();
-
- Composite subPane = addSubPane(
- container, 0, groupBoxMargin, 0, groupBoxMargin
- );
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// Strategy widgets
- addLabeledComposite(
- subPane,
- JptUiDetailsMessages.InheritanceComposite_strategy,
- addStrategyCombo(subPane),
- JpaHelpContextIds.ENTITY_INHERITANCE_STRATEGY
- );
+ this.addLabel(container, JptUiDetailsMessages.InheritanceComposite_strategy);
+ this.addStrategyCombo(container);
// Discriminator Value widgets
PropertyValueModel<Boolean> dvEnabled = this.buildDiscriminatorValueEnabledHolder();
- Combo discriminatorValueCombo = addEditableCombo(
- subPane,
- buildDiscriminatorValueListHolder(),
- buildDiscriminatorValueHolder(),
- StringConverter.Default.<String>instance(),
- dvEnabled
- );
- Label discriminatorValueLabel = addLabel(
- subPane,
+ this.addLabel(
+ container,
JptUiDetailsMessages.InheritanceComposite_discriminatorValue,
dvEnabled
);
- addLabeledComposite(
- subPane,
- discriminatorValueLabel,
- discriminatorValueCombo,
- null,
+ this.addEditableCombo(
+ container,
+ buildDiscriminatorValueListHolder(),
+ buildDiscriminatorValueHolder(),
+ StringConverter.Default.<String>instance(),
+ dvEnabled,
JpaHelpContextIds.ENTITY_INHERITANCE_DISCRIMINATOR_VALUE
);
- new DiscriminatorColumnComposite<Entity>(this, container);
+ // Discriminator column widgets
+ DiscriminatorColumnComposite<Entity> discriminatorColumnComposite = new DiscriminatorColumnComposite<Entity>(this, container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ gridData.verticalIndent = 10;
+ discriminatorColumnComposite.getControl().setLayoutData(gridData);
// Primary Key Join Columns widgets
- addPrimaryKeyJoinColumnsComposite(addSubPane(container, 5));
+ Control pkJoinColumnsComposite = addPrimaryKeyJoinColumnsComposite(container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ pkJoinColumnsComposite.setLayoutData(gridData);
}
protected ModifiablePropertyValueModel<Boolean> buildDiscriminatorValueEnabledHolder() {
@@ -195,7 +191,6 @@ public abstract class AbstractInheritanceComposite<T extends Entity> extends Pan
}
private EnumFormComboViewer<Entity, InheritanceType> addStrategyCombo(Composite container) {
-
return new EnumFormComboViewer<Entity, InheritanceType>(this, container) {
@Override
@@ -238,9 +233,14 @@ public abstract class AbstractInheritanceComposite<T extends Entity> extends Pan
protected void setValue(InheritanceType value) {
getSubject().setSpecifiedInheritanceStrategy(value);
}
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.ENTITY_INHERITANCE_STRATEGY;
+ }
};
}
- protected abstract void addPrimaryKeyJoinColumnsComposite(Composite container);
+ protected abstract Control addPrimaryKeyJoinColumnsComposite(Composite container);
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractJavaMappedSuperclassComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractJavaMappedSuperclassComposite.java
index 9c0d7ad153..0913d4b096 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractJavaMappedSuperclassComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractJavaMappedSuperclassComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Oracle. All rights reserved.
+ * Copyright (c) 2011, 2012 Oracle. 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.
@@ -14,7 +14,13 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.QueryContainer;
import org.eclipse.jpt.jpa.core.context.java.JavaMappedSuperclass;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -65,20 +71,26 @@ public abstract class AbstractJavaMappedSuperclassComposite extends
this.initializeQueriesCollapsibleSection(container);
}
-
protected void initializeQueriesCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.MappedSuperclassComposite_queries);
- this.initializeQueriesSection(container, buildQueryContainerHolder());
-
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.EntityComposite_queries);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeQueriesSection(section));
+ }
+ }
+ });
}
- protected void initializeQueriesSection(Composite container, PropertyValueModel<QueryContainer> queryContainerHolder) {
- new QueriesComposite(this, queryContainerHolder, container);
+ protected Control initializeQueriesSection(Composite container) {
+ return new QueriesComposite(this, this.buildQueryContainerHolder(), container).getControl();
}
- private PropertyValueModel<QueryContainer> buildQueryContainerHolder() {
+ protected PropertyValueModel<QueryContainer> buildQueryContainerHolder() {
return new PropertyAspectAdapter<JavaMappedSuperclass, QueryContainer>(getSubjectHolder()) {
@Override
protected QueryContainer buildValue_() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractJoiningStrategyPane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractJoiningStrategyPane.java
index 4aeddfbec6..5b538dba39 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractJoiningStrategyPane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractJoiningStrategyPane.java
@@ -48,7 +48,7 @@ public abstract class AbstractJoiningStrategyPane
<R extends ReadOnlyRelationship, S extends ReadOnlyRelationshipStrategy>
extends Pane<R>
{
- protected Composite strategyDetailsComposite;
+ protected Control strategyDetailsComposite;
/**
@@ -72,26 +72,45 @@ public abstract class AbstractJoiningStrategyPane
protected abstract ModifiablePropertyValueModel<Boolean> buildUsesStrategyHolder();
-
+
@Override
- protected void initializeLayout(Composite container) {
+ protected Composite addComposite(Composite container) {
PageBook pageBook = new PageBook(container, SWT.NULL);
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalIndent = 5;
pageBook.setLayoutData(gd);
-
- this.strategyDetailsComposite = buildStrategyDetailsComposite(pageBook);
-
- new ControlSwitcher(this.buildUsesStrategyHolder(), buildPageBookTransformer(), pageBook);
+ return pageBook;
+ }
+
+ @Override
+ public Composite getControl() {
+ return (Composite) super.getControl();
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ this.strategyDetailsComposite = this.buildStrategyDetailsComposite(container);
+
+ new ControlSwitcher(
+ this.buildUsesStrategyHolder(),
+ buildPageBookTransformer(container),
+ (PageBook) container); //I know this is a PageBook, built in addComposite(Composite)
}
- protected abstract Composite buildStrategyDetailsComposite(Composite parent);
+ protected Control getStrategyDetailsComposite(Composite parent) {
+ if (this.strategyDetailsComposite == null) {
+ this.strategyDetailsComposite = this.buildStrategyDetailsComposite(parent);
+ }
+ return this.strategyDetailsComposite;
+ }
+
+ protected abstract Control buildStrategyDetailsComposite(Composite parent);
- protected Transformer<Boolean, Control> buildPageBookTransformer() {
+ protected Transformer<Boolean, Control> buildPageBookTransformer(final Composite parent) {
return new Transformer<Boolean, Control>() {
public Control transform(Boolean usesStrategy) {
return (usesStrategy.booleanValue()) ?
- AbstractJoiningStrategyPane.this.strategyDetailsComposite :
+ AbstractJoiningStrategyPane.this.getStrategyDetailsComposite(parent) :
null;
}
};
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractJpaDetailsPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractJpaDetailsPage.java
index 73880de681..6fce4d1e85 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractJpaDetailsPage.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractJpaDetailsPage.java
@@ -16,7 +16,6 @@ import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.JpaStructureNode;
import org.eclipse.jpt.jpa.ui.JpaPlatformUi;
import org.eclipse.jpt.jpa.ui.details.JpaDetailsPageManager;
-import org.eclipse.jpt.jpa.ui.internal.platform.JpaPlatformUiRegistry;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -32,6 +31,7 @@ public abstract class AbstractJpaDetailsPage<T extends JpaStructureNode>
extends Pane<T>
implements JpaDetailsPageManager<T>
{
+
protected AbstractJpaDetailsPage(Composite parent, WidgetFactory widgetFactory) {
super(new SimplePropertyValueModel<T>(), parent, widgetFactory);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractManyToManyMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractManyToManyMappingComposite.java
index 60fff9a731..e0793051cd 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractManyToManyMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractManyToManyMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -12,7 +12,6 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
@@ -20,7 +19,13 @@ import org.eclipse.jpt.jpa.core.context.Cascade;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.ManyToManyRelationship;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -54,9 +59,9 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see {@link ManyToManyMapping}
- * @see {@link TargetEntityComposite}
+ * @see {@link TargetEntityClassChooser}
* @see {@link ManyToManyJoiningStrategyPane}
- * @see {@link FetchTypeComposite}
+ * @see {@link FetchTypeComboViewer}
* @see {@link CascadeComposite}
* @see {@link OrderingComposite}
*
@@ -75,10 +80,11 @@ public abstract class AbstractManyToManyMappingComposite<T extends ManyToManyMap
* @param widgetFactory The factory used to create various common widgets
*/
protected AbstractManyToManyMappingComposite(PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
@@ -89,23 +95,36 @@ public abstract class AbstractManyToManyMappingComposite<T extends ManyToManyMap
}
protected void initializeManyToManyCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.ManyToManySection_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE)
- );
-
- this.initializeManyToManySection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.ManyToManySection_title);
+ section.setExpanded(true);
+ section.setClient(this.initializeManyToManySection(section));
}
- protected abstract void initializeManyToManySection(Composite container);
+ protected abstract Control initializeManyToManySection(Composite container);
protected void initializeJoiningStrategyCollapsibleSection(Composite container) {
new ManyToManyJoiningStrategyPane(this, buildJoiningHolder(), container);
}
-
+
protected void initializeOrderingCollapsibleSection(Composite container) {
- new OrderingComposite(this, container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.OrderingComposite_orderingGroup);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeOrderingSection(section));
+ }
+ }
+ });
+ }
+
+ protected Control initializeOrderingSection(Composite container) {
+ return new OrderingComposite(this, container).getControl();
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractManyToOneMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractManyToOneMappingComposite.java
index c72c170e37..aeeb47a9fd 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractManyToOneMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractManyToOneMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -11,14 +11,17 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.Cascade;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
import org.eclipse.jpt.jpa.core.context.ManyToOneRelationship;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
public abstract class AbstractManyToOneMappingComposite<T extends ManyToOneMapping, R extends ManyToOneRelationship>
extends Pane<T>
@@ -26,10 +29,11 @@ public abstract class AbstractManyToOneMappingComposite<T extends ManyToOneMappi
{
protected AbstractManyToOneMappingComposite(
PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
@@ -39,16 +43,14 @@ public abstract class AbstractManyToOneMappingComposite<T extends ManyToOneMappi
}
protected void initializeManyToOneCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.ManyToOneSection_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE)
- );
-
- this.initializeManyToOneSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.ManyToOneSection_title);
+ section.setExpanded(true);
+ section.setClient(this.initializeManyToOneSection(section));
}
- protected abstract void initializeManyToOneSection(Composite container);
+ protected abstract Control initializeManyToOneSection(Composite container);
protected void initializeJoiningStrategyCollapsibleSection(Composite container) {
new ManyToOneJoiningStrategyPane(this, buildJoiningHolder(), container);
@@ -73,8 +75,4 @@ public abstract class AbstractManyToOneMappingComposite<T extends ManyToOneMappi
}
};
}
-
- protected Composite addPane(Composite container, int groupBoxMargin) {
- return addSubPane(container, 0, groupBoxMargin, 0, groupBoxMargin);
- }
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractMappedSuperclassComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractMappedSuperclassComposite.java
index c9b29c24d8..1ba595ac4e 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractMappedSuperclassComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractMappedSuperclassComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -12,12 +12,16 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.IdClassReference;
import org.eclipse.jpt.jpa.core.context.MappedSuperclass;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+import org.eclipse.ui.forms.widgets.Section;
public abstract class AbstractMappedSuperclassComposite<T extends MappedSuperclass>
@@ -38,17 +42,20 @@ public abstract class AbstractMappedSuperclassComposite<T extends MappedSupercla
}
protected void initializeMappedSuperclassCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.MappedSuperclassSection_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE)
- );
-
- this.initializeMappedSuperclassSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.MappedSuperclassSection_title);
+ section.setExpanded(true);
+ section.setClient(this.initializeMappedSuperclassSection(section));
}
- protected void initializeMappedSuperclassSection(Composite container) {
- new IdClassComposite(this, buildIdClassReferenceHolder(), container);
+ protected Control initializeMappedSuperclassSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ Hyperlink hyperlink = this.addHyperlink(container,JptUiDetailsMessages.IdClassComposite_label);
+ new IdClassChooser(this, this.buildIdClassReferenceHolder(), container, hyperlink);
+
+ return container;
}
protected PropertyValueModel<IdClassReference> buildIdClassReferenceHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOneToManyMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOneToManyMappingComposite.java
index f1511e6ef2..bf68d463e3 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOneToManyMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOneToManyMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -11,14 +11,19 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.Cascade;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
import org.eclipse.jpt.jpa.core.context.OneToManyRelationship;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -53,10 +58,10 @@ import org.eclipse.swt.widgets.Composite;
*
* @see OneToManyMapping
* @see CascadeComposite
- * @see FetchTypeComposite
+ * @see FetchTypeComboViewer
* @see JoinTableComposite
* @see OrderingComposite
- * @see TargetEntityComposite
+ * @see TargetEntityClassChooser
*
* @version 2.3
* @since 1.0
@@ -73,10 +78,11 @@ public abstract class AbstractOneToManyMappingComposite<T extends OneToManyMappi
* @param widgetFactory The factory used to create various common widgets
*/
protected AbstractOneToManyMappingComposite(PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
@@ -87,23 +93,36 @@ public abstract class AbstractOneToManyMappingComposite<T extends OneToManyMappi
}
protected void initializeOneToManyCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.OneToManySection_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE)
- );
-
- this.initializeOneToManySection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.OneToManySection_title);
+ section.setExpanded(true);
+ section.setClient(this.initializeOneToManySection(section));
}
- protected abstract void initializeOneToManySection(Composite container);
+ protected abstract Control initializeOneToManySection(Composite container);
protected void initializeJoiningStrategyCollapsibleSection(Composite container) {
new OneToManyJoiningStrategyPane(this, buildJoiningHolder(), container);
}
-
+
protected void initializeOrderingCollapsibleSection(Composite container) {
- new OrderingComposite(this, container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.OrderingComposite_orderingGroup);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeOrderingSection(section));
+ }
+ }
+ });
+ }
+
+ protected Control initializeOrderingSection(Composite container) {
+ return new OrderingComposite(this, container).getControl();
}
protected PropertyValueModel<R> buildJoiningHolder() {
@@ -124,9 +143,4 @@ public abstract class AbstractOneToManyMappingComposite<T extends OneToManyMappi
}
};
}
-
- protected Composite addPane(Composite container, int groupBoxMargin) {
- return addSubPane(container, 0, groupBoxMargin, 0, groupBoxMargin);
- }
-
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOneToOneMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOneToOneMappingComposite.java
index 0ed720721c..f506e7a341 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOneToOneMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOneToOneMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -11,14 +11,17 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.Cascade;
import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
import org.eclipse.jpt.jpa.core.context.OneToOneRelationship;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
public abstract class AbstractOneToOneMappingComposite<T extends OneToOneMapping, R extends OneToOneRelationship>
extends Pane<T>
@@ -26,10 +29,11 @@ public abstract class AbstractOneToOneMappingComposite<T extends OneToOneMapping
{
protected AbstractOneToOneMappingComposite(
PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
@@ -39,25 +43,19 @@ public abstract class AbstractOneToOneMappingComposite<T extends OneToOneMapping
}
protected void initializeOneToOneCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.OneToOneSection_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE)
- );
-
- this.initializeOneToOneSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.OneToOneSection_title);
+ section.setExpanded(true);
+ section.setClient(this.initializeOneToOneSection(section));
}
- protected abstract void initializeOneToOneSection(Composite container);
+ protected abstract Control initializeOneToOneSection(Composite container);
protected void initializeJoiningStrategyCollapsibleSection(Composite container) {
new OneToOneJoiningStrategyPane(this, buildJoiningHolder(), container);
}
- protected Composite addPane(Composite container, int groupBoxMargin) {
- return addSubPane(container, 0, groupBoxMargin, 0, groupBoxMargin);
- }
-
protected PropertyValueModel<R> buildJoiningHolder() {
return new TransformationPropertyValueModel<T, R>(
getSubjectHolder()) {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOverridesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOverridesComposite.java
index ad09327019..537fa2ec87 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOverridesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOverridesComposite.java
@@ -14,7 +14,6 @@ import java.util.List;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jpt.common.ui.internal.util.ControlSwitcher;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.utility.swt.SWTTools;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
@@ -26,13 +25,14 @@ import org.eclipse.jpt.common.utility.internal.iterables.SuperListIterableWrappe
import org.eclipse.jpt.common.utility.internal.model.value.CompositeListValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.ModifiablePropertyCollectionValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationWritablePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AssociationOverride;
import org.eclipse.jpt.jpa.core.context.AssociationOverrideContainer;
import org.eclipse.jpt.jpa.core.context.AttributeOverride;
@@ -59,7 +59,7 @@ public abstract class AbstractOverridesComposite<T extends JpaContextNode>
private Pane<ReadOnlyAttributeOverride> attributeOverridePane;
private Pane<ReadOnlyAssociationOverride> associationOverridePane;
- private ModifiablePropertyValueModel<ReadOnlyOverride> selectedOverrideHolder;
+ private ModifiablePropertyValueModel<ReadOnlyOverride> selectedOverrideModel;
private ModifiablePropertyValueModel<Boolean> overrideVirtualOverrideHolder;
@@ -67,37 +67,30 @@ public abstract class AbstractOverridesComposite<T extends JpaContextNode>
Pane<? extends T> parentPane,
Composite parent) {
- super(parentPane, parent, false);
+ super(parentPane, parent);
}
@Override
protected void initialize() {
super.initialize();
- this.selectedOverrideHolder = buildSelectedOverrideHolder();
+ this.selectedOverrideModel = this.buildSelectedOverrideModel();
}
-
- private ModifiablePropertyValueModel<ReadOnlyOverride> buildSelectedOverrideHolder() {
+
+ private ModifiablePropertyValueModel<ReadOnlyOverride> buildSelectedOverrideModel() {
return new SimplePropertyValueModel<ReadOnlyOverride>();
}
protected abstract boolean supportsAssociationOverrides();
-
+
@Override
protected void initializeLayout(Composite container) {
- // Overrides group pane
- container = addTitledGroup(
- container,
- JptUiDetailsMessages.OverridesComposite_attributeOverridesGroup);
-
// Overrides list pane
initializeOverridesList(container);
- int groupBoxMargin = getGroupBoxMargin();
-
// Override Default check box
Button overrideCheckBox = addCheckBox(
- addSubPane(container, 0, groupBoxMargin, 0, groupBoxMargin),
+ container,
JptUiDetailsMessages.OverridesComposite_overrideDefault,
getOverrideVirtualOverrideHolder(),
null);
@@ -105,19 +98,11 @@ public abstract class AbstractOverridesComposite<T extends JpaContextNode>
// Property pane
PageBook pageBook = addPageBook(container);
- initializeOverridePanes(pageBook);
- installOverrideControlSwitcher(this.selectedOverrideHolder, pageBook);
- }
-
- protected void initializeOverridePanes(PageBook pageBook) {
- initializeAttributeOverridePane(pageBook);
- if (supportsAssociationOverrides()) {
- initializeAssociationOverridePane(pageBook);
- }
+ installOverrideControlSwitcher(this.selectedOverrideModel, pageBook);
}
private PropertyValueModel<Boolean> buildSelectedOverrideBooleanHolder() {
- return new TransformationPropertyValueModel<ReadOnlyOverride, Boolean>(this.selectedOverrideHolder) {
+ return new TransformationPropertyValueModel<ReadOnlyOverride, Boolean>(this.selectedOverrideModel) {
@Override
protected Boolean transform(ReadOnlyOverride value) {
return Boolean.valueOf(value != null);
@@ -126,12 +111,12 @@ public abstract class AbstractOverridesComposite<T extends JpaContextNode>
}
private void initializeOverridesList(Composite container) {
- new AddRemoveListPane<T>(
+ new AddRemoveListPane<T, ReadOnlyOverride>(
this,
- addSubPane(container, 8),
+ container,
buildOverridesAdapter(),
buildOverridesListModel(),
- this.selectedOverrideHolder,
+ new ModifiablePropertyCollectionValueModelAdapter<ReadOnlyOverride>(this.selectedOverrideModel),
buildOverrideLabelProvider(),
JpaHelpContextIds.ENTITY_ATTRIBUTE_OVERRIDES) {
@@ -139,53 +124,40 @@ public abstract class AbstractOverridesComposite<T extends JpaContextNode>
protected void initializeButtonPane(Composite c, String helpId) {
//no buttons: no way to add/remove/edit overrides, they are all defaulted in
}
-
- @Override
- protected void updateButtons() {
- //no buttons: no way to add/remove/edit overrides, they are all defaulted in
- }
};
}
-
- protected void initializeAttributeOverridePane(PageBook pageBook) {
- PropertyValueModel<ReadOnlyAttributeOverride> attributeOverrideHolder = buildAttributeOverrideHolder();
- this.attributeOverridePane = buildAttributeOverridePane(pageBook, attributeOverrideHolder);
- installAttributeOverridePaneEnabler(this.attributeOverridePane, attributeOverrideHolder);
- }
-
- protected Pane<ReadOnlyAttributeOverride> buildAttributeOverridePane(PageBook pageBook, PropertyValueModel<ReadOnlyAttributeOverride> attributeOverrideHolder) {
- return new AttributeOverrideComposite(this, attributeOverrideHolder, pageBook);
+
+ protected Pane<ReadOnlyAttributeOverride> getAttributeOverridePane(PageBook pageBook) {
+ if (this.attributeOverridePane == null) {
+ PropertyValueModel<ReadOnlyAttributeOverride> attributeOverrideHolder = buildAttributeOverrideHolder();
+ this.attributeOverridePane = buildAttributeOverridePane(pageBook, attributeOverrideHolder);
+ }
+ return this.attributeOverridePane;
}
- private void installAttributeOverridePaneEnabler(Pane<ReadOnlyAttributeOverride> pane, PropertyValueModel<ReadOnlyAttributeOverride> overrideHolder) {
- new PaneEnabler(
- buildOverrideBooleanHolder(overrideHolder),
- pane);
+ protected Pane<ReadOnlyAttributeOverride> buildAttributeOverridePane(PageBook pageBook, PropertyValueModel<ReadOnlyAttributeOverride> overrideHolder) {
+ return new AttributeOverrideComposite(this, overrideHolder, buildOverrideBooleanHolder(overrideHolder), pageBook);
}
private PropertyValueModel<Boolean> buildOverrideBooleanHolder(PropertyValueModel<? extends ReadOnlyOverride> overrideHolder) {
return new TransformationPropertyValueModel<ReadOnlyOverride, Boolean>(overrideHolder) {
@Override
protected Boolean transform_(ReadOnlyOverride v) {
- return Boolean.valueOf( ! v.isVirtual());
+ return Boolean.valueOf(!v.isVirtual());
}
};
}
-
- protected void initializeAssociationOverridePane(PageBook pageBook) {
- PropertyValueModel<ReadOnlyAssociationOverride> associationOverrideHolder = buildAssociationOverrideHolder();
- this.associationOverridePane = buildAssociationOverridePane(pageBook, associationOverrideHolder);
- installAssociationOverridePaneEnabler(this.associationOverridePane, associationOverrideHolder);
- }
-
- protected Pane<ReadOnlyAssociationOverride> buildAssociationOverridePane(PageBook pageBook, PropertyValueModel<ReadOnlyAssociationOverride> associationOverrideHolder) {
- return new AssociationOverrideComposite(this, associationOverrideHolder, pageBook);
+
+ protected Pane<ReadOnlyAssociationOverride> getAssociationOverridePane(PageBook pageBook) {
+ if (this.associationOverridePane == null) {
+ PropertyValueModel<ReadOnlyAssociationOverride> associationOverrideModel = buildAssociationOverrideModel();
+ this.associationOverridePane = buildAssociationOverridePane(pageBook, associationOverrideModel);
+ }
+ return this.associationOverridePane;
}
-
- private void installAssociationOverridePaneEnabler(Pane<ReadOnlyAssociationOverride> pane, PropertyValueModel<ReadOnlyAssociationOverride> overrideHolder) {
- new PaneEnabler(
- buildOverrideBooleanHolder(overrideHolder),
- pane);
+
+ protected Pane<ReadOnlyAssociationOverride> buildAssociationOverridePane(PageBook pageBook, PropertyValueModel<ReadOnlyAssociationOverride> overrideHolder) {
+ return new AssociationOverrideComposite(this, overrideHolder, buildOverrideBooleanHolder(overrideHolder), pageBook);
}
private void installOverrideControlSwitcher(
@@ -194,12 +166,12 @@ public abstract class AbstractOverridesComposite<T extends JpaContextNode>
new ControlSwitcher(
overrideHolder,
- buildPaneTransformer(),
+ buildPaneTransformer(pageBook),
pageBook);
}
- private ModifiablePropertyValueModel<ReadOnlyAssociationOverride> buildAssociationOverrideHolder() {
- return new TransformationWritablePropertyValueModel<ReadOnlyOverride, ReadOnlyAssociationOverride>(this.selectedOverrideHolder) {
+ private PropertyValueModel<ReadOnlyAssociationOverride> buildAssociationOverrideModel() {
+ return new TransformationPropertyValueModel<ReadOnlyOverride, ReadOnlyAssociationOverride>(this.selectedOverrideModel) {
@Override
protected ReadOnlyAssociationOverride transform_(ReadOnlyOverride v) {
return (v instanceof ReadOnlyAssociationOverride) ? (ReadOnlyAssociationOverride) v : null;
@@ -207,8 +179,8 @@ public abstract class AbstractOverridesComposite<T extends JpaContextNode>
};
}
- private ModifiablePropertyValueModel<ReadOnlyAttributeOverride> buildAttributeOverrideHolder() {
- return new TransformationWritablePropertyValueModel<ReadOnlyOverride, ReadOnlyAttributeOverride>(this.selectedOverrideHolder) {
+ private PropertyValueModel<ReadOnlyAttributeOverride> buildAttributeOverrideHolder() {
+ return new TransformationPropertyValueModel<ReadOnlyOverride, ReadOnlyAttributeOverride>(this.selectedOverrideModel) {
@Override
protected ReadOnlyAttributeOverride transform_(ReadOnlyOverride v) {
return (v instanceof ReadOnlyAttributeOverride) ? (ReadOnlyAttributeOverride) v : null;
@@ -252,7 +224,7 @@ public abstract class AbstractOverridesComposite<T extends JpaContextNode>
}
private ModifiablePropertyValueModel<Boolean> buildOverrideVirtualOverrideHolder() {
- return new TransformationWritablePropertyValueModel<ReadOnlyOverride, Boolean>(this.selectedOverrideHolder) {
+ return new TransformationWritablePropertyValueModel<ReadOnlyOverride, Boolean>(this.selectedOverrideModel) {
@Override
public void setValue(Boolean value) {
updateOverride(value.booleanValue());
@@ -301,14 +273,15 @@ public abstract class AbstractOverridesComposite<T extends JpaContextNode>
};
}
- protected Adapter buildOverridesAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
+ protected Adapter<ReadOnlyOverride> buildOverridesAdapter() {
+ return new AddRemoveListPane.AbstractAdapter<ReadOnlyOverride>() {
+ public ReadOnlyOverride addNewItem() {
//no way to add/remove/edit overrides, they are all defaulted in
+ throw new UnsupportedOperationException();
}
-
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
+ public void removeSelectedItems(CollectionValueModel<ReadOnlyOverride> selectedItemsModel) {
//no way to add/remove/edit overrides, they are all defaulted in
+ throw new UnsupportedOperationException();
}
};
}
@@ -339,10 +312,10 @@ public abstract class AbstractOverridesComposite<T extends JpaContextNode>
ReadOnlyOverride.NAME_PROPERTY);
}
- private Transformer<ReadOnlyOverride, Control> buildPaneTransformer() {
+ private Transformer<ReadOnlyOverride, Control> buildPaneTransformer(final PageBook pageBook) {
return new Transformer<ReadOnlyOverride, Control>() {
public Control transform(ReadOnlyOverride override) {
- return AbstractOverridesComposite.this.transformSelectedOverride(override);
+ return AbstractOverridesComposite.this.transformSelectedOverride(override, pageBook);
}
};
}
@@ -350,13 +323,13 @@ public abstract class AbstractOverridesComposite<T extends JpaContextNode>
/**
* Given the selected override, return the control that will be displayed
*/
- protected Control transformSelectedOverride(ReadOnlyOverride selectedOverride) {
+ protected Control transformSelectedOverride(ReadOnlyOverride selectedOverride, PageBook pageBook) {
if (selectedOverride instanceof ReadOnlyAttributeOverride) {
- return AbstractOverridesComposite.this.attributeOverridePane.getControl();
+ return AbstractOverridesComposite.this.getAttributeOverridePane(pageBook).getControl();
}
if (selectedOverride instanceof ReadOnlyAssociationOverride) {
- return AbstractOverridesComposite.this.associationOverridePane.getControl();
+ return AbstractOverridesComposite.this.getAssociationOverridePane(pageBook).getControl();
}
return null;
@@ -398,12 +371,12 @@ public abstract class AbstractOverridesComposite<T extends JpaContextNode>
setPopulating(true);
try {
- ReadOnlyOverride override = this.selectedOverrideHolder.getValue();
+ ReadOnlyOverride override = this.selectedOverrideModel.getValue();
ReadOnlyOverride newOverride = convertToSpecified ?
((VirtualOverride) override).convertToSpecified() :
((Override_) override).convertToVirtual();
- this.selectedOverrideHolder.setValue(newOverride);
+ this.selectedOverrideModel.setValue(newOverride);
}
finally {
setPopulating(false);
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractPrimaryKeyJoinColumnsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractPrimaryKeyJoinColumnsComposite.java
index eded583800..73493bc1b2 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractPrimaryKeyJoinColumnsComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractPrimaryKeyJoinColumnsComposite.java
@@ -13,21 +13,22 @@ import java.util.ArrayList;
import java.util.List;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.AbstractAdapter;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
import org.eclipse.jpt.common.utility.internal.iterables.SuperListIterableWrapper;
import org.eclipse.jpt.common.utility.internal.model.value.CompositeListValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListPropertyValueModelAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.Entity;
import org.eclipse.jpt.jpa.core.context.PrimaryKeyJoinColumn;
import org.eclipse.jpt.jpa.core.context.ReadOnlyBaseJoinColumn;
@@ -36,7 +37,6 @@ import org.eclipse.jpt.jpa.core.context.ReadOnlyPrimaryKeyJoinColumn;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
/**
* Here the layout of this pane:
@@ -61,20 +61,21 @@ import org.eclipse.swt.widgets.Group;
*/
public abstract class AbstractPrimaryKeyJoinColumnsComposite<T extends Entity> extends Pane<T>
{
- protected ModifiablePropertyValueModel<PrimaryKeyJoinColumn> joinColumnHolder;
+ protected ModifiableCollectionValueModel<PrimaryKeyJoinColumn> selectedPkJoinColumnsModel;
public AbstractPrimaryKeyJoinColumnsComposite(Pane<? extends T> subjectHolder,
Composite parent) {
- super(subjectHolder, parent, false);
+ super(subjectHolder, parent);
}
- void addJoinColumn(PrimaryKeyJoinColumnStateObject stateObject) {
+ PrimaryKeyJoinColumn addJoinColumn(PrimaryKeyJoinColumnStateObject stateObject) {
PrimaryKeyJoinColumn joinColumn = getSubject().addSpecifiedPrimaryKeyJoinColumn();
stateObject.updateJoinColumn(joinColumn);
+ return joinColumn;
}
- void addPrimaryKeyJoinColumn() {
+ PrimaryKeyJoinColumn addPrimaryKeyJoinColumn() {
PrimaryKeyJoinColumnDialog dialog = new PrimaryKeyJoinColumnDialog(
getShell(),
@@ -85,14 +86,15 @@ public abstract class AbstractPrimaryKeyJoinColumnsComposite<T extends Entity> e
dialog.setBlockOnOpen(true);
dialog.open();
if (dialog.wasConfirmed()) {
- addJoinColumn(dialog.getSubject());
+ return addJoinColumn(dialog.getSubject());
}
+ return null;
}
protected abstract ListValueModel<? extends ReadOnlyPrimaryKeyJoinColumn> buildDefaultJoinColumnsListHolder();
- private ModifiablePropertyValueModel<PrimaryKeyJoinColumn> buildJoinColumnHolder() {
- return new SimplePropertyValueModel<PrimaryKeyJoinColumn>();
+ private ModifiableCollectionValueModel<PrimaryKeyJoinColumn> buildSelectedJoinColumnsModel() {
+ return new SimpleCollectionValueModel<PrimaryKeyJoinColumn>();
}
String buildJoinColumnLabel(ReadOnlyPrimaryKeyJoinColumn joinColumn) {
@@ -135,10 +137,10 @@ public abstract class AbstractPrimaryKeyJoinColumnsComposite<T extends Entity> e
);
}
- private Adapter buildJoinColumnsAdapter() {
- return new AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addPrimaryKeyJoinColumn();
+ private Adapter<PrimaryKeyJoinColumn> buildJoinColumnsAdapter() {
+ return new AbstractAdapter<PrimaryKeyJoinColumn>() {
+ public PrimaryKeyJoinColumn addNewItem() {
+ return addPrimaryKeyJoinColumn();
}
@Override
@@ -152,18 +154,19 @@ public abstract class AbstractPrimaryKeyJoinColumnsComposite<T extends Entity> e
}
@Override
- public void optionOnSelection(ObjectListSelectionModel listSelectionModel) {
- editPrimaryKeyJoinColumn(listSelectionModel);
+ public void optionOnSelection(CollectionValueModel<PrimaryKeyJoinColumn> selectedItemsModel) {
+ editPrimaryKeyJoinColumn(selectedItemsModel.iterator().next());
}
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
-
- int[] selectedIndices = listSelectionModel.selectedIndices();
- Entity entity = getSubject();
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<PrimaryKeyJoinColumn> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
- for (int index = selectedIndices.length; --index >= 0; ) {
- entity.removeSpecifiedPrimaryKeyJoinColumn(selectedIndices[index]);
- }
+ public void removeSelectedItems(CollectionValueModel<PrimaryKeyJoinColumn> selectedItemsModel) {
+ PrimaryKeyJoinColumn joinColumn =selectedItemsModel.iterator().next();
+ getSubject().removeSpecifiedPrimaryKeyJoinColumn(joinColumn);
}
};
}
@@ -216,9 +219,7 @@ public abstract class AbstractPrimaryKeyJoinColumnsComposite<T extends Entity> e
stateObject.updateJoinColumn(stateObject.getJoinColumn());
}
- void editPrimaryKeyJoinColumn(ObjectListSelectionModel listSelectionModel) {
-
- PrimaryKeyJoinColumn joinColumn = (PrimaryKeyJoinColumn) listSelectionModel.selectedValue();
+ void editPrimaryKeyJoinColumn(PrimaryKeyJoinColumn joinColumn) {
PrimaryKeyJoinColumnDialog dialog = new PrimaryKeyJoinColumnDialog(
getShell(),
@@ -239,47 +240,36 @@ public abstract class AbstractPrimaryKeyJoinColumnsComposite<T extends Entity> e
@Override
protected void initialize() {
super.initialize();
- joinColumnHolder = buildJoinColumnHolder();
+ this.selectedPkJoinColumnsModel = buildSelectedJoinColumnsModel();
}
- /*
- * (non-Javadoc)
- */
@Override
- protected void initializeLayout(Composite container) {
-
- // Primary Key Join Columns group pane
- Group groupPane = addTitledGroup(
- container,
+ protected Composite addComposite(Composite parent) {
+ return addTitledGroup(
+ parent,
JptUiDetailsMessages.PrimaryKeyJoinColumnsComposite_primaryKeyJoinColumn
);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// Override Default Join Columns check box
addCheckBox(
- addSubPane(groupPane, 8),
+ container,
JptUiDetailsMessages.PrimaryKeyJoinColumnsComposite_overrideDefaultPrimaryKeyJoinColumns,
buildOverrideDefaultJoinColumnHolder(),
null
);
-
// Primary Key Join Columns list pane
- AddRemoveListPane<Entity> joinColumnsListPane = new AddRemoveListPane<Entity>(
+ new AddRemoveListPane<Entity, PrimaryKeyJoinColumn>(
this,
- groupPane,
+ container,
buildJoinColumnsAdapter(),
buildPrimaryKeyJoinColumnsListModel(),
- joinColumnHolder,
+ this.selectedPkJoinColumnsModel,
buildJoinColumnsListLabelProvider(),
- JpaHelpContextIds.MAPPING_JOIN_TABLE_COLUMNS
- );
-
- installJoinColumnsListPaneEnabler(joinColumnsListPane);
- }
-
- private void installJoinColumnsListPaneEnabler(AddRemoveListPane<Entity> pane) {
- new PaneEnabler(
buildOverrideDefaultJoinColumnHolder(),
- pane
+ JpaHelpContextIds.MAPPING_JOIN_TABLE_COLUMNS
);
}
@@ -293,7 +283,6 @@ public abstract class AbstractPrimaryKeyJoinColumnsComposite<T extends Entity> e
try {
if (selected) {
getSubject().convertDefaultPrimaryKeyJoinColumnsToSpecified();
- this.joinColumnHolder.setValue(getSubject().getSpecifiedPrimaryKeyJoinColumn(0));
} else {
getSubject().clearSpecifiedPrimaryKeyJoinColumns();
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractSecondaryTablesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractSecondaryTablesComposite.java
index dc854abf0a..587fb971a7 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractSecondaryTablesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractSecondaryTablesComposite.java
@@ -12,16 +12,19 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.window.Window;
-import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.AbstractAdapter;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.internal.model.value.CollectionPropertyValueModelAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.Entity;
import org.eclipse.jpt.jpa.core.context.ReadOnlySecondaryTable;
import org.eclipse.jpt.jpa.core.context.SecondaryTable;
+import org.eclipse.jpt.jpa.core.context.orm.OrmEntity;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmEntityComposite;
import org.eclipse.swt.widgets.Composite;
/**
@@ -59,26 +62,12 @@ public abstract class AbstractSecondaryTablesComposite<T extends Entity> extends
public AbstractSecondaryTablesComposite(Pane<? extends T> parentPane,
Composite parent) {
- super(parentPane, parent, false);
+ super(parentPane, parent);
}
- /**
- * Creates a new <code>SecondaryTablesComposite</code>.
- *
- * @param subjectHolder The holder of the subject <code>IEntity</code>
- * @param parent The parent container
- * @param widgetFactory The factory used to create various common widgets
- */
- public AbstractSecondaryTablesComposite(PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
- protected void addSecondaryTableFromDialog(SecondaryTableDialog dialog, ObjectListSelectionModel listSelectionModel) {
+ protected SecondaryTable addSecondaryTableFromDialog(SecondaryTableDialog dialog) {
if (dialog.open() != Window.OK) {
- return;
+ return null;
}
SecondaryTable secondaryTable = this.getSubject().addSpecifiedSecondaryTable();
@@ -86,11 +75,23 @@ public abstract class AbstractSecondaryTablesComposite<T extends Entity> extends
secondaryTable.setSpecifiedCatalog(dialog.getSelectedCatalog());
secondaryTable.setSpecifiedSchema(dialog.getSelectedSchema());
- listSelectionModel.setSelectedValue(secondaryTable);
+ return secondaryTable;
}
- protected ModifiablePropertyValueModel<SecondaryTable> buildSecondaryTableHolder() {
- return new SimplePropertyValueModel<SecondaryTable>();
+ protected ModifiableCollectionValueModel<SecondaryTable> buildSelectedSecondaryTablesModel() {
+ return new SimpleCollectionValueModel<SecondaryTable>();
+ }
+
+ protected PropertyValueModel<SecondaryTable> buildSelectedSecondaryTableModel(CollectionValueModel<SecondaryTable> selectedSecondaryTablesModel) {
+ return new CollectionPropertyValueModelAdapter<SecondaryTable, SecondaryTable>(selectedSecondaryTablesModel) {
+ @Override
+ protected SecondaryTable buildValue() {
+ if (this.collectionModel.size() == 1) {
+ return this.collectionModel.iterator().next();
+ }
+ return null;
+ }
+ };
}
protected ILabelProvider buildSecondaryTableLabelProvider() {
@@ -111,12 +112,12 @@ public abstract class AbstractSecondaryTablesComposite<T extends Entity> extends
return new SecondaryTableDialog(getShell(), getSubject().getJpaProject(), getSubject().getTable().getDefaultCatalog(), getSubject().getTable().getDefaultSchema());
}
- protected AddRemoveListPane.Adapter buildSecondaryTablesAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
+ protected AddRemoveListPane.Adapter<SecondaryTable> buildSecondaryTablesAdapter() {
+ return new AbstractAdapter<SecondaryTable>() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
+ public SecondaryTable addNewItem() {
SecondaryTableDialog dialog = buildSecondaryTableDialogForAdd();
- addSecondaryTableFromDialog(dialog, listSelectionModel);
+ return addSecondaryTableFromDialog(dialog);
}
@Override
@@ -130,37 +131,39 @@ public abstract class AbstractSecondaryTablesComposite<T extends Entity> extends
}
@Override
- public void optionOnSelection(ObjectListSelectionModel listSelectionModel) {
- SecondaryTable secondaryTable = (SecondaryTable) listSelectionModel.selectedValue();
+ public void optionOnSelection(CollectionValueModel<SecondaryTable> selectedItemsModel) {
+ //assume only 1 item in the list based on the optionalButtonEnabledModel
+ SecondaryTable secondaryTable = selectedItemsModel.iterator().next();
SecondaryTableDialog dialog = new SecondaryTableDialog(getShell(), getSubject().getJpaProject(), secondaryTable);
editSecondaryTableFromDialog(dialog, secondaryTable);
}
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- Entity entity = getSubject();
- int[] selectedIndices = listSelectionModel.selectedIndices();
-
- for (int index = selectedIndices.length; --index >= 0; ) {
- entity.removeSpecifiedSecondaryTable(selectedIndices[index]);
- }
+ public void removeSelectedItems(CollectionValueModel<SecondaryTable> selectedItemsModel) {
+ //assume only 1 item since remove button is disabled otherwise
+ SecondaryTable secondaryTable = selectedItemsModel.iterator().next();
+ getSubject().removeSpecifiedSecondaryTable(secondaryTable);
}
-
+
+ /**
+ * If any of the selected secondary tables are virtual, the Remove button is disabled
+ */
@Override
- public boolean enableOptionOnSelectionChange(ObjectListSelectionModel listSelectionModel) {
- if (listSelectionModel.selectedValuesSize() != 1) {
- return false;
- }
- SecondaryTable secondaryTable = (SecondaryTable) listSelectionModel.selectedValue();
- return !secondaryTable.isVirtual();
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<SecondaryTable> selectedItemsModel) {
+ return buildOptionalButtonEnabledModel(selectedItemsModel);
}
-
+
@Override
- public boolean enableRemoveOnSelectionChange(ObjectListSelectionModel listSelectionModel) {
- if (listSelectionModel.selectedValue() == null) {
- return false;
- }
- SecondaryTable secondaryTable = (SecondaryTable) listSelectionModel.selectedValue();
- return !secondaryTable.isVirtual();
+ public PropertyValueModel<Boolean> buildOptionalButtonEnabledModel(CollectionValueModel<SecondaryTable> selectedItemsModel) {
+ return new CollectionPropertyValueModelAdapter<Boolean, SecondaryTable>(selectedItemsModel) {
+ @Override
+ protected Boolean buildValue() {
+ if (this.collectionModel.size() == 1) {
+ SecondaryTable secondaryTable = this.collectionModel.iterator().next();
+ return Boolean.valueOf(!secondaryTable.isVirtual());
+ }
+ return Boolean.FALSE;
+ }
+ };
}
};
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractVersionMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractVersionMappingComposite.java
index 87c879c7c8..62ecf0af7a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractVersionMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractVersionMappingComposite.java
@@ -12,7 +12,6 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
@@ -23,9 +22,13 @@ import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
import org.eclipse.jpt.jpa.core.context.VersionMapping;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
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.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -45,7 +48,7 @@ import org.eclipse.swt.widgets.Composite;
*
* @see VersionMapping
* @see ColumnComposite
- * @see TemporalTypeComposite
+ * @see TemporalTypeCombo
*
* @version 2.3
* @since 1.0
@@ -62,10 +65,11 @@ public abstract class AbstractVersionMappingComposite<T extends VersionMapping>
* @param widgetFactory The factory used to create various common widgets
*/
protected AbstractVersionMappingComposite(PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
@@ -75,27 +79,31 @@ public abstract class AbstractVersionMappingComposite<T extends VersionMapping>
}
protected void initializeVersionCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.VersionSection_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE)
- );
-
- this.initializeVersionSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.VersionSection_title);
+ section.setExpanded(true);
+ section.setClient(initializeVersionSection(section));
}
- protected abstract void initializeVersionSection(Composite container);
+ protected abstract Control initializeVersionSection(Composite container);
protected void initializeTypeCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.TypeSection_type
- );
- this.initializeTypeSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.TypeSection_type);
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(AbstractVersionMappingComposite.this.initializeTypeSection(section));
+ }
+ }
+ });
}
- protected void initializeTypeSection(Composite container) {
- ((GridLayout) container.getLayout()).numColumns = 2;
+ protected Control initializeTypeSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
// No converter
Button noConverterButton = addRadioButton(
@@ -112,7 +120,9 @@ public abstract class AbstractVersionMappingComposite<T extends VersionMapping>
JptUiDetailsMessages.TypeSection_temporal,
buildConverterBooleanHolder(BaseTemporalConverter.class),
null);
- registerSubPane(new TemporalTypeComposite(buildTemporalConverterHolder(converterHolder), container, getWidgetFactory()));
+ registerSubPane(new TemporalTypeCombo(buildTemporalConverterHolder(converterHolder), getEnabledModel(), container, getWidgetFactory()));
+
+ return container;
}
protected PropertyValueModel<Column> buildColumnHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AccessTypeComboViewer.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AccessTypeComboViewer.java
new file mode 100644
index 0000000000..270d7d5bc9
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AccessTypeComboViewer.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2012 Oracle. 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
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.ui.internal.details;
+
+import java.util.Collection;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.JpaPlatformVariation;
+import org.eclipse.jpt.jpa.core.context.AccessHolder;
+import org.eclipse.jpt.jpa.core.context.AccessType;
+import org.eclipse.swt.widgets.Composite;
+
+public final class AccessTypeComboViewer
+ extends EnumFormComboViewer<AccessHolder, AccessType>
+{
+ public AccessTypeComboViewer(Pane<?> parentPane, PropertyValueModel<? extends AccessHolder> subjectHolder, Composite parent) {
+ super(parentPane, subjectHolder, parent);
+ }
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(AccessHolder.DEFAULT_ACCESS_PROPERTY);
+ propertyNames.add(AccessHolder.SPECIFIED_ACCESS_PROPERTY);
+ }
+
+ @Override
+ protected AccessType[] getChoices() {
+ if (getSubject() == null) {
+ return new AccessType[]{};
+ }
+ return getJpaPlatformVariation().getSupportedAccessTypes(getSubject().getResourceType());
+ }
+
+ JpaPlatformVariation getJpaPlatformVariation() {
+ return getSubject().getJpaProject().getJpaPlatform().getJpaVariation();
+ }
+
+ @Override
+ protected AccessType getDefaultValue() {
+ return getSubject().getDefaultAccess();
+ }
+
+ @Override
+ protected String displayString(AccessType value) {
+ return value.getDisplayString();
+ }
+
+ @Override
+ protected AccessType getValue() {
+ return getSubject().getSpecifiedAccess();
+ }
+
+ @Override
+ protected void setValue(AccessType value) {
+ getSubject().setSpecifiedAccess(value);
+ }
+} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AccessTypeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AccessTypeComposite.java
deleted file mode 100644
index 4807fc03d4..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AccessTypeComposite.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.details;
-
-import java.util.Collection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.JpaPlatformVariation;
-import org.eclipse.jpt.jpa.core.context.AccessHolder;
-import org.eclipse.jpt.jpa.core.context.AccessType;
-import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | ------------------------------------------------------------ |
- * | Access Type: | |v| |
- * | ------------------------------------------------------------ |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see AccessHolder
- * @see OrmEntityComposite - A container of this pane
- * @see OrmEmbeddableComposite - A container of this pane
- * @see OrmMappedSuperclassComposite - A container of this pane
- *
- * @version 2.2
- * @since 1.0
- */
-public class AccessTypeComposite extends Pane<AccessHolder> {
-
- /**
- * Creates a new <code>AccessTypeComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param subjectHolder The holder of this pane's subject
- * @param parent The parent container
- */
- public AccessTypeComposite(Pane<?> parentPane,
- PropertyValueModel<? extends AccessHolder> subjectHolder,
- Composite parent) {
-
- super(parentPane, subjectHolder, parent);
- }
-
- public AccessTypeComposite(Pane<?> parentPane,
- PropertyValueModel<? extends AccessHolder> subjectHolder,
- Composite parent,
- boolean automaticallyAlignWidgets) {
-
- super(parentPane, subjectHolder, parent, automaticallyAlignWidgets);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- EnumFormComboViewer<AccessHolder, AccessType> comboViewer =
- addAccessTypeComboViewer(container);
-
- addLabeledComposite(
- container,
- JptUiMessages.AccessTypeComposite_access,
- comboViewer.getControl()
- );
- }
-
- private EnumFormComboViewer<AccessHolder, AccessType> addAccessTypeComboViewer(Composite container) {
-
- return new EnumFormComboViewer<AccessHolder, AccessType>(this, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(AccessHolder.DEFAULT_ACCESS_PROPERTY);
- propertyNames.add(AccessHolder.SPECIFIED_ACCESS_PROPERTY);
- }
-
- @Override
- protected AccessType[] getChoices() {
- if (getSubject() == null) {
- return new AccessType[]{};
- }
- return getJpaPlatformVariation().getSupportedAccessTypes(getSubject().getResourceType());
- }
-
- JpaPlatformVariation getJpaPlatformVariation() {
- return getSubject().getJpaProject().getJpaPlatform().getJpaVariation();
- }
-
- @Override
- protected AccessType getDefaultValue() {
- return getSubject().getDefaultAccess();
- }
-
- @Override
- protected String displayString(AccessType value) {
- return value.getDisplayString();
- }
-
- @Override
- protected AccessType getValue() {
- return getSubject().getSpecifiedAccess();
- }
-
- @Override
- protected void setValue(AccessType value) {
- getSubject().setSpecifiedAccess(value);
- }
- };
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AddQueryDialog.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AddQueryDialog.java
index f4a193483f..e68bed1267 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AddQueryDialog.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AddQueryDialog.java
@@ -122,20 +122,25 @@ public class AddQueryDialog extends ValidatingDialog<AddQueryStateObject> {
}
@Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
- this.nameText = addLabeledText(
+ this.addLabel(container, JptUiDetailsMessages.AddQueryDialog_name);
+ this.nameText = addText(
container,
- JptUiDetailsMessages.AddQueryDialog_name,
buildNameHolder()
);
- addLabeledCombo(
+ this.addLabel(container, JptUiDetailsMessages.AddQueryDialog_queryType);
+ this.addCombo(
container,
- JptUiDetailsMessages.AddQueryDialog_queryType,
buildQueryTypeListHolder(),
buildQueryTypeHolder(),
buildStringConverter(),
- null);
+ (String) null);
}
protected ListValueModel<String> buildQueryTypeListHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AssociationOverrideComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AssociationOverrideComposite.java
index 664a6e29e3..86fcb5afdc 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AssociationOverrideComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AssociationOverrideComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -50,17 +50,25 @@ public class AssociationOverrideComposite
super(parentPane, subjectHolder, parent);
}
+
+ public AssociationOverrideComposite(Pane<?> parentPane,
+ PropertyValueModel<? extends ReadOnlyAssociationOverride> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent) {
+ super(parentPane, subjectHolder, enabledModel, parent);
+}
@Override
+ protected Composite addComposite(Composite parent) {
+ return addTitledGroup(
+ parent,
+ JptUiDetailsMessages.Joining_title);
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
- Composite composite = addTitledGroup(
- container,
- JptUiDetailsMessages.Joining_title);
-
- addJoinColumnJoiningStrategyPane(composite);
-
- addSubPane(composite, 5);
+ addJoinColumnJoiningStrategyPane(container);
}
protected void addJoinColumnJoiningStrategyPane(Composite container) {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AttributeOverrideComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AttributeOverrideComposite.java
index e7a24c5c58..1ca126c891 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AttributeOverrideComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AttributeOverrideComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -45,18 +45,24 @@ public class AttributeOverrideComposite extends Pane<ReadOnlyAttributeOverride>
*/
public AttributeOverrideComposite(Pane<?> parentPane,
PropertyValueModel<? extends ReadOnlyAttributeOverride> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent) {
- super(parentPane, subjectHolder, parent);
+ super(parentPane, subjectHolder, enabledModel, parent);
}
@Override
- protected void initializeLayout(Composite container) {
- new ColumnComposite(
+ protected Composite addComposite(Composite container) {
+ return (Composite) new ColumnComposite(
this,
buildColumnHolder(),
container
- );
+ ).getControl();
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ //see addContainer(Composite) - reducing USER handles
}
private PropertyValueModel<ReadOnlyColumn> buildColumnHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/BaseJoinColumnDialogPane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/BaseJoinColumnDialogPane.java
index ab0493a55e..d3e08721f4 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/BaseJoinColumnDialogPane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/BaseJoinColumnDialogPane.java
@@ -96,14 +96,6 @@ public class BaseJoinColumnDialogPane<T extends BaseJoinColumnStateObject> exten
};
}
- /*
- * (non-Javadoc)
- */
- @Override
- protected Composite addContainer(Composite parent) {
- return addSubPane(parent, 0, 7, 0, 5);
- }
-
private PropertyValueModel<String> buildDefaultNameHolder() {
return new TransformationPropertyValueModel<BaseJoinColumnStateObject, String>(getSubjectHolder()) {
@Override
@@ -360,16 +352,18 @@ public class BaseJoinColumnDialogPane<T extends BaseJoinColumnStateObject> exten
});
}
- /*
- * (non-Javadoc)
- */
+
@Override
- protected void initializeLayout(Composite container) {
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 7, 0, 5);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// Name widgets
- Combo nameCombo = addLabeledEditableCombo(
+ this.addLabel(container, JptUiDetailsMessages.JoinColumnDialog_name);
+ Combo nameCombo = this.addEditableCombo(
container,
- JptUiDetailsMessages.JoinColumnDialog_name,
buildNamesListHolder(),
buildNameHolder(),
buildNameStringConverter(),
@@ -379,9 +373,9 @@ public class BaseJoinColumnDialogPane<T extends BaseJoinColumnStateObject> exten
SWTUtil.attachDefaultValueHandler(nameCombo);
// Referenced Column Name widgets
- Combo referencedColumnNameCombo = addLabeledEditableCombo(
+ this.addLabel(container, JptUiDetailsMessages.JoinColumnDialog_referencedColumnName);
+ Combo referencedColumnNameCombo = this.addEditableCombo(
container,
- JptUiDetailsMessages.JoinColumnDialog_referencedColumnName,
buildReferencedColumnNamesListHolder(),
buildReferencedColumnNameHolder(),
buildReferencedColumnNameStringConverter(),
@@ -392,10 +386,10 @@ public class BaseJoinColumnDialogPane<T extends BaseJoinColumnStateObject> exten
// Table widgets
if (isTableEditable()) {
+ this.addLabel(container, JptUiDetailsMessages.JoinColumnDialogPane_table);
- Combo tableCombo = addLabeledEditableCombo(
+ Combo tableCombo = this.addEditableCombo(
container,
- JptUiDetailsMessages.JoinColumnDialogPane_table,
buildTablesListHolder(),
buildTableHolder(),
buildTableStringConverter(),
@@ -405,9 +399,9 @@ public class BaseJoinColumnDialogPane<T extends BaseJoinColumnStateObject> exten
SWTUtil.attachDefaultValueHandler(tableCombo);
}
else {
- Combo tableCombo = addLabeledCombo(
+ this.addLabel(container, JptUiDetailsMessages.JoinColumnDialogPane_table);
+ Combo tableCombo = addCombo(
container,
- JptUiDetailsMessages.JoinColumnDialogPane_table,
buildTablesListHolder(),
buildTableHolder(),
buildTableStringConverter(),
@@ -418,9 +412,9 @@ public class BaseJoinColumnDialogPane<T extends BaseJoinColumnStateObject> exten
}
// Column Definition widgets
- addLabeledText(
+ this.addLabel(container, JptUiDetailsMessages.JoinColumnDialogPane_columnDefinition);
+ this.addText(
container,
- JptUiDetailsMessages.JoinColumnDialogPane_columnDefinition,
buildColumnDefinitionHolder()
);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/BasicMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/BasicMappingComposite.java
index 0070d5a8ab..f867a7ca80 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/BasicMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/BasicMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -52,11 +52,11 @@ import org.eclipse.swt.widgets.Composite;
*
* @see BasicMapping
* @see ColumnComposite
- * @see EnumTypeComposite
- * @see FetchTypeComposite
+ * @see EnumTypeComboViewer
+ * @see FetchTypeComboViewer
* @see LobComposite
- * @see OptionalComposite
- * @see TemporalTypeComposite
+ * @see OptionalTriStateCheckBox
+ * @see TemporalTypeCombo
*
* @version 2.0
* @since 1.0
@@ -71,10 +71,11 @@ public class BasicMappingComposite extends AbstractBasicMappingComposite<BasicMa
* @param widgetFactory The factory used to create various common widgets
*/
public BasicMappingComposite(PropertyValueModel<? extends BasicMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/CascadeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/CascadeComposite.java
index 41cbb44d5b..e23e2deae3 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/CascadeComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/CascadeComposite.java
@@ -17,7 +17,6 @@ import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.Cascade;
import org.eclipse.jpt.jpa.core.context.RelationshipMapping;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
/**
* Here the layout of this pane:
@@ -40,7 +39,7 @@ import org.eclipse.swt.widgets.Group;
* @version 2.0
* @since 1.0
*/
-public class CascadeComposite<T extends Cascade> extends Pane<T>
+public class CascadeComposite extends Pane<Cascade>
{
/**
* Creates a new <code>CascadeComposite</code>.
@@ -51,10 +50,10 @@ public class CascadeComposite<T extends Cascade> extends Pane<T>
*/
public CascadeComposite(
Pane<? extends RelationshipMapping> parentPane,
- PropertyValueModel<T> subjectHolder,
+ PropertyValueModel<? extends Cascade> subjectHolder,
Composite parent) {
- super(parentPane, subjectHolder, parent, false);
+ super(parentPane, subjectHolder, parent);
}
/**
@@ -65,22 +64,24 @@ public class CascadeComposite<T extends Cascade> extends Pane<T>
* @param widgetFactory The factory used to create various common widgets
*/
public CascadeComposite(
- PropertyValueModel<T> subjectHolder,
+ PropertyValueModel<? extends Cascade> subjectHolder,
Composite parent,
WidgetFactory widgetFactory) {
super(subjectHolder, parent, widgetFactory);
}
-
+
+ @Override
+ protected Composite addComposite(Composite container) {
+ return addTitledGroup(
+ container,
+ JptUiDetailsMessages.CascadeComposite_cascadeTitle,
+ 5,
+ null);
+ }
@Override
- protected void initializeLayout(Composite container) {
- // Cascade group
- Group cascadeGroup = addCascadeGroup(container);
-
- // Container of the check boxes
- container = addSubPane(cascadeGroup, 5, 8, 0, 0, 0);
-
+ protected void initializeLayout(Composite container) {
addAllCheckBox(container);
addPersistCheckBox(container);
addMergeCheckBox(container);
@@ -132,13 +133,7 @@ public class CascadeComposite<T extends Cascade> extends Pane<T>
buildCascadeTypeRefreshHolder(),
null);
}
-
- protected Group addCascadeGroup(Composite container) {
- return addTitledGroup(
- container,
- JptUiDetailsMessages.CascadeComposite_cascadeTitle);
- }
-
+
protected ModifiablePropertyValueModel<Boolean> buildCascadeTypeAllHolder() {
return new PropertyAspectAdapter<Cascade, Boolean>(getSubjectHolder(), Cascade.ALL_PROPERTY) {
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ColumnComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ColumnComposite.java
index ce7b3a5eee..1c06cfbf56 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ColumnComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ColumnComposite.java
@@ -13,9 +13,9 @@ import java.util.Collection;
import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
@@ -28,7 +28,12 @@ import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.jpa.ui.internal.details.db.ColumnCombo;
import org.eclipse.jpt.jpa.ui.internal.details.db.DatabaseObjectCombo;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
public class ColumnComposite
extends Pane<ReadOnlyColumn>
@@ -38,7 +43,7 @@ public class ColumnComposite
PropertyValueModel<? extends ReadOnlyColumn> subjectHolder,
Composite parent) {
- super(parentPane, subjectHolder, parent, false);
+ super(parentPane, subjectHolder, parent);
}
@@ -91,7 +96,12 @@ public class ColumnComposite
JptCommonUiMessages.DefaultWithOneParam,
JptCommonUiMessages.NoneSelected);
}
-
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_COLUMN;
+ }
+
@Override
public String toString() {
return "ColumnComposite.columnCombo"; //$NON-NLS-1$
@@ -244,7 +254,12 @@ public class ColumnComposite
JptCommonUiMessages.DefaultWithOneParam,
JptCommonUiMessages.NoneSelected);
}
-
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_COLUMN_TABLE;
+ }
+
@Override
public String toString() {
return "ColumnComposite.tableCombo"; //$NON-NLS-1$
@@ -348,207 +363,207 @@ public class ColumnComposite
}
};
}
-
+
+ @Override
+ protected Composite addComposite(Composite parent) {
+ return addTitledGroup(
+ parent,
+ JptUiDetailsMessages.ColumnComposite_columnSection,
+ 2,
+ null);
+ }
+
@Override
protected void initializeLayout(Composite container) {
- // Column group pane
- container = addTitledGroup(
- container,
- JptUiDetailsMessages.ColumnComposite_columnSection);
-
// Column widgets
- addLabeledComposite(
- container,
- JptUiDetailsMessages.ColumnComposite_name,
- addColumnCombo(container),
- JpaHelpContextIds.MAPPING_COLUMN);
-
+ this.addLabel(container, JptUiDetailsMessages.ColumnComposite_name);
+ this.addColumnCombo(container);
+
// Table widgets
- addLabeledComposite(
- container,
- JptUiDetailsMessages.ColumnComposite_table,
- addTableCombo(container),
- JpaHelpContextIds.MAPPING_COLUMN_TABLE);
-
+ this.addLabel(container, JptUiDetailsMessages.ColumnComposite_table);
+ this.addTableCombo(container);
+
+
// Details sub-pane
- container = addCollapsibleSubSection(
- container,
- JptUiDetailsMessages.ColumnComposite_details,
- new SimplePropertyValueModel<Boolean>(Boolean.FALSE));
-
- new DetailsComposite(this, getSubjectHolder(), addSubPane(container, 0, 16));
+ final Section detailsSection = this.getWidgetFactory().createSection(container, ExpandableComposite.TWISTIE);
+ detailsSection.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ detailsSection.setText(JptUiDetailsMessages.ColumnComposite_details);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ detailsSection.setLayoutData(gridData);
+
+ detailsSection.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && detailsSection.getClient() == null) {
+ detailsSection.setClient(ColumnComposite.this.initializeDetailsSection(detailsSection));
+ }
+ }
+ });
+ }
+
+ protected Composite initializeDetailsSection(Composite container) {
+ Composite detailsClient = this.addSubPane(container, 2, 0, 16, 0, 0);
+
+ // Insertable tri-state check box
+ TriStateCheckBox insertableCheckBox = addTriStateCheckBoxWithDefault(
+ detailsClient,
+ JptUiDetailsMessages.ColumnComposite_insertable,
+ buildInsertableHolder(),
+ buildInsertableStringHolder(),
+ JpaHelpContextIds.MAPPING_COLUMN_INSERTABLE);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ insertableCheckBox.getCheckBox().setLayoutData(gridData);
+
+ // Updatable tri-state check box
+ TriStateCheckBox updatableCheckBox = addTriStateCheckBoxWithDefault(
+ detailsClient,
+ JptUiDetailsMessages.ColumnComposite_updatable,
+ buildUpdatableHolder(),
+ buildUpdatableStringHolder(),
+ JpaHelpContextIds.MAPPING_COLUMN_UPDATABLE);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ updatableCheckBox.getCheckBox().setLayoutData(gridData);
+
+ // Unique tri-state check box
+ TriStateCheckBox uniqueCheckBox = addTriStateCheckBoxWithDefault(
+ detailsClient,
+ JptUiDetailsMessages.ColumnComposite_unique,
+ buildUniqueHolder(),
+ buildUniqueStringHolder(),
+ JpaHelpContextIds.MAPPING_COLUMN_UNIQUE);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ uniqueCheckBox.getCheckBox().setLayoutData(gridData);
+
+ // Nullable tri-state check box
+ TriStateCheckBox nullableCheckBox = addTriStateCheckBoxWithDefault(
+ detailsClient,
+ JptUiDetailsMessages.ColumnComposite_nullable,
+ buildNullableHolder(),
+ buildNullableStringHolder(),
+ JpaHelpContextIds.MAPPING_COLUMN_NULLABLE);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ nullableCheckBox.getCheckBox().setLayoutData(gridData);
+
+ this.addLabel(detailsClient, JptUiDetailsMessages.ColumnComposite_length);
+ this.addLengthCombo(detailsClient);
+
+ this.addLabel(detailsClient, JptUiDetailsMessages.ColumnComposite_precision);
+ this.addPrecisionCombo(detailsClient);
+
+ this.addLabel(detailsClient, JptUiDetailsMessages.ColumnComposite_scale);
+ this.addScaleCombo(detailsClient);
+
+ // Column Definition widgets
+ this.addLabel(detailsClient, JptUiDetailsMessages.ColumnComposite_columnDefinition);
+ this.addText(detailsClient, buildColumnDefinitionHolder());
+
+ return detailsClient;
}
- protected class DetailsComposite extends Pane<ReadOnlyColumn> {
-
- public DetailsComposite(
- Pane<?> parentPane,
- PropertyValueModel<? extends ReadOnlyColumn> subjectHolder,
- Composite parent) {
+ private void addLengthCombo(Composite container) {
+ new IntegerCombo<ReadOnlyColumn>(this, container) {
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_COLUMN_LENGTH;
+ }
- super(parentPane, subjectHolder, parent, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- // Insertable tri-state check box
- addTriStateCheckBoxWithDefault(
- addSubPane(container, 4),
- JptUiDetailsMessages.ColumnComposite_insertable,
- buildInsertableHolder(),
- buildInsertableStringHolder(),
- JpaHelpContextIds.MAPPING_COLUMN_INSERTABLE);
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<ReadOnlyColumn, Integer>(getSubjectHolder(), ReadOnlyColumn.DEFAULT_LENGTH_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return Integer.valueOf(this.subject.getDefaultLength());
+ }
+ };
+ }
- // Updatable tri-state check box
- addTriStateCheckBoxWithDefault(
- container,
- JptUiDetailsMessages.ColumnComposite_updatable,
- buildUpdatableHolder(),
- buildUpdatableStringHolder(),
- JpaHelpContextIds.MAPPING_COLUMN_UPDATABLE);
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<ReadOnlyColumn, Integer>(getSubjectHolder(), ReadOnlyColumn.SPECIFIED_LENGTH_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getSpecifiedLength();
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ ((Column) this.subject).setSpecifiedLength(value);
+ }
+ };
+ }
+ };
+ }
+
+ private void addPrecisionCombo(Composite container) {
+ new IntegerCombo<ReadOnlyColumn>(this, container) {
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_COLUMN_PRECISION;
+ }
- // Unique tri-state check box
- addTriStateCheckBoxWithDefault(
- container,
- JptUiDetailsMessages.ColumnComposite_unique,
- buildUniqueHolder(),
- buildUniqueStringHolder(),
- JpaHelpContextIds.MAPPING_COLUMN_UNIQUE);
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<ReadOnlyColumn, Integer>(getSubjectHolder(), ReadOnlyColumn.DEFAULT_PRECISION_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return Integer.valueOf(this.subject.getDefaultPrecision());
+ }
+ };
+ }
- // Nullable tri-state check box
- addTriStateCheckBoxWithDefault(
- container,
- JptUiDetailsMessages.ColumnComposite_nullable,
- buildNullableHolder(),
- buildNullableStringHolder(),
- JpaHelpContextIds.MAPPING_COLUMN_NULLABLE);
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<ReadOnlyColumn, Integer>(getSubjectHolder(), ReadOnlyColumn.SPECIFIED_PRECISION_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getSpecifiedPrecision();
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ ((Column) this.subject).setSpecifiedPrecision(value);
+ }
+ };
+ }
+ };
+ }
+
+ private void addScaleCombo(Composite container) {
+ new IntegerCombo<ReadOnlyColumn>(this, container) {
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_COLUMN_SCALE;
+ }
- addLengthCombo(container);
- addPrecisionCombo(container);
- addScaleCombo(container);
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<ReadOnlyColumn, Integer>(getSubjectHolder(), ReadOnlyColumn.DEFAULT_SCALE_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return Integer.valueOf(this.subject.getDefaultScale());
+ }
+ };
+ }
- // Column Definition widgets
- addLabeledText(
- container,
- JptUiDetailsMessages.ColumnComposite_columnDefinition,
- buildColumnDefinitionHolder());
- }
-
- private void addLengthCombo(Composite container) {
- new IntegerCombo<ReadOnlyColumn>(this, container) {
- @Override
- protected String getLabelText() {
- return JptUiDetailsMessages.ColumnComposite_length;
- }
-
- @Override
- protected String getHelpId() {
- return JpaHelpContextIds.MAPPING_COLUMN_LENGTH;
- }
-
- @Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<ReadOnlyColumn, Integer>(getSubjectHolder(), ReadOnlyColumn.DEFAULT_LENGTH_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return Integer.valueOf(this.subject.getDefaultLength());
- }
- };
- }
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<ReadOnlyColumn, Integer>(getSubjectHolder(), ReadOnlyColumn.SPECIFIED_LENGTH_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getSpecifiedLength();
- }
-
- @Override
- protected void setValue_(Integer value) {
- ((Column) this.subject).setSpecifiedLength(value);
- }
- };
- }
- };
- }
-
- private void addPrecisionCombo(Composite container) {
- new IntegerCombo<ReadOnlyColumn>(this, container) {
- @Override
- protected String getLabelText() {
- return JptUiDetailsMessages.ColumnComposite_precision;
- }
-
- @Override
- protected String getHelpId() {
- return JpaHelpContextIds.MAPPING_COLUMN_PRECISION;
- }
-
- @Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<ReadOnlyColumn, Integer>(getSubjectHolder(), ReadOnlyColumn.DEFAULT_PRECISION_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return Integer.valueOf(this.subject.getDefaultPrecision());
- }
- };
- }
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<ReadOnlyColumn, Integer>(getSubjectHolder(), ReadOnlyColumn.SPECIFIED_PRECISION_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getSpecifiedPrecision();
- }
-
- @Override
- protected void setValue_(Integer value) {
- ((Column) this.subject).setSpecifiedPrecision(value);
- }
- };
- }
- };
- }
-
- private void addScaleCombo(Composite container) {
- new IntegerCombo<ReadOnlyColumn>(this, container) {
- @Override
- protected String getLabelText() {
- return JptUiDetailsMessages.ColumnComposite_scale;
- }
-
- @Override
- protected String getHelpId() {
- return JpaHelpContextIds.MAPPING_COLUMN_SCALE;
- }
-
- @Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<ReadOnlyColumn, Integer>(getSubjectHolder(), ReadOnlyColumn.DEFAULT_SCALE_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return Integer.valueOf(this.subject.getDefaultScale());
- }
- };
- }
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<ReadOnlyColumn, Integer>(getSubjectHolder(), ReadOnlyColumn.SPECIFIED_SCALE_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getSpecifiedScale();
- }
-
- @Override
- protected void setValue_(Integer value) {
- ((Column) this.subject).setSpecifiedScale(value);
- }
- };
- }
- };
- }
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<ReadOnlyColumn, Integer>(getSubjectHolder(), ReadOnlyColumn.SPECIFIED_SCALE_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getSpecifiedScale();
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ ((Column) this.subject).setSpecifiedScale(value);
+ }
+ };
+ }
+ };
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/DiscriminatorColumnComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/DiscriminatorColumnComposite.java
index d9fbcec63d..fd831c70ce 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/DiscriminatorColumnComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/DiscriminatorColumnComposite.java
@@ -11,12 +11,10 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import java.util.Collection;
import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.DiscriminatorColumn;
@@ -27,7 +25,12 @@ import org.eclipse.jpt.jpa.core.context.ReadOnlyNamedColumn;
import org.eclipse.jpt.jpa.db.Table;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.jpa.ui.internal.details.db.ColumnCombo;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -72,54 +75,73 @@ public class DiscriminatorColumnComposite<T extends Entity> extends Pane<T> {
public DiscriminatorColumnComposite(Pane<? extends T> parentPane,
Composite parent) {
- super(parentPane, parent, false);
+ super(parentPane, parent);
}
@Override
- protected void initializeLayout(Composite container) {
- // Discriminator Column sub-pane
- Composite discriminatorColumnContainer = addTitledGroup(
- addSubPane(container, 10),
- JptUiDetailsMessages.InheritanceComposite_discriminatorColumnGroupBox
+ protected Composite addComposite(Composite parent) {
+ return addTitledGroup(
+ parent,
+ JptUiDetailsMessages.InheritanceComposite_discriminatorColumnGroupBox,
+ 2,
+ null
);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder =
buildDiscriminatorColumnHolder();
+ PropertyValueModel<Boolean> enabledModel = buildDiscriminatorColumnEnabledHolder();
// Name widgets
- addLabeledComposite(
- discriminatorColumnContainer,
- JptUiDetailsMessages.DiscriminatorColumnComposite_name,
- addDiscriminatorColumnCombo(container, discriminatorColumnHolder),
- JpaHelpContextIds.ENTITY_INHERITANCE_DISCRIMINATOR_COLUMN
- );
+ this.addLabel(container, JptUiDetailsMessages.DiscriminatorColumnComposite_name, enabledModel);
+ this.addDiscriminatorColumnCombo(container, discriminatorColumnHolder, enabledModel);
// Discriminator Type widgets
- addLabeledComposite(
- discriminatorColumnContainer,
- JptUiDetailsMessages.DiscriminatorColumnComposite_discriminatorType,
- addDiscriminatorTypeCombo(container, discriminatorColumnHolder),
- JpaHelpContextIds.ENTITY_INHERITANCE_DISCRIMINATOR_TYPE
- );
+ this.addLabel(container,JptUiDetailsMessages.DiscriminatorColumnComposite_discriminatorType, enabledModel);
+ this.addDiscriminatorTypeCombo(container, discriminatorColumnHolder, enabledModel);
- container = addCollapsibleSubSection(
- discriminatorColumnContainer,
- JptUiDetailsMessages.InheritanceComposite_detailsGroupBox,
- new SimplePropertyValueModel<Boolean>(Boolean.FALSE)
- );
-
- new DetailsComposite(this, discriminatorColumnHolder, addSubPane(container, 0, 16));
-
- new PaneEnabler(buildDiscriminatorColumnEnabledHolder(), this);
+
+ Section detailsSection = this.getWidgetFactory().createSection(container, ExpandableComposite.TWISTIE);
+ detailsSection.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ detailsSection.setText(JptUiDetailsMessages.InheritanceComposite_detailsGroupBox);
+ detailsSection.setClient(this.initializeDetailsClient(detailsSection, discriminatorColumnHolder, enabledModel));
+ }
+
+ protected Control initializeDetailsClient(Section detailsSection, PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder, PropertyValueModel<Boolean> enabledModel) {
+ Composite detailsClient = this.addSubPane(detailsSection, 2, 0, 0, 0, 0);
+ detailsSection.setClient(detailsClient);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ detailsSection.setLayoutData(gridData);
+
+ // Length widgets
+ Label lengthLabel = this.addLabel(detailsClient, JptUiDetailsMessages.ColumnComposite_length, enabledModel);
+ gridData = new GridData();
+ gridData.horizontalIndent = 16;
+ lengthLabel.setLayoutData(gridData);
+ this.addLengthCombo(detailsClient, discriminatorColumnHolder, enabledModel);
+
+ // Column Definition widgets
+ Label columnDefinitionLabel = this.addLabel(detailsClient, JptUiDetailsMessages.ColumnComposite_columnDefinition, enabledModel);
+ gridData = new GridData();
+ gridData.horizontalIndent = 16;
+ columnDefinitionLabel.setLayoutData(gridData);
+ this.addText(detailsClient, this.buildColumnDefinitionHolder(discriminatorColumnHolder), null, enabledModel);
+
+ return detailsClient;
}
private ColumnCombo<DiscriminatorColumn> addDiscriminatorColumnCombo(
Composite container,
- PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder) {
+ PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder,
+ PropertyValueModel<Boolean> enabledModel) {
return new ColumnCombo<DiscriminatorColumn>(
this,
discriminatorColumnHolder,
+ enabledModel,
container)
{
@@ -154,6 +176,16 @@ public class DiscriminatorColumnComposite<T extends Entity> extends Pane<T> {
protected String buildNullDefaultValueEntry() {
return JptCommonUiMessages.NoneSelected;
}
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.ENTITY_INHERITANCE_DISCRIMINATOR_COLUMN;
+ }
+
+ @Override
+ public String toString() {
+ return "DiscriminatorColumnComposite.columnCombo"; //$NON-NLS-1$
+ }
};
}
@@ -168,11 +200,13 @@ public class DiscriminatorColumnComposite<T extends Entity> extends Pane<T> {
private EnumFormComboViewer<DiscriminatorColumn, DiscriminatorType> addDiscriminatorTypeCombo(
Composite container,
- PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder) {
+ PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder,
+ PropertyValueModel<Boolean> enabledModel) {
return new EnumFormComboViewer<DiscriminatorColumn, DiscriminatorType>(
this,
discriminatorColumnHolder,
+ enabledModel,
container)
{
@Override
@@ -220,6 +254,11 @@ public class DiscriminatorColumnComposite<T extends Entity> extends Pane<T> {
protected void setValue(DiscriminatorType value) {
getSubject().setSpecifiedDiscriminatorType(value);
}
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.ENTITY_INHERITANCE_DISCRIMINATOR_TYPE;
+ }
};
}
@@ -227,88 +266,60 @@ public class DiscriminatorColumnComposite<T extends Entity> extends Pane<T> {
return new PropertyAspectAdapter<Entity, Boolean>(getSubjectHolder(), Entity.SPECIFIED_DISCRIMINATOR_COLUMN_IS_ALLOWED_PROPERTY) {
@Override
protected Boolean buildValue_() {
- return Boolean.valueOf(this.subject.specifiedDiscriminatorColumnIsAllowed());
+ return Boolean.valueOf( this.subject != null && this.subject.specifiedDiscriminatorColumnIsAllowed());
}
};
}
-
- protected class DetailsComposite extends Pane<DiscriminatorColumn> {
- public DetailsComposite(Pane<?> parentPane,
- PropertyValueModel<? extends DiscriminatorColumn> subjectHolder,
- Composite parent) {
-
- super(parentPane, subjectHolder, parent, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- // Length widgets
- addLengthCombo(container);
-
- // Column Definition widgets
- addLabeledText(
- container,
- JptUiDetailsMessages.ColumnComposite_columnDefinition,
- buildColumnDefinitionHolder(getSubjectHolder())
- );
- }
-
- private void addLengthCombo(Composite container) {
- new IntegerCombo<DiscriminatorColumn>(this, container) {
-
- @Override
- protected String getLabelText() {
- return JptUiDetailsMessages.ColumnComposite_length;
- }
-
- @Override
- protected String getHelpId() {
- return JpaHelpContextIds.MAPPING_COLUMN_LENGTH;
- }
- @Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<DiscriminatorColumn, Integer>(getSubjectHolder(), DiscriminatorColumn.DEFAULT_LENGTH_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return Integer.valueOf(this.subject.getDefaultLength());
- }
- };
- }
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<DiscriminatorColumn, Integer>(getSubjectHolder(), DiscriminatorColumn.SPECIFIED_LENGTH_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getSpecifiedLength();
- }
-
- @Override
- protected void setValue_(Integer value) {
- this.subject.setSpecifiedLength(value);
- }
- };
- }
- };
- }
-
- private ModifiablePropertyValueModel<String> buildColumnDefinitionHolder(PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder) {
-
- return new PropertyAspectAdapter<DiscriminatorColumn, String>(discriminatorColumnHolder, NamedColumn.COLUMN_DEFINITION_PROPERTY) {
- @Override
- protected String buildValue_() {
- return this.subject.getColumnDefinition();
- }
+ private void addLengthCombo(Composite container, PropertyValueModel<DiscriminatorColumn> subjectHolder, PropertyValueModel<Boolean> enabledModel) {
+ new IntegerCombo<DiscriminatorColumn>(this, subjectHolder, enabledModel, container) {
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_COLUMN_LENGTH;
+ }
+
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<DiscriminatorColumn, Integer>(getSubjectHolder(), DiscriminatorColumn.DEFAULT_LENGTH_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return Integer.valueOf(this.subject.getDefaultLength());
+ }
+ };
+ }
+
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<DiscriminatorColumn, Integer>(getSubjectHolder(), DiscriminatorColumn.SPECIFIED_LENGTH_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getSpecifiedLength();
+ }
- @Override
- protected void setValue_(String value) {
- if (value.length() == 0) {
- value = null;
+ @Override
+ protected void setValue_(Integer value) {
+ this.subject.setSpecifiedLength(value);
}
- this.subject.setColumnDefinition(value);
+ };
+ }
+ };
+ }
+
+ private ModifiablePropertyValueModel<String> buildColumnDefinitionHolder(PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder) {
+
+ return new PropertyAspectAdapter<DiscriminatorColumn, String>(discriminatorColumnHolder, NamedColumn.COLUMN_DEFINITION_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return this.subject.getColumnDefinition();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (value.length() == 0) {
+ value = null;
}
- };
- }
+ this.subject.setColumnDefinition(value);
+ }
+ };
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EmbeddedIdMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EmbeddedIdMappingComposite.java
index 6a118d24ba..823e7dc9b8 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EmbeddedIdMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EmbeddedIdMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -13,23 +13,25 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class EmbeddedIdMappingComposite
extends AbstractEmbeddedIdMappingComposite<EmbeddedIdMapping>
{
public EmbeddedIdMappingComposite(
PropertyValueModel<? extends EmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeEmbeddedIdSection(Composite container) {
- new EmbeddedMappingOverridesComposite(
+ protected Control initializeEmbeddedIdSection(Composite container) {
+ return new EmbeddedMappingOverridesComposite(
this,
- container);
+ container).getControl();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EmbeddedMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EmbeddedMappingComposite.java
index 8b6b16e292..28233b6e6f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EmbeddedMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EmbeddedMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -42,9 +42,10 @@ public class EmbeddedMappingComposite extends AbstractEmbeddedMappingComposite<E
* @param widgetFactory The factory used to create various common widgets
*/
public EmbeddedMappingComposite(PropertyValueModel<? extends EmbeddedMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EntityNameComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EntityNameCombo.java
index cc3cfff9e7..a9514eacf0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EntityNameComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EntityNameCombo.java
@@ -12,6 +12,7 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.StringConverter;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
@@ -22,6 +23,7 @@ import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* Here the layout of this pane:
@@ -38,35 +40,46 @@ import org.eclipse.swt.widgets.Composite;
* @version 2.3
* @since 1.0
*/
-public class EntityNameComposite
+public class EntityNameCombo
extends Pane<Entity>
{
+ private Combo combo;
+
/**
* Creates a new <code>EntityNameComposite</code>.
*
* @param parentPane The parent container of this one
* @param parent The parent container
*/
- public EntityNameComposite(
+ public EntityNameCombo(
Pane<? extends Entity> parentPane,
Composite parent) {
super(parentPane, parent);
}
-
-
+
+ @Override
+ protected boolean addsComposite() {
+ return false;
+ }
+
+ @Override
+ public Control getControl() {
+ return this.combo;
+ }
+
@Override
protected void initializeLayout(Composite container) {
- Combo combo = addLabeledEditableCombo(
+ this.combo = addEditableCombo(
container,
- JptUiDetailsMessages.EntityNameComposite_name,
buildDefaultEntityNameListHolder(),
buildEntityNameHolder(),
+ StringConverter.Default.<String>instance(),
JpaHelpContextIds.ENTITY_NAME);
- SWTUtil.attachDefaultValueHandler(combo);
+ SWTUtil.attachDefaultValueHandler(this.combo);
}
-
+
private ListValueModel<String> buildDefaultEntityNameListHolder() {
return new PropertyListValueModelAdapter<String>(
buildDefaultEntityNameHolder()
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EnumTypeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EnumTypeComboViewer.java
index cd10382ada..bab276b737 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EnumTypeComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/EnumTypeComboViewer.java
@@ -12,14 +12,16 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import java.util.Collection;
import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.EnumType;
import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
+import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
+import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* Here the layout of this pane:
@@ -36,24 +38,36 @@ import org.eclipse.swt.widgets.Composite;
* @version 2.0
* @since 1.0
*/
-public class EnumTypeComposite extends Pane<BaseEnumeratedConverter>
+public class EnumTypeComboViewer extends Pane<BaseEnumeratedConverter>
{
- /**
- * Creates a new <code>EnumTypeComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public EnumTypeComposite(PropertyValueModel<? extends BaseEnumeratedConverter> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
+ private Combo combo;
+
+ public EnumTypeComboViewer(PropertyValueModel<? extends BaseEnumeratedConverter> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+
+ super(subjectHolder, enabledModel, parent, widgetFactory);
+}
+
+ @Override
+ protected boolean addsComposite() {
+ return false;
+ }
+
+ @Override
+ public Control getControl() {
+ return this.combo;
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ this.combo = this.addEnumTypeCombo(container).getControl();
}
private EnumFormComboViewer<BaseEnumeratedConverter, EnumType> addEnumTypeCombo(Composite container) {
- return new EnumFormComboViewer<BaseEnumeratedConverter, EnumType>(this, container) {
+ return new EnumFormComboViewer<BaseEnumeratedConverter, EnumType>(this, container, buildBooleanHolder()) {
@Override
protected void addPropertyNames(Collection<String> propertyNames) {
@@ -92,25 +106,18 @@ public class EnumTypeComposite extends Pane<BaseEnumeratedConverter>
protected void setValue(EnumType value) {
getSubject().setSpecifiedEnumType(value);
}
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_ENUMERATED;
+ }
};
}
- @Override
- protected void initializeLayout(Composite container) {
- //JpaHelpContextIds.MAPPING_ENUMERATED
- addEnumTypeCombo(container);
-
- new PaneEnabler(buildBooleanHolder(), this);
- }
-
-
protected PropertyValueModel<Boolean> buildBooleanHolder() {
return new TransformationPropertyValueModel<BaseEnumeratedConverter, Boolean>(getSubjectHolder()) {
@Override
protected Boolean transform(BaseEnumeratedConverter value) {
- if (getSubject() != null && getSubject().getParent().getPersistentAttribute().isVirtual()) {
- return Boolean.FALSE;
- }
return Boolean.valueOf(value != null);
}
};
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/FetchTypeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/FetchTypeComboViewer.java
index 3428e5a4ee..b61b3322d0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/FetchTypeComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/FetchTypeComboViewer.java
@@ -37,76 +37,56 @@ import org.eclipse.swt.widgets.Composite;
* @version 2.0
* @since 1.0
*/
-public class FetchTypeComposite extends Pane<FetchableMapping> {
+public class FetchTypeComboViewer extends EnumFormComboViewer<FetchableMapping, FetchType> {
- /**
- * Creates a new <code>FetchTypeComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public FetchTypeComposite(Pane<? extends FetchableMapping> parentPane,
+ public FetchTypeComboViewer(Pane<? extends FetchableMapping> parentPane,
Composite parent) {
super(parentPane, parent);
}
- private EnumFormComboViewer<FetchableMapping, FetchType> addFetchTypeCombo(Composite container) {
-
- return new EnumFormComboViewer<FetchableMapping, FetchType>(this, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(FetchableMapping.DEFAULT_FETCH_PROPERTY);
- propertyNames.add(FetchableMapping.SPECIFIED_FETCH_PROPERTY);
- }
-
- @Override
- protected FetchType[] getChoices() {
- return FetchType.values();
- }
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(FetchableMapping.DEFAULT_FETCH_PROPERTY);
+ propertyNames.add(FetchableMapping.SPECIFIED_FETCH_PROPERTY);
+ }
- @Override
- protected FetchType getDefaultValue() {
- return getSubject().getDefaultFetch();
- }
+ @Override
+ protected FetchType[] getChoices() {
+ return FetchType.values();
+ }
- @Override
- protected String displayString(FetchType value) {
- switch (value) {
- case EAGER :
- return JptUiDetailsMessages.FetchTypeComposite_eager;
- case LAZY :
- return JptUiDetailsMessages.FetchTypeComposite_lazy;
- default :
- throw new IllegalStateException();
- }
- }
+ @Override
+ protected FetchType getDefaultValue() {
+ return getSubject().getDefaultFetch();
+ }
- @Override
- protected FetchType getValue() {
- return getSubject().getSpecifiedFetch();
- }
+ @Override
+ protected String displayString(FetchType value) {
+ switch (value) {
+ case EAGER :
+ return JptUiDetailsMessages.FetchTypeComposite_eager;
+ case LAZY :
+ return JptUiDetailsMessages.FetchTypeComposite_lazy;
+ default :
+ throw new IllegalStateException();
+ }
+ }
- @Override
- protected void setValue(FetchType value) {
- getSubject().setSpecifiedFetch(value);
- }
- };
+ @Override
+ protected FetchType getValue() {
+ return getSubject().getSpecifiedFetch();
}
- /*
- * (non-Javadoc)
- */
@Override
- protected void initializeLayout(Composite container) {
+ protected void setValue(FetchType value) {
+ getSubject().setSpecifiedFetch(value);
+ }
- addLabeledComposite(
- container,
- JptUiDetailsMessages.BasicGeneralSection_fetchLabel,
- addFetchTypeCombo(container),
- JpaHelpContextIds.MAPPING_FETCH_TYPE
- );
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_FETCH_TYPE;
}
+
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/GeneratedValueComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/GeneratedValueComposite.java
deleted file mode 100644
index 499e8cda22..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/GeneratedValueComposite.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.details;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.NonEmptyStringFilter;
-import org.eclipse.jpt.common.utility.internal.model.value.CollectionAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.FilteringCollectionValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SetCollectionValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.SortedListValueModelAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationListValueModel;
-import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.GeneratedValue;
-import org.eclipse.jpt.jpa.core.context.GenerationType;
-import org.eclipse.jpt.jpa.core.context.Generator;
-import org.eclipse.jpt.jpa.core.context.IdMapping;
-import org.eclipse.jpt.jpa.core.context.JpaNamedContextNode;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | --------------------------------------------------------- |
- * | Strategy: | I |v| |
- * | --------------------------------------------------------- |
- * | --------------------------------------------------------- |
- * | Generator Name: | I |v| |
- * | --------------------------------------------------------- |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see IdMapping
- * @see GeneratedValue
- * @see IdMappingGenerationComposite - The parent container
- *
- * @version 2.3
- * @since 1.0
- */
-public class GeneratedValueComposite extends Pane<IdMapping>
-{
-
- /**
- * Creates a new <code>GeneratedValueComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public GeneratedValueComposite(Pane<? extends IdMapping> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- // Strategy widgets
- addLabeledComposite(
- container,
- JptUiDetailsMessages.GeneratedValueComposite_strategy,
- addStrategyComboViewer(container),
- JpaHelpContextIds.MAPPING_GENERATED_VALUE_STRATEGY
- );
-
- addLabeledEditableCombo(
- container,
- JptUiDetailsMessages.GeneratedValueComposite_generatorName,
- buildSortedGeneraterNamesModel(),
- buildGeneratorNameHolder(),
- JpaHelpContextIds.MAPPING_GENERATED_VALUE_GENERATOR_NAME
- );
- }
-
- private EnumFormComboViewer<GeneratedValue, GenerationType> addStrategyComboViewer(Composite parent) {
-
- return new EnumFormComboViewer<GeneratedValue, GenerationType>(this, buildGeneratedValueHolder(), parent) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(GeneratedValue.DEFAULT_STRATEGY_PROPERTY);
- propertyNames.add(GeneratedValue.SPECIFIED_STRATEGY_PROPERTY);
- }
-
- @Override
- protected GenerationType[] getChoices() {
- return GenerationType.values();
- }
-
- @Override
- protected GenerationType getDefaultValue() {
- return getSubject().getDefaultStrategy();
- }
-
- @Override
- protected String displayString(GenerationType value) {
- switch (value) {
- case AUTO :
- return JptUiDetailsMessages.GeneratedValueComposite_auto;
- case IDENTITY :
- return JptUiDetailsMessages.GeneratedValueComposite_identity;
- case SEQUENCE :
- return JptUiDetailsMessages.GeneratedValueComposite_sequence;
- case TABLE :
- return JptUiDetailsMessages.GeneratedValueComposite_table;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected GenerationType getValue() {
- return getSubject().getSpecifiedStrategy();
- }
-
- @Override
- protected void setValue(GenerationType value) {
- getGeneratedValueForUpdate().setSpecifiedStrategy(value);
- }
- };
- }
-
- private PropertyValueModel<GeneratedValue> buildGeneratedValueHolder() {
- return new PropertyAspectAdapter<IdMapping, GeneratedValue>(getSubjectHolder(), IdMapping.GENERATED_VALUE_PROPERTY) {
- @Override
- protected GeneratedValue buildValue_() {
- return getSubject().getGeneratedValue();
- }
- };
- }
-
- protected final ModifiablePropertyValueModel<String> buildGeneratorNameHolder() {
- return new PropertyAspectAdapter<GeneratedValue, String>(buildGeneratedValueHolder(), GeneratedValue.SPECIFIED_GENERATOR_PROPERTY) {
- @Override
- protected String buildValue_() {
- return this.subject.getSpecifiedGenerator();
- }
-
- @Override
- public void setValue(String value) {
- if (this.subject != null) {
- setValue_(value);
- return;
- }
- if (value.length() == 0) {
- return;
- }
- getGeneratedValueForUpdate().setSpecifiedGenerator(value);
- }
-
- @Override
- protected void setValue_(String value) {
- if (value !=null && value.length() == 0) {
- value = null;
- }
- this.subject.setSpecifiedGenerator(value);
- }
- };
- }
-
- protected ListValueModel<String> buildSortedGeneraterNamesModel() {
- return new SortedListValueModelAdapter<String>(this.buildUniqueGeneratorNamesModel());
- }
-
- protected CollectionValueModel<String> buildUniqueGeneratorNamesModel() {
- return new SetCollectionValueModel<String>(this.buildGeneratorNamesModel());
- }
-
- protected CollectionValueModel<String> buildGeneratorNamesModel() {
- return new FilteringCollectionValueModel<String>(this.buildGeneratorNamesModel_(), NonEmptyStringFilter.instance());
- }
-
- protected ListValueModel<String> buildGeneratorNamesModel_() {
- return new TransformationListValueModel<Generator, String>(this.buildGeneratorsModel()) {
- @Override
- protected String transformItem_(Generator generator) {
- return generator.getName();
- }
- };
- }
-
- protected ListValueModel<Generator> buildGeneratorsModel() {
- return new ItemPropertyListValueModelAdapter<Generator>(this.buildGeneratorsModel_(), JpaNamedContextNode.NAME_PROPERTY);
- }
-
- protected CollectionValueModel<Generator> buildGeneratorsModel_() {
- return new CollectionAspectAdapter<PersistenceUnit, Generator>(this.buildPersistenceUnitModel(), PersistenceUnit.GENERATORS_COLLECTION) {
- @Override
- protected Iterable<Generator> getIterable() {
- return this.subject.getGenerators();
- }
- @Override
- protected int size_() {
- return this.subject.getGeneratorsSize();
- }
- };
- }
-
- protected PropertyValueModel<PersistenceUnit> buildPersistenceUnitModel() {
- return new PropertyAspectAdapter<IdMapping, PersistenceUnit>(getSubjectHolder()) {
- @Override
- protected PersistenceUnit buildValue_() {
- return this.subject.getPersistenceUnit();
- }
- };
- }
-
- /* CU private */ GeneratedValue getGeneratedValueForUpdate() {
- GeneratedValue generatedValue = getSubject().getGeneratedValue();
-
- if (generatedValue == null) {
- generatedValue = getSubject().addGeneratedValue();
- }
- return generatedValue;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/GenerationComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/GenerationComposite.java
index eff424d0fa..243832e1a9 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/GenerationComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/GenerationComposite.java
@@ -19,8 +19,10 @@ import org.eclipse.jpt.jpa.core.context.SequenceGenerator;
import org.eclipse.jpt.jpa.core.context.TableGenerator;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.jpa.ui.internal.details.GeneratorComposite.GeneratorBuilder;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* Here the layout of this pane:
@@ -68,7 +70,7 @@ public class GenerationComposite extends Pane<GeneratorContainer>
PropertyValueModel<? extends GeneratorContainer> subjectHolder,
Composite parent) {
- super(parentPane, subjectHolder, parent, false);
+ super(parentPane, subjectHolder, parent);
}
@Override
@@ -96,30 +98,36 @@ public class GenerationComposite extends Pane<GeneratorContainer>
// Sequence Generator sub-section
container = this.addCollapsibleSubSection(
- this.addSubPane(container, 10),
+ container,
JptUiDetailsMessages.GeneratorsComposite_sequenceGeneratorSection,
this.sequenceGeneratorExpansionStateHolder
);
// Sequence Generator check box
Button sequenceGeneratorCheckBox = addCheckBox(
- this.addSubPane(container, 5),
+ container,
JptUiDetailsMessages.GeneratorsComposite_sequenceGeneratorCheckBox,
this.buildSequenceGeneratorBooleanHolder(),
JpaHelpContextIds.MAPPING_SEQUENCE_GENERATOR
);
+ GridData gridData = new GridData();
+ gridData.verticalIndent = 5;
+ sequenceGeneratorCheckBox.setLayoutData(gridData);
// Sequence Generator pane
- this.addSequenceGeneratorComposite(container, 0, sequenceGeneratorCheckBox.getBorderWidth() + 16);
+ Control sequenceGeneratorComposite = this.addSequenceGeneratorComposite(container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalIndent = sequenceGeneratorCheckBox.getBorderWidth() + 16;
+ sequenceGeneratorComposite.setLayoutData(gridData);
}
- protected void addSequenceGeneratorComposite(Composite container, int topMargin, int leftMargin) {
- new SequenceGeneratorComposite(
+ protected Control addSequenceGeneratorComposite(Composite container) {
+ return new SequenceGeneratorComposite(
this,
this.buildSequenceGeneratorHolder(),
- this.addSubPane(container, topMargin, leftMargin),
+ container,
this.buildSequenceGeneratorBuilder()
- );
+ ).getControl();
}
protected PropertyValueModel<SequenceGenerator> buildSequenceGeneratorHolder() {
@@ -169,20 +177,26 @@ public class GenerationComposite extends Pane<GeneratorContainer>
);
Button tableGeneratorCheckBox = addCheckBox(
- this.addSubPane(container, 5),
+ container,
JptUiDetailsMessages.GeneratorsComposite_tableGeneratorCheckBox,
this.buildTableGeneratorBooleanHolder(),
JpaHelpContextIds.MAPPING_TABLE_GENERATOR
);
+ GridData gridData = new GridData();
+ gridData.verticalIndent = 5;
+ tableGeneratorCheckBox.setLayoutData(gridData);
// Table Generator pane
- new TableGeneratorComposite(
+ Control tableGeneratorComposite = new TableGeneratorComposite(
this,
this.buildTableGeneratorHolder(),
- this.addSubPane(container, 0, tableGeneratorCheckBox.getBorderWidth() + 16),
+ container,
this.buildTableGeneratorBuilder()
- );
+ ).getControl();
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalIndent = tableGeneratorCheckBox.getBorderWidth() + 16;
+ tableGeneratorComposite.setLayoutData(gridData);
}
private PropertyValueModel<TableGenerator> buildTableGeneratorHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/GeneratorComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/GeneratorComposite.java
index e1110134f8..17d36daa91 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/GeneratorComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/GeneratorComposite.java
@@ -40,7 +40,7 @@ public abstract class GeneratorComposite<T extends Generator> extends Pane<T>
Composite parent,
GeneratorBuilder<T> generatorBuilder) {
- super(parentPane, subjectHolder, parent, false);
+ super(parentPane, subjectHolder, parent);
this.generatorBuilder = generatorBuilder;
}
@@ -101,12 +101,7 @@ public abstract class GeneratorComposite<T extends Generator> extends Pane<T>
protected void addAllocationSizeCombo(Composite container) {
new IntegerCombo<Generator>(this, getSubjectHolder(), container) {
-
- @Override
- protected String getLabelText() {
- return JptUiDetailsMessages.GeneratorComposite_allocationSize;
- }
-
+
@Override
protected String getHelpId() {
return null;//JpaHelpContextIds.MAPPING_COLUMN_LENGTH;
@@ -141,12 +136,6 @@ public abstract class GeneratorComposite<T extends Generator> extends Pane<T>
protected void addInitialValueCombo(Composite container) {
new IntegerCombo<Generator>(this, getSubjectHolder(), container) {
-
- @Override
- protected String getLabelText() {
- return JptUiDetailsMessages.GeneratorComposite_initialValue;
- }
-
@Override
protected String getHelpId() {
return null;//JpaHelpContextIds.MAPPING_COLUMN_LENGTH;
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdClassChooser.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdClassChooser.java
new file mode 100644
index 0000000000..ba63708a7f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdClassChooser.java
@@ -0,0 +1,101 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 Oracle. 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
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.ui.internal.details;
+
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserComboPane;
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
+import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.IdClassReference;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+
+public class IdClassChooser
+ extends ClassChooserComboPane<IdClassReference>
+{
+ public IdClassChooser(Pane<?> parentPane, PropertyValueModel<IdClassReference> subjectHolder, Composite parent, Hyperlink hyperlink) {
+ super(parentPane, subjectHolder, parent, hyperlink);
+ }
+
+ @Override
+ protected String getClassName() {
+ return getSubject().getIdClassName();
+ }
+
+ @Override
+ protected void setClassName(String className) {
+ getSubject().setSpecifiedIdClassName(className);
+ }
+
+ @Override
+ protected IJavaProject getJavaProject() {
+ return getSubject().getJpaProject().getJavaProject();
+ }
+
+ @Override
+ protected char getEnclosingTypeSeparator() {
+ return getSubject().getIdClassEnclosingTypeSeparator();
+ }
+
+ @Override
+ protected String getFullyQualifiedClassName() {
+ return getSubject().getFullyQualifiedIdClassName();
+ }
+
+ @Override
+ protected ModifiablePropertyValueModel<String> buildTextHolder() {
+ return new PropertyAspectAdapter<IdClassReference, String>(
+ getSubjectHolder(),
+ IdClassReference.SPECIFIED_ID_CLASS_NAME_PROPERTY,
+ IdClassReference.DEFAULT_ID_CLASS_NAME_PROPERTY) {
+
+ @Override
+ protected String buildValue_() {
+ String value = this.subject.getSpecifiedIdClassName();
+ return (value == null) ? defaultText(this.subject) : value;
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (value == null
+ || value.length() == 0
+ || value.equals(defaultText(this.subject))) {
+ value = null;
+ }
+ this.subject.setSpecifiedIdClassName(value);
+ }
+ };
+ }
+
+ protected String defaultText(IdClassReference idClassReference) {
+ String defaultClassName = idClassReference.getDefaultIdClassName();
+ return (defaultClassName == null) ?
+ JptCommonUiMessages.NoneSelected
+ : NLS.bind(JptCommonUiMessages.DefaultWithOneParam, defaultClassName);
+ }
+
+ @Override
+ protected ListValueModel<String> buildClassListHolder() {
+ return new PropertyListValueModelAdapter<String>(
+ new PropertyAspectAdapter<IdClassReference, String>(
+ getSubjectHolder(), IdClassReference.DEFAULT_ID_CLASS_NAME_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return defaultText(this.subject);
+ }
+ });
+ }
+} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdClassComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdClassComposite.java
deleted file mode 100644
index 5ceecb123b..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdClassComposite.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.details;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserComboPane;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.IdClassReference;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Id class hyperlink label, combo, and browse button
- *
- */
-public class IdClassComposite
- extends Pane<IdClassReference>
-{
- /**
- * Creates a new <code>IdClassComposite</code>.
- *
- * @param parentPane The parent pane of this one
- * @param parent The parent container
- */
- public IdClassComposite(
- Pane<?> parentPane,
- PropertyValueModel<? extends IdClassReference> subjectHolder,
- Composite parent) {
-
- super(parentPane, subjectHolder, parent);
- }
-
- public IdClassComposite(
- Pane<?> parentPane,
- PropertyValueModel<? extends IdClassReference> subjectHolder,
- Composite parent,
- boolean automaticallyAlignWidgets) {
-
- super(parentPane, subjectHolder, parent, automaticallyAlignWidgets);
- }
-
-
- @Override
- protected void initializeLayout(Composite container) {
- new IdClassChooserComboPane(this, container);
- }
-
-
- private class IdClassChooserComboPane
- extends ClassChooserComboPane<IdClassReference>
- {
- public IdClassChooserComboPane(Pane<IdClassReference> parentPane, Composite parent) {
- super(parentPane, parent);
- }
-
-
- @Override
- protected String getClassName() {
- return getSubject().getIdClassName();
- }
-
- @Override
- protected void setClassName(String className) {
- getSubject().setSpecifiedIdClassName(className);
- }
-
- @Override
- protected String getLabelText() {
- return JptUiDetailsMessages.IdClassComposite_label;
- }
-
- @Override
- protected IJavaProject getJavaProject() {
- return getSubject().getJpaProject().getJavaProject();
- }
-
- @Override
- protected char getEnclosingTypeSeparator() {
- return getSubject().getIdClassEnclosingTypeSeparator();
- }
-
- @Override
- protected String getFullyQualifiedClassName() {
- return getSubject().getFullyQualifiedIdClassName();
- }
-
- @Override
- protected ModifiablePropertyValueModel<String> buildTextHolder() {
- return new PropertyAspectAdapter<IdClassReference, String>(
- getSubjectHolder(),
- IdClassReference.SPECIFIED_ID_CLASS_NAME_PROPERTY,
- IdClassReference.DEFAULT_ID_CLASS_NAME_PROPERTY) {
-
- @Override
- protected String buildValue_() {
- String value = this.subject.getSpecifiedIdClassName();
- return (value == null) ? defaultText(this.subject) : value;
- }
-
- @Override
- protected void setValue_(String value) {
- if (value == null
- || value.length() == 0
- || value.equals(defaultText(this.subject))) {
- value = null;
- }
- this.subject.setSpecifiedIdClassName(value);
- }
- };
- }
-
- protected String defaultText(IdClassReference idClassReference) {
- String defaultClassName = idClassReference.getDefaultIdClassName();
- return (defaultClassName == null) ?
- JptCommonUiMessages.NoneSelected
- : NLS.bind(JptCommonUiMessages.DefaultWithOneParam, defaultClassName);
- }
-
- @Override
- protected ListValueModel<String> buildClassListHolder() {
- return new PropertyListValueModelAdapter<String>(
- new PropertyAspectAdapter<IdClassReference, String>(
- getSubjectHolder(), IdClassReference.DEFAULT_ID_CLASS_NAME_PROPERTY) {
- @Override
- protected String buildValue_() {
- return defaultText(this.subject);
- }
- });
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdMappingComposite.java
index 617adaadf1..eb82efecc5 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -13,21 +13,27 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.IdMapping;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class IdMappingComposite
extends AbstractIdMappingComposite<IdMapping>
{
public IdMappingComposite(
PropertyValueModel<? extends IdMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeIdSection(Composite container) {
+ protected Control initializeIdSection(Composite container) {
+ container = this.addSubPane(container);
+
new ColumnComposite(this, buildColumnHolder(), container);
+
+ return container;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdMappingGenerationComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdMappingGenerationComposite.java
index 886c5a5d51..afdfd74b27 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdMappingGenerationComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/IdMappingGenerationComposite.java
@@ -9,21 +9,40 @@
******************************************************************************/
package org.eclipse.jpt.jpa.ui.internal.details;
+import java.util.Collection;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.NonEmptyStringFilter;
+import org.eclipse.jpt.common.utility.internal.StringConverter;
+import org.eclipse.jpt.common.utility.internal.model.value.CollectionAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.FilteringCollectionValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.SetCollectionValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SortedListValueModelAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationListValueModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.ListValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.GeneratedValue;
+import org.eclipse.jpt.jpa.core.context.GenerationType;
+import org.eclipse.jpt.jpa.core.context.Generator;
import org.eclipse.jpt.jpa.core.context.GeneratorContainer;
import org.eclipse.jpt.jpa.core.context.IdMapping;
+import org.eclipse.jpt.jpa.core.context.JpaNamedContextNode;
import org.eclipse.jpt.jpa.core.context.SequenceGenerator;
import org.eclipse.jpt.jpa.core.context.TableGenerator;
+import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.jpa.ui.internal.details.GeneratorComposite.GeneratorBuilder;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* This panel is partially a copy of the GenerationComposite panel. The difference
@@ -90,7 +109,7 @@ public class IdMappingGenerationComposite extends Pane<IdMapping>
public IdMappingGenerationComposite(Pane<? extends IdMapping> parentPane,
Composite parent)
{
- super(parentPane, parent, false);
+ super(parentPane, parent);
}
@Override
@@ -108,14 +127,19 @@ public class IdMappingGenerationComposite extends Pane<IdMapping>
}
@Override
- protected void initializeLayout(Composite container) {
+ protected Composite addComposite(Composite container) {
+ Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.IdMappingComposite_primaryKeyGenerationSection);
+ section.setExpanded(true);
+
+ Composite subPane = this.addSubPane(section, 2, 0, 0, 0, 0);
+ section.setClient(subPane);
+ return subPane;
+ }
- // Primary Key Generation section
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.IdMappingComposite_primaryKeyGenerationSection,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE)
- );
+ @Override
+ protected void initializeLayout(Composite container) {
// Primary Key Generation check box
Button primaryKeyGenerationCheckBox = addCheckBox(
@@ -124,26 +148,41 @@ public class IdMappingGenerationComposite extends Pane<IdMapping>
buildPrimaryKeyGenerationHolder(),
JpaHelpContextIds.MAPPING_PRIMARY_KEY_GENERATION
);
-
- // Generated Value widgets
- GeneratedValueComposite generatedValueComposite = new GeneratedValueComposite(
- this,
- container
- );
-
GridData gridData = new GridData();
- gridData.horizontalAlignment = GridData.FILL;
- gridData.grabExcessHorizontalSpace = true;
- gridData.horizontalIndent = primaryKeyGenerationCheckBox.getBorderWidth() + 16;
-
- generatedValueComposite.getControl().setLayoutData(gridData);
+ gridData.horizontalSpan = 2;
+ primaryKeyGenerationCheckBox.setLayoutData(gridData);
+
+ // Strategy widgets
+ Label strategyLabel = addLabel(container, JptUiDetailsMessages.GeneratedValueComposite_strategy);
+ gridData = new GridData();
+ gridData.horizontalIndent = primaryKeyGenerationCheckBox.getBorderWidth() + 16;
+ strategyLabel.setLayoutData(gridData);
+ this.addStrategyComboViewer(container);
+
+ Label nameLabel = this.addLabel(container, JptUiDetailsMessages.GeneratedValueComposite_generatorName);
+ gridData = new GridData();
+ gridData.horizontalIndent = primaryKeyGenerationCheckBox.getBorderWidth() + 16;
+ nameLabel.setLayoutData(gridData);
+ this.addEditableCombo(
+ container,
+ buildSortedGeneraterNamesModel(),
+ buildGeneratorNameHolder(),
+ StringConverter.Default.<String>instance(),
+ JpaHelpContextIds.MAPPING_GENERATED_VALUE_GENERATOR_NAME
+ );
PropertyValueModel<GeneratorContainer> generatorHolder = buildGeneratorContainer();
// Table Generator pane
- initializeTableGeneratorPane(addSubPane(container, 10), generatorHolder);
+ Composite tableGeneratorComposite = initializeTableGeneratorPane(container, generatorHolder);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ tableGeneratorComposite.setLayoutData(gridData);
// Sequence Generator pane
- initializeSequenceGeneratorPane(addSubPane(container, 10), generatorHolder);
+ Composite sequenceGeneratorComposite = initializeSequenceGeneratorPane(container, generatorHolder);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ sequenceGeneratorComposite.setLayoutData(gridData);
}
private ModifiablePropertyValueModel<Boolean> buildPrimaryKeyGenerationHolder() {
@@ -175,7 +214,7 @@ public class IdMappingGenerationComposite extends Pane<IdMapping>
};
}
- private void initializeSequenceGeneratorPane(Composite container, PropertyValueModel<GeneratorContainer> generatorHolder) {
+ private Composite initializeSequenceGeneratorPane(Composite container, PropertyValueModel<GeneratorContainer> generatorHolder) {
// Sequence Generator sub-section
container = addCollapsibleSubSection(
@@ -193,12 +232,16 @@ public class IdMappingGenerationComposite extends Pane<IdMapping>
);
// Sequence Generator pane
- this.buildSequenceGeneratorComposite(
+ SequenceGeneratorComposite sequenceGeneratorComposite = this.buildSequenceGeneratorComposite(
container,
buildSequenceGeneratorHolder(generatorHolder),
- buildSequenceGeneratorBuilder(generatorHolder),
- 0,
- sequenceGeneratorCheckBox.getBorderWidth() + 16);
+ buildSequenceGeneratorBuilder(generatorHolder));
+
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalIndent = sequenceGeneratorCheckBox.getBorderWidth() + 16;
+ sequenceGeneratorComposite.getControl().setLayoutData(gridData);
+
+ return container.getParent();//return the Section
}
private ModifiablePropertyValueModel<Boolean> buildSequenceGeneratorBooleanHolder(PropertyValueModel<GeneratorContainer> generatorHolder) {
@@ -232,14 +275,12 @@ public class IdMappingGenerationComposite extends Pane<IdMapping>
protected SequenceGeneratorComposite buildSequenceGeneratorComposite(
Composite container,
PropertyValueModel<SequenceGenerator> sequenceGeneratorHolder,
- GeneratorBuilder<SequenceGenerator> generatorBuilder,
- int topMargin,
- int leftMargin) {
+ GeneratorBuilder<SequenceGenerator> generatorBuilder) {
return new SequenceGeneratorComposite(
this,
sequenceGeneratorHolder,
- this.addSubPane(container, topMargin, leftMargin),
+ container,
generatorBuilder
);
}
@@ -260,7 +301,7 @@ public class IdMappingGenerationComposite extends Pane<IdMapping>
};
}
- private void initializeTableGeneratorPane(Composite container, PropertyValueModel<GeneratorContainer> generatorHolder) {
+ private Composite initializeTableGeneratorPane(Composite container, PropertyValueModel<GeneratorContainer> generatorHolder) {
// Table Generator sub-section
container = addCollapsibleSubSection(
@@ -276,26 +317,28 @@ public class IdMappingGenerationComposite extends Pane<IdMapping>
JpaHelpContextIds.MAPPING_TABLE_GENERATOR
);
- // Sequence Generator pane
- this.buildTableGeneratorComposite(
+ // Table Generator pane
+ TableGeneratorComposite tableGeneratorComposite = this.buildTableGeneratorComposite(
container,
buildTableGeneratorHolder(generatorHolder),
- buildTableGeneratorBuilder(generatorHolder),
- 0,
- tableGeneratorCheckBox.getBorderWidth() + 16);
+ buildTableGeneratorBuilder(generatorHolder));
+
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalIndent = tableGeneratorCheckBox.getBorderWidth() + 16;
+ tableGeneratorComposite.getControl().setLayoutData(gridData);
+
+ return container.getParent();//return the Section
}
protected TableGeneratorComposite buildTableGeneratorComposite(
Composite container,
PropertyValueModel<TableGenerator> tableGeneratorHolder,
- GeneratorBuilder<TableGenerator> generatorBuilder,
- int topMargin,
- int leftMargin) {
+ GeneratorBuilder<TableGenerator> generatorBuilder) {
return new TableGeneratorComposite(
this,
tableGeneratorHolder,
- this.addSubPane(container, topMargin, leftMargin),
+ container,
generatorBuilder
);
}
@@ -344,5 +387,151 @@ public class IdMappingGenerationComposite extends Pane<IdMapping>
}
};
}
+
+ private EnumFormComboViewer<GeneratedValue, GenerationType> addStrategyComboViewer(Composite parent) {
+ return new EnumFormComboViewer<GeneratedValue, GenerationType>(this, buildGeneratedValueHolder(), parent) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(GeneratedValue.DEFAULT_STRATEGY_PROPERTY);
+ propertyNames.add(GeneratedValue.SPECIFIED_STRATEGY_PROPERTY);
+ }
+
+ @Override
+ protected GenerationType[] getChoices() {
+ return GenerationType.values();
+ }
+
+ @Override
+ protected GenerationType getDefaultValue() {
+ return getSubject().getDefaultStrategy();
+ }
+
+ @Override
+ protected String displayString(GenerationType value) {
+ switch (value) {
+ case AUTO :
+ return JptUiDetailsMessages.GeneratedValueComposite_auto;
+ case IDENTITY :
+ return JptUiDetailsMessages.GeneratedValueComposite_identity;
+ case SEQUENCE :
+ return JptUiDetailsMessages.GeneratedValueComposite_sequence;
+ case TABLE :
+ return JptUiDetailsMessages.GeneratedValueComposite_table;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected GenerationType getValue() {
+ return getSubject().getSpecifiedStrategy();
+ }
+
+ @Override
+ protected void setValue(GenerationType value) {
+ getGeneratedValueForUpdate().setSpecifiedStrategy(value);
+ }
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_GENERATED_VALUE_STRATEGY;
+ }
+ };
+ }
+
+ private PropertyValueModel<GeneratedValue> buildGeneratedValueHolder() {
+ return new PropertyAspectAdapter<IdMapping, GeneratedValue>(getSubjectHolder(), IdMapping.GENERATED_VALUE_PROPERTY) {
+ @Override
+ protected GeneratedValue buildValue_() {
+ return getSubject().getGeneratedValue();
+ }
+ };
+ }
+
+ protected final ModifiablePropertyValueModel<String> buildGeneratorNameHolder() {
+ return new PropertyAspectAdapter<GeneratedValue, String>(buildGeneratedValueHolder(), GeneratedValue.SPECIFIED_GENERATOR_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return this.subject.getSpecifiedGenerator();
+ }
+
+ @Override
+ public void setValue(String value) {
+ if (this.subject != null) {
+ setValue_(value);
+ return;
+ }
+ if (value.length() == 0) {
+ return;
+ }
+ getGeneratedValueForUpdate().setSpecifiedGenerator(value);
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (value !=null && value.length() == 0) {
+ value = null;
+ }
+ this.subject.setSpecifiedGenerator(value);
+ }
+ };
+ }
+
+ protected ListValueModel<String> buildSortedGeneraterNamesModel() {
+ return new SortedListValueModelAdapter<String>(this.buildUniqueGeneratorNamesModel());
+ }
+
+ protected CollectionValueModel<String> buildUniqueGeneratorNamesModel() {
+ return new SetCollectionValueModel<String>(this.buildGeneratorNamesModel());
+ }
+
+ protected CollectionValueModel<String> buildGeneratorNamesModel() {
+ return new FilteringCollectionValueModel<String>(this.buildGeneratorNamesModel_(), NonEmptyStringFilter.instance());
+ }
+
+ protected ListValueModel<String> buildGeneratorNamesModel_() {
+ return new TransformationListValueModel<Generator, String>(this.buildGeneratorsModel()) {
+ @Override
+ protected String transformItem_(Generator generator) {
+ return generator.getName();
+ }
+ };
+ }
+
+ protected ListValueModel<Generator> buildGeneratorsModel() {
+ return new ItemPropertyListValueModelAdapter<Generator>(this.buildGeneratorsModel_(), JpaNamedContextNode.NAME_PROPERTY);
+ }
+
+ protected CollectionValueModel<Generator> buildGeneratorsModel_() {
+ return new CollectionAspectAdapter<PersistenceUnit, Generator>(this.buildPersistenceUnitModel(), PersistenceUnit.GENERATORS_COLLECTION) {
+ @Override
+ protected Iterable<Generator> getIterable() {
+ return this.subject.getGenerators();
+ }
+ @Override
+ protected int size_() {
+ return this.subject.getGeneratorsSize();
+ }
+ };
+ }
+
+ protected PropertyValueModel<PersistenceUnit> buildPersistenceUnitModel() {
+ return new PropertyAspectAdapter<IdMapping, PersistenceUnit>(getSubjectHolder()) {
+ @Override
+ protected PersistenceUnit buildValue_() {
+ return this.subject.getPersistenceUnit();
+ }
+ };
+ }
+
+ /* CU private */ GeneratedValue getGeneratedValueForUpdate() {
+ GeneratedValue generatedValue = getSubject().getGeneratedValue();
+
+ if (generatedValue == null) {
+ generatedValue = getSubject().addGeneratedValue();
+ }
+ return generatedValue;
+ }
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinColumnDialogPane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinColumnDialogPane.java
index cc3f5a3432..ca3f3c904d 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinColumnDialogPane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinColumnDialogPane.java
@@ -241,7 +241,7 @@ public class JoinColumnDialogPane<T extends JoinColumnStateObject> extends BaseJ
// Insertable tri-state check box
addTriStateCheckBoxWithDefault(
- addSubPane(container, 4),
+ container,
JptUiDetailsMessages.JoinColumnDialogPane_insertable,
buildInsertableHolder(),
buildInsertableStringHolder(),
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinColumnJoiningStrategyPane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinColumnJoiningStrategyPane.java
index 31a731c03a..77dd5161ff 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinColumnJoiningStrategyPane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinColumnJoiningStrategyPane.java
@@ -18,6 +18,7 @@ import org.eclipse.jpt.jpa.core.context.ReadOnlyJoinColumnRelationship;
import org.eclipse.jpt.jpa.core.context.ReadOnlyJoinColumnRelationshipStrategy;
import org.eclipse.jpt.jpa.core.context.ReadOnlyRelationship;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* Here is the layout of this pane:
@@ -104,7 +105,7 @@ public class JoinColumnJoiningStrategyPane
}
@Override
- protected Composite buildStrategyDetailsComposite(Composite parent) {
+ protected Control buildStrategyDetailsComposite(Composite parent) {
PropertyValueModel<ReadOnlyJoinColumnRelationshipStrategy> joiningStrategyHolder = this.buildJoinColumnJoiningStrategyHolder();
return this.includeOverrideCheckBox ?
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinColumnsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinColumnsComposite.java
index 5ea2b43d35..05eb5a9125 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinColumnsComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinColumnsComposite.java
@@ -13,22 +13,22 @@ import java.util.ArrayList;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.AbstractAdapter;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
+import org.eclipse.jpt.common.utility.internal.iterables.SingleElementIterable;
import org.eclipse.jpt.common.utility.internal.model.value.CompositeListValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.JpaNode;
import org.eclipse.jpt.jpa.core.context.JoinColumn;
import org.eclipse.jpt.jpa.core.context.ReadOnlyBaseJoinColumn;
@@ -63,7 +63,7 @@ public class JoinColumnsComposite<T extends JpaNode> extends Pane<T>
*/
JoinColumnsEditor<T> joinColumnsEditor;
- private AddRemoveListPane<T> listPane;
+ ModifiableCollectionValueModel<JoinColumn> selectedJoinColumnsModel;
/**
* Creates a new <code>JoinColumnsComposite</code>.
@@ -75,29 +75,10 @@ public class JoinColumnsComposite<T extends JpaNode> extends Pane<T>
*/
public JoinColumnsComposite(Pane<? extends T> parentPane,
Composite parent,
- JoinColumnsEditor<T> joinColumnsEditor) {
-
- super(parentPane, parent);
- this.joinColumnsEditor = joinColumnsEditor;
- initializeLayout2();
- }
-
- /**
- * Creates a new <code>JoinColumnsComposite</code>.
- *
- * @param parentPane The parent controller of this one
- * @param subjectHolder The holder of this pane's subject
- * @param parent The parent container
- * @param joinColumnsEditor The editor used to perform the common behaviors
- * defined in the list pane
- */
- public JoinColumnsComposite(Pane<?> parentPane,
- PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
JoinColumnsEditor<T> joinColumnsEditor,
- boolean automaticallyAlignWidgets) {
+ PropertyValueModel<Boolean> enabledModel) {
- super(parentPane, subjectHolder, parent, automaticallyAlignWidgets);
+ super(parentPane, parent, enabledModel);
this.joinColumnsEditor = joinColumnsEditor;
initializeLayout2();
}
@@ -120,25 +101,35 @@ public class JoinColumnsComposite<T extends JpaNode> extends Pane<T>
}
@Override
+ public Composite getControl() {
+ return (Composite) super.getControl();
+ }
+
+ @Override
+ protected void initialize() {
+ super.initialize();
+ this.selectedJoinColumnsModel = this.buildSelectedJoinColumnsModel();
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
//see intiailizeLayout2()
}
private void initializeLayout2() {
- this.listPane = new AddRemoveListPane<T>(
+ new AddRemoveListPane<T, JoinColumn>(
this,
getControl(),
buildJoinColumnsAdapter(),
buildJoinColumnsListModel(),
- buildSelectedJoinColumnHolder(),
+ this.selectedJoinColumnsModel,
buildJoinColumnsListLabelProvider(),
- JpaHelpContextIds.MAPPING_JOIN_TABLE_COLUMNS,
- false
+ JpaHelpContextIds.MAPPING_JOIN_TABLE_COLUMNS
);
}
- private ModifiablePropertyValueModel<JoinColumn> buildSelectedJoinColumnHolder() {
- return new SimplePropertyValueModel<JoinColumn>();
+ private ModifiableCollectionValueModel<JoinColumn> buildSelectedJoinColumnsModel() {
+ return new SimpleCollectionValueModel<JoinColumn>();
}
String buildJoinColumnLabel(ReadOnlyJoinColumn joinColumn) {
@@ -182,11 +173,23 @@ public class JoinColumnsComposite<T extends JpaNode> extends Pane<T>
);
}
- private Adapter buildJoinColumnsAdapter() {
- return new AbstractAdapter() {
+ private Adapter<JoinColumn> buildJoinColumnsAdapter() {
+ return new AbstractAdapter<JoinColumn>() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- JoinColumnsComposite.this.joinColumnsEditor.addJoinColumn(getSubject());
+ public JoinColumn addNewItem() {
+ return JoinColumnsComposite.this.joinColumnsEditor.addJoinColumn(getSubject());
+ }
+
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<JoinColumn> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
+
+ public void removeSelectedItems(CollectionValueModel<JoinColumn> selectedItemsModel) {
+ //assume only 1 item since remove button is disabled otherwise
+ JoinColumn joinColumn = selectedItemsModel.iterator().next();
+ JoinColumnsComposite.this.joinColumnsEditor.removeJoinColumn(getSubject(), joinColumn);
}
@Override
@@ -200,14 +203,10 @@ public class JoinColumnsComposite<T extends JpaNode> extends Pane<T>
}
@Override
- public void optionOnSelection(ObjectListSelectionModel listSelectionModel) {
- JoinColumn joinColumn = (JoinColumn) listSelectionModel.selectedValue();
+ public void optionOnSelection(CollectionValueModel<JoinColumn> selectedItemsModel) {
+ JoinColumn joinColumn = selectedItemsModel.iterator().next();
JoinColumnsComposite.this.joinColumnsEditor.editJoinColumn(getSubject(), joinColumn);
}
-
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- JoinColumnsComposite.this.joinColumnsEditor.removeJoinColumns(getSubject(), listSelectionModel.selectedIndices());
- }
};
}
@@ -267,12 +266,8 @@ public class JoinColumnsComposite<T extends JpaNode> extends Pane<T>
};
}
- public void installJoinColumnsPaneEnabler(PropertyValueModel<Boolean> joinColumnsPaneEnablerHolder) {
- new PaneEnabler(joinColumnsPaneEnablerHolder, this.listPane);
- }
-
public void setSelectedJoinColumn(JoinColumn joinColumn) {
- this.listPane.setSelectedItem(joinColumn);
+ this.selectedJoinColumnsModel.setValues(new SingleElementIterable<JoinColumn>(joinColumn));
}
/**
@@ -283,7 +278,7 @@ public class JoinColumnsComposite<T extends JpaNode> extends Pane<T>
/**
* Add a join column to the given subject and return it
*/
- void addJoinColumn(T subject);
+ JoinColumn addJoinColumn(T subject);
/**
* Edit the given join column, the Edit button was pressed
@@ -324,6 +319,6 @@ public class JoinColumnsComposite<T extends JpaNode> extends Pane<T>
/**
* Remove the join columns at the specified indices from the subject
*/
- void removeJoinColumns(T subject, int[] selectedIndices);
+ void removeJoinColumn(T subject, JoinColumn joinColumn);
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinTableComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinTableComposite.java
index 2ac4975d16..89e6cc956f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinTableComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinTableComposite.java
@@ -30,9 +30,7 @@ import org.eclipse.jpt.jpa.core.context.ReadOnlyJoinColumn;
import org.eclipse.jpt.jpa.core.context.ReadOnlyJoinTable;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.jpa.ui.internal.details.JoinColumnsComposite.JoinColumnsEditor;
-import org.eclipse.jpt.jpa.ui.internal.details.db.CatalogCombo;
-import org.eclipse.jpt.jpa.ui.internal.details.db.SchemaCombo;
-import org.eclipse.jpt.jpa.ui.internal.details.db.TableCombo;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
@@ -91,9 +89,10 @@ public class JoinTableComposite
public JoinTableComposite(
Pane<?> parentPane,
PropertyValueModel<? extends ReadOnlyJoinTable> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent) {
- super(parentPane, subjectHolder, parent);
+ super(parentPane, subjectHolder, enabledModel, parent);
}
/**
@@ -114,50 +113,38 @@ public class JoinTableComposite
protected boolean tableIsVirtual(ReadOnlyJoinTable joinTable) {
return joinTable.getParent().getRelationship().isVirtual();
}
- @Override
- protected void initializeLayout(Composite container) {
- int groupBoxMargin = getGroupBoxMargin();
+ @Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// Name widgets
- TableCombo<ReadOnlyJoinTable> tableCombo = addTableCombo(container);
- Composite tablePane = addPane(container, groupBoxMargin);
- addLabeledComposite(
- tablePane,
- JptUiDetailsMessages.JoinTableComposite_name,
- tableCombo.getControl(),
- JpaHelpContextIds.MAPPING_JOIN_TABLE_NAME
- );
+ this.addLabel(container, JptUiDetailsMessages.JoinTableComposite_name);
+ this.addTableCombo(container, JpaHelpContextIds.MAPPING_JOIN_TABLE_NAME);
// schema widgets
- SchemaCombo<ReadOnlyJoinTable> schemaCombo = addSchemaCombo(container);
+ this.addLabel(container, JptUiDetailsMessages.JoinTableComposite_schema);
+ this.addSchemaCombo(container, JpaHelpContextIds.MAPPING_JOIN_TABLE_SCHEMA);
- addLabeledComposite(
- tablePane,
- JptUiDetailsMessages.JoinTableComposite_schema,
- schemaCombo.getControl(),
- JpaHelpContextIds.MAPPING_JOIN_TABLE_SCHEMA
- );
-
// catalog widgets
- CatalogCombo<ReadOnlyJoinTable> catalogCombo = addCatalogCombo(container);
-
- addLabeledComposite(
- tablePane,
- JptUiDetailsMessages.JoinTableComposite_catalog,
- catalogCombo.getControl(),
- JpaHelpContextIds.MAPPING_JOIN_TABLE_CATALOG
- );
+ this.addLabel(container, JptUiDetailsMessages.JoinTableComposite_catalog);
+ this.addCatalogCombo(container, JpaHelpContextIds.MAPPING_JOIN_TABLE_CATALOG);
// Join Columns group pane
Group joinColumnGroupPane = addTitledGroup(
container,
JptUiDetailsMessages.JoinTableComposite_joinColumn
);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ joinColumnGroupPane.setLayoutData(gridData);
// Override Default Join Columns check box
this.overrideDefaultJoinColumnsCheckBox = addCheckBox(
- addSubPane(joinColumnGroupPane, 8),
+ joinColumnGroupPane,
JptUiDetailsMessages.JoinTableComposite_overrideDefaultJoinColumns,
buildOverrideDefaultJoinColumnHolder(),
null
@@ -166,20 +153,22 @@ public class JoinTableComposite
this.joinColumnsComposite = new JoinColumnsComposite<ReadOnlyJoinTable>(
this,
joinColumnGroupPane,
- buildJoinColumnsEditor()
+ buildJoinColumnsEditor(),
+ buildJoinColumnsEnabledModel()
);
- installJoinColumnsPaneEnabler(this.joinColumnsComposite);
-
// Inverse Join Columns group pane
Group inverseJoinColumnGroupPane = addTitledGroup(
container,
JptUiDetailsMessages.JoinTableComposite_inverseJoinColumn
);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ inverseJoinColumnGroupPane.setLayoutData(gridData);
// Override Default Inverse Join Columns check box
this.overrideDefaultInverseJoinColumnsCheckBox = addCheckBox(
- addSubPane(inverseJoinColumnGroupPane, 8),
+ inverseJoinColumnGroupPane,
JptUiDetailsMessages.JoinTableComposite_overrideDefaultInverseJoinColumns,
buildOverrideDefaultInverseJoinColumnHolder(),
null
@@ -188,17 +177,12 @@ public class JoinTableComposite
this.inverseJoinColumnsComposite = new JoinColumnsComposite<ReadOnlyJoinTable>(
this,
inverseJoinColumnGroupPane,
- buildInverseJoinColumnsEditor()
+ buildInverseJoinColumnsEditor(),
+ new InverseJoinColumnPaneEnablerHolder()
);
-
- installInverseJoinColumnsPaneEnabler(this.inverseJoinColumnsComposite);
- }
-
- private void installInverseJoinColumnsPaneEnabler(JoinColumnsComposite<ReadOnlyJoinTable> pane) {
- pane.installJoinColumnsPaneEnabler(new InverseJoinColumnPaneEnablerHolder());
}
- void addInverseJoinColumn(ReadOnlyJoinTable joinTable) {
+ JoinColumn addInverseJoinColumn(ReadOnlyJoinTable joinTable) {
InverseJoinColumnInJoinTableDialog dialog =
new InverseJoinColumnInJoinTableDialog(getShell(), joinTable, null);
@@ -206,18 +190,19 @@ public class JoinTableComposite
dialog.setBlockOnOpen(true);
dialog.open();
if (dialog.wasConfirmed()) {
- addInverseJoinColumnFromDialog(dialog.getSubject());
+ return addInverseJoinColumnFromDialog(dialog.getSubject());
}
+ return null;
}
- void addInverseJoinColumnFromDialog(InverseJoinColumnInJoinTableStateObject stateObject) {
+ JoinColumn addInverseJoinColumnFromDialog(InverseJoinColumnInJoinTableStateObject stateObject) {
JoinTable subject = (JoinTable) getSubject();
int index = subject.getSpecifiedInverseJoinColumnsSize();
JoinColumn joinColumn = subject.addSpecifiedInverseJoinColumn(index);
stateObject.updateJoinColumn(joinColumn);
- this.setSelectedInverseJoinColumn(joinColumn);
+ return joinColumn;
}
private void setSelectedInverseJoinColumn(JoinColumn joinColumn) {
@@ -293,8 +278,8 @@ public class JoinTableComposite
class InverseJoinColumnsProvider implements JoinColumnsEditor<ReadOnlyJoinTable> {
- public void addJoinColumn(ReadOnlyJoinTable subject) {
- JoinTableComposite.this.addInverseJoinColumn(subject);
+ public JoinColumn addJoinColumn(ReadOnlyJoinTable subject) {
+ return JoinTableComposite.this.addInverseJoinColumn(subject);
}
public ReadOnlyJoinColumn getDefaultJoinColumn(ReadOnlyJoinTable subject) {
@@ -313,10 +298,8 @@ public class JoinTableComposite
return subject.hasSpecifiedInverseJoinColumns();
}
- public void removeJoinColumns(ReadOnlyJoinTable subject, int[] selectedIndices) {
- for (int index = selectedIndices.length; index-- > 0; ) {
- ((JoinTable) subject).removeSpecifiedInverseJoinColumn(selectedIndices[index]);
- }
+ public void removeJoinColumn(ReadOnlyJoinTable subject, JoinColumn joinColumn) {
+ ((JoinTable) subject).removeSpecifiedInverseJoinColumn(joinColumn);
}
public ListIterable<ReadOnlyJoinColumn> getSpecifiedJoinColumns(ReadOnlyJoinTable subject) {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinTableJoiningStrategyPane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinTableJoiningStrategyPane.java
index 0a2b98332c..19e91f7789 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinTableJoiningStrategyPane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinTableJoiningStrategyPane.java
@@ -11,6 +11,7 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.JoinTableRelationship;
@@ -20,6 +21,7 @@ import org.eclipse.jpt.jpa.core.context.ReadOnlyJoinTableRelationship;
import org.eclipse.jpt.jpa.core.context.ReadOnlyJoinTableRelationshipStrategy;
import org.eclipse.jpt.jpa.core.context.ReadOnlyRelationship;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* Here is the layout of this pane:
@@ -60,8 +62,9 @@ public class JoinTableJoiningStrategyPane
}
@Override
- protected Composite buildStrategyDetailsComposite(Composite parent) {
- return new JoinTableComposite(this, buildJoinTableHolder(), parent).getControl();
+ protected Control buildStrategyDetailsComposite(Composite parent) {
+ JoinTableComposite joinTableComposite = new JoinTableComposite(this, buildJoinTableHolder(), buildJoinTablePaneEnablerHolder(), parent);
+ return joinTableComposite.getControl();
}
@Override
@@ -111,4 +114,13 @@ public class JoinTableJoiningStrategyPane
}
};
}
+
+ private TransformationPropertyValueModel<ReadOnlyJoinTableRelationship, Boolean> buildJoinTablePaneEnablerHolder() {
+ return new TransformationPropertyValueModel<ReadOnlyJoinTableRelationship, Boolean>(getSubjectHolder()) {
+ @Override
+ protected Boolean transform_(ReadOnlyJoinTableRelationship v) {
+ return Boolean.valueOf(!v.isVirtual());
+ }
+ };
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoiningStrategyJoinColumnsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoiningStrategyJoinColumnsComposite.java
index d1a758dc6b..779f1c3207 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoiningStrategyJoinColumnsComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoiningStrategyJoinColumnsComposite.java
@@ -57,18 +57,21 @@ public class JoiningStrategyJoinColumnsComposite
super(parentPane, subjectHolder, parent);
}
+ @Override
+ protected Composite addComposite(Composite container) {
+ this.joinColumnsComposite = new JoinColumnsComposite<ReadOnlyJoinColumnRelationshipStrategy>(this, container, buildJoinColumnsProvider(), new JoinColumnPaneEnablerHolder());
+ return this.joinColumnsComposite.getControl();
+ }
@Override
protected void initializeLayout(Composite container) {
- this.joinColumnsComposite = new JoinColumnsComposite<ReadOnlyJoinColumnRelationshipStrategy>(this, container, buildJoinColumnsProvider());
- this.joinColumnsComposite.installJoinColumnsPaneEnabler(new JoinColumnPaneEnablerHolder());
}
private JoinColumnsEditor<ReadOnlyJoinColumnRelationshipStrategy> buildJoinColumnsProvider() {
return new JoinColumnsEditor<ReadOnlyJoinColumnRelationshipStrategy>() {
- public void addJoinColumn(ReadOnlyJoinColumnRelationshipStrategy subject) {
- JoiningStrategyJoinColumnsComposite.this.addJoinColumn(subject);
+ public JoinColumn addJoinColumn(ReadOnlyJoinColumnRelationshipStrategy subject) {
+ return JoiningStrategyJoinColumnsComposite.this.addJoinColumn(subject);
}
public boolean hasSpecifiedJoinColumns(ReadOnlyJoinColumnRelationshipStrategy subject) {
@@ -91,10 +94,8 @@ public class JoiningStrategyJoinColumnsComposite
return ReadOnlyJoinColumnRelationshipStrategy.SPECIFIED_JOIN_COLUMNS_LIST;
}
- public void removeJoinColumns(ReadOnlyJoinColumnRelationshipStrategy subject, int[] selectedIndices) {
- for (int index = selectedIndices.length; --index >= 0; ) {
- ((JoinColumnRelationshipStrategy) subject).removeSpecifiedJoinColumn(selectedIndices[index]);
- }
+ public void removeJoinColumn(ReadOnlyJoinColumnRelationshipStrategy subject, JoinColumn joinColumn) {
+ ((JoinColumnRelationshipStrategy) subject).removeSpecifiedJoinColumn(joinColumn);
}
public ListIterable<ReadOnlyJoinColumn> getSpecifiedJoinColumns(ReadOnlyJoinColumnRelationshipStrategy subject) {
@@ -107,22 +108,23 @@ public class JoiningStrategyJoinColumnsComposite
};
}
- void addJoinColumn(ReadOnlyJoinColumnRelationshipStrategy joiningStrategy) {
+ JoinColumn addJoinColumn(ReadOnlyJoinColumnRelationshipStrategy joiningStrategy) {
JoinColumnInJoiningStrategyDialog dialog =
new JoinColumnInJoiningStrategyDialog(getShell(), joiningStrategy, null);
dialog.setBlockOnOpen(true);
dialog.open();
if (dialog.wasConfirmed()) {
- addJoinColumn(dialog.getSubject());
+ return addJoinColumn(dialog.getSubject());
}
+ return null;
}
- void addJoinColumn(JoinColumnInJoiningStrategyStateObject stateObject) {
+ JoinColumn addJoinColumn(JoinColumnInJoiningStrategyStateObject stateObject) {
JoinColumnRelationshipStrategy subject = (JoinColumnRelationshipStrategy) getSubject();
JoinColumn joinColumn = subject.addSpecifiedJoinColumn();
stateObject.updateJoinColumn(joinColumn);
- this.setSelectedJoinColumn(joinColumn);
+ return joinColumn;
}
public void setSelectedJoinColumn(JoinColumn joinColumn) {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoiningStrategyJoinColumnsWithOverrideOptionComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoiningStrategyJoinColumnsWithOverrideOptionComposite.java
index 8c56beeea9..2b1d431984 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoiningStrategyJoinColumnsWithOverrideOptionComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoiningStrategyJoinColumnsWithOverrideOptionComposite.java
@@ -62,7 +62,7 @@ public class JoiningStrategyJoinColumnsWithOverrideOptionComposite
protected void initializeLayout(Composite container) {
// Override Default Join Columns check box
addCheckBox(
- addSubPane(container, 8),
+ container,
JptUiDetailsMessages.JoiningStrategyJoinColumnsComposite_overrideDefaultJoinColumns,
buildOverrideDefaultJoinColumnHolder(),
null
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToManyJoiningStrategyPane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToManyJoiningStrategyPane.java
index 2375cd2a32..903669694b 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToManyJoiningStrategyPane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToManyJoiningStrategyPane.java
@@ -57,32 +57,32 @@ public class ManyToManyJoiningStrategyPane
super(parentPane, subjectHolder, parent);
}
-
-
+
+ @Override
+ protected Composite addComposite(Composite container) {
+ return addCollapsibleSection(
+ container,
+ JptUiDetailsMessages.Joining_title,
+ new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
+ }
+
@Override
protected void initializeLayout(Composite container) {
- Composite composite = addCollapsibleSection(
- container,
- JptUiDetailsMessages.Joining_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
-
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_mappedByLabel,
MappedByJoiningStrategyPane.buildUsesMappedByJoiningStrategyHolder(getSubjectHolder()),
null);
- new MappedByJoiningStrategyPane(this, composite);
+ new MappedByJoiningStrategyPane(this, container);
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_joinTableJoiningLabel,
JoinTableJoiningStrategyPane.buildUsesJoinTableJoiningStrategyHolder(getSubjectHolder()),
null);
- new JoinTableJoiningStrategyPane(this, composite);
-
- addSubPane(composite, 5);
+ new JoinTableJoiningStrategyPane(this, container);
}
protected ModifiablePropertyValueModel<Boolean> buildUsesMappedByStrategyHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToManyMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToManyMappingComposite.java
index a2ffd3aa2f..4c0f5f9747 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToManyMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToManyMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -13,7 +13,10 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.ManyToManyRelationship;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -47,9 +50,9 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see {@link ManyToManyMapping}
- * @see {@link TargetEntityComposite}
+ * @see {@link TargetEntityClassChooser}
* @see {@link ManyToManyJoiningStrategyPane}
- * @see {@link FetchTypeComposite}
+ * @see {@link FetchTypeComboViewer}
* @see {@link CascadeComposite}
* @see {@link OrderingComposite}
*
@@ -67,17 +70,32 @@ public class ManyToManyMappingComposite
* @param widgetFactory The factory used to create various common widgets
*/
public ManyToManyMappingComposite(PropertyValueModel<? extends ManyToManyMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToOneJoiningStrategyPane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToOneJoiningStrategyPane.java
index dfc728863f..55c30b0f42 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToOneJoiningStrategyPane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToOneJoiningStrategyPane.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -45,24 +45,24 @@ public class ManyToOneJoiningStrategyPane extends Pane<ManyToOneRelationship>
super(parentPane, subjectHolder, parent);
}
-
-
+
+ @Override
+ protected Composite addComposite(Composite container) {
+ return addCollapsibleSection(
+ container,
+ JptUiDetailsMessages.Joining_title,
+ new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
+ }
+
@Override
protected void initializeLayout(Composite container) {
- Composite composite = addCollapsibleSection(
- container,
- JptUiDetailsMessages.Joining_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
-
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_joinColumnJoiningLabel,
JoinColumnJoiningStrategyPane.buildUsesJoinColumnJoiningStrategyHolder(getSubjectHolder()),
null);
JoinColumnJoiningStrategyPane.
- buildJoinColumnJoiningStrategyPaneWithIncludeOverrideCheckBox(this, composite);
-
- addSubPane(composite, 5);
+ buildJoinColumnJoiningStrategyPaneWithIncludeOverrideCheckBox(this, container);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToOneMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToOneMappingComposite.java
index 903149fe3d..792de79616 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToOneMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ManyToOneMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -13,7 +13,10 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
import org.eclipse.jpt.jpa.core.context.ManyToOneRelationship;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -47,10 +50,10 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see {@link ManyToOneMapping}
- * @see {@link TargetEntityComposite}
+ * @see {@link TargetEntityClassChooser}
* @see {@link ManyToOneJoiningStrategyPane}
- * @see {@link FetchTypeComposite}
- * @see {@link OptionalComposite}
+ * @see {@link FetchTypeComboViewer}
+ * @see {@link OptionalTriStateCheckBox}
* @see {@link CascadeComposite}
*
* @version 2.3
@@ -67,18 +70,38 @@ public class ManyToOneMappingComposite
* @param widgetFactory The factory used to create various common widgets
*/
public ManyToOneMappingComposite(PropertyValueModel<? extends ManyToOneMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new OptionalComposite(this, container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadeComposite cascadePane = new CascadeComposite(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/MapAsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/MapAsComposite.java
index 86fc2fad6d..37d46ff81f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/MapAsComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/MapAsComposite.java
@@ -20,15 +20,18 @@ import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.resource.JFaceColors;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jpt.common.ui.internal.utility.swt.SWTTools;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.CollectionTools;
import org.eclipse.jpt.common.utility.internal.StringTools;
+import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent;
+import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.JpaNode;
import org.eclipse.jpt.jpa.ui.JpaPlatformUi;
import org.eclipse.jpt.jpa.ui.JptJpaUiPlugin;
import org.eclipse.jpt.jpa.ui.details.DefaultMappingUiDefinition;
import org.eclipse.jpt.jpa.ui.details.MappingUiDefinition;
-import org.eclipse.jpt.jpa.ui.internal.platform.JpaPlatformUiRegistry;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyleRange;
@@ -43,6 +46,7 @@ import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.dialogs.FilteredItemsSelectionDialog;
import com.ibm.icu.text.Collator;
@@ -66,8 +70,6 @@ import com.ibm.icu.text.Collator;
public abstract class MapAsComposite<T extends JpaNode> extends Pane<T> {
protected boolean dragEvent;
- protected boolean enabled;
- protected Cursor handCursor;
protected MappingChangeHandler<T> mappingChangeHandler;
protected int mappingTypeLength;
protected int mappingTypeStart;
@@ -75,6 +77,7 @@ public abstract class MapAsComposite<T extends JpaNode> extends Pane<T> {
protected int nameLength;
protected int nameStart;
protected StyledText styledText;
+ protected PropertyChangeListener enabledModelListener;
/**
* The constant ID used to retrieve the dialog settings.
@@ -92,6 +95,13 @@ public abstract class MapAsComposite<T extends JpaNode> extends Pane<T> {
super(parentPane, parent);
}
+
+ public MapAsComposite(Pane<? extends T> parentPane,
+ Composite parent,
+ PropertyValueModel<Boolean> enabledModel) {
+
+ super(parentPane, parent, enabledModel);
+ }
/**
* Returns the JPT platform responsble to manage the user interface part of
@@ -127,7 +137,7 @@ public abstract class MapAsComposite<T extends JpaNode> extends Pane<T> {
*
* @return A new <code>MappingChangeHandler</code>
*/
- protected abstract MappingChangeHandler buildMappingChangeHandler();
+ protected abstract MappingChangeHandler<T> buildMappingChangeHandler();
private MouseListener buildMouseListener() {
return new MouseListener() {
@@ -149,11 +159,11 @@ public abstract class MapAsComposite<T extends JpaNode> extends Pane<T> {
dragEvent = false;
if (isOverLink(offset)) {
- text.setCursor(handCursor);
+ text.setCursor(getHandCursor());
}
}
else if (isOverLink(offset)) {
- text.setCursor(handCursor);
+ text.setCursor(getHandCursor());
openMappingSelectionDialog();
text.setCursor(null);
}
@@ -184,7 +194,7 @@ public abstract class MapAsComposite<T extends JpaNode> extends Pane<T> {
}
if (isOverLink(offset)) {
- text.setCursor(handCursor);
+ text.setCursor(getHandCursor());
}
else {
text.setCursor(null);
@@ -194,6 +204,14 @@ public abstract class MapAsComposite<T extends JpaNode> extends Pane<T> {
}
/**
+ * no need to store this since we are not supposed to dispose of it.
+ * @see Display#getSystemCursor(int)
+ */
+ private Cursor getHandCursor() {
+ return getShell().getDisplay().getSystemCursor(SWT.CURSOR_HAND);
+ }
+
+ /**
* Creates the full localized string by formatting the label text returned
* by the <code>MappingChangeHandler</code> with the mapping name and the
* mapping type.
@@ -230,46 +248,46 @@ public abstract class MapAsComposite<T extends JpaNode> extends Pane<T> {
* (non-Javadoc)
*/
@Override
- public void enableWidgets(boolean enabled) {
- this.enabled = enabled;
- super.enableWidgets(enabled);
-
- if (!styledText.isDisposed()) {
- styledText.setEnabled(enabled);
-
- if (enabled) {
- updateLinkRange();
- }
- else {
- clearStyleRange();
- }
- }
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
protected void initialize() {
super.initialize();
-
- this.enabled = true;
this.mappingChangeHandler = buildMappingChangeHandler();
+ this.enabledModelListener = this.buildEnabledModelListener();
+ this.getEnabledModel().addPropertyChangeListener(PropertyValueModel.VALUE, this.enabledModelListener);
}
- /*
- * (non-Javadoc)
- */
+ protected PropertyChangeListener buildEnabledModelListener() {
+ return new PropertyChangeListener() {
+ public void propertyChanged(PropertyChangeEvent event) {
+ if (!styledText.isDisposed()) {
+ if (((Boolean)event.getNewValue()).booleanValue()) {
+ updateLinkRange();
+ }
+ else {
+ clearStyleRange();
+ }
+ }
+ }
+ };
+ }
@Override
- protected void initializeLayout(Composite container) {
-
- handCursor = getShell().getDisplay().getSystemCursor(SWT.CURSOR_HAND);
-
- styledText = new StyledText(container, SWT.WRAP | SWT.READ_ONLY);
+ protected Composite addComposite(Composite parent) {
+ styledText = new StyledText(parent, SWT.WRAP | SWT.READ_ONLY);
+ SWTTools.controlEnabledState(getEnabledModel(), styledText);
styledText.addMouseListener(buildMouseListener());
styledText.addMouseMoveListener(buildMouseMoveListener());
styledText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ return styledText;
+ }
+
+ @Override
+ public Composite getControl() {
+ return (Composite) super.getControl();
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ // see addComposite(Composite)
}
/**
@@ -350,7 +368,7 @@ public abstract class MapAsComposite<T extends JpaNode> extends Pane<T> {
clearStyleRange();
updateText();
- if (enabled) {
+ if (getEnabledModel().getValue().booleanValue()) {
updateLinkRange();
}
}
@@ -411,6 +429,7 @@ public abstract class MapAsComposite<T extends JpaNode> extends Pane<T> {
@Override
public void dispose() {
this.styledText.dispose();
+ this.getEnabledModel().removePropertyChangeListener(PropertyValueModel.VALUE, this.enabledModelListener);
super.dispose();
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/MappedByJoiningStrategyPane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/MappedByJoiningStrategyPane.java
index f7eafb7020..b1ea48de79 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/MappedByJoiningStrategyPane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/MappedByJoiningStrategyPane.java
@@ -11,12 +11,14 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.MappedByRelationship;
import org.eclipse.jpt.jpa.core.context.MappedByRelationshipStrategy;
import org.eclipse.jpt.jpa.core.context.ReadOnlyRelationship;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* Here is the layout of this pane:
@@ -54,8 +56,9 @@ public class MappedByJoiningStrategyPane
}
@Override
- protected Composite buildStrategyDetailsComposite(Composite parent) {
- return new MappedByPane(this, this.buildMappedByJoiningStrategyHolder(), parent).getControl();
+ protected Control buildStrategyDetailsComposite(Composite parent) {
+ MappedByPane mappedByPane = new MappedByPane(this, this.buildMappedByJoiningStrategyHolder(), buildMappedByRelationshipPaneEnablerHolder(), parent);
+ return mappedByPane.getControl();
}
@Override
@@ -91,4 +94,14 @@ public class MappedByJoiningStrategyPane
}
};
}
+
+
+ private TransformationPropertyValueModel<MappedByRelationship, Boolean> buildMappedByRelationshipPaneEnablerHolder() {
+ return new TransformationPropertyValueModel<MappedByRelationship, Boolean>(getSubjectHolder()) {
+ @Override
+ protected Boolean transform_(MappedByRelationship v) {
+ return Boolean.valueOf(!v.isVirtual());
+ }
+ };
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/MappedByPane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/MappedByPane.java
index 0ca99971ea..85b9929183 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/MappedByPane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/MappedByPane.java
@@ -11,6 +11,7 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.core.internal.utility.ICUStringCollator;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.StringConverter;
import org.eclipse.jpt.common.utility.internal.model.value.CollectionAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.SortedListValueModelAdapter;
@@ -50,18 +51,24 @@ public class MappedByPane
public MappedByPane(
Pane<?> parentPane,
PropertyValueModel<MappedByRelationshipStrategy> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent) {
- super(parentPane, subjectHolder, parent);
+ super(parentPane, subjectHolder, enabledModel, parent);
}
-
+ @Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+
@Override
protected void initializeLayout(Composite container) {
- addLabeledEditableCombo(
+ this.addLabel(container, JptUiDetailsMessages.Joining_mappedByAttributeLabel);
+ this.addEditableCombo(
container,
- JptUiDetailsMessages.Joining_mappedByAttributeLabel,
buildCandidateAttributesListValueModel(),
buildAttributePropertyValueModel(),
+ StringConverter.Default.<String>instance(),
JpaHelpContextIds.MAPPING_MAPPED_BY);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/NamedNativeQueryPropertyComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/NamedNativeQueryPropertyComposite.java
index 6730b90537..d025568ce5 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/NamedNativeQueryPropertyComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/NamedNativeQueryPropertyComposite.java
@@ -17,7 +17,11 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.NamedNativeQuery;
import org.eclipse.jpt.jpa.core.context.Query;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -67,9 +71,9 @@ public class NamedNativeQueryPropertyComposite extends Pane<NamedNativeQuery>
super(parentPane, subjectHolder, parent);
}
- private ClassChooserPane<NamedNativeQuery> addClassChooser(Composite container) {
+ private ClassChooserPane<NamedNativeQuery> addResultClassChooser(Composite container, Hyperlink hyperlink) {
- return new ClassChooserPane<NamedNativeQuery>(this, container) {
+ return new ClassChooserPane<NamedNativeQuery>(this, container, hyperlink) {
@Override
protected ModifiablePropertyValueModel<String> buildTextHolder() {
@@ -95,11 +99,6 @@ public class NamedNativeQueryPropertyComposite extends Pane<NamedNativeQuery>
}
@Override
- protected String getLabelText() {
- return JptUiDetailsMessages.NamedNativeQueryPropertyComposite_resultClass;
- }
-
- @Override
protected IJavaProject getJavaProject() {
return getSubject().getJpaProject().getJavaProject();
}
@@ -136,38 +135,31 @@ public class NamedNativeQueryPropertyComposite extends Pane<NamedNativeQuery>
}
@Override
- public void enableWidgets(boolean enabled) {
- super.enableWidgets(enabled);
- this.resultClassChooserPane.enableWidgets(enabled);
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
}
@Override
protected void initializeLayout(Composite container) {
-
- addLabeledText(
- container,
- JptUiDetailsMessages.NamedQueryComposite_nameTextLabel,
- buildNameTextHolder());
+ // Name widgets
+ this.addLabel(container, JptUiDetailsMessages.NamedQueryComposite_nameTextLabel);
+ this.addText(container, buildNameTextHolder());
// Result class chooser
- this.resultClassChooserPane = addClassChooser(container);
+ Hyperlink resultClassHyperlink = this.addHyperlink(container, JptUiDetailsMessages.NamedNativeQueryPropertyComposite_resultClass);
+ this.resultClassChooserPane = this.addResultClassChooser(container, resultClassHyperlink);
// Query text area
- addLabeledMultiLineText(
- container,
- JptUiDetailsMessages.NamedNativeQueryPropertyComposite_query,
- buildQueryHolder(),
- 4,
- null
- );
-
- // Query Hints pane
- container = addTitledGroup(
- addSubPane(container, 5),
- JptUiDetailsMessages.NamedNativeQueryPropertyComposite_queryHintsGroupBox
- );
-
- new QueryHintsComposite(this, container);
+ Label queryLabel = this.addLabel(container, JptUiDetailsMessages.NamedNativeQueryPropertyComposite_query);
+ GridData gridData = new GridData();
+ gridData.verticalAlignment = SWT.TOP;
+ queryLabel.setLayoutData(gridData);
+ this.addMultiLineText(container, buildQueryHolder(), 4, null);
+
+ QueryHintsComposite hintsComposite = new QueryHintsComposite(this, container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ hintsComposite.getControl().setLayoutData(gridData);
}
protected ModifiablePropertyValueModel<String> buildNameTextHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/NamedQueryPropertyComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/NamedQueryPropertyComposite.java
index e4ce0e52e0..bf14374c78 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/NamedQueryPropertyComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/NamedQueryPropertyComposite.java
@@ -16,7 +16,10 @@ import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.NamedQuery;
import org.eclipse.jpt.jpa.core.context.Query;
import org.eclipse.jpt.jpa.ui.internal.jpql.JpaJpqlContentProposalProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
/**
* Here's the layout of this pane:
@@ -92,17 +95,21 @@ public class NamedQueryPropertyComposite<T extends NamedQuery> extends Pane<T> {
};
}
- /**
- * {@inheritDoc}
- */
@Override
- protected void initializeLayout(Composite container) {
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// Name widgets
- addLabeledText(
- container,
- JptUiDetailsMessages.NamedQueryComposite_nameTextLabel,
- buildNameTextHolder());
+ this.addLabel(container, JptUiDetailsMessages.NamedQueryComposite_nameTextLabel);
+ this.addText(container, buildNameTextHolder());
+
+ Label queryLabel = this.addLabel(container, JptUiDetailsMessages.NamedQueryPropertyComposite_query);
+ GridData gridData = new GridData();
+ gridData.verticalAlignment = SWT.TOP;
+ queryLabel.setLayoutData(gridData);
JpaJpqlContentProposalProvider provider = new JpaJpqlContentProposalProvider(
container,
@@ -110,31 +117,20 @@ public class NamedQueryPropertyComposite<T extends NamedQuery> extends Pane<T> {
buildQueryHolder()
);
- // Query text area
- Composite queryWidgets = this.addLabeledComposite(
- container,
- JptUiDetailsMessages.NamedQueryPropertyComposite_query,
- provider.getStyledText()
- );
-
// Install the content assist icon at the top left of the StyledText.
// Note: For some reason, this needs to be done after the StyledText
// is added to the labeled composite
provider.installControlDecoration();
adjustMultiLineTextLayout(
- queryWidgets,
4,
provider.getStyledText(),
provider.getStyledText().getLineHeight()
);
- // Query Hints pane
- container = this.addTitledGroup(
- addSubPane(container, 5),
- JptUiDetailsMessages.NamedQueryPropertyComposite_queryHintsGroupBox
- );
-
- new QueryHintsComposite(this, container);
+ QueryHintsComposite hintsComposite = new QueryHintsComposite(this, container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ hintsComposite.getControl().setLayoutData(gridData);
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToManyJoiningStrategyPane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToManyJoiningStrategyPane.java
index c5b3641989..e0f8784272 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToManyJoiningStrategyPane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToManyJoiningStrategyPane.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -51,32 +51,32 @@ public class OneToManyJoiningStrategyPane
super(parentPane, subjectHolder, parent);
}
-
-
+
+ @Override
+ protected Composite addComposite(Composite container) {
+ return addCollapsibleSection(
+ container,
+ JptUiDetailsMessages.Joining_title,
+ new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
+ }
+
@Override
protected void initializeLayout(Composite container) {
- Composite composite = addCollapsibleSection(
- container,
- JptUiDetailsMessages.Joining_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
-
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_mappedByLabel,
MappedByJoiningStrategyPane.buildUsesMappedByJoiningStrategyHolder(getSubjectHolder()),
null);
- new MappedByJoiningStrategyPane(this, composite);
+ new MappedByJoiningStrategyPane(this, container);
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_joinTableJoiningLabel,
JoinTableJoiningStrategyPane.buildUsesJoinTableJoiningStrategyHolder(getSubjectHolder()),
null);
- new JoinTableJoiningStrategyPane(this, composite);
-
- addSubPane(composite, 5);
+ new JoinTableJoiningStrategyPane(this, container);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToManyMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToManyMappingComposite.java
index de42ebc0b2..4e5dba0dd3 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToManyMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToManyMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -13,7 +13,10 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
import org.eclipse.jpt.jpa.core.context.OneToManyRelationship;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -48,10 +51,10 @@ import org.eclipse.swt.widgets.Composite;
*
* @see OneToManyMapping
* @see CascadeComposite
- * @see FetchTypeComposite
+ * @see FetchTypeComboViewer
* @see JoinTableComposite
* @see OrderingComposite
- * @see TargetEntityComposite
+ * @see TargetEntityClassChooser
*
* @version 2.3
* @since 1.0
@@ -67,16 +70,31 @@ public class OneToManyMappingComposite
* @param widgetFactory The factory used to create various common widgets
*/
public OneToManyMappingComposite(PropertyValueModel<? extends OneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeOneToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToOneJoiningStrategyPane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToOneJoiningStrategyPane.java
index f18f0971cb..70295f3642 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToOneJoiningStrategyPane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToOneJoiningStrategyPane.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -57,40 +57,39 @@ public class OneToOneJoiningStrategyPane
super(parentPane, subjectHolder, parent);
}
-
@Override
- protected void initializeLayout(Composite container) {
- Composite composite = addCollapsibleSection(
- container,
- JptUiDetailsMessages.Joining_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
-
-
+ protected Composite addComposite(Composite container) {
+ return addCollapsibleSection(
+ container,
+ JptUiDetailsMessages.Joining_title,
+ new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_mappedByLabel,
MappedByJoiningStrategyPane.buildUsesMappedByJoiningStrategyHolder(getSubjectHolder()),
null);
- new MappedByJoiningStrategyPane(this, composite);
+ new MappedByJoiningStrategyPane(this, container);
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_primaryKeyJoinColumnJoiningLabel,
PrimaryKeyJoinColumnJoiningStrategyPane.buildUsesPrimaryKeyJoinColumnJoiningStrategyHolder(getSubjectHolder()),
null);
- new PrimaryKeyJoinColumnJoiningStrategyPane(this, composite);
+ new PrimaryKeyJoinColumnJoiningStrategyPane(this, container);
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_joinColumnJoiningLabel,
JoinColumnJoiningStrategyPane.buildUsesJoinColumnJoiningStrategyHolder(getSubjectHolder()),
null);
JoinColumnJoiningStrategyPane.
- buildJoinColumnJoiningStrategyPaneWithIncludeOverrideCheckBox(this, composite);
-
- addSubPane(composite, 5);
+ buildJoinColumnJoiningStrategyPaneWithIncludeOverrideCheckBox(this, container);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToOneMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToOneMappingComposite.java
index 128da9596e..d99f29afaa 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToOneMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OneToOneMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -13,7 +13,10 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
import org.eclipse.jpt.jpa.core.context.OneToOneRelationship;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -47,10 +50,10 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see OneToOneMapping
- * @see TargetEntityComposite
+ * @see TargetEntityClassChooser
* @see JoiningStrategyComposite
- * @see FetchTypeComposite
- * @see OptionalComposite
+ * @see FetchTypeComboViewer
+ * @see OptionalTriStateCheckBox
* @see CascadeComposite
*
* @version 2.3
@@ -67,19 +70,37 @@ public class OneToOneMappingComposite
* @param widgetFactory The factory used to create various common widgets
*/
public OneToOneMappingComposite(PropertyValueModel<? extends OneToOneMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new OptionalComposite(this, container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
- }
+ protected Control initializeOneToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
+ }
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OptionalComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OptionalTriStateCheckBox.java
index ad0d276e37..558ac2b0fa 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OptionalComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OptionalTriStateCheckBox.java
@@ -11,6 +11,7 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
@@ -19,6 +20,7 @@ import org.eclipse.jpt.jpa.core.context.OptionalMapping;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* This composite simply shows a tri-state check box for the Optional option.
@@ -31,32 +33,45 @@ import org.eclipse.swt.widgets.Composite;
* @version 1.0
* @since 2.0
*/
-public class OptionalComposite extends Pane<OptionalMapping>
+public class OptionalTriStateCheckBox extends Pane<OptionalMapping>
{
+ private TriStateCheckBox checkBox;
+
/**
* Creates a new <code>OptionalComposite</code>.
*
* @param parentPane The parent container of this one
* @param parent The parent container
*/
- public OptionalComposite(Pane<? extends OptionalMapping> parentPane,
+ public OptionalTriStateCheckBox(Pane<? extends OptionalMapping> parentPane,
Composite parent)
{
super(parentPane, parent);
}
@Override
+ protected boolean addsComposite() {
+ return false;
+ }
+
+ @Override
+ public Control getControl() {
+ return this.checkBox.getCheckBox();
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
- addTriStateCheckBoxWithDefault(
- addSubPane(container, 4),
+ this.checkBox = this.addTriStateCheckBoxWithDefault(
+ container,
JptUiDetailsMessages.BasicGeneralSection_optionalLabel,
- buildOptionalHolder(),
+ buildSpecifiedOptionalHolder(),
buildOptionalStringHolder(),
JpaHelpContextIds.MAPPING_OPTIONAL
);
}
- private ModifiablePropertyValueModel<Boolean> buildOptionalHolder() {
+
+ private ModifiablePropertyValueModel<Boolean> buildSpecifiedOptionalHolder() {
return new PropertyAspectAdapter<OptionalMapping, Boolean>(getSubjectHolder(), OptionalMapping.SPECIFIED_OPTIONAL_PROPERTY) {
@Override
protected Boolean buildValue_() {
@@ -83,7 +98,6 @@ public class OptionalComposite extends Pane<OptionalMapping>
};
}
-
private PropertyValueModel<Boolean> buildDefaultOptionalHolder() {
return new PropertyAspectAdapter<OptionalMapping, Boolean>(
getSubjectHolder(),
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OrderingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OrderingComposite.java
index 661e8c2ce0..f98c745132 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OrderingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OrderingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -15,7 +15,9 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.CollectionMapping;
import org.eclipse.jpt.jpa.core.context.Orderable;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
/**
* Here the layout of this pane:
@@ -68,15 +70,10 @@ public class OrderingComposite extends AbstractOrderingComposite
super(subjectHolder, parent, widgetFactory);
}
-
+
@Override
protected void initializeLayout(Composite container) {
PropertyValueModel<Orderable> orderableHolder = buildOrderableHolder();
-
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.OrderingComposite_orderingGroup
- );
// No Ordering radio button
addRadioButton(
@@ -103,13 +100,14 @@ public class OrderingComposite extends AbstractOrderingComposite
);
// Custom Ordering text field
- addText(
- addSubPane(container, 0, 16),
+ Text orderingText = addText(
+ container,
buildSpecifiedOrderByHolder(orderableHolder),
JpaHelpContextIds.MAPPING_ORDER_BY,
buildCustomOrderingHolder(orderableHolder)
);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalIndent = 16;
+ orderingText.setLayoutData(gridData);
}
-
-
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PersistentAttributeDetailsPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PersistentAttributeDetailsPage.java
index d85bde008b..5fe95fa133 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PersistentAttributeDetailsPage.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PersistentAttributeDetailsPage.java
@@ -59,8 +59,7 @@ public abstract class PersistentAttributeDetailsPage<A extends ReadOnlyPersisten
super(parent, widgetFactory);
}
-
-
+
@Override
protected void initialize() {
super.initialize();
@@ -69,11 +68,11 @@ public abstract class PersistentAttributeDetailsPage<A extends ReadOnlyPersisten
protected PageBook buildMappingPageBook(Composite parent) {
this.mappingPageBook = new PageBook(parent, SWT.NONE);
- this.mappingPageBook.showPage(this.addLabel(this.mappingPageBook, "")); //$NON-NLS-1$
GridData gridData = new GridData();
gridData.horizontalAlignment = SWT.FILL;
gridData.verticalAlignment = SWT.TOP;
+ gridData.verticalIndent = 5;
gridData.grabExcessHorizontalSpace = true;
gridData.grabExcessVerticalSpace = true;
@@ -84,7 +83,7 @@ public abstract class PersistentAttributeDetailsPage<A extends ReadOnlyPersisten
return this.mappingPageBook;
}
-
+
private Transformer<AttributeMapping, Control> buildPaneTransformer() {
return new Transformer<AttributeMapping, Control>() {
public Control transform(AttributeMapping attributeMapping) {
@@ -110,16 +109,19 @@ public abstract class PersistentAttributeDetailsPage<A extends ReadOnlyPersisten
return composite;
}
-
+
protected JpaComposite buildMappingComposite(PageBook pageBook, String key) {
return getJpaPlatformUi().buildAttributeMappingComposite(
getSubject().getResourceType(),
key,
pageBook,
buildMappingHolder(key),
+ getMappingCompositeEnabledModel(),
getWidgetFactory());
}
-
+
+ protected abstract PropertyValueModel<Boolean> getMappingCompositeEnabledModel();
+
private PropertyValueModel<AttributeMapping> buildMappingHolder(final String key) {
return new FilteringPropertyValueModel<AttributeMapping>(
this.mappingHolder,
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PersistentAttributeMapAsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PersistentAttributeMapAsComposite.java
index 67ae271ad7..ba0868c5f5 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PersistentAttributeMapAsComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PersistentAttributeMapAsComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -12,6 +12,7 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import java.util.Collection;
import java.util.Iterator;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.MappingKeys;
import org.eclipse.jpt.jpa.core.context.AttributeMapping;
import org.eclipse.jpt.jpa.core.context.PersistentAttribute;
@@ -43,6 +44,14 @@ public class PersistentAttributeMapAsComposite
super(parentPane, parent);
}
+
+ public PersistentAttributeMapAsComposite(
+ Pane<? extends ReadOnlyPersistentAttribute> parentPane,
+ Composite parent,
+ PropertyValueModel<Boolean> enabledModel) {
+
+ super(parentPane, parent, enabledModel);
+ }
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PersistentTypeDetailsPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PersistentTypeDetailsPage.java
index e9402d8a6a..11fc61aaaf 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PersistentTypeDetailsPage.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PersistentTypeDetailsPage.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2005, 2012 Oracle. 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.
@@ -64,25 +64,20 @@ public class PersistentTypeDetailsPage extends AbstractJpaDetailsPage<Persistent
@Override
protected void initializeLayout(Composite container) {
-
- // Map As composite
- new PersistentTypeMapAsComposite(
- this,
- addSubPane(container, 0, 0, 5, 0)
- );
+ new PersistentTypeMapAsComposite(this, container);
// Type properties page
- buildMappingPageBook(container);
+ this.buildMappingPageBook(container);
}
protected PageBook buildMappingPageBook(Composite parent) {
this.mappingPageBook = new PageBook(parent, SWT.NONE);
- this.mappingPageBook.showPage(this.addLabel(this.mappingPageBook, ""));
GridData gridData = new GridData();
gridData.horizontalAlignment = SWT.FILL;
gridData.verticalAlignment = SWT.TOP;
+ gridData.verticalIndent = 5;
gridData.grabExcessHorizontalSpace = true;
gridData.grabExcessVerticalSpace = true;
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PrimaryKeyJoinColumnsInSecondaryTableComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PrimaryKeyJoinColumnsInSecondaryTableComposite.java
index 3f598db3c0..256a59b58a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PrimaryKeyJoinColumnsInSecondaryTableComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PrimaryKeyJoinColumnsInSecondaryTableComposite.java
@@ -14,7 +14,6 @@ import java.util.List;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
@@ -26,12 +25,13 @@ import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListPropertyValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.PrimaryKeyJoinColumn;
import org.eclipse.jpt.jpa.core.context.ReadOnlyBaseJoinColumn;
import org.eclipse.jpt.jpa.core.context.ReadOnlyNamedColumn;
@@ -40,8 +40,9 @@ import org.eclipse.jpt.jpa.core.context.ReadOnlySecondaryTable;
import org.eclipse.jpt.jpa.core.context.SecondaryTable;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
/**
* Here the layout of this pane:
@@ -67,7 +68,7 @@ import org.eclipse.swt.widgets.Group;
*/
public class PrimaryKeyJoinColumnsInSecondaryTableComposite extends Pane<ReadOnlySecondaryTable>
{
- private ModifiablePropertyValueModel<ReadOnlyPrimaryKeyJoinColumn> joinColumnHolder;
+ private ModifiableCollectionValueModel<PrimaryKeyJoinColumn> selectedPkJoinColumnsModel;
/**
* Creates a new <code>PrimaryKeyJoinColumnsInSecondaryTableComposite</code>.
@@ -97,16 +98,18 @@ public class PrimaryKeyJoinColumnsInSecondaryTableComposite extends Pane<ReadOnl
super(subjectHolder, parent, widgetFactory);
}
- void addJoinColumn(PrimaryKeyJoinColumnInSecondaryTableStateObject stateObject) {
+ PrimaryKeyJoinColumn addJoinColumn(PrimaryKeyJoinColumnInSecondaryTableStateObject stateObject) {
SecondaryTable secondaryTable = stateObject.getOwner();
int index = secondaryTable.getSpecifiedPrimaryKeyJoinColumnsSize();
PrimaryKeyJoinColumn joinColumn = secondaryTable.addSpecifiedPrimaryKeyJoinColumn(index);
stateObject.updateJoinColumn(joinColumn);
+
+ return joinColumn;
}
- void addPrimaryKeyJoinColumn() {
+ PrimaryKeyJoinColumn addPrimaryKeyJoinColumn() {
PrimaryKeyJoinColumnInSecondaryTableDialog dialog =
new PrimaryKeyJoinColumnInSecondaryTableDialog(getShell(), (SecondaryTable) getSubject(), null);
@@ -114,8 +117,9 @@ public class PrimaryKeyJoinColumnsInSecondaryTableComposite extends Pane<ReadOnl
dialog.setBlockOnOpen(true);
dialog.open();
if (dialog.wasConfirmed()) {
- addJoinColumn(dialog.getSubject());
+ return addJoinColumn(dialog.getSubject());
}
+ return null;
}
private PropertyValueModel<Boolean> buildControlBooleanHolder() {
@@ -200,10 +204,22 @@ public class PrimaryKeyJoinColumnsInSecondaryTableComposite extends Pane<ReadOnl
return new OverrideDefaultJoinColumnHolder();
}
- private AddRemovePane.Adapter buildPrimaryKeyJoinColumnAdapter() {
- return new AddRemovePane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addPrimaryKeyJoinColumn();
+ private AddRemovePane.Adapter<PrimaryKeyJoinColumn> buildPrimaryKeyJoinColumnAdapter() {
+ return new AddRemovePane.AbstractAdapter<PrimaryKeyJoinColumn>() {
+
+ public PrimaryKeyJoinColumn addNewItem() {
+ return addPrimaryKeyJoinColumn();
+ }
+
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<PrimaryKeyJoinColumn> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
+
+ public void removeSelectedItems(CollectionValueModel<PrimaryKeyJoinColumn> selectedItemsModel) {
+ PrimaryKeyJoinColumn pkJoinColumn = selectedItemsModel.iterator().next();
+ ((SecondaryTable) getSubject()).removeSpecifiedPrimaryKeyJoinColumn(pkJoinColumn);
}
@Override
@@ -217,18 +233,14 @@ public class PrimaryKeyJoinColumnsInSecondaryTableComposite extends Pane<ReadOnl
}
@Override
- public void optionOnSelection(ObjectListSelectionModel listSelectionModel) {
- editPrimaryKeyJoinColumn(listSelectionModel);
- }
-
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- removePrimaryKeyJoinColumn(listSelectionModel);
+ public void optionOnSelection(CollectionValueModel<PrimaryKeyJoinColumn> selectedItemsModel) {
+ editPrimaryKeyJoinColumn(selectedItemsModel.iterator().next());
}
};
}
- private ModifiablePropertyValueModel<ReadOnlyPrimaryKeyJoinColumn> buildPrimaryKeyJoinColumnHolder() {
- return new SimplePropertyValueModel<ReadOnlyPrimaryKeyJoinColumn>();
+ private ModifiableCollectionValueModel<PrimaryKeyJoinColumn> buildSelectedPkJoinColumnsModel() {
+ return new SimpleCollectionValueModel<PrimaryKeyJoinColumn>();
}
private ListValueModel<ReadOnlyPrimaryKeyJoinColumn> buildPrimaryKeyJoinColumnsListHolder() {
@@ -262,9 +274,7 @@ public class PrimaryKeyJoinColumnsInSecondaryTableComposite extends Pane<ReadOnl
};
}
- void editPrimaryKeyJoinColumn(ObjectListSelectionModel listSelectionModel) {
-
- PrimaryKeyJoinColumn joinColumn = (PrimaryKeyJoinColumn) listSelectionModel.selectedValue();
+ void editPrimaryKeyJoinColumn(PrimaryKeyJoinColumn joinColumn) {
PrimaryKeyJoinColumnInSecondaryTableDialog dialog =
new PrimaryKeyJoinColumnInSecondaryTableDialog(
@@ -287,57 +297,44 @@ public class PrimaryKeyJoinColumnsInSecondaryTableComposite extends Pane<ReadOnl
@Override
protected void initialize() {
super.initialize();
- joinColumnHolder = buildPrimaryKeyJoinColumnHolder();
+ this.selectedPkJoinColumnsModel = buildSelectedPkJoinColumnsModel();
}
@Override
- protected void initializeLayout(Composite container) {
-
- // Primary Key Join Columns group pane
- Group groupPane = addTitledGroup(
- container,
+ protected Composite addComposite(Composite parent) {
+ return addTitledGroup(
+ parent,
JptUiDetailsMessages.PrimaryKeyJoinColumnsComposite_primaryKeyJoinColumn
);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// Override Default check box
- addCheckBox(
- addSubPane(groupPane, 8),
+ Button overrideDefaultCheckBox = addCheckBox(
+ container,
JptUiDetailsMessages.PrimaryKeyJoinColumnsComposite_overrideDefaultPrimaryKeyJoinColumns,
buildOverrideDefaultJoinColumnHolder(),
null,
buildControlBooleanHolder()
);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.verticalIndent = 8;
+ overrideDefaultCheckBox.setLayoutData(gridData);
// Primary Key Join Columns list pane
- AddRemoveListPane<ReadOnlySecondaryTable> joinColumnsPane = new AddRemoveListPane<ReadOnlySecondaryTable>(
+ new AddRemoveListPane<ReadOnlySecondaryTable, PrimaryKeyJoinColumn>(
this,
- groupPane,
+ container,
buildPrimaryKeyJoinColumnAdapter(),
buildPrimaryKeyJoinColumnsListModel(),
- joinColumnHolder,
+ this.selectedPkJoinColumnsModel,
buildJoinColumnsListLabelProvider(),
- JpaHelpContextIds.MAPPING_JOIN_TABLE_COLUMNS
- );
-
- installPrimaryKeyJoinColumnListPaneEnabler(joinColumnsPane);
- }
-
- private void installPrimaryKeyJoinColumnListPaneEnabler(AddRemoveListPane<ReadOnlySecondaryTable> pkJoinColumnListPane) {
-
- new PaneEnabler(
buildOverrideDefaultJoinColumnHolder(),
- pkJoinColumnListPane
+ JpaHelpContextIds.MAPPING_JOIN_TABLE_COLUMNS
);
}
- void removePrimaryKeyJoinColumn(ObjectListSelectionModel listSelectionModel) {
- int[] selectedIndices = listSelectionModel.selectedIndices();
-
- for (int index = selectedIndices.length; --index >= 0; ) {
- ((SecondaryTable) getSubject()).removeSpecifiedPrimaryKeyJoinColumn(selectedIndices[index]);
- }
- }
-
void updatePrimaryKeyJoinColumns(boolean selected) {
if (this.isPopulating()) {
return;
@@ -351,7 +348,6 @@ public class PrimaryKeyJoinColumnsInSecondaryTableComposite extends Pane<ReadOnl
if (selected) {
if (secondaryTable.getDefaultPrimaryKeyJoinColumn() != null) { //TODO can this be null?
secondaryTable.convertDefaultPrimaryKeyJoinColumnsToSpecified();
- this.joinColumnHolder.setValue(secondaryTable.getSpecifiedPrimaryKeyJoinColumn(0));
}
} else {
secondaryTable.clearSpecifiedPrimaryKeyJoinColumns();
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/QueriesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/QueriesComposite.java
index aff96222b2..203ffb99c8 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/QueriesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/QueriesComposite.java
@@ -11,6 +11,7 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import java.util.ArrayList;
import java.util.List;
+import javax.swing.text.html.parser.Entity;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.window.Window;
@@ -22,15 +23,16 @@ import org.eclipse.jpt.common.utility.internal.CollectionTools;
import org.eclipse.jpt.common.utility.internal.Transformer;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
import org.eclipse.jpt.common.utility.internal.iterables.SuperListIterableWrapper;
+import org.eclipse.jpt.common.utility.internal.model.value.CollectionPropertyValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.CompositeListValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.NamedNativeQuery;
import org.eclipse.jpt.jpa.core.context.NamedQuery;
import org.eclipse.jpt.jpa.core.context.Query;
@@ -74,10 +76,11 @@ import org.eclipse.ui.part.PageBook;
*/
public class QueriesComposite extends Pane<QueryContainer>
{
- private AddRemoveListPane<QueryContainer> listPane;
- NamedNativeQueryPropertyComposite namedNativeQueryPane;
- Pane<? extends NamedQuery> namedQueryPane;
- private ModifiablePropertyValueModel<Query> queryHolder;
+ Pane<? extends NamedNativeQuery> namedNativeQueryPane; //lazy initialized to avoid unnecessary handles
+ Pane<? extends NamedQuery> namedQueryPane; //lazy initialized to avoid unnecessary handles
+
+ private ModifiableCollectionValueModel<Query> selectedQueriesModel;
+ private PropertyValueModel<Query> selectedQueryModel;
public QueriesComposite(
@@ -85,20 +88,78 @@ public class QueriesComposite extends Pane<QueryContainer>
PropertyValueModel<? extends QueryContainer> subjectHolder,
Composite parent) {
- super(parentPane, subjectHolder, parent, false);
+ super(parentPane, subjectHolder, parent);
+ }
+
+ @Override
+ protected void initialize() {
+ super.initialize();
+ this.selectedQueriesModel = this.buildSelectedQueriesModel();
+ this.selectedQueryModel = this.buildSelectedQueryModel(this.selectedQueriesModel);
+ }
+
+ private ModifiableCollectionValueModel<Query> buildSelectedQueriesModel() {
+ return new SimpleCollectionValueModel<Query>();
+ }
+
+ private PropertyValueModel<Query> buildSelectedQueryModel(CollectionValueModel<Query> selectedQueriesModel) {
+ return new CollectionPropertyValueModelAdapter<Query, Query>(selectedQueriesModel) {
+ @Override
+ protected Query buildValue() {
+ if (this.collectionModel.size() == 1) {
+ return this.collectionModel.iterator().next();
+ }
+ return null;
+ }
+ };
+ }
+
+ protected PropertyValueModel<Query> getSelectedQueryModel() {
+ return this.selectedQueryModel;
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+
+ // List pane
+ this.addListPane(container);
+
+ // Property pane
+ PageBook pageBook = new PageBook(container, SWT.NULL);
+ pageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+ installPaneSwitcher(pageBook);
}
+
+ private AddRemoveListPane<QueryContainer, Query> addListPane(Composite container) {
- void addQuery() {
- addQueryFromDialog(buildAddQueryDialog());
+ return new AddRemoveListPane<QueryContainer, Query>(
+ this,
+ container,
+ buildQueriesAdapter(),
+ buildDisplayableQueriesListHolder(),
+ this.selectedQueriesModel,
+ buildQueriesListLabelProvider(),
+ JpaHelpContextIds.MAPPING_NAMED_QUERIES
+ );
+ }
+
+
+ private void installPaneSwitcher(PageBook pageBook) {
+ new ControlSwitcher(this.getSelectedQueryModel(), this.buildPaneTransformer(pageBook), pageBook);
+ }
+
+ Query addQuery() {
+ return addQueryFromDialog(buildAddQueryDialog());
}
protected AddQueryDialog buildAddQueryDialog() {
return new AddQueryDialog(getShell(), this.getSubject().getPersistenceUnit());
}
- protected void addQueryFromDialog(AddQueryDialog dialog) {
+ protected Query addQueryFromDialog(AddQueryDialog dialog) {
if (dialog.open() != Window.OK) {
- return;
+ return null;
}
String queryType = dialog.getQueryType();
Query query;
@@ -112,7 +173,7 @@ public class QueriesComposite extends Pane<QueryContainer>
throw new IllegalArgumentException();
}
query.setName(dialog.getName());
- this.getQueryHolder().setValue(query);//so that it gets selected in the List for the user to edit
+ return query;
}
private ListValueModel<Query> buildDisplayableQueriesListHolder() {
@@ -121,19 +182,6 @@ public class QueriesComposite extends Pane<QueryContainer>
Query.NAME_PROPERTY
);
}
-
- private AddRemoveListPane<QueryContainer> addListPane(Composite container) {
-
- return new AddRemoveListPane<QueryContainer>(
- this,
- container,
- buildQueriesAdapter(),
- buildDisplayableQueriesListHolder(),
- this.getQueryHolder(),
- buildQueriesListLabelProvider(),
- JpaHelpContextIds.MAPPING_NAMED_QUERIES
- );
- }
private ListValueModel<NamedNativeQuery> buildNamedNativeQueriesListHolder() {
return new ListAspectAdapter<QueryContainer, NamedNativeQuery>(
@@ -152,8 +200,8 @@ public class QueriesComposite extends Pane<QueryContainer>
};
}
- private PropertyValueModel<NamedNativeQuery> buildNamedNativeQueryHolder() {
- return new TransformationPropertyValueModel<Query, NamedNativeQuery>(this.getQueryHolder()) {
+ private PropertyValueModel<NamedNativeQuery> buildSelectedNamedNativeQueryModel() {
+ return new TransformationPropertyValueModel<Query, NamedNativeQuery>(this.getSelectedQueryModel()) {
@Override
protected NamedNativeQuery transform_(Query value) {
return (value instanceof NamedNativeQuery) ? (NamedNativeQuery) value : null;
@@ -178,8 +226,8 @@ public class QueriesComposite extends Pane<QueryContainer>
};
}
- private PropertyValueModel<NamedQuery> buildNamedQueryHolder() {
- return new TransformationPropertyValueModel<Query, NamedQuery>(this.getQueryHolder()) {
+ private PropertyValueModel<NamedQuery> buildSelectedNamedQueryModel() {
+ return new TransformationPropertyValueModel<Query, NamedQuery>(this.getSelectedQueryModel()) {
@Override
protected NamedQuery transform_(Query value) {
return (value instanceof NamedQuery) ? (NamedQuery) value : null;
@@ -187,7 +235,7 @@ public class QueriesComposite extends Pane<QueryContainer>
};
}
- private Transformer<Query, Control> buildPaneTransformer() {
+ private Transformer<Query, Control> buildPaneTransformer(final PageBook pageBook) {
return new Transformer<Query, Control>() {
public Control transform(Query query) {
@@ -196,30 +244,36 @@ public class QueriesComposite extends Pane<QueryContainer>
}
if (query instanceof NamedNativeQuery) {
- return QueriesComposite.this.namedNativeQueryPane.getControl();
+ return QueriesComposite.this.getNamedNativeQueryPropertyComposite(pageBook).getControl();
}
- return QueriesComposite.this.namedQueryPane.getControl();
+ return QueriesComposite.this.getNamedQueryPropertyComposite(pageBook).getControl();
}
};
}
- private Adapter buildQueriesAdapter() {
+ private Adapter<Query> buildQueriesAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
+ return new AddRemoveListPane.AbstractAdapter<Query>() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addQuery();
+ public Query addNewItem() {
+ return addQuery();
}
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- if (item instanceof NamedQuery) {
- getSubject().removeNamedQuery((NamedQuery) item);
- }
- else {
- getSubject().removeNamedNativeQuery((NamedNativeQuery) item);
- }
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<Query> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
+
+ public void removeSelectedItems(CollectionValueModel<Query> selectedItemsModel) {
+ //assume only 1 item since remove button is disabled otherwise
+ Query item = selectedItemsModel.iterator().next();
+ if (item instanceof NamedQuery) {
+ getSubject().removeNamedQuery((NamedQuery) item);
+ }
+ else {
+ getSubject().removeNamedNativeQuery((NamedNativeQuery) item);
}
}
};
@@ -257,58 +311,33 @@ public class QueriesComposite extends Pane<QueryContainer>
};
}
- private ModifiablePropertyValueModel<Query> buildQueryHolder() {
- return new SimplePropertyValueModel<Query>();
- }
-
- @Override
- public void enableWidgets(boolean enabled) {
- super.enableWidgets(enabled);
- this.listPane.enableWidgets(enabled);
- }
-
- @Override
- protected void initialize() {
- super.initialize();
- this.queryHolder = buildQueryHolder();
+ protected Pane<? extends NamedQuery> getNamedQueryPropertyComposite(PageBook pageBook) {
+ if (this.namedQueryPane == null) {
+ this.namedQueryPane = this.buildNamedQueryPropertyComposite(pageBook);
+ }
+ return this.namedQueryPane;
}
- @Override
- protected void initializeLayout(Composite container) {
-
- // List pane
- this.listPane = this.addListPane(container);
-
- // Property pane
- PageBook pageBook = new PageBook(container, SWT.NULL);
- pageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- // Named Query property pane
- this.namedQueryPane = this.buildNamedQueryPropertyComposite(pageBook);
-
- // Named Native Query property pane
- this.namedNativeQueryPane = new NamedNativeQueryPropertyComposite(
+ protected Pane<? extends NamedQuery> buildNamedQueryPropertyComposite(PageBook pageBook) {
+ return new NamedQueryPropertyComposite<NamedQuery>(
this,
- this.buildNamedNativeQueryHolder(),
+ this.buildSelectedNamedQueryModel(),
pageBook
);
-
- installPaneSwitcher(pageBook);
}
- protected Pane<? extends NamedQuery> buildNamedQueryPropertyComposite(PageBook pageBook) {
- return new NamedQueryPropertyComposite<NamedQuery>(
+ protected Pane<? extends NamedNativeQuery> getNamedNativeQueryPropertyComposite(PageBook pageBook) {
+ if (this.namedNativeQueryPane == null) {
+ this.namedNativeQueryPane = this.buildNamedNativeQueryPropertyComposite(pageBook);
+ }
+ return this.namedNativeQueryPane;
+ }
+
+ protected Pane<? extends NamedNativeQuery> buildNamedNativeQueryPropertyComposite(PageBook pageBook) {
+ return new NamedNativeQueryPropertyComposite(
this,
- this.buildNamedQueryHolder(),
+ this.buildSelectedNamedNativeQueryModel(),
pageBook
);
}
-
- private void installPaneSwitcher(PageBook pageBook) {
- new ControlSwitcher(this.getQueryHolder(), this.buildPaneTransformer(), pageBook);
- }
-
- protected ModifiablePropertyValueModel<Query> getQueryHolder() {
- return queryHolder;
- }
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/QueryHintsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/QueryHintsComposite.java
index b3bf9a35ee..d19a0fd244 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/QueryHintsComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/QueryHintsComposite.java
@@ -17,20 +17,19 @@ import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.jpt.common.ui.internal.swt.ColumnAdapter;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
+import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveTablePane;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
import org.eclipse.jpt.common.utility.internal.iterables.SuperListIterableWrapper;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.NamedQuery;
import org.eclipse.jpt.jpa.core.context.Query;
import org.eclipse.jpt.jpa.core.context.QueryHint;
@@ -58,7 +57,7 @@ import org.eclipse.swt.widgets.TableItem;
@SuppressWarnings("nls")
public class QueryHintsComposite extends Pane<Query>
{
- private ModifiablePropertyValueModel<QueryHint> queryHintHolder;
+ private ModifiableCollectionValueModel<QueryHint> selectedQueryHintsModel;
/**
* Creates a new <code>QueryHintsComposite</code>.
@@ -72,33 +71,30 @@ public class QueryHintsComposite extends Pane<Query>
super(parentPane, container);
}
- private PropertyValueModel<Boolean> buildPaneEnableHolder() {
- return new TransformationPropertyValueModel<Query, Boolean>(getSubjectHolder()) {
- @Override
- protected Boolean transform(Query query) {
- return (query != null);
+ private Adapter<QueryHint> buildQueryHintAdapter() {
+ return new AddRemoveTablePane.AbstractAdapter<QueryHint>() {
+
+ public QueryHint addNewItem() {
+ return getSubject().addHint(getSubject().getHintsSize());
}
- };
- }
- private Adapter buildQueryHintAdapter() {
- return new AddRemoveTablePane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- QueryHint queryHint = getSubject().addHint(getSubject().getHintsSize());
- queryHintHolder.setValue(queryHint);
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<QueryHint> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
}
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- getSubject().removeHint((QueryHint) item);
- }
+ public void removeSelectedItems(CollectionValueModel<QueryHint> selectedItemsModel) {
+ //assume only 1 item since remove button is disabled otherwise
+ QueryHint hint = selectedItemsModel.iterator().next();
+ getSubject().removeHint(hint);
}
};
}
- private ModifiablePropertyValueModel<QueryHint> buildQueryHintHolder() {
- return new SimplePropertyValueModel<QueryHint>();
- };
+ private ModifiableCollectionValueModel<QueryHint> buildSelectedQueryHintsModel() {
+ return new SimpleCollectionValueModel<QueryHint>();
+ }
private ITableLabelProvider buildQueryHintLabelProvider() {
return new TableLabelProvider();
@@ -118,27 +114,23 @@ public class QueryHintsComposite extends Pane<Query>
};
}
- /*
- * (non-Javadoc)
- */
@Override
protected void initialize() {
super.initialize();
- queryHintHolder = buildQueryHintHolder();
+ this.selectedQueryHintsModel = buildSelectedQueryHintsModel();
}
- /*
- * (non-Javadoc)
- */
@Override
- protected void initializeLayout(Composite container) {
-
- TablePane tablePane = new TablePane(container);
- installPaneEnabler(tablePane);
+ protected Composite addComposite(Composite parent) {
+ return this.addTitledGroup(
+ parent,
+ JptUiDetailsMessages.NamedQueryPropertyComposite_queryHintsGroupBox
+ );
}
- private PaneEnabler installPaneEnabler(TablePane tablePane) {
- return new PaneEnabler(buildPaneEnableHolder(), tablePane);
+ @Override
+ protected void initializeLayout(Composite container) {
+ new TablePane(container);
}
private static class QueryHintColumnAdapter implements ColumnAdapter<QueryHint> {
@@ -236,14 +228,14 @@ public class QueryHintsComposite extends Pane<Query>
}
}
- private class TablePane extends AddRemoveTablePane<Query> {
+ private class TablePane extends AddRemoveTablePane<Query, QueryHint> {
private TablePane(Composite parent) {
super(QueryHintsComposite.this,
parent,
buildQueryHintAdapter(),
buildQueryHintListHolder(),
- queryHintHolder,
+ QueryHintsComposite.this.selectedQueryHintsModel,
buildQueryHintLabelProvider());
}
@@ -301,7 +293,7 @@ public class QueryHintsComposite extends Pane<Query>
}
@Override
- protected ColumnAdapter<?> buildColumnAdapter() {
+ protected ColumnAdapter<QueryHint> buildColumnAdapter() {
return new QueryHintColumnAdapter();
}
@@ -314,9 +306,9 @@ public class QueryHintsComposite extends Pane<Query>
@Override
protected void initializeMainComposite(Composite container,
- Adapter adapter,
+ Adapter<QueryHint> adapter,
ListValueModel<?> listHolder,
- ModifiablePropertyValueModel<?> selectedItemHolder,
+ ModifiableCollectionValueModel<QueryHint> selectedItemsModel,
IBaseLabelProvider labelProvider,
String helpId) {
@@ -324,7 +316,7 @@ public class QueryHintsComposite extends Pane<Query>
container,
adapter,
listHolder,
- selectedItemHolder,
+ selectedItemsModel,
labelProvider,
helpId
);
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ReferenceTableComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ReferenceTableComposite.java
index 54eb77426d..396c296539 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ReferenceTableComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ReferenceTableComposite.java
@@ -58,9 +58,18 @@ public abstract class ReferenceTableComposite<T extends ReadOnlyReferenceTable>
PropertyValueModel<? extends T> subjectHolder,
Composite parent) {
- super(parentPane, subjectHolder, parent, false);
+ super(parentPane, subjectHolder, parent);
}
+ protected ReferenceTableComposite(
+ Pane<?> parentPane,
+ PropertyValueModel<? extends T> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent) {
+
+ super(parentPane, subjectHolder, enabledModel, parent);
+}
+
/**
* Creates a new <code>ReferenceTableComposite</code>.
*
@@ -76,11 +85,11 @@ public abstract class ReferenceTableComposite<T extends ReadOnlyReferenceTable>
}
- protected void installJoinColumnsPaneEnabler(JoinColumnsComposite<T> pane) {
- pane.installJoinColumnsPaneEnabler(new JoinColumnPaneEnablerHolder());
+ protected PropertyValueModel<Boolean> buildJoinColumnsEnabledModel() {
+ return new JoinColumnsEnabledModel();
}
- void addJoinColumn(T referenceTable) {
+ JoinColumn addJoinColumn(T referenceTable) {
JoinColumnInReferenceTableDialog dialog =
new JoinColumnInReferenceTableDialog(getShell(), referenceTable, null);
@@ -88,18 +97,15 @@ public abstract class ReferenceTableComposite<T extends ReadOnlyReferenceTable>
dialog.setBlockOnOpen(true);
dialog.open();
if (dialog.wasConfirmed()) {
- addJoinColumnFromDialog(dialog.getSubject());
+ return addJoinColumnFromDialog(dialog.getSubject());
}
+ return null;
}
- void addJoinColumnFromDialog(JoinColumnInReferenceTableStateObject stateObject) {
+ JoinColumn addJoinColumnFromDialog(JoinColumnInReferenceTableStateObject stateObject) {
JoinColumn joinColumn = ((ReferenceTable) getSubject()).addSpecifiedJoinColumn();
stateObject.updateJoinColumn(joinColumn);
- this.setSelectedJoinColumn(joinColumn);
- }
-
- private void setSelectedJoinColumn(JoinColumn joinColumn) {
- this.joinColumnsComposite.setSelectedJoinColumn(joinColumn);
+ return joinColumn;
}
protected JoinColumnsProvider buildJoinColumnsEditor() {
@@ -124,11 +130,7 @@ public abstract class ReferenceTableComposite<T extends ReadOnlyReferenceTable>
};
}
- protected Composite addPane(Composite container, int groupBoxMargin) {
- return addSubPane(container, 0, groupBoxMargin, 10, groupBoxMargin);
- }
-
- protected TableCombo<T> addTableCombo(Composite container) {
+ protected TableCombo<T> addTableCombo(Composite container, final String helpId) {
return new TableCombo<T>(this, container) {
@@ -179,10 +181,20 @@ public abstract class ReferenceTableComposite<T extends ReadOnlyReferenceTable>
ReadOnlyReferenceTable table = this.getSubject();
return (table instanceof ReferenceTable) ? (ReferenceTable) table : null;
}
+
+ @Override
+ protected String getHelpId() {
+ return helpId;
+ }
+
+ @Override
+ public String toString() {
+ return "ReferenceTableComposite.tableCombo"; //$NON-NLS-1$
+ }
};
}
- protected SchemaCombo<T> addSchemaCombo(Composite container) {
+ protected SchemaCombo<T> addSchemaCombo(Composite container, final String helpId) {
return new SchemaCombo<T>(this, container) {
@@ -229,10 +241,20 @@ public abstract class ReferenceTableComposite<T extends ReadOnlyReferenceTable>
ReadOnlyReferenceTable table = this.getSubject();
return (table instanceof ReferenceTable) ? (ReferenceTable) table : null;
}
+
+ @Override
+ protected String getHelpId() {
+ return helpId;
+ }
+
+ @Override
+ public String toString() {
+ return "ReferenceTableComposite.schemaCombo"; //$NON-NLS-1$
+ }
};
}
- protected CatalogCombo<T> addCatalogCombo(Composite container) {
+ protected CatalogCombo<T> addCatalogCombo(Composite container, final String helpId) {
return new CatalogCombo<T>(this, container) {
@@ -257,6 +279,16 @@ public abstract class ReferenceTableComposite<T extends ReadOnlyReferenceTable>
protected String getValue() {
return this.getSubject().getSpecifiedCatalog();
}
+
+ @Override
+ protected String getHelpId() {
+ return helpId;
+ }
+
+ @Override
+ public String toString() {
+ return "ReferenceTableComposite.catalogCombo"; //$NON-NLS-1$
+ }
};
}
@@ -301,10 +333,14 @@ public abstract class ReferenceTableComposite<T extends ReadOnlyReferenceTable>
}
}
+ private void setSelectedJoinColumn(JoinColumn joinColumn) {
+ this.joinColumnsComposite.setSelectedJoinColumn(joinColumn);
+ }
+
class JoinColumnsProvider implements JoinColumnsEditor<T> {
- public void addJoinColumn(T subject) {
- ReferenceTableComposite.this.addJoinColumn(subject);
+ public JoinColumn addJoinColumn(T subject) {
+ return ReferenceTableComposite.this.addJoinColumn(subject);
}
public ReadOnlyJoinColumn getDefaultJoinColumn(T subject) {
@@ -323,10 +359,8 @@ public abstract class ReferenceTableComposite<T extends ReadOnlyReferenceTable>
return subject.hasSpecifiedJoinColumns();
}
- public void removeJoinColumns(T subject, int[] selectedIndices) {
- for (int index = selectedIndices.length; index-- > 0; ) {
- ((ReferenceTable) subject).removeSpecifiedJoinColumn(selectedIndices[index]);
- }
+ public void removeJoinColumn(T subject, JoinColumn joinColumn) {
+ ((ReferenceTable) subject).removeSpecifiedJoinColumn(joinColumn);
}
public ListIterable<ReadOnlyJoinColumn> getSpecifiedJoinColumns(T subject) {
@@ -361,13 +395,13 @@ public abstract class ReferenceTableComposite<T extends ReadOnlyReferenceTable>
}
- /* CU private */ class JoinColumnPaneEnablerHolder
+ /* CU private */ class JoinColumnsEnabledModel
extends TransformationPropertyValueModel<T, Boolean>
{
private StateChangeListener stateChangeListener;
- JoinColumnPaneEnablerHolder() {
+ JoinColumnsEnabledModel() {
super(
new ValueListAdapter<T>(
new ReadOnlyWritablePropertyValueModelWrapper<T>(getSubjectHolder()),
@@ -381,7 +415,7 @@ public abstract class ReferenceTableComposite<T extends ReadOnlyReferenceTable>
private StateChangeListener buildStateChangeListener() {
return new StateChangeListener() {
public void stateChanged(StateChangeEvent event) {
- JoinColumnPaneEnablerHolder.this.valueStateChanged();
+ JoinColumnsEnabledModel.this.valueStateChanged();
}
};
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/SequenceGeneratorComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/SequenceGeneratorComposite.java
index 585a418f98..9f4d7519f6 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/SequenceGeneratorComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/SequenceGeneratorComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -64,26 +64,25 @@ public class SequenceGeneratorComposite extends GeneratorComposite<SequenceGener
}
@Override
- protected void initializeLayout(Composite container) {
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// Name widgets
- addLabeledText(
- container,
- JptUiDetailsMessages.SequenceGeneratorComposite_name,
- buildGeneratorNameHolder(),
- JpaHelpContextIds.MAPPING_SEQUENCE_GENERATOR_NAME
- );
+ this.addLabel(container, JptUiDetailsMessages.SequenceGeneratorComposite_name);
+ this.addText(container, this.buildGeneratorNameHolder(), JpaHelpContextIds.MAPPING_SEQUENCE_GENERATOR_NAME);
// Sequence Generator widgets
- addLabeledComposite(
- container,
- JptUiDetailsMessages.SequenceGeneratorComposite_sequence,
- buildSequenceNameCombo(container),
- JpaHelpContextIds.MAPPING_SEQUENCE_GENERATOR_SEQUENCE
- );
-
- addAllocationSizeCombo(container);
- addInitialValueCombo(container);
+ this.addLabel(container, JptUiDetailsMessages.SequenceGeneratorComposite_sequence);
+ this.buildSequenceNameCombo(container);
+
+ this.addLabel(container, JptUiDetailsMessages.GeneratorComposite_allocationSize);
+ this.addAllocationSizeCombo(container);
+
+ this.addLabel(container, JptUiDetailsMessages.GeneratorComposite_initialValue);
+ this.addInitialValueCombo(container);
}
protected SequenceCombo<SequenceGenerator> buildSequenceNameCombo(Composite parent) {
@@ -130,6 +129,15 @@ public class SequenceGeneratorComposite extends GeneratorComposite<SequenceGener
return this.getSubject().getDbSchema();
}
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_SEQUENCE_GENERATOR_SEQUENCE;
+ }
+
+ @Override
+ public String toString() {
+ return "SequenceGeneratorComposite.sequenceNameCombo"; //$NON-NLS-1$
+ }
};
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TableComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TableComposite.java
index e9d50f1c02..2aea4fcbcc 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TableComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TableComposite.java
@@ -11,7 +11,6 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
@@ -68,44 +67,36 @@ public class TableComposite extends Pane<Entity>
public TableComposite(Pane<? extends Entity> parentPane,
Composite parent) {
- super(parentPane, parent, false);
+ super(parentPane, parent);
}
@Override
- protected void initializeLayout(Composite container) {
-
- // Table group pane
- Group tableGroupPane = addTitledGroup(
- container,
- JptUiDetailsMessages.TableComposite_tableSection
+ protected Composite addComposite(Composite parent) {
+ Group tableGroupPane = this.addTitledGroup(
+ parent,
+ JptUiDetailsMessages.TableComposite_tableSection,
+ 2,
+ null
);
+ return tableGroupPane;
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
PropertyValueModel<Table> subjectHolder = buildTableHolder();
+ PropertyValueModel<Boolean> enabledModel = buildTableEnabledModel();
+
// Table widgets
- addLabeledComposite(
- tableGroupPane,
- JptUiDetailsMessages.TableChooser_label,
- addTableCombo(subjectHolder, tableGroupPane),
- JpaHelpContextIds.ENTITY_TABLE
- );
+ this.addLabel(container, JptUiDetailsMessages.TableChooser_label, enabledModel);
+ this.addTableCombo(subjectHolder, enabledModel, container);
// Catalog widgets
- addLabeledComposite(
- tableGroupPane,
- JptUiDetailsMessages.CatalogChooser_label,
- addCatalogCombo(subjectHolder, tableGroupPane),
- JpaHelpContextIds.ENTITY_CATALOG
- );
+ this.addLabel(container, JptUiDetailsMessages.CatalogChooser_label, enabledModel);
+ this.addCatalogCombo(subjectHolder, enabledModel, container);
// Schema widgets
- addLabeledComposite(
- tableGroupPane,
- JptUiDetailsMessages.SchemaChooser_label,
- addSchemaCombo(subjectHolder, tableGroupPane),
- JpaHelpContextIds.ENTITY_SCHEMA
- );
-
- new PaneEnabler(buildTableEnabledHolder(), this);
+ this.addLabel(container, JptUiDetailsMessages.SchemaChooser_label, enabledModel);
+ this.addSchemaCombo(subjectHolder, enabledModel, container);
}
protected ModifiablePropertyValueModel<Table> buildTableHolder() {
@@ -118,7 +109,7 @@ public class TableComposite extends Pane<Entity>
};
}
- protected ModifiablePropertyValueModel<Boolean> buildTableEnabledHolder() {
+ protected PropertyValueModel<Boolean> buildTableEnabledModel() {
return new PropertyAspectAdapter<Entity, Boolean>(getSubjectHolder(), Entity.SPECIFIED_TABLE_IS_ALLOWED_PROPERTY) {
@Override
protected Boolean buildValue_() {
@@ -127,9 +118,8 @@ public class TableComposite extends Pane<Entity>
};
}
- private CatalogCombo<Table> addCatalogCombo(PropertyValueModel<Table> tableHolder, Composite container) {
-
- return new CatalogCombo<Table>(this, tableHolder, container) {
+ private CatalogCombo<Table> addCatalogCombo(PropertyValueModel<Table> tableHolder, PropertyValueModel<Boolean> enabledModel, Composite container) {
+ return new CatalogCombo<Table>(this, tableHolder, enabledModel, container) {
@Override
protected void addPropertyNames(Collection<String> propertyNames) {
@@ -152,12 +142,21 @@ public class TableComposite extends Pane<Entity>
protected String getValue() {
return getSubject().getSpecifiedCatalog();
}
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.ENTITY_CATALOG;
+ }
+
+ @Override
+ public String toString() {
+ return "TableComposite.catalogCombo"; //$NON-NLS-1$
+ }
};
}
- private SchemaCombo<Table> addSchemaCombo(PropertyValueModel<Table> subjectHolder, Composite container) {
-
- return new SchemaCombo<Table>(this, subjectHolder, container) {
+ private SchemaCombo<Table> addSchemaCombo(PropertyValueModel<Table> subjectHolder, PropertyValueModel<Boolean> enabledModel, Composite container) {
+ return new SchemaCombo<Table>(this, subjectHolder, enabledModel, container) {
@Override
protected void addPropertyNames(Collection<String> propertyNames) {
@@ -185,12 +184,21 @@ public class TableComposite extends Pane<Entity>
protected SchemaContainer getDbSchemaContainer_() {
return this.getSubject().getDbSchemaContainer();
}
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.ENTITY_SCHEMA;
+ }
+
+ @Override
+ public String toString() {
+ return "TableComposite.schemaCombo"; //$NON-NLS-1$
+ }
};
}
- private TableCombo<Table> addTableCombo(PropertyValueModel<Table> subjectHolder, Composite container) {
-
- return new TableCombo<Table>(this, subjectHolder, container) {
+ private TableCombo<Table> addTableCombo(PropertyValueModel<Table> subjectHolder, PropertyValueModel<Boolean> enabledModel, Composite container) {
+ return new TableCombo<Table>(this, subjectHolder, enabledModel, container) {
@Override
protected void addPropertyNames(Collection<String> propertyNames) {
@@ -233,6 +241,16 @@ public class TableComposite extends Pane<Entity>
protected Schema getDbSchema_() {
return this.getSubject().getDbSchema();
}
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.ENTITY_TABLE;
+ }
+
+ @Override
+ public String toString() {
+ return "TableComposite.tableCombo"; //$NON-NLS-1$
+ }
};
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TableGeneratorComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TableGeneratorComposite.java
index 3cc2853ef4..7b0d1849c0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TableGeneratorComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TableGeneratorComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -87,68 +87,46 @@ public class TableGeneratorComposite extends GeneratorComposite<TableGenerator>
return GeneratorContainer.TABLE_GENERATOR_PROPERTY;
}
+ @Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
@Override
protected void initializeLayout(Composite container) {
-
// Name widgets
- addLabeledText(
- container,
- JptUiDetailsMessages.TableGeneratorComposite_name,
- buildGeneratorNameHolder(),
- JpaHelpContextIds.MAPPING_TABLE_GENERATOR_NAME
- );
+ this.addLabel(container, JptUiDetailsMessages.TableGeneratorComposite_name);
+ this.addText(container, this.buildGeneratorNameHolder(), JpaHelpContextIds.MAPPING_TABLE_GENERATOR_NAME);
// Table widgets
- addLabeledComposite(
- container,
- JptUiDetailsMessages.TableGeneratorComposite_table,
- addTableNameCombo(container),
- JpaHelpContextIds.MAPPING_TABLE_GENERATOR_TABLE
- );
+ this.addLabel(container, JptUiDetailsMessages.TableGeneratorComposite_table);
+ this.addTableNameCombo(container);
// Schema widgets
- addLabeledComposite(
- container,
- JptUiDetailsMessages.TableGeneratorComposite_schema,
- addSchemaCombo(container),
- JpaHelpContextIds.MAPPING_TABLE_GENERATOR_SCHEMA
- );
+ this.addLabel(container, JptUiDetailsMessages.TableGeneratorComposite_schema);
+ this.addSchemaCombo(container);
// Catalog widgets
- addLabeledComposite(
- container,
- JptUiDetailsMessages.TableGeneratorComposite_catalog,
- addCatalogCombo(container),
- JpaHelpContextIds.MAPPING_TABLE_GENERATOR_CATALOG
- );
+ this.addLabel(container, JptUiDetailsMessages.TableGeneratorComposite_catalog);
+ this.addCatalogCombo(container);
// Primary Key Column widgets
- addLabeledComposite(
- container,
- JptUiDetailsMessages.TableGeneratorComposite_pkColumn,
- addPkColumnNameCombo(container),
- JpaHelpContextIds.MAPPING_TABLE_GENERATOR_PRIMARY_KEY_COLUMN
- );
+ this.addLabel(container, JptUiDetailsMessages.TableGeneratorComposite_pkColumn);
+ this.addPkColumnNameCombo(container);
// Value Column widgets
- addLabeledComposite(
- container,
- JptUiDetailsMessages.TableGeneratorComposite_valueColumn,
- addValueColumnCombo(container),
- JpaHelpContextIds.MAPPING_TABLE_GENERATOR_VALUE_COLUMN
- );
+ this.addLabel(container, JptUiDetailsMessages.TableGeneratorComposite_valueColumn);
+ this.addValueColumnCombo(container);
// Primary Key Column Value widgets
- addLabeledComposite(
- container,
- JptUiDetailsMessages.TableGeneratorComposite_pkColumnValue,
- addPkColumnValueCombo(container),
- JpaHelpContextIds.MAPPING_TABLE_GENERATOR_PRIMARY_KEY_COLUMN_VALUE
- );
-
- addAllocationSizeCombo(container);
- addInitialValueCombo(container);
+ this.addLabel(container, JptUiDetailsMessages.TableGeneratorComposite_pkColumnValue);
+ this.addPkColumnValueCombo(container);
+
+ this.addLabel(container, JptUiDetailsMessages.GeneratorComposite_allocationSize);
+ this.addAllocationSizeCombo(container);
+
+ this.addLabel(container, JptUiDetailsMessages.GeneratorComposite_initialValue);
+ this.addInitialValueCombo(container);
}
private CatalogCombo<TableGenerator> addCatalogCombo(Composite container) {
@@ -189,6 +167,16 @@ public class TableGeneratorComposite extends GeneratorComposite<TableGenerator>
protected String getValue() {
return getSubject().getSpecifiedCatalog();
}
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_TABLE_GENERATOR_CATALOG;
+ }
+
+ @Override
+ public String toString() {
+ return "TableGeneratorComposite.catalogCombo"; //$NON-NLS-1$
+ }
};
}
@@ -247,6 +235,16 @@ public class TableGeneratorComposite extends GeneratorComposite<TableGenerator>
protected String getValue() {
return getSubject().getSpecifiedPkColumnName();
}
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_TABLE_GENERATOR_PRIMARY_KEY_COLUMN;
+ }
+
+ @Override
+ public String toString() {
+ return "TableGeneratorComposite.pkColumnNameCombo"; //$NON-NLS-1$
+ }
};
}
@@ -293,6 +291,16 @@ public class TableGeneratorComposite extends GeneratorComposite<TableGenerator>
protected String getValue() {
return getSubject().getSpecifiedPkColumnValue();
}
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_TABLE_GENERATOR_PRIMARY_KEY_COLUMN_VALUE;
+ }
+
+ @Override
+ public String toString() {
+ return "TableGeneratorComposite.pkColumnValueCombo"; //$NON-NLS-1$
+ }
};
}
@@ -362,6 +370,16 @@ public class TableGeneratorComposite extends GeneratorComposite<TableGenerator>
// we overrode #getDbSchemaContainer() instead
throw new UnsupportedOperationException();
}
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_TABLE_GENERATOR_SCHEMA;
+ }
+
+ @Override
+ public String toString() {
+ return "TableGeneratorComposite.schemaCombo"; //$NON-NLS-1$
+ }
};
}
@@ -436,6 +454,15 @@ public class TableGeneratorComposite extends GeneratorComposite<TableGenerator>
throw new UnsupportedOperationException();
}
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_TABLE_GENERATOR_TABLE;
+ }
+
+ @Override
+ public String toString() {
+ return "TableGeneratorComposite.tableNameCombo"; //$NON-NLS-1$
+ }
};
}
@@ -494,6 +521,16 @@ public class TableGeneratorComposite extends GeneratorComposite<TableGenerator>
protected String getValue() {
return getSubject().getSpecifiedValueColumnName();
}
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_TABLE_GENERATOR_VALUE_COLUMN;
+ }
+
+ @Override
+ public String toString() {
+ return "TableGeneratorComposite.valueColumnCombo"; //$NON-NLS-1$
+ }
};
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TargetEntityComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TargetEntityClassChooser.java
index ca0924c49a..b48362105a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TargetEntityComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TargetEntityClassChooser.java
@@ -16,17 +16,18 @@ import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyListValueModelAdapter;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.RelationshipMapping;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* target entity hyperlink label, combo and browse button
*/
-public class TargetEntityComposite
+public class TargetEntityClassChooser
extends ClassChooserComboPane<RelationshipMapping>
{
/**
@@ -35,14 +36,14 @@ public class TargetEntityComposite
* @param parentPane The parent container of this one
* @param parent The parent container
*/
- public TargetEntityComposite(
+ public TargetEntityClassChooser(
Pane<? extends RelationshipMapping> parentPane,
- Composite parent) {
+ Composite parent,
+ Hyperlink hyperlink) {
- super(parentPane, parent);
+ super(parentPane, parent, hyperlink);
}
-
-
+
@Override
protected String getClassName() {
return getSubject().getTargetEntity();
@@ -54,15 +55,10 @@ public class TargetEntityComposite
}
@Override
- protected String getLabelText() {
- return JptUiDetailsMessages.TargetEntityChooser_label;
- }
-
- @Override
protected String getHelpId() {
return JpaHelpContextIds.MAPPING_TARGET_ENTITY;
}
-
+
@Override
protected IJavaProject getJavaProject() {
return getSubject().getJpaProject().getJavaProject();
@@ -89,7 +85,7 @@ public class TargetEntityComposite
String name = this.subject.getSpecifiedTargetEntity();
if (name == null) {
- name = TargetEntityComposite.this.getDefaultValue(this.subject);
+ name = TargetEntityClassChooser.this.getDefaultValue(this.subject);
}
return name;
}
@@ -120,7 +116,7 @@ public class TargetEntityComposite
return new PropertyAspectAdapter<RelationshipMapping, String>(this.getSubjectHolder(), RelationshipMapping.DEFAULT_TARGET_ENTITY_PROPERTY) {
@Override
protected String buildValue_() {
- return TargetEntityComposite.this.getDefaultValue(this.subject);
+ return TargetEntityClassChooser.this.getDefaultValue(this.subject);
}
};
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TemporalTypeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TemporalTypeCombo.java
index b0efc9abd4..84832b3928 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TemporalTypeComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TemporalTypeCombo.java
@@ -25,6 +25,7 @@ import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
import org.eclipse.jpt.jpa.core.context.TemporalType;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
import com.ibm.icu.text.Collator;
@@ -46,25 +47,32 @@ import com.ibm.icu.text.Collator;
* @version 2.0
* @since 1.0
*/
-public class TemporalTypeComposite extends Pane<BaseTemporalConverter> {
-
- /**
- * Creates a new <code>TemporalTypeComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public TemporalTypeComposite(PropertyValueModel<? extends BaseTemporalConverter> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
+public class TemporalTypeCombo extends Pane<BaseTemporalConverter> {
+
+ private Control combo;
+
+
+ public TemporalTypeCombo(PropertyValueModel<? extends BaseTemporalConverter> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeLayout(Composite container) {
+ protected boolean addsComposite() {
+ return false;
+ }
+
+ @Override
+ public Control getControl() {
+ return this.combo;
+ }
- this.addCombo(
+ @Override
+ protected void initializeLayout(Composite container) {
+ this.combo = this.addCombo(
container,
buildTemporalTypeListHolder(),
buildTemporalTypeHolder(),
@@ -92,7 +100,7 @@ public class TemporalTypeComposite extends Pane<BaseTemporalConverter> {
buildSortedTemporalTypeList()
);
}
-
+
private List<TemporalType> buildSortedTemporalTypeList() {
return CollectionTools.sort(CollectionTools.list(TemporalType.values()), this.buildTemporalTypeComparator());
}
@@ -127,17 +135,13 @@ public class TemporalTypeComposite extends Pane<BaseTemporalConverter> {
throw new IllegalStateException();
}
}
-
+
protected PropertyValueModel<Boolean> buildBooleanHolder() {
return new TransformationPropertyValueModel<BaseTemporalConverter, Boolean>(getSubjectHolder()) {
@Override
protected Boolean transform(BaseTemporalConverter value) {
- if (getSubject() != null && getSubject().getParent().getPersistentAttribute().isVirtual()) {
- return Boolean.FALSE;
- }
return Boolean.valueOf(value != null);
}
};
}
-
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TransientMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TransientMappingComposite.java
index f6768f3d1f..066da8eead 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TransientMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/TransientMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -35,10 +35,11 @@ public class TransientMappingComposite extends Pane<TransientMapping>
* @param widgetFactory The factory used to create various common widgets
*/
public TransientMappingComposite(PropertyValueModel<? extends TransientMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
/*
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/VersionMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/VersionMappingComposite.java
index 1d5c4a60b4..b8c8601b6b 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/VersionMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/VersionMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -13,6 +13,7 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.VersionMapping;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* Here the layout of this pane:
@@ -32,7 +33,7 @@ import org.eclipse.swt.widgets.Composite;
*
* @see VersionMapping
* @see ColumnComposite
- * @see TemporalTypeComposite
+ * @see TemporalTypeCombo
*
* @version 2.3
* @since 1.0
@@ -48,14 +49,19 @@ public class VersionMappingComposite
* @param widgetFactory The factory used to create various common widgets
*/
public VersionMappingComposite(PropertyValueModel<? extends VersionMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeVersionSection(Composite container) {
+ protected Control initializeVersionSection(Composite container) {
+ container = this.addSubPane(container); //A Section with a Group(ColumnComposite) as its direct direct child throws exceptions
+
new ColumnComposite(this, buildColumnHolder(), container);
+
+ return container;
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/CatalogCombo.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/CatalogCombo.java
index dff170cb8f..e901f4ccf6 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/CatalogCombo.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/CatalogCombo.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -20,14 +20,14 @@ import org.eclipse.swt.widgets.Composite;
public abstract class CatalogCombo<T extends JpaNode>
extends DatabaseObjectCombo<T>
{
- public CatalogCombo(
+ protected CatalogCombo(
Pane<? extends T> parentPane,
Composite parent) {
super(parentPane, parent);
}
- public CatalogCombo(
+ protected CatalogCombo(
Pane<?> parentPane,
PropertyValueModel<? extends T> subjectHolder,
Composite parent) {
@@ -35,6 +35,15 @@ public abstract class CatalogCombo<T extends JpaNode>
super(parentPane, subjectHolder, parent);
}
+ protected CatalogCombo(
+ Pane<?> parentPane,
+ PropertyValueModel<? extends T> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent) {
+
+ super(parentPane, subjectHolder, enabledModel, parent);
+ }
+
@Override
protected Iterable<String> getValues_() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/ColumnCombo.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/ColumnCombo.java
index 99243ac41a..6b7eb82cb2 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/ColumnCombo.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/ColumnCombo.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -22,14 +22,14 @@ import org.eclipse.swt.widgets.Composite;
public abstract class ColumnCombo<T extends JpaNode>
extends DatabaseObjectCombo<T>
{
- public ColumnCombo(
+ protected ColumnCombo(
Pane<? extends T> parentPane,
Composite parent) {
super(parentPane, parent);
}
- public ColumnCombo(
+ protected ColumnCombo(
Pane<?> parentPane,
PropertyValueModel<? extends T> subjectHolder,
Composite parent) {
@@ -37,6 +37,15 @@ public abstract class ColumnCombo<T extends JpaNode>
super(parentPane, subjectHolder, parent);
}
+ protected ColumnCombo(
+ Pane<?> parentPane,
+ PropertyValueModel<? extends T> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent) {
+
+ super(parentPane, subjectHolder, enabledModel, parent);
+ }
+
@Override
protected Iterable<String> getValues_() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/DatabaseObjectCombo.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/DatabaseObjectCombo.java
index 1a670e1ee3..582c9da344 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/DatabaseObjectCombo.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/DatabaseObjectCombo.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -72,6 +72,15 @@ public abstract class DatabaseObjectCombo<T extends JpaNode>
super(parentPane, subjectHolder, parent);
}
+ protected DatabaseObjectCombo(
+ Pane<?> parentPane,
+ PropertyValueModel<? extends T> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent) {
+
+ super(parentPane, subjectHolder, enabledModel, parent);
+ }
+
// ********** initialization **********
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/SchemaCombo.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/SchemaCombo.java
index cf3605efe6..f63beba3d0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/SchemaCombo.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/SchemaCombo.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -22,14 +22,14 @@ import org.eclipse.swt.widgets.Composite;
public abstract class SchemaCombo<T extends JpaNode>
extends DatabaseObjectCombo<T>
{
- public SchemaCombo(
+ protected SchemaCombo(
Pane<? extends T> parentPane,
Composite parent) {
super(parentPane, parent);
}
- public SchemaCombo(
+ protected SchemaCombo(
Pane<?> parentPane,
PropertyValueModel<? extends T> subjectHolder,
Composite parent) {
@@ -37,6 +37,15 @@ public abstract class SchemaCombo<T extends JpaNode>
super(parentPane, subjectHolder, parent);
}
+ protected SchemaCombo(
+ Pane<?> parentPane,
+ PropertyValueModel<? extends T> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent) {
+
+ super(parentPane, subjectHolder, enabledModel, parent);
+ }
+
@Override
protected Iterable<String> getValues_() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/TableCombo.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/TableCombo.java
index c347b77c82..3e04d7465b 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/TableCombo.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/db/TableCombo.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -22,20 +22,29 @@ import org.eclipse.swt.widgets.Composite;
public abstract class TableCombo<T extends JpaNode>
extends DatabaseObjectCombo<T>
{
- public TableCombo(
+ protected TableCombo(
Pane<? extends T> parentPane,
Composite parent) {
super(parentPane, parent);
}
- public TableCombo(
+ protected TableCombo(
Pane<?> parentPane,
PropertyValueModel<? extends T> subjectHolder,
Composite parent) {
super(parentPane, subjectHolder, parent);
}
+
+ protected TableCombo(
+ Pane<?> parentPane,
+ PropertyValueModel<? extends T> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent) {
+
+ super(parentPane, subjectHolder, enabledModel, parent);
+}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/AbstractJavaResourceUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/AbstractJavaResourceUiDefinition.java
index 7fc8e2dc81..8b05eeea5f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/AbstractJavaResourceUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/AbstractJavaResourceUiDefinition.java
@@ -156,7 +156,8 @@ public abstract class AbstractJavaResourceUiDefinition
public JpaComposite buildAttributeMappingComposite(
String key,
PropertyValueModel<AttributeMapping> mappingHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
JavaAttributeMappingUiDefinition<AttributeMapping> mappingUiDefinition =
@@ -164,6 +165,7 @@ public abstract class AbstractJavaResourceUiDefinition
return mappingUiDefinition.buildAttributeMappingComposite(
getFactory(),
mappingHolder,
+ enabledModel,
parent,
widgetFactory);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/BaseJavaUiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/BaseJavaUiFactory.java
index df7051717d..f1b5780b3c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/BaseJavaUiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/BaseJavaUiFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -103,71 +103,81 @@ public abstract class BaseJavaUiFactory implements JavaUiFactory
public JpaComposite createJavaIdMappingComposite(
PropertyValueModel<JavaIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new IdMappingComposite(subjectHolder, parent, widgetFactory);
+ return new IdMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createJavaEmbeddedIdMappingComposite(
PropertyValueModel<JavaEmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EmbeddedIdMappingComposite(subjectHolder, parent, widgetFactory);
+ return new EmbeddedIdMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createJavaBasicMappingComposite(
PropertyValueModel<JavaBasicMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new BasicMappingComposite(subjectHolder, parent, widgetFactory);
+ return new BasicMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createJavaVersionMappingComposite(
PropertyValueModel<JavaVersionMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new VersionMappingComposite(subjectHolder, parent, widgetFactory);
+ return new VersionMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createJavaManyToOneMappingComposite(
PropertyValueModel<JavaManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new ManyToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return new ManyToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createJavaOneToManyMappingComposite(
PropertyValueModel<JavaOneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OneToManyMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OneToManyMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createJavaOneToOneMappingComposite(
PropertyValueModel<JavaOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OneToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OneToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createJavaManyToManyMappingComposite(
PropertyValueModel<JavaManyToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new ManyToManyMappingComposite(subjectHolder, parent, widgetFactory);
+ return new ManyToManyMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createJavaEmbeddedMappingComposite(
PropertyValueModel<JavaEmbeddedMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaEmbeddedMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new JavaEmbeddedMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createJavaTransientMappingComposite(
PropertyValueModel<JavaTransientMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new TransientMappingComposite(subjectHolder, parent, widgetFactory);
+ return new TransientMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/DefaultBasicMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/DefaultBasicMappingUiDefinition.java
index fbed33d2a0..04fe0bff40 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/DefaultBasicMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/DefaultBasicMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -75,9 +75,10 @@ public class DefaultBasicMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaBasicMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createJavaBasicMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createJavaBasicMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/DefaultEmbeddedMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/DefaultEmbeddedMappingUiDefinition.java
index 6fed137b00..19fc95b2d4 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/DefaultEmbeddedMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/DefaultEmbeddedMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -75,9 +75,10 @@ public class DefaultEmbeddedMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaEmbeddedMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createJavaEmbeddedMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createJavaEmbeddedMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaBasicMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaBasicMappingUiDefinition.java
index 466f197087..1c4366b2e3 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaBasicMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaBasicMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -47,9 +47,10 @@ public class JavaBasicMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaBasicMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createJavaBasicMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createJavaBasicMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEmbeddableComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEmbeddableComposite.java
index 18e1e4e806..072d742600 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEmbeddableComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEmbeddableComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -42,4 +42,8 @@ public class JavaEmbeddableComposite extends AbstractEmbeddableComposite<Embedda
super(subjectHolder, parent, widgetFactory);
}
+ @Override
+ protected void initializeLayout(Composite container) {
+ //nothing
+ }
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEmbeddedIdMappingUDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEmbeddedIdMappingUDefinition.java
index 4dc119c813..70f2a4426a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEmbeddedIdMappingUDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEmbeddedIdMappingUDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -47,9 +47,10 @@ public class JavaEmbeddedIdMappingUDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaEmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createJavaEmbeddedIdMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createJavaEmbeddedIdMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEmbeddedMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEmbeddedMappingUiDefinition.java
index ca1c784d1a..abcab5dd97 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEmbeddedMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEmbeddedMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -47,9 +47,10 @@ public class JavaEmbeddedMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaEmbeddedMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createJavaEmbeddedMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createJavaEmbeddedMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEntityComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEntityComposite.java
index 92c7659fc3..fc83dd415f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEntityComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaEntityComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -14,6 +14,7 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.java.JavaEntity;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEntityComposite;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* The pane used for a Java entity.
@@ -42,12 +43,12 @@ public class JavaEntityComposite extends AbstractEntityComposite<JavaEntity>
}
@Override
- protected void initializeSecondaryTablesSection(Composite container) {
- new JavaSecondaryTablesComposite(this, container);
+ protected Control initializeSecondaryTablesSection(Composite container) {
+ return new JavaSecondaryTablesComposite(this, container).getControl();
}
@Override
- protected void initializeInheritanceSection(Composite container) {
- new JavaInheritanceComposite(this, container);
+ protected Control initializeInheritanceSection(Composite container) {
+ return new JavaInheritanceComposite(this, container).getControl();
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaIdMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaIdMappingUiDefinition.java
index 929c049a43..9175e4dd94 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaIdMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaIdMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -47,9 +47,10 @@ public class JavaIdMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createJavaIdMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createJavaIdMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaInheritanceComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaInheritanceComposite.java
index d029097866..507cda526a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaInheritanceComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaInheritanceComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -13,6 +13,7 @@ import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.jpa.core.context.java.JavaEntity;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractInheritanceComposite;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* The pane used for java inheritance.
@@ -38,7 +39,7 @@ public class JavaInheritanceComposite extends AbstractInheritanceComposite<JavaE
}
@Override
- protected void addPrimaryKeyJoinColumnsComposite(Composite container) {
- new JavaPrimaryKeyJoinColumnsComposite(this, container);
+ protected Control addPrimaryKeyJoinColumnsComposite(Composite container) {
+ return new JavaPrimaryKeyJoinColumnsComposite(this, container).getControl();
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaManyToManyMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaManyToManyMappingUiDefinition.java
index 900ce26972..e23a9ddc43 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaManyToManyMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaManyToManyMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -47,9 +47,10 @@ public class JavaManyToManyMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaManyToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createJavaManyToManyMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createJavaManyToManyMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaManyToOneMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaManyToOneMappingUiDefinition.java
index 23e70b258b..bba0eacfa5 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaManyToOneMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaManyToOneMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -47,9 +47,10 @@ public class JavaManyToOneMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createJavaManyToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createJavaManyToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaOneToManyMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaOneToManyMappingUiDefinition.java
index ca30448137..10a1664b10 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaOneToManyMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaOneToManyMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -47,9 +47,10 @@ public class JavaOneToManyMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaOneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createJavaOneToManyMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createJavaOneToManyMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaOneToOneMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaOneToOneMappingUiDefinition.java
index d96ee6166f..d2bf660b3f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaOneToOneMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaOneToOneMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -47,9 +47,10 @@ public class JavaOneToOneMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createJavaOneToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createJavaOneToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaPersistentAttributeDetailsPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaPersistentAttributeDetailsPage.java
index 80046d9cbc..8d95725865 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaPersistentAttributeDetailsPage.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaPersistentAttributeDetailsPage.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -10,6 +10,8 @@
package org.eclipse.jpt.jpa.ui.internal.details.java;
import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.utility.internal.model.value.StaticPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.jpa.ui.internal.details.PersistentAttributeDetailsPage;
import org.eclipse.jpt.jpa.ui.internal.details.PersistentAttributeMapAsComposite;
@@ -57,13 +59,16 @@ public class JavaPersistentAttributeDetailsPage
@Override
protected void initializeLayout(Composite container) {
+ new PersistentAttributeMapAsComposite(this, container);
- // Map as composite
- new PersistentAttributeMapAsComposite(
- this,
- addSubPane(container, 0, 0, 5, 0)
- );
+ this.buildMappingPageBook(container);
+ }
+
+ private static final PropertyValueModel<Boolean> TRUE_ENABLED_MODEL = new StaticPropertyValueModel<Boolean>(Boolean.TRUE);
- buildMappingPageBook(container);
+ @Override
+ protected PropertyValueModel<Boolean> getMappingCompositeEnabledModel() {
+ return TRUE_ENABLED_MODEL;
}
+
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaSecondaryTablesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaSecondaryTablesComposite.java
index adc35aa679..190f80606c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaSecondaryTablesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaSecondaryTablesComposite.java
@@ -9,15 +9,13 @@
******************************************************************************/
package org.eclipse.jpt.jpa.ui.internal.details.java;
-import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.jpa.core.context.Entity;
import org.eclipse.jpt.jpa.core.context.ReadOnlyTable;
import org.eclipse.jpt.jpa.core.context.SecondaryTable;
@@ -65,20 +63,6 @@ public class JavaSecondaryTablesComposite extends AbstractSecondaryTablesComposi
super(parentPane, parent);
}
- /**
- * Creates a new <code>SecondaryTablesComposite</code>.
- *
- * @param subjectHolder The holder of the subject <code>IEntity</code>
- * @param parent The parent container
- * @param widgetFactory The factory used to create various common widgets
- */
- public JavaSecondaryTablesComposite(PropertyValueModel<? extends JavaEntity> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
private ListValueModel<JavaSecondaryTable> buildSecondaryTablesListModel() {
return new ItemPropertyListValueModelAdapter<JavaSecondaryTable>(buildSecondaryTablesListHolder(),
ReadOnlyTable.SPECIFIED_NAME_PROPERTY);
@@ -97,24 +81,18 @@ public class JavaSecondaryTablesComposite extends AbstractSecondaryTablesComposi
};
}
- /*
- * (non-Javadoc)
- */
@Override
protected void initializeLayout(Composite container) {
-
- int groupBoxMargin = getGroupBoxMargin();
-
- ModifiablePropertyValueModel<SecondaryTable> secondaryTableHolder =
- buildSecondaryTableHolder();
+ ModifiableCollectionValueModel<SecondaryTable> selectedSecondaryTablesModel =
+ buildSelectedSecondaryTablesModel();
// Secondary Tables add/remove list pane
- new AddRemoveListPane<Entity>(
+ new AddRemoveListPane<Entity, SecondaryTable>(
this,
- addSubPane(container, 0, groupBoxMargin, 0, groupBoxMargin),
+ container,
buildSecondaryTablesAdapter(),
buildSecondaryTablesListModel(),
- secondaryTableHolder,
+ selectedSecondaryTablesModel,
buildSecondaryTableLabelProvider(),
JpaHelpContextIds.MAPPING_JOIN_TABLE_COLUMNS//TODO need a help context id for this
);
@@ -122,7 +100,7 @@ public class JavaSecondaryTablesComposite extends AbstractSecondaryTablesComposi
// Primary Key Join Columns pane
new PrimaryKeyJoinColumnsInSecondaryTableComposite(
this,
- secondaryTableHolder,
+ buildSelectedSecondaryTableModel(selectedSecondaryTablesModel),
container
);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaTransientMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaTransientMappingUiDefinition.java
index 657e43234f..2d1fedd03b 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaTransientMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaTransientMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -47,9 +47,10 @@ public class JavaTransientMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaTransientMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createJavaTransientMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createJavaTransientMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaVersionMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaVersionMappingUiDefinition.java
index d4f9bd94bc..6fefe6f56a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaVersionMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/JavaVersionMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -47,9 +47,10 @@ public class JavaVersionMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaVersionMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createJavaVersionMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createJavaVersionMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/NullJavaAttributeMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/NullJavaAttributeMappingUiDefinition.java
index 8e2e64812b..6088fb286a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/NullJavaAttributeMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/java/NullJavaAttributeMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -70,6 +70,7 @@ public class NullJavaAttributeMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaAttributeMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
return new NullComposite(subjectHolder, parent, widgetFactory);
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AbstractEntityMappingsDetailsPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AbstractEntityMappingsDetailsPage.java
index 60258a1239..a927a6cabe 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AbstractEntityMappingsDetailsPage.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AbstractEntityMappingsDetailsPage.java
@@ -10,21 +10,30 @@
package org.eclipse.jpt.jpa.ui.internal.details.orm;
import java.util.Collection;
-
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.QueryContainer;
import org.eclipse.jpt.jpa.core.context.orm.EntityMappings;
import org.eclipse.jpt.jpa.core.context.orm.OrmPersistenceUnitMetadata;
import org.eclipse.jpt.jpa.db.SchemaContainer;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractJpaDetailsPage;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.QueriesComposite;
import org.eclipse.jpt.jpa.ui.internal.details.db.CatalogCombo;
import org.eclipse.jpt.jpa.ui.internal.details.db.SchemaCombo;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -98,44 +107,56 @@ public abstract class AbstractEntityMappingsDetailsPage extends AbstractJpaDetai
}
protected void initializeEntityMappingsCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsOrmMessages.EntityMappingsSection_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE)
- );
-
- this.initializeEntityMappingsSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsOrmMessages.EntityMappingsSection_title);
+ section.setExpanded(true);
+ section.setClient(this.initializeEntityMappingsSection(section));
}
- protected void initializeEntityMappingsSection(Composite container) {
+ protected Control initializeEntityMappingsSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
// Package widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.EntityMappingsDetailsPage_package);
new OrmPackageChooser(this, container);
// Schema widgets
- addLabeledComposite(
- container,
- JptUiDetailsOrmMessages.EntityMappingsDetailsPage_schema,
- addSchemaCombo(container),
- JpaHelpContextIds.ENTITY_ORM_SCHEMA
- );
+ this.addLabel(container, JptUiDetailsOrmMessages.EntityMappingsDetailsPage_schema);
+ this.addSchemaCombo(container);
// Catalog widgets
- addLabeledComposite(
- container,
- JptUiDetailsOrmMessages.EntityMappingsDetailsPage_catalog,
- addCatalogCombo(container),
- JpaHelpContextIds.ENTITY_ORM_CATALOG
- );
-
- new AccessTypeComposite(this, getSubjectHolder(), container);
+ this.addLabel(container, JptUiDetailsOrmMessages.EntityMappingsDetailsPage_catalog);
+ this.addCatalogCombo(container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, getSubjectHolder(), container);
+
+ return container;
}
protected void initializePersistenceUnitMetadataCollapsibleSection(Composite container) {
- new PersistenceUnitMetadataComposite(
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsOrmMessages.PersistenceUnitMetadataComposite_persistenceUnitSection);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializePersistenceUnitMetadataSection(section));
+ }
+ }
+ });
+ }
+
+ protected Control initializePersistenceUnitMetadataSection(Composite container) {
+ return new PersistenceUnitMetadataComposite(
this,
buildPersistentUnitMetadataHolder(),
- addSubPane(container, 5)
- );
+ container
+ ).getControl();
}
protected CatalogCombo<EntityMappings> addCatalogCombo(Composite container) {
@@ -163,6 +184,15 @@ public abstract class AbstractEntityMappingsDetailsPage extends AbstractJpaDetai
protected String getValue() {
return getSubject().getSpecifiedCatalog();
}
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.ENTITY_ORM_CATALOG;
+ }
+ @Override
+ public String toString() {
+ return "AbstractEntityMappingsDetailsPage.catalogCombo"; //$NON-NLS-1$
+ }
};
}
@@ -206,17 +236,62 @@ public abstract class AbstractEntityMappingsDetailsPage extends AbstractJpaDetai
return this.getSubject().getDbSchemaContainer();
}
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.ENTITY_ORM_SCHEMA;
+ }
+
+ @Override
+ public String toString() {
+ return "AbstractEntityMappingsDetailsPage.schemaCombo"; //$NON-NLS-1$
+ }
};
}
protected void initializeGeneratorsCollapsibleSection(Composite container) {
- new EntityMappingsGeneratorsComposite(
- this,
- container
- );
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsOrmMessages.OrmGeneratorsComposite_groupBox);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeGeneratorsSection(section));
+ }
+ }
+ });
}
+ protected Control initializeGeneratorsSection(Composite container) {
+ return new EntityMappingsGeneratorsComposite(this, container).getControl();
+ }
+
protected void initializeQueriesCollapsibleSection(Composite container) {
- new OrmQueriesComposite(this, container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.EntityComposite_queries);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeQueriesSection(section));
+ }
+ }
+ });
+ }
+
+ protected Control initializeQueriesSection(Composite container) {
+ return new QueriesComposite(this, this.buildQueryContainerHolder(), container).getControl();
+ }
+
+ protected PropertyValueModel<QueryContainer> buildQueryContainerHolder() {
+ return new PropertyAspectAdapter<EntityMappings, QueryContainer>(getSubjectHolder()) {
+ @Override
+ protected QueryContainer buildValue_() {
+ return this.subject.getQueryContainer();
+ }
+ };
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AbstractOrmEntityComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AbstractOrmEntityComposite.java
index 97d8424fe4..ebf4181bf7 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AbstractOrmEntityComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AbstractOrmEntityComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -14,13 +14,18 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.orm.OrmEntity;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.EntityNameComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.IdClassComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.EntityNameCombo;
+import org.eclipse.jpt.jpa.ui.internal.details.IdClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.TableComposite;
import org.eclipse.jpt.jpa.ui.internal.details.java.BaseJavaUiFactory;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* The pane used for an ORM entity.
@@ -60,13 +65,38 @@ public abstract class AbstractOrmEntityComposite extends AbstractEntityComposite
}
@Override
- protected void initializeEntitySection(Composite container) {
- new OrmJavaClassChooser(this, getSubjectHolder(), container, false);
- new TableComposite(this, container);
- new EntityNameComposite(this, container);
- new AccessTypeComposite(this, buildAccessHolder(), container);
- new IdClassComposite(this, buildIdClassReferenceHolder(), container);
- new MetadataCompleteComposite(this, getSubjectHolder(), container);
+ protected Control initializeEntitySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Java class widgets
+ Hyperlink javaClassHyperlink = this.addHyperlink(container, JptUiDetailsOrmMessages.OrmJavaClassChooser_javaClass);
+ new OrmJavaClassChooser(this, getSubjectHolder(), container, javaClassHyperlink);
+
+ // Table widgets
+ TableComposite tableComposite = new TableComposite(this, container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ tableComposite.getControl().setLayoutData(gridData);
+
+ // Entity name widgets
+ this.addLabel(container, JptUiDetailsMessages.EntityNameComposite_name);
+ new EntityNameCombo(this, container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, buildAccessHolder(), container);
+
+ // Id class widgets
+ Hyperlink hyperlink = this.addHyperlink(container,JptUiDetailsMessages.IdClassComposite_label);
+ new IdClassChooser(this, this.buildIdClassReferenceHolder(), container, hyperlink);
+
+ // Metadata complete widgets
+ MetadataCompleteTriStateCheckBox metadataCompleteCheckBox = new MetadataCompleteTriStateCheckBox(this, getSubjectHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ metadataCompleteCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolder() {
@@ -79,12 +109,12 @@ public abstract class AbstractOrmEntityComposite extends AbstractEntityComposite
}
@Override
- protected void initializeSecondaryTablesSection(Composite container) {
- new OrmSecondaryTablesComposite(this, container);
+ protected Control initializeSecondaryTablesSection(Composite container) {
+ return new OrmSecondaryTablesComposite(this, container).getControl();
}
@Override
- protected void initializeInheritanceSection(Composite container) {
- new OrmInheritanceComposite(this, container);
+ protected Control initializeInheritanceSection(Composite container) {
+ return new OrmInheritanceComposite(this, container).getControl();
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AbstractOrmXmlResourceUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AbstractOrmXmlResourceUiDefinition.java
index db11562274..7939454d60 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AbstractOrmXmlResourceUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AbstractOrmXmlResourceUiDefinition.java
@@ -120,13 +120,19 @@ public abstract class AbstractOrmXmlResourceUiDefinition
// ********** ORM attribute mappings **********
- public JpaComposite buildAttributeMappingComposite(String key, PropertyValueModel<AttributeMapping> mappingHolder, Composite parent, WidgetFactory widgetFactory) {
+ public JpaComposite buildAttributeMappingComposite(
+ String key,
+ PropertyValueModel<AttributeMapping> mappingHolder,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
OrmAttributeMappingUiDefinition<AttributeMapping> mappingUiDefinition =
(OrmAttributeMappingUiDefinition<AttributeMapping>) getOrmAttributeMappingUiDefinition(key);
return mappingUiDefinition.buildAttributeMappingComposite(
getFactory(),
mappingHolder,
+ enabledModel,
parent,
widgetFactory
);
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AddGeneratorDialog.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AddGeneratorDialog.java
index ac31236854..2caf9695b2 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AddGeneratorDialog.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/AddGeneratorDialog.java
@@ -121,20 +121,25 @@ public class AddGeneratorDialog extends ValidatingDialog<AddGeneratorStateObject
}
@Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
- this.nameText = addLabeledText(
+ this.addLabel(container, JptUiDetailsOrmMessages.AddGeneratorDialog_name);
+ this.nameText = this.addText(
container,
- JptUiDetailsOrmMessages.AddGeneratorDialog_name,
buildNameHolder()
);
- addLabeledCombo(
- container,
- JptUiDetailsOrmMessages.AddGeneratorDialog_generatorType,
+ this.addLabel(container, JptUiDetailsOrmMessages.AddGeneratorDialog_generatorType);
+ this.addCombo(
+ container,
buildGeneratorTypeListHolder(),
buildGeneratorTypeHolder(),
buildStringConverter(),
- null);
+ (String) null);
}
protected ListValueModel<String> buildGeneratorTypeListHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/BaseOrmXmlUiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/BaseOrmXmlUiFactory.java
index d44d8d6e49..3fde7f558c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/BaseOrmXmlUiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/BaseOrmXmlUiFactory.java
@@ -64,71 +64,81 @@ public abstract class BaseOrmXmlUiFactory implements OrmXmlUiFactory
public JpaComposite createOrmIdMappingComposite(
PropertyValueModel<OrmIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmIdMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmIdMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createOrmEmbeddedIdMappingComposite(
PropertyValueModel<OrmEmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEmbeddedIdMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmEmbeddedIdMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createOrmBasicMappingComposite(
PropertyValueModel<OrmBasicMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmBasicMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmBasicMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createOrmVersionMappingComposite(
PropertyValueModel<OrmVersionMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmVersionMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmVersionMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createOrmManyToOneMappingComposite(
PropertyValueModel<OrmManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmManyToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmManyToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createOrmOneToManyMappingComposite(
PropertyValueModel<OrmOneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmOneToManyMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmOneToManyMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createOrmOneToOneMappingComposite(
PropertyValueModel<OrmOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmOneToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmOneToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createOrmManyToManyMappingComposite(
PropertyValueModel<OrmManyToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmManyToManyMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmManyToManyMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createOrmEmbeddedMappingComposite(
PropertyValueModel<OrmEmbeddedMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEmbeddedMappingComposite(subjectHolder, parent, widgetFactory);
+ return new OrmEmbeddedMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createOrmTransientMappingComposite(
PropertyValueModel<OrmTransientMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new TransientMappingComposite(subjectHolder, parent, widgetFactory);
+ return new TransientMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/EntityMappingsGeneratorsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/EntityMappingsGeneratorsComposite.java
index 2593068bf2..80e09da1d0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/EntityMappingsGeneratorsComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/EntityMappingsGeneratorsComposite.java
@@ -11,27 +11,26 @@ package org.eclipse.jpt.jpa.ui.internal.details.orm;
import java.util.ArrayList;
import java.util.List;
-
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.window.Window;
import org.eclipse.jpt.common.ui.internal.util.ControlSwitcher;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.CollectionTools;
import org.eclipse.jpt.common.utility.internal.Transformer;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
+import org.eclipse.jpt.common.utility.internal.model.value.CollectionPropertyValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.CompositeListValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.JpaNamedContextNode;
import org.eclipse.jpt.jpa.core.context.SequenceGenerator;
import org.eclipse.jpt.jpa.core.context.TableGenerator;
@@ -40,9 +39,9 @@ import org.eclipse.jpt.jpa.core.context.orm.OrmGenerator;
import org.eclipse.jpt.jpa.core.context.orm.OrmSequenceGenerator;
import org.eclipse.jpt.jpa.core.context.orm.OrmTableGenerator;
import org.eclipse.jpt.jpa.ui.internal.details.GeneratorComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.GeneratorComposite.GeneratorBuilder;
import org.eclipse.jpt.jpa.ui.internal.details.SequenceGeneratorComposite;
import org.eclipse.jpt.jpa.ui.internal.details.TableGeneratorComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.GeneratorComposite.GeneratorBuilder;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
@@ -81,10 +80,10 @@ import org.eclipse.ui.part.PageBook;
*/
public class EntityMappingsGeneratorsComposite extends Pane<EntityMappings>
{
- private ModifiablePropertyValueModel<OrmGenerator> generatorHolder;
GeneratorComposite<SequenceGenerator> sequenceGeneratorPane;
TableGeneratorComposite tableGeneratorPane;
- private AddRemoveListPane<EntityMappings> listPane;
+ ModifiableCollectionValueModel<OrmGenerator> selectedGeneratorsModel;
+ PropertyValueModel<OrmGenerator> selectedGeneratorModel;
/**
* Creates a new <code>EntityMappingsGeneratorsComposite</code>.
@@ -96,20 +95,43 @@ public class EntityMappingsGeneratorsComposite extends Pane<EntityMappings>
Pane<? extends EntityMappings> parentPane,
Composite parent) {
- super(parentPane, parent, false);
+ super(parentPane, parent);
+ }
+
+ @Override
+ protected void initialize() {
+ super.initialize();
+ this.selectedGeneratorsModel = this.buildSelectedGeneratorsModel();
+ this.selectedGeneratorModel = this.buildSelectedGeneratorModel(this.selectedGeneratorsModel);
+ }
+
+ private ModifiableCollectionValueModel<OrmGenerator> buildSelectedGeneratorsModel() {
+ return new SimpleCollectionValueModel<OrmGenerator>();
+ }
+
+ protected PropertyValueModel<OrmGenerator> buildSelectedGeneratorModel(ModifiableCollectionValueModel<OrmGenerator> selectedGeneratorsModel) {
+ return new CollectionPropertyValueModelAdapter<OrmGenerator, OrmGenerator>(selectedGeneratorsModel) {
+ @Override
+ protected OrmGenerator buildValue() {
+ if (this.collectionModel.size() == 1) {
+ return this.collectionModel.iterator().next();
+ }
+ return null;
+ }
+ };
}
- void addGenerator(ObjectListSelectionModel listSelectionModel) {
- addGeneratorFromDialog(listSelectionModel, buildAddGeneratorDialog());
+ OrmGenerator addGenerator() {
+ return addGeneratorFromDialog(buildAddGeneratorDialog());
}
protected AddGeneratorDialog buildAddGeneratorDialog() {
return new AddGeneratorDialog(getShell(), this.getSubject().getPersistenceUnit());
}
- protected void addGeneratorFromDialog(ObjectListSelectionModel listSelectionModel, AddGeneratorDialog dialog) {
+ protected OrmGenerator addGeneratorFromDialog(AddGeneratorDialog dialog) {
if (dialog.open() != Window.OK) {
- return;
+ return null;
}
String generatorType = dialog.getGeneratorType();
OrmGenerator generator;
@@ -123,8 +145,7 @@ public class EntityMappingsGeneratorsComposite extends Pane<EntityMappings>
throw new IllegalArgumentException();
}
generator.setName(dialog.getName());
- this.generatorHolder.setValue(generator);//so that it gets selected in the List for the user to edit
- listSelectionModel.setSelectedValue(generator);
+ return generator;
}
private ListValueModel<OrmGenerator> buildDisplayableGeneratorListHolder() {
@@ -134,32 +155,31 @@ public class EntityMappingsGeneratorsComposite extends Pane<EntityMappings>
);
}
- private Adapter buildGeneratorAdapter() {
-
- return new AddRemoveListPane.AbstractAdapter() {
+ private Adapter<OrmGenerator> buildGeneratorAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addGenerator(listSelectionModel);
+ return new AddRemoveListPane.AbstractAdapter<OrmGenerator>() {
+ public OrmGenerator addNewItem() {
+ return addGenerator();
}
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<OrmGenerator> selectedItemsModel) {
+ return buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- if (item instanceof OrmSequenceGenerator) {
- getSubject().removeSequenceGenerator((OrmSequenceGenerator) item);
- }
- else {
- getSubject().removeTableGenerator((OrmTableGenerator) item);
- }
+ public void removeSelectedItems(CollectionValueModel<OrmGenerator> selectedItemsModel) {
+ //assume only 1 item since remove button is disabled otherwise
+ OrmGenerator item = selectedItemsModel.iterator().next();
+ if (item instanceof OrmSequenceGenerator) {
+ getSubject().removeSequenceGenerator((OrmSequenceGenerator) item);
+ }
+ else {
+ getSubject().removeTableGenerator((OrmTableGenerator) item);
}
}
};
}
- private ModifiablePropertyValueModel<OrmGenerator> buildGeneratorHolder() {
- return new SimplePropertyValueModel<OrmGenerator>();
- }
-
private ILabelProvider buildGeneratorLabelProvider() {
return new LabelProvider() {
@Override
@@ -192,16 +212,7 @@ public class EntityMappingsGeneratorsComposite extends Pane<EntityMappings>
return new CompositeListValueModel<ListValueModel<? extends OrmGenerator>, OrmGenerator>(list);
}
- private PropertyValueModel<Boolean> buildPaneEnablerHolder() {
- return new TransformationPropertyValueModel<EntityMappings, Boolean>(getSubjectHolder()) {
- @Override
- protected Boolean transform(EntityMappings value) {
- return Boolean.valueOf(value != null);
- }
- };
- }
-
- private Transformer<OrmGenerator, Control> buildPaneTransformer() {
+ private Transformer<OrmGenerator, Control> buildPaneTransformer(final Composite container) {
return new Transformer<OrmGenerator, Control>() {
public Control transform(OrmGenerator generator) {
@@ -210,16 +221,16 @@ public class EntityMappingsGeneratorsComposite extends Pane<EntityMappings>
}
if (generator instanceof OrmSequenceGenerator) {
- return EntityMappingsGeneratorsComposite.this.sequenceGeneratorPane.getControl();
+ return EntityMappingsGeneratorsComposite.this.getSequenceGeneratorComposite(container).getControl();
}
- return EntityMappingsGeneratorsComposite.this.tableGeneratorPane.getControl();
+ return EntityMappingsGeneratorsComposite.this.getTableGeneratorComposite(container).getControl();
}
};
}
private PropertyValueModel<SequenceGenerator> buildSequenceGeneratorHolder() {
- return new TransformationPropertyValueModel<OrmGenerator, SequenceGenerator>(this.generatorHolder) {
+ return new TransformationPropertyValueModel<OrmGenerator, SequenceGenerator>(this.selectedGeneratorModel) {
@Override
protected SequenceGenerator transform_(OrmGenerator value) {
return (value instanceof SequenceGenerator) ? (SequenceGenerator) value : null;
@@ -244,7 +255,7 @@ public class EntityMappingsGeneratorsComposite extends Pane<EntityMappings>
}
private PropertyValueModel<TableGenerator> buildTableGeneratorHolder() {
- return new TransformationPropertyValueModel<OrmGenerator, TableGenerator>(this.generatorHolder) {
+ return new TransformationPropertyValueModel<OrmGenerator, TableGenerator>(this.selectedGeneratorModel) {
@Override
protected TableGenerator transform_(OrmGenerator value) {
return (value instanceof TableGenerator) ? (TableGenerator) value : null;
@@ -268,54 +279,29 @@ public class EntityMappingsGeneratorsComposite extends Pane<EntityMappings>
};
}
-
- @Override
- protected void initialize() {
- super.initialize();
- this.generatorHolder = buildGeneratorHolder();
- }
-
@Override
protected void initializeLayout(Composite container) {
-
- container = addCollapsibleSection(
- container,
- JptUiDetailsOrmMessages.OrmGeneratorsComposite_groupBox
- );
-
// List pane
- this.listPane = addListPane(container);
- this.installPaneEnabler();
+ addListPane(container);
// Property pane
- PropertyValueModel<SequenceGenerator> sequenceGeneratorHolder =
- this.buildSequenceGeneratorHolder();
- PropertyValueModel<TableGenerator> tableGeneratorHolder =
- this.buildTableGeneratorHolder();
PageBook pageBook = new PageBook(container, SWT.NULL);
pageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- // Sequence Generator property pane
- this.sequenceGeneratorPane = this.buildSequenceGeneratorComposite(
- pageBook,
- sequenceGeneratorHolder,
- this.buildSequenceGeneratorBuilder()
- );
-
- // Table Generator property pane
- this.tableGeneratorPane = new TableGeneratorComposite(
- this,
- tableGeneratorHolder,
- pageBook,
- this.buildTableGeneratorBuilder()
- );
-
- this.addAlignRight(this.sequenceGeneratorPane);
- this.addAlignRight(this.tableGeneratorPane);
this.installPaneSwitcher(pageBook);
}
+ protected GeneratorComposite<SequenceGenerator> getSequenceGeneratorComposite(Composite container) {
+ if (this.sequenceGeneratorPane == null) {
+ this.sequenceGeneratorPane =
+ this.buildSequenceGeneratorComposite(container,
+ this.buildSequenceGeneratorHolder(),
+ this.buildSequenceGeneratorBuilder());
+ }
+ return this.sequenceGeneratorPane;
+ }
+
protected GeneratorComposite<SequenceGenerator> buildSequenceGeneratorComposite(
Composite parent,
PropertyValueModel<SequenceGenerator> sequenceGeneratorHolder,
@@ -329,27 +315,31 @@ public class EntityMappingsGeneratorsComposite extends Pane<EntityMappings>
);
}
- private AddRemoveListPane<EntityMappings> addListPane(Composite container) {
+ protected TableGeneratorComposite getTableGeneratorComposite(Composite container) {
+ if (this.tableGeneratorPane == null) {
+ this.tableGeneratorPane =
+ new TableGeneratorComposite(this,
+ this.buildTableGeneratorHolder(),
+ container,
+ this.buildTableGeneratorBuilder());
+ }
+ return this.tableGeneratorPane;
+ }
+
+ private AddRemoveListPane<EntityMappings, OrmGenerator> addListPane(Composite container) {
- return new AddRemoveListPane<EntityMappings>(
+ return new AddRemoveListPane<EntityMappings, OrmGenerator>(
this,
container,
this.buildGeneratorAdapter(),
this.buildDisplayableGeneratorListHolder(),
- this.generatorHolder,
+ this.selectedGeneratorsModel,
this.buildGeneratorLabelProvider()
);
}
- private void installPaneEnabler() {
- new PaneEnabler(
- this.buildPaneEnablerHolder(),
- this.listPane
- );
- }
-
private void installPaneSwitcher(PageBook pageBook) {
- new ControlSwitcher(this.generatorHolder, this.buildPaneTransformer(), pageBook);
+ new ControlSwitcher(this.selectedGeneratorModel, this.buildPaneTransformer(pageBook), pageBook);
}
private GeneratorBuilder<SequenceGenerator> buildSequenceGeneratorBuilder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/MetadataCompleteComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/MetadataCompleteTriStateCheckBox.java
index 5b05a7b27d..d56d20c1c3 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/MetadataCompleteComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/MetadataCompleteTriStateCheckBox.java
@@ -11,6 +11,7 @@ package org.eclipse.jpt.jpa.ui.internal.details.orm;
import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
@@ -18,10 +19,13 @@ import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.orm.OrmTypeMapping;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
-public class MetadataCompleteComposite extends Pane<OrmTypeMapping> {
+public class MetadataCompleteTriStateCheckBox extends Pane<OrmTypeMapping> {
- public MetadataCompleteComposite(Pane<?> parentPane,
+ private TriStateCheckBox checkBox;
+
+ public MetadataCompleteTriStateCheckBox(Pane<?> parentPane,
PropertyValueModel<? extends OrmTypeMapping> subjectHolder,
Composite parent) {
@@ -29,20 +33,30 @@ public class MetadataCompleteComposite extends Pane<OrmTypeMapping> {
}
@Override
+ protected boolean addsComposite() {
+ return false;
+ }
+
+ @Override
+ public Control getControl() {
+ return this.checkBox.getCheckBox();
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
// TODO not sure the is the right thing to do; since metadata complete
// has an "override" (from the persistence unit), not a default...
- addTriStateCheckBoxWithDefault(
+ this.checkBox = addTriStateCheckBoxWithDefault(
container,
JptUiDetailsOrmMessages.MetadataCompleteComposite_metadataComplete,
- buildMetadataCompleteHolder(),
+ buildSpecifiedMetadataCompleteHolder(),
buildMetadataCompleteStringHolder(),
null
);
}
-
- private ModifiablePropertyValueModel<Boolean> buildMetadataCompleteHolder() {
+
+ private ModifiablePropertyValueModel<Boolean> buildSpecifiedMetadataCompleteHolder() {
return new PropertyAspectAdapter<OrmTypeMapping, Boolean>(
getSubjectHolder(),
OrmTypeMapping.SPECIFIED_METADATA_COMPLETE_PROPERTY)
@@ -71,6 +85,7 @@ public class MetadataCompleteComposite extends Pane<OrmTypeMapping> {
}
};
}
+
private PropertyValueModel<Boolean> buildOverrideMetadataCompleteHolder() {
return new PropertyAspectAdapter<OrmTypeMapping, Boolean>(
getSubjectHolder(),
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmBasicMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmBasicMappingComposite.java
index 60f453b983..e3a3bfeffe 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmBasicMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmBasicMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -14,9 +14,12 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.BasicMapping;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractBasicMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class OrmBasicMappingComposite extends AbstractBasicMappingComposite<BasicMapping>
{
@@ -28,18 +31,37 @@ public class OrmBasicMappingComposite extends AbstractBasicMappingComposite<Basi
* @param widgetFactory The factory used to create various common widgets
*/
public OrmBasicMappingComposite(PropertyValueModel<? extends BasicMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeBasicSection(Composite container) {
- new ColumnComposite(this, buildColumnHolder(), container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new FetchTypeComposite(this, container);
- new OptionalComposite(this, addSubPane(container, 4));
- }
+ protected Control initializeBasicSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Column widgets
+ ColumnComposite columnComposite = new ColumnComposite(this, buildColumnHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ columnComposite.getControl().setLayoutData(gridData);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
+ }
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmBasicMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmBasicMappingUiDefinition.java
index febf82f355..21e925b595 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmBasicMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmBasicMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle.
+ * Copyright (c) 2008, 2012 Oracle.
* 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
@@ -46,9 +46,10 @@ public class OrmBasicMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<OrmBasicMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- return factory.createOrmBasicMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createOrmBasicMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddableComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddableComposite.java
index 6717dbe577..3f2b0c0c10 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddableComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddableComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -15,9 +15,13 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.orm.OrmEmbeddable;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEmbeddableComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmEmbeddableComposite extends AbstractEmbeddableComposite<OrmEmbeddable> implements JpaComposite
{
@@ -34,10 +38,24 @@ public class OrmEmbeddableComposite extends AbstractEmbeddableComposite<OrmEmbed
}
@Override
- protected void initializeEmbeddableSection(Composite container) {
- new OrmJavaClassChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolder(), container);
- new MetadataCompleteComposite(this, getSubjectHolder(), container);
+ protected Control initializeEmbeddableSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Java class widgets
+ Hyperlink javaClassHyperlink = this.addHyperlink(container, JptUiDetailsOrmMessages.OrmJavaClassChooser_javaClass);
+ new OrmJavaClassChooser(this, getSubjectHolder(), container, javaClassHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, buildAccessHolder(), container);
+
+ // Metadata complete widgets
+ MetadataCompleteTriStateCheckBox metadataCompleteCheckBox = new MetadataCompleteTriStateCheckBox(this, getSubjectHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ metadataCompleteCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedIdMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedIdMappingComposite.java
index 939321c5d3..d59eb45db8 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedIdMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedIdMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -14,26 +14,39 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEmbeddedIdMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.EmbeddedMappingOverridesComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class OrmEmbeddedIdMappingComposite
extends AbstractEmbeddedIdMappingComposite<EmbeddedIdMapping>
{
public OrmEmbeddedIdMappingComposite(
PropertyValueModel<? extends EmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeEmbeddedIdSection(Composite container) {
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
+ protected Control initializeEmbeddedIdSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
- new EmbeddedMappingOverridesComposite(
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Overrides widgets
+ EmbeddedMappingOverridesComposite overridesComposite = new EmbeddedMappingOverridesComposite(
this,
container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ overridesComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedIdMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedIdMappingUiDefinition.java
index 9d8a08c1ff..3f35a515c3 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedIdMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedIdMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle.
+ * Copyright (c) 2008, 2012 Oracle.
* 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
@@ -48,9 +48,10 @@ public class OrmEmbeddedIdMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<OrmEmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createOrmEmbeddedIdMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createOrmEmbeddedIdMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedMappingComposite.java
index 44a45c4e49..e5f25852cf 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -15,7 +15,9 @@ import org.eclipse.jpt.jpa.core.context.EmbeddedMapping;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEmbeddedMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.EmbeddedMappingOverridesComposite;
import org.eclipse.jpt.jpa.ui.internal.details.java.BaseJavaUiFactory;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* Here the layout of this pane:
@@ -45,20 +47,30 @@ public class OrmEmbeddedMappingComposite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEmbeddedMappingComposite(PropertyValueModel<? extends EmbeddedMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeEmbeddedSection(Composite container) {
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
+ protected Control initializeEmbeddedSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
- new EmbeddedMappingOverridesComposite(
- this,
- container
- );
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Overrides widgets
+ EmbeddedMappingOverridesComposite overridesComposite = new EmbeddedMappingOverridesComposite(
+ this,
+ container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ overridesComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedMappingUiDefinition.java
index 532f197eb0..1e4d7e008f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmEmbeddedMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle.
+ * Copyright (c) 2008, 2012 Oracle.
* 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
@@ -48,9 +48,10 @@ public class OrmEmbeddedMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<OrmEmbeddedMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createOrmEmbeddedMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createOrmEmbeddedMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmIdMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmIdMappingComposite.java
index 83fb1c9850..4a5c5309e6 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmIdMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmIdMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -14,23 +14,36 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.IdMapping;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractIdMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class OrmIdMappingComposite
extends AbstractIdMappingComposite<IdMapping>
{
public OrmIdMappingComposite(
PropertyValueModel<? extends IdMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeIdSection(Composite container) {
- new ColumnComposite(this, buildColumnHolder(), container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
+ protected Control initializeIdSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ ColumnComposite columnComposite = new ColumnComposite(this, buildColumnHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ columnComposite.getControl().setLayoutData(gridData);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ return container;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmIdMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmIdMappingUiDefinition.java
index a66e67eba2..bfc26d38c0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmIdMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmIdMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle.
+ * Copyright (c) 2008, 2012 Oracle.
* 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
@@ -48,9 +48,10 @@ public class OrmIdMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<OrmIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createOrmIdMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createOrmIdMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmInheritanceComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmInheritanceComposite.java
index cbeadd2cd5..be01b8eebc 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmInheritanceComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmInheritanceComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -13,6 +13,7 @@ import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.jpa.core.context.orm.OrmEntity;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractInheritanceComposite;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* The pane used for java inheritance.
@@ -38,7 +39,7 @@ public class OrmInheritanceComposite extends AbstractInheritanceComposite<OrmEnt
}
@Override
- protected void addPrimaryKeyJoinColumnsComposite(Composite container) {
- new OrmPrimaryKeyJoinColumnsComposite(this, container);
+ protected Control addPrimaryKeyJoinColumnsComposite(Composite container) {
+ return new OrmPrimaryKeyJoinColumnsComposite(this, container).getControl();
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmJavaClassChooser.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmJavaClassChooser.java
index 84bdc29914..4a44f3c7d6 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmJavaClassChooser.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmJavaClassChooser.java
@@ -17,6 +17,7 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.orm.OrmTypeMapping;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -39,7 +40,7 @@ import org.eclipse.swt.widgets.Composite;
* @version 2.0
* @since 1.0
*/
-public class OrmJavaClassChooser extends Pane<OrmTypeMapping> {
+public class OrmJavaClassChooser extends ClassChooserPane<OrmTypeMapping> {
/**
* Creates a new <code>XmlJavaClassChooser</code>.
@@ -50,68 +51,44 @@ public class OrmJavaClassChooser extends Pane<OrmTypeMapping> {
*/
public OrmJavaClassChooser(Pane<?> parentPane,
PropertyValueModel<? extends OrmTypeMapping> subjectHolder,
- Composite parent) {
+ Composite parent,
+ Hyperlink hyperlink) {
- super(parentPane, subjectHolder, parent);
+ super(parentPane, subjectHolder, parent, hyperlink);
}
- public OrmJavaClassChooser(Pane<?> parentPane,
- PropertyValueModel<? extends OrmTypeMapping> subjectHolder,
- Composite parent,
- boolean automaticallyAlignWidgets) {
-
- super(parentPane, subjectHolder, parent, automaticallyAlignWidgets);
- }
-
-
- private ClassChooserPane<OrmTypeMapping> addClassChooser(Composite container) {
-
- return new ClassChooserPane<OrmTypeMapping>(this, container) {
-
+ @Override
+ protected ModifiablePropertyValueModel<String> buildTextHolder() {
+ return new PropertyAspectAdapter<OrmTypeMapping, String>(getSubjectHolder(), OrmTypeMapping.CLASS_PROPERTY) {
@Override
- protected ModifiablePropertyValueModel<String> buildTextHolder() {
- return new PropertyAspectAdapter<OrmTypeMapping, String>(getSubjectHolder(), OrmTypeMapping.CLASS_PROPERTY) {
- @Override
- protected String buildValue_() {
- return this.subject.getClass_();
- }
-
- @Override
- protected void setValue_(String value) {
- this.subject.setClass(value);
- }
- };
+ protected String buildValue_() {
+ return this.subject.getClass_();
}
@Override
- protected String getClassName() {
- return getSubject().getClass_();
+ protected void setValue_(String value) {
+ this.subject.setClass(value);
}
+ };
+ }
- @Override
- protected String getLabelText() {
- return JptUiDetailsOrmMessages.OrmJavaClassChooser_javaClass;
- }
-
- @Override
- protected IJavaProject getJavaProject() {
- return getSubject().getJpaProject().getJavaProject();
- }
-
- @Override
- protected void setClassName(String className) {
- getSubject().setClass(className);
- }
+ @Override
+ protected String getClassName() {
+ return getSubject().getClass_();
+ }
- @Override
- protected String getFullyQualifiedClassName() {
- return getSubject().getPersistentType().getName();
- }
- };
+ @Override
+ protected IJavaProject getJavaProject() {
+ return getSubject().getJpaProject().getJavaProject();
+ }
+
+ @Override
+ protected void setClassName(String className) {
+ getSubject().setClass(className);
}
@Override
- protected void initializeLayout(Composite container) {
- addClassChooser(container);
+ protected String getFullyQualifiedClassName() {
+ return getSubject().getPersistentType().getName();
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToManyMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToManyMappingComposite.java
index 21a0743a69..9420412445 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToManyMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToManyMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -15,11 +15,15 @@ import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.ManyToManyRelationship;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractManyToManyMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.ManyToManyJoiningStrategyPane;
import org.eclipse.jpt.jpa.ui.internal.details.OrderingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -53,9 +57,9 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see {@link ManyToManyMapping}
- * @see {@link TargetEntityComposite}
+ * @see {@link TargetEntityClassChooser}
* @see {@link ManyToManyJoiningStrategyPane}
- * @see {@link FetchTypeComposite}
+ * @see {@link FetchTypeComboViewer}
* @see {@link CascadeComposite}
* @see {@link OrderingComposite}
*
@@ -73,18 +77,36 @@ public class OrmManyToManyMappingComposite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmManyToManyMappingComposite(PropertyValueModel<? extends ManyToManyMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new FetchTypeComposite(this, container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToManyMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToManyMappingUiDefinition.java
index ee2e44615a..db65fae6e6 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToManyMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToManyMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle.
+ * Copyright (c) 2008, 2012 Oracle.
* 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
@@ -48,9 +48,10 @@ public class OrmManyToManyMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<OrmManyToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createOrmManyToManyMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createOrmManyToManyMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToOneMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToOneMappingComposite.java
index 8cb0a652c8..9b1b1be7a1 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToOneMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToOneMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -16,11 +16,15 @@ import org.eclipse.jpt.jpa.core.context.orm.OrmManyToOneMapping;
import org.eclipse.jpt.jpa.core.context.orm.OrmManyToOneRelationship;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractManyToOneMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.ManyToOneJoiningStrategyPane;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -54,10 +58,10 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see {@link ManyToOneMapping}
- * @see {@link TargetEntityComposite}
+ * @see {@link TargetEntityClassChooser}
* @see {@link ManyToOneJoiningStrategyPane}
- * @see {@link FetchTypeComposite}
- * @see {@link OptionalComposite}
+ * @see {@link FetchTypeComboViewer}
+ * @see {@link OptionalTriStateCheckBox}
* @see {@link CascadeComposite}
*
* @version 2.3
@@ -74,19 +78,42 @@ public class OrmManyToOneMappingComposite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmManyToOneMappingComposite(PropertyValueModel<? extends OrmManyToOneMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new FetchTypeComposite(this, container);
- new OptionalComposite(this, container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToOneMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToOneMappingUiDefinition.java
index 2738762508..d54ff6310f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToOneMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmManyToOneMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle.
+ * Copyright (c) 2008, 2012 Oracle.
* 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
@@ -48,9 +48,10 @@ public class OrmManyToOneMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<OrmManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createOrmManyToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createOrmManyToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmMappedSuperclassComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmMappedSuperclassComposite.java
index b26ea5dd75..b16ecc441d 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmMappedSuperclassComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmMappedSuperclassComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -15,10 +15,15 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.orm.OrmMappedSuperclass;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractMappedSuperclassComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.IdClassComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.IdClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmMappedSuperclassComposite
extends AbstractMappedSuperclassComposite<OrmMappedSuperclass>
@@ -33,11 +38,28 @@ public class OrmMappedSuperclassComposite
}
@Override
- protected void initializeMappedSuperclassSection(Composite container) {
- new OrmJavaClassChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolder(), container);
- new IdClassComposite(this, buildIdClassReferenceHolder(), container);
- new MetadataCompleteComposite(this, getSubjectHolder(), container);
+ protected Control initializeMappedSuperclassSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Java class widgets
+ Hyperlink javaClassHyperlink = this.addHyperlink(container, JptUiDetailsOrmMessages.OrmJavaClassChooser_javaClass);
+ new OrmJavaClassChooser(this, getSubjectHolder(), container, javaClassHyperlink);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolder(), container);
+
+ // Id class widgets
+ Hyperlink hyperlink = this.addHyperlink(container,JptUiDetailsMessages.IdClassComposite_label);
+ new IdClassChooser(this, this.buildIdClassReferenceHolder(), container, hyperlink);
+
+ // Metadata complete widgets
+ MetadataCompleteTriStateCheckBox metadataCompleteCheckBox = new MetadataCompleteTriStateCheckBox(this, getSubjectHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ metadataCompleteCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmMappingNameChooser.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmMappingNameText.java
index 1bd995b4c5..83672c7013 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmMappingNameChooser.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmMappingNameText.java
@@ -16,6 +16,8 @@ import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AttributeMapping;
import org.eclipse.jpt.jpa.core.context.orm.OrmAttributeMapping;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Text;
/**
* @see OrmPersistentAttributeDetailsPage - The parent container
@@ -23,17 +25,20 @@ import org.eclipse.swt.widgets.Composite;
* @version 2.3
* @since 1.0
*/
-public class OrmMappingNameChooser
+public class OrmMappingNameText
extends Pane<AttributeMapping>
{
+
+ private Text text;
+
/**
- * Creates a new <code>XmlJavaAttributeChooser</code>.
+ * Creates a new <code>OrmMappingNameText</code>.
*
* @param parentPane The parent container of this one
* @param subjectHolder The holder of this pane's subject
* @param parent The parent container
*/
- public OrmMappingNameChooser(Pane<?> parentPane,
+ public OrmMappingNameText(Pane<?> parentPane,
PropertyValueModel<? extends AttributeMapping> subjectHolder,
Composite parent) {
@@ -41,13 +46,23 @@ public class OrmMappingNameChooser
}
@Override
+ protected boolean addsComposite() {
+ return false;
+ }
+
+ @Override
+ public Control getControl() {
+ return this.text;
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
- this.addLabeledText(
+ this.text = this.addText(
container,
- JptUiDetailsOrmMessages.OrmMappingNameChooser_name,
buildNameHolder()
);
}
+
private ModifiablePropertyValueModel<String> buildNameHolder() {
return new PropertyAspectAdapter<AttributeMapping, String>(getSubjectHolder(), OrmAttributeMapping.NAME_PROPERTY) {
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToManyMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToManyMappingComposite.java
index da0df67b48..2811f1c55b 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToManyMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToManyMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -15,11 +15,15 @@ import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
import org.eclipse.jpt.jpa.core.context.OneToManyRelationship;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractOneToManyMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.JoinTableComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.OrderingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -54,10 +58,10 @@ import org.eclipse.swt.widgets.Composite;
*
* @see OneToManyMapping
* @see CascadeComposite
- * @see FetchTypeComposite
+ * @see FetchTypeComboViewer
* @see JoinTableComposite
* @see OrderingComposite
- * @see TargetEntityComposite
+ * @see TargetEntityClassChooser
*
* @version 2.3
* @since 1.0
@@ -73,17 +77,35 @@ public class OrmOneToManyMappingComposite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmOneToManyMappingComposite(PropertyValueModel<? extends OneToManyMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new FetchTypeComposite(this, container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeOneToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToManyMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToManyMappingUiDefinition.java
index f899ac6b7c..2d1ed9c681 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToManyMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToManyMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle.
+ * Copyright (c) 2008, 2012 Oracle.
* 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
@@ -48,9 +48,10 @@ public class OrmOneToManyMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<OrmOneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createOrmOneToManyMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createOrmOneToManyMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToOneMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToOneMappingComposite.java
index e072ae3c81..27b2e0fd3c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToOneMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToOneMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -15,10 +15,14 @@ import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
import org.eclipse.jpt.jpa.core.context.OneToOneRelationship;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractOneToOneMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -52,10 +56,10 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see OneToOneMapping
- * @see TargetEntityComposite
+ * @see TargetEntityClassChooser
* @see JoiningStrategyComposite
- * @see FetchTypeComposite
- * @see OptionalComposite
+ * @see FetchTypeComboViewer
+ * @see OptionalTriStateCheckBox
* @see CascadeComposite
*
* @version 2.3
@@ -72,20 +76,41 @@ public class OrmOneToOneMappingComposite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmOneToOneMappingComposite(PropertyValueModel<? extends OneToOneMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new FetchTypeComposite(this, container);
- new OptionalComposite(this, container);
- new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
- }
+ protected Control initializeOneToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadeComposite cascadeComposite = new CascadeComposite(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadeComposite.getControl().setLayoutData(gridData);
+
+ return container;
+ }
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToOneMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToOneMappingUiDefinition.java
index c37fa42c50..03c5626dc3 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToOneMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmOneToOneMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle.
+ * Copyright (c) 2008, 2012 Oracle.
* 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
@@ -48,9 +48,10 @@ public class OrmOneToOneMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<OrmOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createOrmOneToOneMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createOrmOneToOneMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmPackageChooser.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmPackageChooser.java
index c58e9f031a..702f0b266f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmPackageChooser.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmPackageChooser.java
@@ -33,7 +33,7 @@ import org.eclipse.swt.widgets.Composite;
* @version 2.0
* @since 2.0
*/
-public class OrmPackageChooser extends Pane<EntityMappings>
+public class OrmPackageChooser extends PackageChooserPane<EntityMappings>
{
/**
* Creates a new <code>XmlPackageChooser</code>.
@@ -47,52 +47,33 @@ public class OrmPackageChooser extends Pane<EntityMappings>
super(parentPane, parent);
}
- /*
- * (non-Javadoc)
- */
@Override
- protected void initializeLayout(Composite container) {
-
- addPackageChooserPane(container);
- }
-
- private void addPackageChooserPane(Composite container) {
-
- new PackageChooserPane<EntityMappings>(this, container) {
+ protected ModifiablePropertyValueModel<String> buildTextHolder() {
+ return new PropertyAspectAdapter<EntityMappings, String>(getSubjectHolder(), EntityMappings.PACKAGE_PROPERTY) {
@Override
- protected ModifiablePropertyValueModel<String> buildTextHolder() {
- return new PropertyAspectAdapter<EntityMappings, String>(getSubjectHolder(), EntityMappings.PACKAGE_PROPERTY) {
- @Override
- protected String buildValue_() {
- return subject.getPackage();
- }
-
- @Override
- protected void setValue_(String value) {
- subject.setPackage(value == "" ? null : value); //$NON-NLS-1$
- }
- };
+ protected String buildValue_() {
+ return subject.getPackage();
}
@Override
- protected String getLabelText() {
- return JptUiDetailsOrmMessages.EntityMappingsDetailsPage_package;
+ protected void setValue_(String value) {
+ subject.setPackage(value == "" ? null : value); //$NON-NLS-1$
}
+ };
+ }
- @Override
- protected IJavaProject getJavaProject() {
- return getSubject().getJpaProject().getJavaProject();
- }
+ @Override
+ protected IJavaProject getJavaProject() {
+ return getSubject().getJpaProject().getJavaProject();
+ }
- @Override
- protected String getPackageName() {
- return getSubject().getPackage();
- }
+ @Override
+ protected String getPackageName() {
+ return getSubject().getPackage();
+ }
- @Override
- protected void setPackageName(String packageName) {
- getSubject().setPackage(packageName);
- }
- };
+ @Override
+ protected void setPackageName(String packageName) {
+ getSubject().setPackage(packageName);
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmPersistentAttributeDetailsPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmPersistentAttributeDetailsPage.java
index 144e10cde1..3f335f1c23 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmPersistentAttributeDetailsPage.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmPersistentAttributeDetailsPage.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -9,16 +9,13 @@
******************************************************************************/
package org.eclipse.jpt.jpa.ui.internal.details.orm;
-import java.util.ArrayList;
import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.ReadOnlyPersistentAttribute;
import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.jpa.core.context.orm.OrmReadOnlyPersistentAttribute;
-import org.eclipse.jpt.jpa.ui.details.JpaComposite;
import org.eclipse.jpt.jpa.ui.internal.details.PersistentAttributeDetailsPage;
import org.eclipse.jpt.jpa.ui.internal.details.PersistentAttributeMapAsComposite;
import org.eclipse.swt.widgets.Composite;
@@ -51,6 +48,9 @@ import org.eclipse.swt.widgets.Composite;
public class OrmPersistentAttributeDetailsPage
extends PersistentAttributeDetailsPage<OrmReadOnlyPersistentAttribute>
{
+
+ private PropertyValueModel<Boolean> virtualAttributeEnabledModel;
+
/**
* Creates a new <code>OrmPersistentAttributeDetailsPage</code>.
*
@@ -62,30 +62,26 @@ public class OrmPersistentAttributeDetailsPage
super(parent, widgetFactory);
}
-
- @Override
- protected void initializeLayout(Composite container) {
- ArrayList<Pane<?>> panes = new ArrayList<Pane<?>>(2);
+ @Override
+ protected void initialize() {
+ super.initialize();
+ this.virtualAttributeEnabledModel = this.buildVirtualAttributeEnabledModel();
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// Map As composite
- Pane<?> mapAsPane = buildMapAsPane(addSubPane(container, 0, 0, 5, 0));
- panes.add(mapAsPane);
+ this.buildMapAsPane(container);
- buildMappingPageBook(container);
-
- installPaneEnabler(panes);
+ this.buildMappingPageBook(container);
}
-
+
protected Pane<ReadOnlyPersistentAttribute> buildMapAsPane(Composite parent) {
- return new PersistentAttributeMapAsComposite(this, parent);
- }
-
- private void installPaneEnabler(ArrayList<Pane<?>> panes) {
- new PaneEnabler(buildPaneEnablerHolder(), panes);
+ return new PersistentAttributeMapAsComposite(this, parent, this.getMappingCompositeEnabledModel());
}
- private PropertyValueModel<Boolean> buildPaneEnablerHolder() {
+ private PropertyValueModel<Boolean> buildVirtualAttributeEnabledModel() {
return new TransformationPropertyValueModel<OrmReadOnlyPersistentAttribute, Boolean>(getSubjectHolder()) {
@Override
protected Boolean transform_(OrmReadOnlyPersistentAttribute value) {
@@ -94,21 +90,8 @@ public class OrmPersistentAttributeDetailsPage
};
}
-
- //TODO this probably needs to change and use a PaneEnabler instead.
@Override
- protected JpaComposite getMappingComposite(String key) {
- JpaComposite mappingComposite = super.getMappingComposite(key);
- if (mappingComposite == null) {
- return null;
- }
- boolean enabled = false;
-
- if (getSubject() != null && getSubject().getParent() != null) {
- enabled = !getSubject().isVirtual();
- }
-
- mappingComposite.enableWidgets(enabled);
- return mappingComposite;
+ protected PropertyValueModel<Boolean> getMappingCompositeEnabledModel() {
+ return this.virtualAttributeEnabledModel;
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmQueriesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmQueriesComposite.java
deleted file mode 100644
index 98d6dbb72a..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmQueriesComposite.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.details.orm;
-
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.QueryContainer;
-import org.eclipse.jpt.jpa.core.context.orm.EntityMappings;
-import org.eclipse.jpt.jpa.ui.internal.details.QueriesComposite;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | ------------------------------------------------------------------------- |
- * | | | |
- * | | QueriesComposite | |
- * | | | |
- * | ------------------------------------------------------------------------- |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see EntityMappings
- * @see EntityMappingsDetailsPage - The parent container
- * @see QueriesComposite
- *
- * @version 2.0
- * @since 2.0
- */
-public class OrmQueriesComposite extends Pane<EntityMappings> {
-
- /**
- * Creates a new <code>OrmQueriesComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public OrmQueriesComposite(Pane<? extends EntityMappings> parentPane,
- Composite parent) {
-
- super(parentPane, parent, false);
- }
-
- private PropertyValueModel<Boolean> buildPaneEnablerHolder() {
- return new TransformationPropertyValueModel<EntityMappings, Boolean>(getSubjectHolder()) {
- @Override
- protected Boolean transform(EntityMappings value) {
- return (value != null);
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- container = this.addCollapsibleSection(
- container,
- JptUiDetailsOrmMessages.OrmQueriesComposite_groupBox
- );
-
- QueriesComposite queriesComposite = this.buildQueriesComposite(container, this.buildQueryContainerHolder());
-
- this.installPaneEnabler(queriesComposite);
- }
-
- protected QueriesComposite buildQueriesComposite(Composite container, PropertyValueModel<QueryContainer> queryContainerHolder) {
- return new QueriesComposite(this, queryContainerHolder, container);
- }
-
- private PropertyValueModel<QueryContainer> buildQueryContainerHolder() {
- return new PropertyAspectAdapter<EntityMappings, QueryContainer>(getSubjectHolder()) {
- @Override
- protected QueryContainer buildValue_() {
- return this.subject.getQueryContainer();
- }
- };
- }
- private void installPaneEnabler(QueriesComposite queriesComposite) {
- new PaneEnabler(
- buildPaneEnablerHolder(),
- queriesComposite
- );
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmSecondaryTablesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmSecondaryTablesComposite.java
index 513705fe13..16be818774 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmSecondaryTablesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmSecondaryTablesComposite.java
@@ -11,8 +11,6 @@ package org.eclipse.jpt.jpa.ui.internal.details.orm;
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
@@ -21,7 +19,7 @@ import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValue
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListPropertyValueModelAdapter;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.Entity;
import org.eclipse.jpt.jpa.core.context.ReadOnlySecondaryTable;
@@ -75,22 +73,8 @@ public class OrmSecondaryTablesComposite extends AbstractSecondaryTablesComposit
super(parentPane, parent);
}
- /**
- * Creates a new <code>SecondaryTablesComposite</code>.
- *
- * @param subjectHolder The holder of the subject <code>IEntity</code>
- * @param parent The parent container
- * @param widgetFactory The factory used to create various common widgets
- */
- public OrmSecondaryTablesComposite(PropertyValueModel<? extends OrmEntity> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
- private ModifiablePropertyValueModel<Boolean> buildDefineInXmlHolder() {
- return new DefineInXmlHolder();
+ private ModifiablePropertyValueModel<Boolean> buildDefineInXmlModel() {
+ return new DefineInXmlModel();
}
private ListValueModel<ReadOnlySecondaryTable> buildSecondaryTablesListHolder() {
@@ -135,50 +119,40 @@ public class OrmSecondaryTablesComposite extends AbstractSecondaryTablesComposit
@Override
protected void initializeLayout(Composite container) {
+ ModifiableCollectionValueModel<SecondaryTable> selectedSecondaryTablesModel =
+ buildSelectedSecondaryTablesModel();
- int groupBoxMargin = getGroupBoxMargin();
-
- ModifiablePropertyValueModel<SecondaryTable> secondaryTableHolder =
- buildSecondaryTableHolder();
-
- ModifiablePropertyValueModel<Boolean> defineInXmlHolder =
- buildDefineInXmlHolder();
+ ModifiablePropertyValueModel<Boolean> defineInXmlModel =
+ buildDefineInXmlModel();
// Override Define In XML check box
addCheckBox(
- addSubPane(container, 0, groupBoxMargin),
+ container,
JptUiDetailsMessages.OrmSecondaryTablesComposite_defineInXml,
- defineInXmlHolder,
+ defineInXmlModel,
null
);
// Secondary Tables add/remove list pane
- AddRemoveListPane<Entity> listPane = new AddRemoveListPane<Entity>(
+ new AddRemoveListPane<Entity, SecondaryTable>(
this,
- addSubPane(container, 0, groupBoxMargin, 0, groupBoxMargin),
+ container,
buildSecondaryTablesAdapter(),
buildSecondaryTablesListModel(),
- secondaryTableHolder,
+ selectedSecondaryTablesModel,
buildSecondaryTableLabelProvider(),
+ defineInXmlModel,
JpaHelpContextIds.MAPPING_JOIN_TABLE_COLUMNS//TODO need a help context id for this
);
- installListPaneEnabler(defineInXmlHolder, listPane);
-
// Primary Key Join Columns pane
new PrimaryKeyJoinColumnsInSecondaryTableComposite(
this,
- secondaryTableHolder,
+ buildSelectedSecondaryTableModel(selectedSecondaryTablesModel),
container
);
}
- private void installListPaneEnabler(ModifiablePropertyValueModel<Boolean> defineInXmlHolder,
- AddRemoveListPane<Entity> listPane) {
-
- new PaneEnabler(defineInXmlHolder, listPane);
- }
-
@Override
protected SecondaryTableDialog buildSecondaryTableDialogForAdd() {
// defaultSchema and defaultCatalog should not be taken from the Table in this case.
@@ -189,10 +163,10 @@ public class OrmSecondaryTablesComposite extends AbstractSecondaryTablesComposit
getSubject().getMappingFileRoot().getSchema());
}
- private class DefineInXmlHolder extends ListPropertyValueModelAdapter<Boolean>
+ private class DefineInXmlModel extends ListPropertyValueModelAdapter<Boolean>
implements ModifiablePropertyValueModel<Boolean> {
- public DefineInXmlHolder() {
+ public DefineInXmlModel() {
super(buildVirtualSecondaryTablesListHolder());
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmTransientMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmTransientMappingUiDefinition.java
index de38367117..921fc4e903 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmTransientMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmTransientMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle.
+ * Copyright (c) 2008, 2012 Oracle.
* 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
@@ -48,9 +48,10 @@ public class OrmTransientMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<OrmTransientMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createOrmTransientMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createOrmTransientMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmVersionMappingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmVersionMappingComposite.java
index af5bb381d1..c84437fcfd 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmVersionMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmVersionMappingComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -14,7 +14,9 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.VersionMapping;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractVersionMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class OrmVersionMappingComposite
extends AbstractVersionMappingComposite<VersionMapping>
@@ -27,15 +29,27 @@ public class OrmVersionMappingComposite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmVersionMappingComposite(PropertyValueModel<? extends VersionMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeVersionSection(Composite container) {
- new ColumnComposite(this, buildColumnHolder(), container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
+ protected Control initializeVersionSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Column widgets
+ ColumnComposite columnComposite = new ColumnComposite(this, buildColumnHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ columnComposite.getControl().setLayoutData(gridData);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ return container;
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmVersionMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmVersionMappingUiDefinition.java
index de8d9b3207..0c787c9d39 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmVersionMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/OrmVersionMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle.
+ * Copyright (c) 2008, 2012 Oracle.
* 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
@@ -48,9 +48,10 @@ public class OrmVersionMappingUiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<OrmVersionMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return factory.createOrmVersionMappingComposite(subjectHolder, parent, widgetFactory);
+ return factory.createOrmVersionMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/PersistenceUnitMetadataComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/PersistenceUnitMetadataComposite.java
index 775d37f073..ff2e77ea02 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/PersistenceUnitMetadataComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/PersistenceUnitMetadataComposite.java
@@ -24,10 +24,12 @@ import org.eclipse.jpt.jpa.core.context.orm.OrmPersistenceUnitMetadata;
import org.eclipse.jpt.jpa.core.jpa2.context.orm.OrmPersistenceUnitDefaults2_0;
import org.eclipse.jpt.jpa.db.SchemaContainer;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.db.CatalogCombo;
import org.eclipse.jpt.jpa.ui.internal.details.db.SchemaCombo;
import org.eclipse.jpt.jpa.ui.internal.jpa2.Jpa2_0XmlFlagModel;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
@@ -78,7 +80,7 @@ public class PersistenceUnitMetadataComposite extends Pane<OrmPersistenceUnitMet
PropertyValueModel<? extends OrmPersistenceUnitMetadata> subjectHolder,
Composite parent) {
- super(parentPane, subjectHolder, parent, false);
+ super(parentPane, subjectHolder, parent);
}
@Override
@@ -130,6 +132,16 @@ public class PersistenceUnitMetadataComposite extends Pane<OrmPersistenceUnitMet
protected String getValue() {
return getSubject().getSpecifiedCatalog();
}
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.ENTITY_ORM_CATALOG;
+ }
+
+ @Override
+ public String toString() {
+ return "PersistenceUnitMetadataComposite.catalogCombo"; //$NON-NLS-1$
+ }
};
}
@@ -173,6 +185,15 @@ public class PersistenceUnitMetadataComposite extends Pane<OrmPersistenceUnitMet
return this.getSubject().getDbSchemaContainer();
}
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.ENTITY_ORM_SCHEMA;
+ }
+
+ @Override
+ public String toString() {
+ return "PersistenceUnitMetadataComposite.schemaCombo"; //$NON-NLS-1$
+ }
};
}
@@ -212,47 +233,46 @@ public class PersistenceUnitMetadataComposite extends Pane<OrmPersistenceUnitMet
}
@Override
- protected void initializeLayout(Composite container) {
-
- // Section
- container = addCollapsibleSection(
- container,
- JptUiDetailsOrmMessages.PersistenceUnitMetadataComposite_persistenceUnitSection
- );
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// XML mapping metadata complete check box
- addCheckBox(
+ Button metadataCompleteCheckBox = addCheckBox(
container,
JptUiDetailsOrmMessages.PersistenceUnitMetadataComposite_xmlMappingMetadataCompleteCheckBox,
buildXmlMappingMetadataCompleteHolder(),
JpaHelpContextIds.ENTITY_ORM_XML
);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ metadataCompleteCheckBox.setLayoutData(gridData);
// Cascade Persist check-box
- addCheckBox(
+ Button cascadePersistCheckBox = addCheckBox(
container,
JptUiDetailsOrmMessages.PersistenceUnitMetadataComposite_cascadePersistCheckBox,
buildCascadePersistHolder(),
JpaHelpContextIds.ENTITY_ORM_CASCADE
);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ cascadePersistCheckBox.setLayoutData(gridData);
+
// Schema widgets
- addLabeledComposite(
- container,
- JptUiDetailsOrmMessages.PersistenceUnitMetadataComposite_schema,
- addSchemaCombo(container),
- JpaHelpContextIds.ENTITY_ORM_SCHEMA
- );
+ this.addLabel(container, JptUiDetailsOrmMessages.PersistenceUnitMetadataComposite_schema);
+ this.addSchemaCombo(container);
// Catalog widgets
- addLabeledComposite(
- container,
- JptUiDetailsOrmMessages.PersistenceUnitMetadataComposite_catalog,
- addCatalogCombo(container),
- JpaHelpContextIds.ENTITY_ORM_CATALOG
- );
+ this.addLabel(container, JptUiDetailsOrmMessages.PersistenceUnitMetadataComposite_catalog);
+ this.addCatalogCombo(container);
- new AccessTypeComposite(this, this.getPersistenceUnitDefaultsHolder(), container);
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, getPersistenceUnitDefaultsHolder(), container);
// Delimited Identifiers check-box
Button diCheckBox = this.addCheckBox(
@@ -261,6 +281,9 @@ public class PersistenceUnitMetadataComposite extends Pane<OrmPersistenceUnitMet
this.buildDelimitedIdentifiersHolder(),
JpaHelpContextIds.ENTITY_ORM_DELIMITED_IDENTIFIERS
);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ diCheckBox.setLayoutData(gridData);
SWTTools.controlVisibleState(new Jpa2_0XmlFlagModel<OrmPersistenceUnitMetadata>(this.getSubjectHolder()), diCheckBox);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/UnsupportedOrmMappingUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/UnsupportedOrmMappingUiDefinition.java
index d4a0f788e0..d58cab8283 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/UnsupportedOrmMappingUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/orm/UnsupportedOrmMappingUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -60,13 +60,13 @@ public class UnsupportedOrmMappingUiDefinition
public String getKey() {
return null;
- }
-
+ }
public JpaComposite buildAttributeMappingComposite(
- OrmXmlUiFactory factory,
- PropertyValueModel subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ OrmXmlUiFactory factory,
+ PropertyValueModel subjectHolder,
+ PropertyValueModel enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
return new NullComposite(subjectHolder, parent, widgetFactory);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/editors/PersistenceEditor.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/editors/PersistenceEditor.java
index b84da02f30..93d91766b5 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/editors/PersistenceEditor.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/editors/PersistenceEditor.java
@@ -39,7 +39,7 @@ import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceXml;
import org.eclipse.jpt.jpa.ui.JpaPlatformUi;
import org.eclipse.jpt.jpa.ui.PersistenceXmlResourceUiDefinition;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
import org.eclipse.jpt.jpa.ui.internal.persistence.JptUiPersistenceMessages;
import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.swt.widgets.Composite;
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/Generic2_0JpaPlatformUiProvider.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/Generic2_0JpaPlatformUiProvider.java
index 49c0736364..fb9c4e288d 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/Generic2_0JpaPlatformUiProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/Generic2_0JpaPlatformUiProvider.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -24,7 +24,7 @@ import org.eclipse.jpt.jpa.ui.internal.jpa2.details.java.Generic2_0JavaResourceU
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm.EntityMappings2_0DetailsProvider;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm.OrmXml2_0UiDefinition;
import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.PersistenceXml2_0UiDefinition;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.PersistenceXmlUiDefinition;
+import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceXmlUiDefinition;
/**
* All the state in the JPA platform should be "static" (i.e. unchanging once
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/GenericOrmXml2_0UiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/GenericOrmXml2_0UiFactory.java
index 91409a7de4..5f5815dbf9 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/GenericOrmXml2_0UiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/GenericOrmXml2_0UiFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -60,88 +60,99 @@ public class GenericOrmXml2_0UiFactory
@Override
public JpaComposite createOrmIdMappingComposite(
PropertyValueModel<OrmIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmIdMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmIdMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmEmbeddedIdMappingComposite(
PropertyValueModel<OrmEmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEmbeddedIdMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEmbeddedIdMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmBasicMappingComposite(
PropertyValueModel<OrmBasicMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmBasicMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmBasicMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmVersionMappingComposite(
PropertyValueModel<OrmVersionMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmVersionMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmVersionMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmManyToOneMappingComposite(
PropertyValueModel<OrmManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmManyToOneMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmManyToOneMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmOneToManyMappingComposite(
PropertyValueModel<OrmOneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmOneToManyMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmOneToManyMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmOneToOneMappingComposite(
PropertyValueModel<OrmOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmOneToOneMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmOneToOneMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmManyToManyMappingComposite(
PropertyValueModel<OrmManyToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmManyToManyMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmManyToManyMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmEmbeddedMappingComposite(
PropertyValueModel<OrmEmbeddedMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmEmbeddedMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmEmbeddedMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createOrmTransientMappingComposite(
PropertyValueModel<OrmTransientMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new TransientMappingComposite(subjectHolder, parent, widgetFactory);
+ return new TransientMappingComposite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createOrmElementCollectionMapping2_0Composite(
PropertyValueModel<OrmElementCollectionMapping2_0> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new OrmElementCollectionMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new OrmElementCollectionMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AbstractElementCollectionMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AbstractElementCollectionMapping2_0Composite.java
index 0d9d228d3b..b5e30bdc6f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AbstractElementCollectionMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AbstractElementCollectionMapping2_0Composite.java
@@ -19,6 +19,7 @@ import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropert
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.BasicMapping;
+import org.eclipse.jpt.jpa.core.context.CollectionMapping;
import org.eclipse.jpt.jpa.core.context.Column;
import org.eclipse.jpt.jpa.core.context.Converter;
import org.eclipse.jpt.jpa.core.context.ConvertibleMapping;
@@ -29,17 +30,21 @@ import org.eclipse.jpt.jpa.core.jpa2.context.CollectionTable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.ElementCollectionMapping2_0;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.EnumTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.EnumTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TemporalTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.TemporalTypeCombo;
import org.eclipse.swt.SWT;
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.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+import org.eclipse.ui.forms.widgets.Section;
import org.eclipse.ui.part.PageBook;
/**
@@ -80,11 +85,11 @@ import org.eclipse.ui.part.PageBook;
*
* @see BasicMapping
* @see OrderColumnComposite
- * @see EnumTypeComposite
- * @see FetchTypeComposite
+ * @see EnumTypeComboViewer
+ * @see FetchTypeComboViewer
* @see LobComposite
- * @see OptionalComposite
- * @see TemporalTypeComposite
+ * @see OptionalTriStateCheckBox
+ * @see TemporalTypeCombo
*
* @version 2.3
* @since 2.3
@@ -94,9 +99,9 @@ public abstract class AbstractElementCollectionMapping2_0Composite<T extends Ele
implements JpaComposite
{
- private Composite basicValueComposite;
+ private Control basicValueComposite;
- private Composite embeddableValueComposite;
+ private Control embeddableValueComposite;
/**
* Creates a new <code>BasicMappingComposite</code>.
@@ -106,11 +111,13 @@ public abstract class AbstractElementCollectionMapping2_0Composite<T extends Ele
* @param widgetFactory The factory used to create various common widgets
*/
protected AbstractElementCollectionMapping2_0Composite(PropertyValueModel<? extends T> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
+
@Override
protected void initializeLayout(Composite container) {
initializeElementCollectionCollapsibleSection(container);
@@ -120,68 +127,101 @@ public abstract class AbstractElementCollectionMapping2_0Composite<T extends Ele
}
protected void initializeElementCollectionCollapsibleSection(Composite container) {
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages2_0.ElementCollectionSection_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE)
- );
-
- this.initializeElementCollectionSection(container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages2_0.ElementCollectionSection_title);
+ section.setExpanded(true);
+ section.setClient(this.initializeElementCollectionSection(section));
}
- protected void initializeElementCollectionSection(Composite container) {
- new TargetClassComposite(this, container);
- new FetchTypeComposite(this, container);
- new CollectionTable2_0Composite(this, buildCollectionTableHolder(), container);
- }
+ protected Control initializeElementCollectionSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target class widgets
+ Hyperlink hyperlink = this.addHyperlink(container, JptUiDetailsMessages2_0.TargetClassComposite_label);
+ new TargetClassChooser(this, container, hyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+ // Collection table widgets
+ CollectionTable2_0Composite collectionTableComposite = new CollectionTable2_0Composite(this, buildCollectionTableHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ collectionTableComposite.getControl().setLayoutData(gridData);
+
+ return container;
+ }
+
protected void initializeOrderingCollapsibleSection(Composite container) {
- new Ordering2_0Composite(this, container);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages.OrderingComposite_orderingGroup);
+ section.setClient(initializeOrderingSection(section));
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(AbstractElementCollectionMapping2_0Composite.this.initializeOrderingSection(section));
+ }
+ }
+ });
+ }
+
+ protected Control initializeOrderingSection(Composite container) {
+ return new Ordering2_0Composite(this, container).getControl();
}
protected void initializeValueCollapsibleSection(Composite container) {
- Composite valueSection = addCollapsibleSection(
- container,
- JptUiDetailsMessages2_0.AbstractElementCollectionMapping2_0_Composite_valueSectionTitle
- );
- initializeValueSection(valueSection);
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptUiDetailsMessages2_0.AbstractElementCollectionMapping2_0_Composite_valueSectionTitle);
+ section.setClient(initializeValueSection(section));
}
protected void initializeKeyCollapsibleSection(Composite container) {
-
+ //nothing yet
}
- protected void initializeValueSection(Composite container) {
+ protected Control initializeValueSection(Composite container) {
PageBook pageBook = new PageBook(container, SWT.NULL);
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalIndent = 5;
pageBook.setLayoutData(gd);
-
- this.initializeBasicValueSection(pageBook);
- this.initializeEmbeddableValueSection(pageBook);
installValueControlSwitcher(pageBook);
+ return pageBook;
+ }
+
+ protected Control getBasicValueComposite(Composite container) {
+ if (this.basicValueComposite == null) {
+ this.basicValueComposite = buildBasicValueSection(container);
+ }
+ return this.basicValueComposite;
}
- protected void initializeBasicValueSection(Composite container) {
- this.basicValueComposite = addSubPane(container);
+ protected Control buildBasicValueSection(Composite container) {
+ Composite basicComposite = addSubPane(container);
- new ColumnComposite(this, buildValueColumnHolder(), this.basicValueComposite);
+ new ColumnComposite(this, buildValueColumnHolder(), basicComposite);
// type section
Composite converterSection = addCollapsibleSubSection(
- this.basicValueComposite,
+ basicComposite,
JptUiDetailsMessages.TypeSection_type,
new SimplePropertyValueModel<Boolean>(Boolean.FALSE)
);
- ((GridLayout) converterSection.getLayout()).numColumns = 2;
this.initializeBasicValueTypeSection(converterSection);
+
+ return basicComposite;
}
- protected void initializeBasicValueTypeSection(Composite typeSection) {
+ protected void initializeBasicValueTypeSection(Composite container) {
+ ((GridLayout) container.getLayout()).numColumns = 2;
// No converter
Button noConverterButton = addRadioButton(
- typeSection,
+ container,
JptUiDetailsMessages.TypeSection_default,
buildNoConverterHolder(),
null);
@@ -189,7 +229,7 @@ public abstract class AbstractElementCollectionMapping2_0Composite<T extends Ele
// Lob
Button lobButton = addRadioButton(
- typeSection,
+ container,
JptUiDetailsMessages.TypeSection_lob,
buildLobConverterHolder(),
null);
@@ -199,38 +239,45 @@ public abstract class AbstractElementCollectionMapping2_0Composite<T extends Ele
PropertyValueModel<Converter> converterHolder = buildConverterHolder();
// Temporal
addRadioButton(
- typeSection,
+ container,
JptUiDetailsMessages.TypeSection_temporal,
buildTemporalBooleanHolder(),
null);
- registerSubPane(new TemporalTypeComposite(buildTemporalConverterHolder(converterHolder), typeSection, getWidgetFactory()));
+ registerSubPane(new TemporalTypeCombo(buildTemporalConverterHolder(converterHolder), getEnabledModel(), container, getWidgetFactory()));
// Enumerated
addRadioButton(
- typeSection,
+ container,
JptUiDetailsMessages.TypeSection_enumerated,
buildEnumeratedBooleanHolder(),
null);
- registerSubPane(new EnumTypeComposite(buildEnumeratedConverterHolder(converterHolder), typeSection, getWidgetFactory()));
+ registerSubPane(new EnumTypeComboViewer(buildEnumeratedConverterHolder(converterHolder), getEnabledModel(), container, getWidgetFactory()));
+ }
+
+ protected Control getEmbeddableValueComposite(Composite container) {
+ if (this.embeddableValueComposite == null) {
+ this.embeddableValueComposite = buildEmbeddableValueSection(container);
+ }
+ return this.embeddableValueComposite;
}
- protected void initializeEmbeddableValueSection(Composite container) {
- this.embeddableValueComposite = new ElementCollectionValueOverridesComposite(this, container).getControl();
+ protected Control buildEmbeddableValueSection(Composite container) {
+ return new ElementCollectionValueOverridesComposite(this, container).getControl();
}
private void installValueControlSwitcher(PageBook pageBook) {
new ControlSwitcher(
buildValueHolder(),
- buildPaneTransformer(),
+ buildPaneTransformer(pageBook),
pageBook
);
}
protected PropertyValueModel<ElementCollectionMapping2_0.Type> buildValueHolder() {
return new PropertyAspectAdapter<T, ElementCollectionMapping2_0.Type>(
- this.getSubjectHolder(), ElementCollectionMapping2_0.VALUE_TYPE_PROPERTY) {
+ this.getSubjectHolder(), CollectionMapping.VALUE_TYPE_PROPERTY) {
@Override
protected ElementCollectionMapping2_0.Type buildValue_() {
return this.subject.getValueType();
@@ -238,10 +285,10 @@ public abstract class AbstractElementCollectionMapping2_0Composite<T extends Ele
};
}
- private Transformer<ElementCollectionMapping2_0.Type, Control> buildPaneTransformer() {
+ private Transformer<ElementCollectionMapping2_0.Type, Control> buildPaneTransformer(final Composite container) {
return new Transformer<ElementCollectionMapping2_0.Type, Control>() {
public Control transform(ElementCollectionMapping2_0.Type type) {
- return AbstractElementCollectionMapping2_0Composite.this.transformValueType(type);
+ return AbstractElementCollectionMapping2_0Composite.this.transformValueType(type, container);
}
};
}
@@ -249,15 +296,15 @@ public abstract class AbstractElementCollectionMapping2_0Composite<T extends Ele
/**
* Given the selected override, return the control that will be displayed
*/
- protected Control transformValueType(ElementCollectionMapping2_0.Type type) {
+ protected Control transformValueType(ElementCollectionMapping2_0.Type type, Composite container) {
if (type == null) {
return null;
}
switch (type) {
case BASIC_TYPE :
- return this.basicValueComposite;
+ return this.getBasicValueComposite(container);
case EMBEDDABLE_TYPE :
- return this.embeddableValueComposite;
+ return this.getEmbeddableValueComposite(container);
default :
return null;
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AbstractManyToOneMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AbstractManyToOneMapping2_0Composite.java
index c20c27a8e6..479809119b 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AbstractManyToOneMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AbstractManyToOneMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -24,10 +24,11 @@ public abstract class AbstractManyToOneMapping2_0Composite<T extends ManyToOneMa
{
protected AbstractManyToOneMapping2_0Composite(
PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AbstractOneToOneMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AbstractOneToOneMapping2_0Composite.java
index 3b158caadb..bf230d0031 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AbstractOneToOneMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AbstractOneToOneMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -24,10 +24,11 @@ public abstract class AbstractOneToOneMapping2_0Composite<T extends OneToOneMapp
{
protected AbstractOneToOneMapping2_0Composite(
PropertyValueModel<? extends T> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
@@ -41,7 +42,6 @@ public abstract class AbstractOneToOneMapping2_0Composite<T extends OneToOneMapp
new DerivedIdentity2_0Pane(this, buildDerivedIdentityHolder(), container);
}
-
protected PropertyValueModel<DerivedIdentity2_0> buildDerivedIdentityHolder() {
return new PropertyAspectAdapter<T, DerivedIdentity2_0>(getSubjectHolder()) {
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AssociationOverride2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AssociationOverride2_0Composite.java
index e21bd86741..8046ab29c8 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AssociationOverride2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/AssociationOverride2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -19,7 +19,6 @@ import org.eclipse.jpt.jpa.ui.internal.details.AssociationOverrideComposite;
import org.eclipse.jpt.jpa.ui.internal.details.EntityOverridesComposite;
import org.eclipse.jpt.jpa.ui.internal.details.JoinColumnsComposite;
import org.eclipse.jpt.jpa.ui.internal.details.JoinTableJoiningStrategyPane;
-import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.swt.widgets.Composite;
/**
@@ -55,19 +54,12 @@ public class AssociationOverride2_0Composite
super(parentPane, subjectHolder, parent);
}
-
-
+
@Override
protected void initializeLayout(Composite container) {
- Composite composite = addTitledGroup(
- container,
- JptUiDetailsMessages.Joining_title);
-
- addJoinColumnJoiningStrategyPane(composite);
-
- addJoinTableJoiningStrategyPane(composite);
+ addJoinColumnJoiningStrategyPane(container);
- addSubPane(composite, 5);
+ addJoinTableJoiningStrategyPane(container);
}
protected void addJoinTableJoiningStrategyPane(Composite container) {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Cacheable2_0Pane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Cacheable2_0TriStateCheckBox.java
index 307e026709..8c3b7be562 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Cacheable2_0Pane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Cacheable2_0TriStateCheckBox.java
@@ -11,6 +11,7 @@ package org.eclipse.jpt.jpa.ui.internal.jpa2.details;
import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
@@ -19,6 +20,7 @@ import org.eclipse.jpt.jpa.core.jpa2.context.Cacheable2_0;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* Here the layout of this pane:
@@ -31,21 +33,32 @@ import org.eclipse.swt.widgets.Composite;
* @see JavaEntity2_0Composite - A container of this widget
* @see OrmEntity2_0Composite - A container of this widget
*/
-public class Cacheable2_0Pane
+public class Cacheable2_0TriStateCheckBox
extends Pane<Cacheable2_0>
{
- public Cacheable2_0Pane(
+ private TriStateCheckBox checkBox;
+
+ public Cacheable2_0TriStateCheckBox(
Pane<?> parentPane,
PropertyValueModel<? extends Cacheable2_0> subjectHolder,
Composite parent) {
-
+
super(parentPane, subjectHolder, parent);
}
-
-
+
+ @Override
+ protected boolean addsComposite() {
+ return false;
+ }
+
+ @Override
+ public Control getControl() {
+ return this.checkBox.getCheckBox();
+ }
+
@Override
protected void initializeLayout(Composite container) {
- addTriStateCheckBoxWithDefault(
+ this.checkBox = addTriStateCheckBoxWithDefault(
container,
JptUiDetailsMessages2_0.Entity_cacheableLabel,
buildCacheableBooleanHolder(),
@@ -87,7 +100,7 @@ public class Cacheable2_0Pane
}
};
}
-
+
private PropertyValueModel<Boolean> buildDefaultCacheableHolder() {
return new PropertyAspectAdapter<Cacheable2_0, Boolean>(
getSubjectHolder(),
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/CascadePane2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/CascadePane2_0.java
index fc82a6f681..f79276acda 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/CascadePane2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/CascadePane2_0.java
@@ -14,40 +14,43 @@ import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.Cascade;
import org.eclipse.jpt.jpa.core.context.RelationshipMapping;
import org.eclipse.jpt.jpa.core.jpa2.context.Cascade2_0;
import org.eclipse.jpt.jpa.ui.internal.details.CascadeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-public class CascadePane2_0<T extends Cascade2_0>
- extends CascadeComposite<T>
+public class CascadePane2_0
+ extends CascadeComposite
{
public CascadePane2_0(
Pane<? extends RelationshipMapping> parentPane,
- PropertyValueModel<T> subjectHolder,
+ PropertyValueModel<? extends Cascade> subjectHolder,
Composite parent) {
super(parentPane, subjectHolder, parent);
}
public CascadePane2_0(
- PropertyValueModel<T> subjectHolder,
+ PropertyValueModel<? extends Cascade> subjectHolder,
Composite parent,
WidgetFactory widgetFactory) {
super(subjectHolder, parent, widgetFactory);
}
-
@Override
- protected void initializeLayout(Composite container) {
- // Cascade group
- Group cascadeGroup = addCascadeGroup(container);
-
- // Container of the check boxes
- container = addSubPane(cascadeGroup, 6, 8, 0, 0, 0);
-
+ protected Composite addComposite(Composite container) {
+ return addTitledGroup(
+ container,
+ JptUiDetailsMessages.CascadeComposite_cascadeTitle,
+ 6,
+ null);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
addAllCheckBox(container);
addPersistCheckBox(container);
addMergeCheckBox(container);
@@ -65,15 +68,15 @@ public class CascadePane2_0<T extends Cascade2_0>
}
protected ModifiablePropertyValueModel<Boolean> buildCascadeTypeDetachHolder() {
- return new PropertyAspectAdapter<Cascade2_0, Boolean>(getSubjectHolder(), Cascade2_0.DETACH_PROPERTY) {
+ return new PropertyAspectAdapter<Cascade, Boolean>(getSubjectHolder(), Cascade2_0.DETACH_PROPERTY) {
@Override
protected Boolean buildValue_() {
- return subject.isDetach();
+ return Boolean.valueOf(((Cascade2_0) this.subject).isDetach());
}
@Override
protected void setValue_(Boolean value) {
- subject.setDetach(value);
+ ((Cascade2_0) this.subject).setDetach(value.booleanValue());
}
};
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/CollectionTable2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/CollectionTable2_0Composite.java
index c2b7dfb0c3..63be9a1ee1 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/CollectionTable2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/CollectionTable2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -17,9 +17,7 @@ import org.eclipse.jpt.jpa.core.jpa2.context.CollectionTable2_0;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.jpa.ui.internal.details.JoinColumnsComposite;
import org.eclipse.jpt.jpa.ui.internal.details.ReferenceTableComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.db.CatalogCombo;
-import org.eclipse.jpt.jpa.ui.internal.details.db.SchemaCombo;
-import org.eclipse.jpt.jpa.ui.internal.details.db.TableCombo;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
@@ -88,54 +86,41 @@ public class CollectionTable2_0Composite
}
@Override
- protected void initializeLayout(Composite container) {
- // collection table group pane
- container = addTitledGroup(
- container,
- JptUiDetailsMessages2_0.CollectionTable2_0Composite_title
+ protected Composite addComposite(Composite parent) {
+ return addTitledGroup(
+ parent,
+ JptUiDetailsMessages2_0.CollectionTable2_0Composite_title,
+ 2,
+ null
);
+ }
- int groupBoxMargin = getGroupBoxMargin();
-
+ @Override
+ protected void initializeLayout(Composite container) {
// Name widgets
- TableCombo<ReadOnlyReferenceTable> tableCombo = addTableCombo(container);
- Composite tablePane = addPane(container, groupBoxMargin);
- addLabeledComposite(
- tablePane,
- JptUiDetailsMessages2_0.CollectionTable2_0Composite_name,
- tableCombo.getControl(),
- JpaHelpContextIds.MAPPING_COLLECTION_TABLE_NAME
- );
+ this.addLabel(container, JptUiDetailsMessages2_0.CollectionTable2_0Composite_name);
+ this.addTableCombo(container, JpaHelpContextIds.MAPPING_COLLECTION_TABLE_NAME);
// schema widgets
- SchemaCombo<ReadOnlyReferenceTable> schemaCombo = addSchemaCombo(container);
-
- addLabeledComposite(
- tablePane,
- JptUiDetailsMessages2_0.CollectionTable2_0Composite_schema,
- schemaCombo.getControl(),
- JpaHelpContextIds.MAPPING_COLLECTION_TABLE_SCHEMA
- );
+ this.addLabel(container, JptUiDetailsMessages2_0.CollectionTable2_0Composite_schema);
+ addSchemaCombo(container, JpaHelpContextIds.MAPPING_COLLECTION_TABLE_SCHEMA);
// catalog widgets
- CatalogCombo<ReadOnlyReferenceTable> catalogCombo = addCatalogCombo(container);
-
- addLabeledComposite(
- tablePane,
- JptUiDetailsMessages2_0.CollectionTable2_0Composite_catalog,
- catalogCombo.getControl(),
- JpaHelpContextIds.MAPPING_COLLECTION_TABLE_CATALOG
- );
+ this.addLabel(container, JptUiDetailsMessages2_0.CollectionTable2_0Composite_catalog);
+ addCatalogCombo(container, JpaHelpContextIds.MAPPING_COLLECTION_TABLE_CATALOG);
// Join Columns group pane
Group joinColumnGroupPane = addTitledGroup(
container,
JptUiDetailsMessages2_0.CollectionTable2_0Composite_joinColumn
);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ joinColumnGroupPane.setLayoutData(gridData);
// Override Default Join Columns check box
this.overrideDefaultJoinColumnsCheckBox = addCheckBox(
- addSubPane(joinColumnGroupPane, 8),
+ joinColumnGroupPane,
JptUiDetailsMessages2_0.CollectionTable2_0Composite_overrideDefaultJoinColumns,
buildOverrideDefaultJoinColumnHolder(),
null
@@ -144,10 +129,9 @@ public class CollectionTable2_0Composite
this.joinColumnsComposite = new JoinColumnsComposite<ReadOnlyReferenceTable>(
this,
joinColumnGroupPane,
- buildJoinColumnsEditor()
+ buildJoinColumnsEditor(),
+ buildJoinColumnsEnabledModel()
);
-
- installJoinColumnsPaneEnabler(this.joinColumnsComposite);
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/DerivedIdentity2_0Pane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/DerivedIdentity2_0Pane.java
index b18b418d8b..5022e81714 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/DerivedIdentity2_0Pane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/DerivedIdentity2_0Pane.java
@@ -34,26 +34,43 @@ public class DerivedIdentity2_0Pane
super(parentPane, subjectHolder, parent);
}
-
@Override
- protected void initializeLayout(Composite container) {
+ protected Composite addComposite(Composite container) {
Composite composite = addCollapsibleSection(
- container,
- JptUiDetailsMessages2_0.DerivedIdentity_title);
- ((GridLayout) composite.getLayout()).numColumns = 2;
-
- addNullDerivedIdentityPane(composite);
- addIdDerivedIdentityPane(composite);
- addMapsIdDerivedIdentityPane(composite);
+ container,
+ JptUiDetailsMessages2_0.DerivedIdentity_title);
+ return composite;
}
-
- protected void addNullDerivedIdentityPane(Composite parent) {
- Button button = addRadioButton(
- parent,
- JptUiDetailsMessages2_0.DerivedIdentity_nullDerivedIdentity,
- buildUsesNullDerivedIdentityStrategyHolder(),
- null);
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ ((GridLayout) container.getLayout()).numColumns = 2;
+
+ //null derived identity
+ Button nullDerivedIdentityButton = this.addRadioButton(
+ container,
+ JptUiDetailsMessages2_0.DerivedIdentity_nullDerivedIdentity,
+ buildUsesNullDerivedIdentityStrategyHolder(),
+ null);
+ ((GridData) nullDerivedIdentityButton.getLayoutData()).horizontalSpan = 2;
+
+ //id derived identity
+ Button button = this.addRadioButton(
+ container,
+ JptUiDetailsMessages2_0.DerivedIdentity_idDerivedIdentity,
+ buildUsesIdDerivedIdentityStrategyHolder(),
+ null);
((GridData) button.getLayoutData()).horizontalSpan = 2;
+
+ //maps id derived identity
+ ModifiablePropertyValueModel<Boolean> usesMapsIdModel = buildUsesMapsIdDerivedIdentityStrategyHolder();
+ this.addRadioButton(
+ container,
+ JptUiDetailsMessages2_0.DerivedIdentity_mapsIdDerivedIdentity,
+ usesMapsIdModel,
+ null);
+
+ this.buildMapsIdValueComboPane(container, usesMapsIdModel);
}
protected ModifiablePropertyValueModel<Boolean> buildUsesNullDerivedIdentityStrategyHolder() {
@@ -74,16 +91,7 @@ public class DerivedIdentity2_0Pane
}
};
}
-
- protected void addIdDerivedIdentityPane(Composite parent) {
- Button button = addRadioButton(
- parent,
- JptUiDetailsMessages2_0.DerivedIdentity_idDerivedIdentity,
- buildUsesIdDerivedIdentityStrategyHolder(),
- null);
- ((GridData) button.getLayoutData()).horizontalSpan = 2;
- }
-
+
protected ModifiablePropertyValueModel<Boolean> buildUsesIdDerivedIdentityStrategyHolder() {
return new PropertyAspectAdapter<DerivedIdentity2_0, Boolean>(
getSubjectHolder(), DerivedIdentity2_0.PREDOMINANT_DERIVED_IDENTITY_STRATEGY_PROPERTY) {
@@ -103,17 +111,6 @@ public class DerivedIdentity2_0Pane
};
}
- protected void addMapsIdDerivedIdentityPane(Composite parent) {
- ModifiablePropertyValueModel<Boolean> usesMapsIdModel = buildUsesMapsIdDerivedIdentityStrategyHolder();
- addRadioButton(
- parent,
- JptUiDetailsMessages2_0.DerivedIdentity_mapsIdDerivedIdentity,
- usesMapsIdModel,
- null);
-
- buildMapsIdValueComboPane(parent, usesMapsIdModel);
- }
-
protected ModifiablePropertyValueModel<Boolean> buildUsesMapsIdDerivedIdentityStrategyHolder() {
return new PropertyAspectAdapter<DerivedIdentity2_0, Boolean>(
getSubjectHolder(), DerivedIdentity2_0.PREDOMINANT_DERIVED_IDENTITY_STRATEGY_PROPERTY) {
@@ -134,7 +131,7 @@ public class DerivedIdentity2_0Pane
}
protected ComboPane buildMapsIdValueComboPane(Composite parent, PropertyValueModel<Boolean> usesMapsIdModel) {
- return new MapsIdValueComboPane(this, buildMapsIdStrategyHolder(), parent, usesMapsIdModel);
+ return new MapsIdValueCombo(this, buildMapsIdStrategyHolder(), usesMapsIdModel, parent);
}
protected PropertyValueModel<MapsIdDerivedIdentityStrategy2_0> buildMapsIdStrategyHolder() {
@@ -147,16 +144,16 @@ public class DerivedIdentity2_0Pane
}
- private class MapsIdValueComboPane
+ private class MapsIdValueCombo
extends ComboPane<MapsIdDerivedIdentityStrategy2_0>
{
- public MapsIdValueComboPane(
+ public MapsIdValueCombo(
Pane<?> parentPane,
PropertyValueModel<? extends MapsIdDerivedIdentityStrategy2_0> subjectHolder,
- Composite parent,
- PropertyValueModel<Boolean> enabledModel) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent) {
- super(parentPane, subjectHolder, parent, enabledModel);
+ super(parentPane, subjectHolder, enabledModel, parent);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/ElementCollectionMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/ElementCollectionMapping2_0Composite.java
index a6af316ea0..0851e6ec44 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/ElementCollectionMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/ElementCollectionMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -53,11 +53,11 @@ import org.eclipse.swt.widgets.Composite;
*
* @see BasicMapping
* @see OrderColumnComposite
- * @see EnumTypeComposite
- * @see FetchTypeComposite
+ * @see EnumTypeComboViewer
+ * @see FetchTypeComboViewer
* @see LobComposite
- * @see OptionalComposite
- * @see TemporalTypeComposite
+ * @see OptionalTriStateCheckBox
+ * @see TemporalTypeCombo
*
* @version 2.3
* @since 2.3
@@ -72,10 +72,11 @@ public class ElementCollectionMapping2_0Composite extends AbstractElementCollect
* @param widgetFactory The factory used to create various common widgets
*/
public ElementCollectionMapping2_0Composite(PropertyValueModel<? extends ElementCollectionMapping2_0> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/ElementCollectionValueOverridesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/ElementCollectionValueOverridesComposite.java
index d956e31ec9..9ced658fe3 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/ElementCollectionValueOverridesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/ElementCollectionValueOverridesComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Oracle. All rights reserved.
+ * Copyright (c) 2010, 2012 Oracle. 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.
@@ -18,6 +18,7 @@ import org.eclipse.jpt.jpa.core.context.ReadOnlyAssociationOverride;
import org.eclipse.jpt.jpa.core.jpa2.context.ElementCollectionMapping2_0;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractOverridesComposite;
import org.eclipse.jpt.jpa.ui.internal.details.AssociationOverrideComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.part.PageBook;
@@ -31,6 +32,12 @@ public final class ElementCollectionValueOverridesComposite
super(parentPane, parent);
}
+ @Override
+ protected Composite addComposite(Composite container) {
+ return addTitledGroup(
+ container,
+ JptUiDetailsMessages.OverridesComposite_attributeOverridesGroup);
+ }
@Override
protected boolean supportsAssociationOverrides() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/EmbeddedIdMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/EmbeddedIdMapping2_0Composite.java
index 9af3e40be9..e4579aad2f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/EmbeddedIdMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/EmbeddedIdMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Oracle.
+ * Copyright (c) 2010, 2012 Oracle.
* 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
@@ -16,22 +16,28 @@ import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEmbeddedIdMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.EmbeddedMappingOverridesComposite;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class EmbeddedIdMapping2_0Composite
extends AbstractEmbeddedIdMappingComposite<EmbeddedIdMapping>
{
public EmbeddedIdMapping2_0Composite(
PropertyValueModel<? extends EmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeEmbeddedIdSection(Composite container) {
+ protected Control initializeEmbeddedIdSection(Composite container) {
+ container = this.addSubPane(container);
+
new EmbeddedIdMapping2_0MappedByRelationshipPane(this, getSubjectHolder(), container);
new EmbeddedMappingOverridesComposite(this, container);
+
+ return container;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/EmbeddedIdMapping2_0MappedByRelationshipPane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/EmbeddedIdMapping2_0MappedByRelationshipPane.java
index af5798b73e..edbae86ae5 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/EmbeddedIdMapping2_0MappedByRelationshipPane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/EmbeddedIdMapping2_0MappedByRelationshipPane.java
@@ -42,9 +42,14 @@ public class EmbeddedIdMapping2_0MappedByRelationshipPane<T extends EmbeddedIdMa
PageBook pageBook = new PageBook(container, SWT.NULL);
pageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- this.mappedByRelationshipLabel = addLabel(pageBook, JptUiDetailsMessages2_0.EmbeddedIdMapping2_0MappedByRelationshipPane_label);
+ new ControlSwitcher(buildDerivedModel(), this.buildPaneTransformer(pageBook), pageBook);
+ }
- new ControlSwitcher(buildDerivedModel(), buildPaneTransformer(), pageBook);
+ protected Label getMappedByRelationshipLabel(Composite container) {
+ if (this.mappedByRelationshipLabel == null) {
+ this.mappedByRelationshipLabel = this.addLabel(container, JptUiDetailsMessages2_0.EmbeddedIdMapping2_0MappedByRelationshipPane_label);
+ }
+ return this.mappedByRelationshipLabel;
}
protected ModifiablePropertyValueModel<Boolean> buildDerivedModel() {
@@ -56,13 +61,13 @@ public class EmbeddedIdMapping2_0MappedByRelationshipPane<T extends EmbeddedIdMa
};
}
- private Transformer<Boolean, Control> buildPaneTransformer() {
+ private Transformer<Boolean, Control> buildPaneTransformer(final Composite container) {
return new Transformer<Boolean, Control>() {
public Control transform(Boolean converter) {
if (converter == null || converter == Boolean.FALSE) {
return null;
}
- return EmbeddedIdMapping2_0MappedByRelationshipPane.this.mappedByRelationshipLabel;
+ return EmbeddedIdMapping2_0MappedByRelationshipPane.this.getMappedByRelationshipLabel(container);
}
};
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Generation2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Generation2_0Composite.java
index 94d06795ab..bde28cdf71 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Generation2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Generation2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2009 Oracle. All rights reserved.
+* Copyright (c) 2009, 2012 Oracle. 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.
@@ -14,6 +14,7 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.GeneratorContainer;
import org.eclipse.jpt.jpa.ui.internal.details.GenerationComposite;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* Generation2_0Composite
@@ -30,13 +31,13 @@ public class Generation2_0Composite extends GenerationComposite
}
@Override
- protected void addSequenceGeneratorComposite(Composite container, int topMargin, int leftMargin) {
- new SequenceGenerator2_0Composite(
+ protected Control addSequenceGeneratorComposite(Composite container) {
+ return new SequenceGenerator2_0Composite(
this,
this.buildSequenceGeneratorHolder(),
- this.addSubPane(container, topMargin, leftMargin),
+ container,
this.buildSequenceGeneratorBuilder()
- );
+ ).getControl();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/IdMapping2_0MappedByRelationshipPane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/IdMapping2_0MappedByRelationshipPane.java
index b15aa0c4e9..bbc11297ad 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/IdMapping2_0MappedByRelationshipPane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/IdMapping2_0MappedByRelationshipPane.java
@@ -44,9 +44,14 @@ public class IdMapping2_0MappedByRelationshipPane<T extends IdMapping2_0>
PageBook pageBook = new PageBook(container, SWT.NULL);
pageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- this.mappedByRelationshipLabel = addLabel(pageBook, JptUiDetailsMessages2_0.IdMapping2_0MappedByRelationshipPane_label);
+ new ControlSwitcher(buildDerivedModel(), buildPaneTransformer(pageBook), pageBook);
+ }
- new ControlSwitcher(buildDerivedModel(), buildPaneTransformer(), pageBook);
+ protected Label getMappedByRelationshipLabel(Composite container) {
+ if (this.mappedByRelationshipLabel == null) {
+ this.mappedByRelationshipLabel = this.addLabel(container, JptUiDetailsMessages2_0.IdMapping2_0MappedByRelationshipPane_label);
+ }
+ return this.mappedByRelationshipLabel;
}
protected ModifiablePropertyValueModel<Boolean> buildDerivedModel() {
@@ -58,13 +63,13 @@ public class IdMapping2_0MappedByRelationshipPane<T extends IdMapping2_0>
};
}
- private Transformer<Boolean, Control> buildPaneTransformer() {
+ private Transformer<Boolean, Control> buildPaneTransformer(final Composite container) {
return new Transformer<Boolean, Control>() {
public Control transform(Boolean converter) {
if (converter == null || converter == Boolean.FALSE) {
return null;
}
- return IdMapping2_0MappedByRelationshipPane.this.mappedByRelationshipLabel;
+ return IdMapping2_0MappedByRelationshipPane.this.getMappedByRelationshipLabel(container);
}
};
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/IdMappingGeneration2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/IdMappingGeneration2_0Composite.java
index c850727e35..0e39504d59 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/IdMappingGeneration2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/IdMappingGeneration2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -32,14 +32,12 @@ public class IdMappingGeneration2_0Composite extends IdMappingGenerationComposit
protected SequenceGeneratorComposite buildSequenceGeneratorComposite(
Composite container,
PropertyValueModel<SequenceGenerator> sequenceGeneratorHolder,
- GeneratorBuilder<SequenceGenerator> sequenceGeneratorBuilder,
- int topMargin,
- int leftMargin) {
+ GeneratorBuilder<SequenceGenerator> sequenceGeneratorBuilder) {
return new SequenceGenerator2_0Composite(
this,
sequenceGeneratorHolder,
- this.addSubPane(container, topMargin, leftMargin),
+ container,
sequenceGeneratorBuilder
);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/LockModeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/LockModeComposite.java
deleted file mode 100644
index 77112d089d..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/LockModeComposite.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2009, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.details;
-
-import java.util.Collection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.core.jpa2.context.LockModeType2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.NamedQuery2_0;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * LockModeComposite
- */
-public class LockModeComposite extends Pane<NamedQuery2_0>
-{
- /**
- * Creates a new <code>LockModeComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public LockModeComposite(Pane<? extends NamedQuery2_0> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- this.addLabeledComposite(
- container,
- JptUiDetailsMessages2_0.LockModeComposite_lockModeLabel,
- this.addLockModeTypeCombo(container),
- null // TODO
- );
- }
-
- private EnumFormComboViewer<NamedQuery2_0, LockModeType2_0> addLockModeTypeCombo(Composite container) {
-
- return new EnumFormComboViewer<NamedQuery2_0, LockModeType2_0>(this, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(NamedQuery2_0.DEFAULT_LOCK_MODE_PROPERTY);
- propertyNames.add(NamedQuery2_0.SPECIFIED_LOCK_MODE_PROPERTY);
- }
-
- @Override
- protected LockModeType2_0[] getChoices() {
- return LockModeType2_0.values();
- }
-
- @Override
- protected LockModeType2_0 getDefaultValue() {
- return this.getSubject().getDefaultLockMode();
- }
-
- @Override
- protected String displayString(LockModeType2_0 value) {
- switch (value) {
- case NONE :
- return JptUiDetailsMessages2_0.LockModeComposite_none;
- case OPTIMISTIC :
- return JptUiDetailsMessages2_0.LockModeComposite_optimistic;
- case OPTIMISTIC_FORCE_INCREMENT :
- return JptUiDetailsMessages2_0.LockModeComposite_optimistic_force_increment;
- case PESSIMISTIC_FORCE_INCREMENT :
- return JptUiDetailsMessages2_0.LockModeComposite_pessimistic_force_increment;
- case PESSIMISTIC_READ :
- return JptUiDetailsMessages2_0.LockModeComposite_pessimistic_read;
- case PESSIMISTIC_WRITE :
- return JptUiDetailsMessages2_0.LockModeComposite_pessimistic_write;
- case READ :
- return JptUiDetailsMessages2_0.LockModeComposite_read;
- case WRITE :
- return JptUiDetailsMessages2_0.LockModeComposite_write;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected LockModeType2_0 getValue() {
- return this.getSubject().getSpecifiedLockMode();
- }
-
- @Override
- protected void setValue(LockModeType2_0 value) {
- this.getSubject().setSpecifiedLockMode(value);
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/ManyToOneJoiningStrategy2_0Pane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/ManyToOneJoiningStrategy2_0Pane.java
index 8e01f1ef5b..913a4838b8 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/ManyToOneJoiningStrategy2_0Pane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/ManyToOneJoiningStrategy2_0Pane.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2010, 2012 Oracle. 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.
@@ -54,31 +54,31 @@ public class ManyToOneJoiningStrategy2_0Pane extends Pane<ManyToOneRelationship2
super(parentPane, subjectHolder, parent);
}
-
+ @Override
+ protected Composite addComposite(Composite container) {
+ return addCollapsibleSection(
+ container,
+ JptUiDetailsMessages.Joining_title,
+ new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
+ }
+
@Override
protected void initializeLayout(Composite container) {
- Composite composite = addCollapsibleSection(
- container,
- JptUiDetailsMessages.Joining_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
-
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_joinColumnJoiningLabel,
JoinColumnJoiningStrategyPane.buildUsesJoinColumnJoiningStrategyHolder(getSubjectHolder()),
null);
JoinColumnJoiningStrategyPane.
- buildJoinColumnJoiningStrategyPaneWithIncludeOverrideCheckBox(this, composite);
+ buildJoinColumnJoiningStrategyPaneWithIncludeOverrideCheckBox(this, container);
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_joinTableJoiningLabel,
JoinTableJoiningStrategyPane.buildUsesJoinTableJoiningStrategyHolder(getSubjectHolder()),
null);
- new JoinTableJoiningStrategyPane(this, composite);
-
- addSubPane(composite, 5);
+ new JoinTableJoiningStrategyPane(this, container);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/NamedQueryProperty2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/NamedQueryProperty2_0Composite.java
index c4ac5d589b..c63a7e7c1a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/NamedQueryProperty2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/NamedQueryProperty2_0Composite.java
@@ -9,16 +9,22 @@
*******************************************************************************/
package org.eclipse.jpt.jpa.ui.internal.jpa2.details;
+import java.util.Collection;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.Query;
+import org.eclipse.jpt.jpa.core.jpa2.context.LockModeType2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.NamedQuery2_0;
import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.QueryHintsComposite;
import org.eclipse.jpt.jpa.ui.internal.jpql.JpaJpqlContentProposalProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
/**
* Here's the layout of this pane:
@@ -97,17 +103,22 @@ public class NamedQueryProperty2_0Composite extends Pane<NamedQuery2_0> {
};
}
- /**
- * {@inheritDoc}
- */
@Override
- protected void initializeLayout(Composite container) {
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0);
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// Name widgets
- this.addLabeledText(
- container,
- JptUiDetailsMessages.NamedQueryComposite_nameTextLabel,
- this.buildNameTextHolder());
+ this.addLabel(container, JptUiDetailsMessages.NamedQueryComposite_nameTextLabel);
+ this.addText(container, buildNameTextHolder());
+
+ // Query text area
+ Label queryLabel = this.addLabel(container, JptUiDetailsMessages.NamedQueryPropertyComposite_query);
+ GridData gridData = new GridData();
+ gridData.verticalAlignment = SWT.TOP;
+ queryLabel.setLayoutData(gridData);
JpaJpqlContentProposalProvider provider = new JpaJpqlContentProposalProvider(
container,
@@ -115,34 +126,81 @@ public class NamedQueryProperty2_0Composite extends Pane<NamedQuery2_0> {
buildQueryHolder()
);
- // Query text area
- Composite queryWidgets = this.addLabeledComposite(
- container,
- JptUiDetailsMessages.NamedQueryPropertyComposite_query,
- provider.getStyledText()
- );
-
// Install the content assist icon at the top left of the StyledText.
// Note: For some reason, this needs to be done after the StyledText
// is added to the labeled composite
provider.installControlDecoration();
adjustMultiLineTextLayout(
- queryWidgets,
4,
provider.getStyledText(),
provider.getStyledText().getLineHeight()
);
// Lock Mode type
- new LockModeComposite(this, container);
+ this.addLabel(container, JptUiDetailsMessages2_0.LockModeComposite_lockModeLabel);
+ this.addLockModeTypeCombo(container);
- // Query Hints pane
- container = this.addTitledGroup(
- this.addSubPane(container, 5),
- JptUiDetailsMessages.NamedQueryPropertyComposite_queryHintsGroupBox
- );
+ QueryHintsComposite queryHintsComposite = new QueryHintsComposite(this, container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ queryHintsComposite.getControl().setLayoutData(gridData);
+ }
+
+ private EnumFormComboViewer<NamedQuery2_0, LockModeType2_0> addLockModeTypeCombo(Composite container) {
+
+ return new EnumFormComboViewer<NamedQuery2_0, LockModeType2_0>(this, container) {
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(NamedQuery2_0.DEFAULT_LOCK_MODE_PROPERTY);
+ propertyNames.add(NamedQuery2_0.SPECIFIED_LOCK_MODE_PROPERTY);
+ }
+
+ @Override
+ protected LockModeType2_0[] getChoices() {
+ return LockModeType2_0.values();
+ }
+
+ @Override
+ protected LockModeType2_0 getDefaultValue() {
+ return this.getSubject().getDefaultLockMode();
+ }
+
+ @Override
+ protected String displayString(LockModeType2_0 value) {
+ switch (value) {
+ case NONE :
+ return JptUiDetailsMessages2_0.LockModeComposite_none;
+ case OPTIMISTIC :
+ return JptUiDetailsMessages2_0.LockModeComposite_optimistic;
+ case OPTIMISTIC_FORCE_INCREMENT :
+ return JptUiDetailsMessages2_0.LockModeComposite_optimistic_force_increment;
+ case PESSIMISTIC_FORCE_INCREMENT :
+ return JptUiDetailsMessages2_0.LockModeComposite_pessimistic_force_increment;
+ case PESSIMISTIC_READ :
+ return JptUiDetailsMessages2_0.LockModeComposite_pessimistic_read;
+ case PESSIMISTIC_WRITE :
+ return JptUiDetailsMessages2_0.LockModeComposite_pessimistic_write;
+ case READ :
+ return JptUiDetailsMessages2_0.LockModeComposite_read;
+ case WRITE :
+ return JptUiDetailsMessages2_0.LockModeComposite_write;
+ default :
+ throw new IllegalStateException();
+ }
+ }
- new QueryHintsComposite(this, container);
+ @Override
+ protected LockModeType2_0 getValue() {
+ return this.getSubject().getSpecifiedLockMode();
+ }
+
+ @Override
+ protected void setValue(LockModeType2_0 value) {
+ this.getSubject().setSpecifiedLockMode(value);
+ }
+ };
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OneToManyJoiningStrategy2_0Pane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OneToManyJoiningStrategy2_0Pane.java
index 6ce3c6ce17..47452065bc 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OneToManyJoiningStrategy2_0Pane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OneToManyJoiningStrategy2_0Pane.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -56,40 +56,40 @@ public class OneToManyJoiningStrategy2_0Pane
super(parentPane, subjectHolder, parent);
}
-
-
+
@Override
- protected void initializeLayout(Composite container) {
- Composite composite = addCollapsibleSection(
+ protected Composite addComposite(Composite container) {
+ return addCollapsibleSection(
container,
JptUiDetailsMessages.Joining_title,
new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
-
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_mappedByLabel,
MappedByJoiningStrategyPane.buildUsesMappedByJoiningStrategyHolder(getSubjectHolder()),
null);
- new MappedByJoiningStrategyPane(this, composite);
+ new MappedByJoiningStrategyPane(this, container);
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_joinColumnJoiningLabel,
JoinColumnJoiningStrategyPane.buildUsesJoinColumnJoiningStrategyHolder(getSubjectHolder()),
null);
JoinColumnJoiningStrategyPane.
- buildJoinColumnJoiningStrategyPaneWithIncludeOverrideCheckBox(this, composite);
+ buildJoinColumnJoiningStrategyPaneWithIncludeOverrideCheckBox(this, container);
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_joinTableJoiningLabel,
JoinTableJoiningStrategyPane.buildUsesJoinTableJoiningStrategyHolder(getSubjectHolder()),
null);
- new JoinTableJoiningStrategyPane(this, composite);
-
- addSubPane(composite, 5);
+ new JoinTableJoiningStrategyPane(this, container);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OneToOneJoiningStrategy2_0Pane.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OneToOneJoiningStrategy2_0Pane.java
index 79f70503af..6df868f747 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OneToOneJoiningStrategy2_0Pane.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OneToOneJoiningStrategy2_0Pane.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2010, 2012 Oracle. 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.
@@ -68,48 +68,48 @@ public class OneToOneJoiningStrategy2_0Pane
super(parentPane, subjectHolder, parent);
}
-
-
+
+ @Override
+ protected Composite addComposite(Composite container) {
+ return addCollapsibleSection(
+ container,
+ JptUiDetailsMessages.Joining_title,
+ new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
+ }
+
@Override
protected void initializeLayout(Composite container) {
- Composite composite = addCollapsibleSection(
- container,
- JptUiDetailsMessages.Joining_title,
- new SimplePropertyValueModel<Boolean>(Boolean.TRUE));
-
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_mappedByLabel,
MappedByJoiningStrategyPane.buildUsesMappedByJoiningStrategyHolder(getSubjectHolder()),
null);
- new MappedByJoiningStrategyPane(this, composite);
+ new MappedByJoiningStrategyPane(this, container);
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_primaryKeyJoinColumnJoiningLabel,
PrimaryKeyJoinColumnJoiningStrategyPane.buildUsesPrimaryKeyJoinColumnJoiningStrategyHolder(getSubjectHolder()),
null);
- new PrimaryKeyJoinColumnJoiningStrategyPane(this, composite);
+ new PrimaryKeyJoinColumnJoiningStrategyPane(this, container);
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_joinColumnJoiningLabel,
JoinColumnJoiningStrategyPane.buildUsesJoinColumnJoiningStrategyHolder(getSubjectHolder()),
null);
JoinColumnJoiningStrategyPane.
- buildJoinColumnJoiningStrategyPaneWithIncludeOverrideCheckBox(this, composite);
+ buildJoinColumnJoiningStrategyPaneWithIncludeOverrideCheckBox(this, container);
addRadioButton(
- composite,
+ container,
JptUiDetailsMessages.Joining_joinTableJoiningLabel,
JoinTableJoiningStrategyPane.buildUsesJoinTableJoiningStrategyHolder(getSubjectHolder()),
null);
- new JoinTableJoiningStrategyPane(this, composite);
-
- addSubPane(composite, 5);
+ new JoinTableJoiningStrategyPane(this, container);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrderColumnComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrderColumnComposite.java
index fb69cf8bab..c8f5124242 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrderColumnComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrderColumnComposite.java
@@ -13,8 +13,8 @@ import java.util.Collection;
import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
@@ -26,7 +26,10 @@ import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.db.ColumnCombo;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -65,9 +68,10 @@ public class OrderColumnComposite extends Pane<OrderColumn2_0> {
*/
public OrderColumnComposite(Pane<?> parentPane,
PropertyValueModel<? extends OrderColumn2_0> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent) {
- super(parentPane, subjectHolder, parent, false);
+ super(parentPane, subjectHolder, enabledModel, parent);
}
@@ -101,6 +105,12 @@ public class OrderColumnComposite extends Pane<OrderColumn2_0> {
protected String getValue() {
return getSubject().getSpecifiedName();
}
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.MAPPING_ORDER_COLUMN_ORDERING_COLUMN;
+ }
+
@Override
public String toString() {
return "OrderColumnComposite.columnCombo"; //$NON-NLS-1$
@@ -265,70 +275,66 @@ public class OrderColumnComposite extends Pane<OrderColumn2_0> {
}
@Override
+ protected Composite addComposite(Composite container) {
+ return this.addSubPane(container, 2, 0, 0, 0, 0); //2 columns
+ }
+
+ @Override
protected void initializeLayout(Composite container) {
// Column widgets
- addLabeledComposite(
- container,
- JptUiDetailsMessages.ColumnComposite_name,
- addColumnCombo(container),
- JpaHelpContextIds.MAPPING_ORDER_COLUMN_ORDERING_COLUMN
- );
+ this.addLabel(container, JptUiDetailsMessages.ColumnComposite_name);
+ this.addColumnCombo(container);
// Details sub-pane
- container = addCollapsibleSubSection(
- container,
- JptUiDetailsMessages.ColumnComposite_details,
- new SimplePropertyValueModel<Boolean>(Boolean.FALSE)
+ Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TWISTIE);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ gridData.horizontalIndent = 16;
+ section.setLayoutData(gridData);
+ section.setText(JptUiDetailsMessages.ColumnComposite_details);
+
+ Composite detailsClient = this.addSubPane(section, 2, 0, 0, 0, 0);
+ section.setClient(detailsClient);
+
+ // Insertable tri-state check box
+ TriStateCheckBox insertableCheckBox = addTriStateCheckBoxWithDefault(
+ detailsClient,
+ JptUiDetailsMessages.ColumnComposite_insertable,
+ buildInsertableHolder(),
+ buildInsertableStringHolder(),
+ JpaHelpContextIds.MAPPING_COLUMN_INSERTABLE
+ );
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ insertableCheckBox.getCheckBox().setLayoutData(gridData);
+
+ // Updatable tri-state check box
+ TriStateCheckBox updatableCheckBox = addTriStateCheckBoxWithDefault(
+ detailsClient,
+ JptUiDetailsMessages.ColumnComposite_updatable,
+ buildUpdatableHolder(),
+ buildUpdatableStringHolder(),
+ JpaHelpContextIds.MAPPING_COLUMN_UPDATABLE
);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ updatableCheckBox.getCheckBox().setLayoutData(gridData);
+
+ // Nullable tri-state check box
+ TriStateCheckBox nullableCheckBox = addTriStateCheckBoxWithDefault(
+ detailsClient,
+ JptUiDetailsMessages.ColumnComposite_nullable,
+ buildNullableHolder(),
+ buildNullableStringHolder(),
+ JpaHelpContextIds.MAPPING_COLUMN_NULLABLE
+ );
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ nullableCheckBox.getCheckBox().setLayoutData(gridData);
- new DetailsComposite(this, getSubjectHolder(), addSubPane(container, 0, 16));
+ // Column Definition widgets
+ this.addLabel(detailsClient, JptUiDetailsMessages.ColumnComposite_columnDefinition);
+ this.addText(detailsClient, buildColumnDefinitionHolder());
}
- protected class DetailsComposite extends Pane<OrderColumn2_0> {
-
- public DetailsComposite(Pane<?> parentPane,
- PropertyValueModel<? extends OrderColumn2_0> subjectHolder,
- Composite parent) {
-
- super(parentPane, subjectHolder, parent, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- // Insertable tri-state check box
- addTriStateCheckBoxWithDefault(
- addSubPane(container, 4),
- JptUiDetailsMessages.ColumnComposite_insertable,
- buildInsertableHolder(),
- buildInsertableStringHolder(),
- JpaHelpContextIds.MAPPING_COLUMN_INSERTABLE
- );
-
- // Updatable tri-state check box
- addTriStateCheckBoxWithDefault(
- container,
- JptUiDetailsMessages.ColumnComposite_updatable,
- buildUpdatableHolder(),
- buildUpdatableStringHolder(),
- JpaHelpContextIds.MAPPING_COLUMN_UPDATABLE
- );
-
- // Nullable tri-state check box
- addTriStateCheckBoxWithDefault(
- container,
- JptUiDetailsMessages.ColumnComposite_nullable,
- buildNullableHolder(),
- buildNullableStringHolder(),
- JpaHelpContextIds.MAPPING_COLUMN_NULLABLE
- );
-
- // Column Definition widgets
- addLabeledText(
- container,
- JptUiDetailsMessages.ColumnComposite_columnDefinition,
- buildColumnDefinitionHolder()
- );
- }
- }
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Ordering2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Ordering2_0Composite.java
index 79f04d6a3c..a8e214cfc9 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Ordering2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Ordering2_0Composite.java
@@ -9,11 +9,10 @@
******************************************************************************/
package org.eclipse.jpt.jpa.ui.internal.jpa2.details;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.CollectionMapping;
import org.eclipse.jpt.jpa.core.context.Orderable;
import org.eclipse.jpt.jpa.core.jpa2.context.OrderColumn2_0;
@@ -23,7 +22,9 @@ import org.eclipse.jpt.jpa.ui.internal.details.AbstractOrderingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmManyToManyMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmOneToManyMappingComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
/**
* Here the layout of this pane:
@@ -62,17 +63,11 @@ public class Ordering2_0Composite extends AbstractOrderingComposite
super(parentPane, parent);
}
-
@Override
protected void initializeLayout(Composite container) {
PropertyValueModel<Orderable> orderableHolder = buildOrderableHolder();
- container = addCollapsibleSection(
- container,
- JptUiDetailsMessages.OrderingComposite_orderingGroup
- );
-
// No Ordering radio button
addRadioButton(
container,
@@ -98,12 +93,15 @@ public class Ordering2_0Composite extends AbstractOrderingComposite
);
// Custom Ordering text field
- addText(
- addSubPane(container, 0, 16),
+ Text orderingText = addText(
+ container,
buildSpecifiedOrderByHolder(orderableHolder),
JpaHelpContextIds.MAPPING_ORDER_BY,
buildCustomOrderingHolder(orderableHolder)
);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalIndent = 16;
+ orderingText.setLayoutData(gridData);
// Order Column Ordering radio button
@@ -116,21 +114,19 @@ public class Ordering2_0Composite extends AbstractOrderingComposite
OrderColumnComposite orderColumnComposite = new OrderColumnComposite(
this,
- buildOrderColumnHolder(orderableHolder),
- addSubPane(container, 0, 16));
+ buildOrderColumnHolder(orderableHolder),
+ buildPaneEnablerHolder(orderableHolder),
+ container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalIndent = 16;
+ orderColumnComposite.getControl().setLayoutData(gridData);
- installOrderColumnCompositeEnabler(orderableHolder, orderColumnComposite);
- }
-
- protected void installOrderColumnCompositeEnabler(PropertyValueModel<Orderable> orderableHolder, OrderColumnComposite pane) {
- new PaneEnabler(buildPaneEnablerHolder(orderableHolder), pane);
}
private PropertyValueModel<Boolean> buildPaneEnablerHolder(PropertyValueModel<Orderable> orderableHolder) {
return buildOrderColumnOrderingHolder(orderableHolder);
}
-
protected ModifiablePropertyValueModel<Boolean> buildOrderColumnOrderingHolder(PropertyValueModel<Orderable> orderableHolder) {
return new PropertyAspectAdapter<Orderable, Boolean>(orderableHolder, Orderable2_0.ORDER_COLUMN_ORDERING_PROPERTY) {
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrphanRemoval2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrphanRemoval2_0TriStateCheckBox.java
index f280300f4c..ed2097be0f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrphanRemoval2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrphanRemoval2_0TriStateCheckBox.java
@@ -11,6 +11,7 @@ package org.eclipse.jpt.jpa.ui.internal.jpa2.details;
import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
@@ -19,6 +20,7 @@ import org.eclipse.jpt.jpa.core.context.RelationshipMapping;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovable2_0;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* Here the layout of this pane:
@@ -35,15 +37,17 @@ import org.eclipse.swt.widgets.Composite;
* @see {@link JavaOneToOneMapping2_0Composite} - A container of this widget
* @see {@link OrmOneToOneMapping2_0Composite} - A container of this widget
*/
-public class OrphanRemoval2_0Composite extends Pane<OrphanRemovable2_0>
+public class OrphanRemoval2_0TriStateCheckBox extends Pane<OrphanRemovable2_0>
{
+ private TriStateCheckBox checkBox;
+
/**
* Creates a new <code>OrphanRemoval2_0Composite</code>.
*
* @param parentPane The parent container of this one
* @param parent The parent container
*/
- public OrphanRemoval2_0Composite(
+ public OrphanRemoval2_0TriStateCheckBox(
Pane<? extends RelationshipMapping> parentPane,
PropertyValueModel<? extends OrphanRemovable2_0> subjectHolder,
Composite parent) {
@@ -51,17 +55,27 @@ public class OrphanRemoval2_0Composite extends Pane<OrphanRemovable2_0>
}
@Override
- protected void initializeLayout(Composite container) {
+ protected boolean addsComposite() {
+ return false;
+ }
+
+ @Override
+ public Control getControl() {
+ return this.checkBox.getCheckBox();
+ }
- this.addTriStateCheckBoxWithDefault(
+ @Override
+ protected void initializeLayout(Composite container) {
+ this.checkBox = this.addTriStateCheckBoxWithDefault(
container,
JptUiDetailsMessages2_0.OrphanRemoval2_0Composite_orphanRemovalLabel,
- this.buildOrphanRemovalHolder(),
+ this.buildSpecifiedOrphanRemovalHolder(),
this.buildOrphanRemovalStringHolder(),
null // TODO
);
}
- private ModifiablePropertyValueModel<Boolean> buildOrphanRemovalHolder() {
+
+ private ModifiablePropertyValueModel<Boolean> buildSpecifiedOrphanRemovalHolder() {
return new PropertyAspectAdapter<OrphanRemovable2_0, Boolean>(
this.getSubjectHolder(),
OrphanRemovable2_0.DEFAULT_ORPHAN_REMOVAL_PROPERTY,
@@ -91,7 +105,7 @@ public class OrphanRemoval2_0Composite extends Pane<OrphanRemovable2_0>
}
};
}
-
+
private PropertyValueModel<Boolean> buildDefaultOrphanRemovalHolder() {
return new PropertyAspectAdapter<OrphanRemovable2_0, Boolean>(
this.getSubjectHolder(),
@@ -107,5 +121,4 @@ public class OrphanRemoval2_0Composite extends Pane<OrphanRemovable2_0>
}
};
}
-
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Queries2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Queries2_0Composite.java
index 17ead05d7d..729fabbb00 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Queries2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/Queries2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -37,12 +37,12 @@ public class Queries2_0Composite
protected Pane<NamedQuery2_0> buildNamedQueryPropertyComposite(PageBook pageBook) {
return new NamedQueryProperty2_0Composite(
this,
- this.buildNamedQuery2_0Holder(),
+ this.buildSelectedNamedQuery2_0Model(),
pageBook);
}
- protected PropertyValueModel<NamedQuery2_0> buildNamedQuery2_0Holder() {
- return new TransformationPropertyValueModel<Query, NamedQuery2_0>(this.getQueryHolder()) {
+ protected PropertyValueModel<NamedQuery2_0> buildSelectedNamedQuery2_0Model() {
+ return new TransformationPropertyValueModel<Query, NamedQuery2_0>(this.getSelectedQueryModel()) {
@Override
protected NamedQuery2_0 transform_(Query value) {
return (value instanceof NamedQuery2_0) ? (NamedQuery2_0) value : null;
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/SequenceGenerator2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/SequenceGenerator2_0Composite.java
index 22a92db8fb..86ce28a15f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/SequenceGenerator2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/SequenceGenerator2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2009 Oracle. All rights reserved.
+* Copyright (c) 2009, 2012 Oracle. 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.
@@ -42,38 +42,27 @@ public class SequenceGenerator2_0Composite extends SequenceGeneratorComposite
protected void initializeLayout(Composite container) {
// Name widgets
- this.addLabeledText(
- container,
- JptUiDetailsMessages.SequenceGeneratorComposite_name,
- this.buildGeneratorNameHolder(),
- JpaHelpContextIds.MAPPING_SEQUENCE_GENERATOR_NAME
- );
+ this.addLabel(container, JptUiDetailsMessages.SequenceGeneratorComposite_name);
+ this.addText(container, this.buildGeneratorNameHolder(), JpaHelpContextIds.MAPPING_SEQUENCE_GENERATOR_NAME);
// Sequence Generator widgets
- this.addLabeledComposite(
- container,
- JptUiDetailsMessages.SequenceGeneratorComposite_sequence,
- this.buildSequenceNameCombo(container),
- JpaHelpContextIds.MAPPING_SEQUENCE_GENERATOR_SEQUENCE
- );
+ this.addLabel(container, JptUiDetailsMessages.SequenceGeneratorComposite_sequence);
+ this.buildSequenceNameCombo(container);
// Schema widgets
- this.addLabeledComposite(
- container,
- JptUiDetailsMessages.SequenceGeneratorComposite_schema,
- this.addSchemaCombo(container),
- null // JpaHelpContextIds.MAPPING_SEQUENCE_GENERATOR_SCHEMA
- );
+ this.addLabel(container, JptUiDetailsMessages.SequenceGeneratorComposite_schema);
+ this.addSchemaCombo(container);
// Catalog widgets
- this.addLabeledComposite(
- container,
- JptUiDetailsMessages.SequenceGeneratorComposite_catalog,
- this.addCatalogCombo(container),
- null // JpaHelpContextIds.MAPPING_SEQUENCE_GENERATOR_CATALOG
- );
+ this.addLabel(container, JptUiDetailsMessages.SequenceGeneratorComposite_catalog);
+ this.addCatalogCombo(container);
+ // Allocation size widgets
+ this.addLabel(container, JptUiDetailsMessages.GeneratorComposite_allocationSize);
this.addAllocationSizeCombo(container);
+
+ // Initial value widgets
+ this.addLabel(container, JptUiDetailsMessages.GeneratorComposite_initialValue);
this.addInitialValueCombo(container);
}
@@ -143,6 +132,11 @@ public class SequenceGenerator2_0Composite extends SequenceGeneratorComposite
// we overrode #getDbSchemaContainer() instead
throw new UnsupportedOperationException();
}
+
+ @Override
+ public String toString() {
+ return "SecquenceGenerator2_0Composite.schemaCombo"; //$NON-NLS-1$
+ }
};
}
@@ -184,6 +178,11 @@ public class SequenceGenerator2_0Composite extends SequenceGeneratorComposite
protected String getValue() {
return ((SequenceGenerator2_0) getSubject()).getSpecifiedCatalog();
}
+
+ @Override
+ public String toString() {
+ return "SecquenceGenerator2_0Composite.catalogCombo"; //$NON-NLS-1$
+ }
};
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/TargetClassComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/TargetClassChooser.java
index 1819d2d7ce..4c502acccb 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/TargetClassComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/TargetClassChooser.java
@@ -22,11 +22,12 @@ import org.eclipse.jpt.jpa.core.jpa2.context.ElementCollectionMapping2_0;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* target entity hyperlink label, combo and browse button
*/
-public class TargetClassComposite extends ClassChooserComboPane<ElementCollectionMapping2_0>
+public class TargetClassChooser extends ClassChooserComboPane<ElementCollectionMapping2_0>
{
/**
@@ -35,11 +36,11 @@ public class TargetClassComposite extends ClassChooserComboPane<ElementCollectio
* @param parentPane The parent container of this one
* @param parent The parent container
*/
- public TargetClassComposite(
- Pane<? extends ElementCollectionMapping2_0> parentPane,
- Composite parent) {
+ public TargetClassChooser(Pane<? extends ElementCollectionMapping2_0> parentPane,
+ Composite parent,
+ Hyperlink hyperlink) {
- super(parentPane, parent);
+ super(parentPane, parent, hyperlink);
}
@Override
@@ -56,17 +57,12 @@ public class TargetClassComposite extends ClassChooserComboPane<ElementCollectio
protected char getEnclosingTypeSeparator() {
return getSubject().getTargetClassEnclosingTypeSeparator();
}
-
- @Override
- protected String getLabelText() {
- return JptUiDetailsMessages2_0.TargetClassComposite_label;
- }
-
+
@Override
protected String getHelpId() {
return JpaHelpContextIds.MAPPING_ELEMENT_COLLECTION_TARGET_CLASS;
}
-
+
@Override
protected IJavaProject getJavaProject() {
return getSubject().getJpaProject().getJavaProject();
@@ -88,7 +84,7 @@ public class TargetClassComposite extends ClassChooserComboPane<ElementCollectio
String name = this.subject.getSpecifiedTargetClass();
if (name == null) {
- name = TargetClassComposite.this.getDefaultValue(this.subject);
+ name = TargetClassChooser.this.getDefaultValue(this.subject);
}
return name;
}
@@ -119,7 +115,7 @@ public class TargetClassComposite extends ClassChooserComboPane<ElementCollectio
return new PropertyAspectAdapter<ElementCollectionMapping2_0, String>(this.getSubjectHolder(), ElementCollectionMapping2_0.DEFAULT_TARGET_CLASS_PROPERTY) {
@Override
protected String buildValue_() {
- return TargetClassComposite.this.getDefaultValue(this.subject);
+ return TargetClassChooser.this.getDefaultValue(this.subject);
}
};
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/Generic2_0JavaUiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/Generic2_0JavaUiFactory.java
index 451c37f8e2..4379759d8b 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/Generic2_0JavaUiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/Generic2_0JavaUiFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -26,7 +26,7 @@ import org.eclipse.jpt.jpa.ui.details.JpaComposite;
import org.eclipse.jpt.jpa.ui.internal.details.java.BaseJavaUiFactory;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.ElementCollectionMapping2_0Composite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.EmbeddedIdMapping2_0Composite;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.GenericPersistenceXmlUiFactory;
+import org.eclipse.jpt.jpa.ui.internal.persistence.GenericPersistenceXmlUiFactory;
import org.eclipse.jpt.jpa.ui.jpa2.details.java.JavaUiFactory2_0;
import org.eclipse.swt.widgets.Composite;
@@ -72,63 +72,71 @@ public class Generic2_0JavaUiFactory
@Override
public JpaComposite createJavaIdMappingComposite(
PropertyValueModel<JavaIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaIdMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new JavaIdMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaEmbeddedIdMappingComposite(
PropertyValueModel<JavaEmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new EmbeddedIdMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new EmbeddedIdMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaEmbeddedMappingComposite(
PropertyValueModel<JavaEmbeddedMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaEmbeddedMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new JavaEmbeddedMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaManyToManyMappingComposite(
PropertyValueModel<JavaManyToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaManyToManyMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new JavaManyToManyMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaManyToOneMappingComposite(
PropertyValueModel<JavaManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaManyToOneMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new JavaManyToOneMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaOneToManyMappingComposite(
PropertyValueModel<JavaOneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaOneToManyMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new JavaOneToManyMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
public JpaComposite createJavaOneToOneMappingComposite(
PropertyValueModel<JavaOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new JavaOneToOneMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new JavaOneToOneMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
public JpaComposite createJavaElementCollectionMapping2_0Composite(
PropertyValueModel<JavaElementCollectionMapping2_0> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return new ElementCollectionMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return new ElementCollectionMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaElementCollectionMapping2_0UiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaElementCollectionMapping2_0UiDefinition.java
index 42f5a7e56a..11ef945fa1 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaElementCollectionMapping2_0UiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaElementCollectionMapping2_0UiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -48,9 +48,10 @@ public class JavaElementCollectionMapping2_0UiDefinition
public JpaComposite buildAttributeMappingComposite(
JavaUiFactory factory,
PropertyValueModel<JavaElementCollectionMapping2_0> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- return ((JavaUiFactory2_0) factory).createJavaElementCollectionMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return ((JavaUiFactory2_0) factory).createJavaElementCollectionMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaEmbeddable2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaEmbeddable2_0Composite.java
index a1fae294dd..a921dbae36 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaEmbeddable2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaEmbeddable2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -15,9 +15,11 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.java.JavaEmbeddable;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEmbeddableComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* This pane does not have any widgets.
@@ -51,8 +53,14 @@ public class JavaEmbeddable2_0Composite extends AbstractEmbeddableComposite<Java
}
@Override
- protected void initializeEmbeddableSection(Composite container) {
- new AccessTypeComposite(this, buildAccessHolder(), container);
+ protected Control initializeEmbeddableSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, buildAccessHolder(), container);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaEmbeddedMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaEmbeddedMapping2_0Composite.java
index 8713cc0415..3885e6e6c2 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaEmbeddedMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaEmbeddedMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -16,6 +16,7 @@ import org.eclipse.jpt.jpa.ui.details.JpaComposite;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEmbeddedMappingComposite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.EmbeddedMapping2_0OverridesComposite;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* Here the layout of this pane:
@@ -44,17 +45,19 @@ public class JavaEmbeddedMapping2_0Composite extends AbstractEmbeddedMappingComp
* @param widgetFactory The factory used to create various common widgets
*/
public JavaEmbeddedMapping2_0Composite(PropertyValueModel<? extends JavaEmbeddedMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeEmbeddedSection(Composite container) {
- new EmbeddedMapping2_0OverridesComposite(
- this,
- container
- );
+ protected Control initializeEmbeddedSection(Composite container) {
+ //a Section appears to not like having a Group as its client. EmbeddedMappingOverridesComposite
+ //uses a Group as its 'control' so I am adding an extra composite here.
+ container = this.addSubPane(container);
+ new EmbeddedMapping2_0OverridesComposite(this, container);
+ return container;
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaEntity2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaEntity2_0Composite.java
index cc12ebd7f1..d15023442c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaEntity2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaEntity2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -13,21 +13,25 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
-import org.eclipse.jpt.jpa.core.context.QueryContainer;
import org.eclipse.jpt.jpa.core.context.java.JavaEntity;
import org.eclipse.jpt.jpa.core.jpa2.context.Cacheable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.CacheableHolder2_0;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.EntityNameComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.IdClassComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.EntityNameCombo;
+import org.eclipse.jpt.jpa.ui.internal.details.IdClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.TableComposite;
import org.eclipse.jpt.jpa.ui.internal.details.java.JavaInheritanceComposite;
import org.eclipse.jpt.jpa.ui.internal.details.java.JavaSecondaryTablesComposite;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Cacheable2_0Pane;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Cacheable2_0TriStateCheckBox;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Entity2_0OverridesComposite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Queries2_0Composite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* The pane used for a Java entity.
@@ -57,12 +61,34 @@ public class JavaEntity2_0Composite
}
@Override
- protected void initializeEntitySection(Composite container) {
- new TableComposite(this, container);
- new EntityNameComposite(this, container);
- new AccessTypeComposite(this, buildAccessHolder(), container);
- new IdClassComposite(this, buildIdClassReferenceHolder(), container);
- new Cacheable2_0Pane(this, buildCacheableHolder(), container);
+ protected Control initializeEntitySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Table widgets
+ TableComposite tableComposite = new TableComposite(this, container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ tableComposite.getControl().setLayoutData(gridData);
+
+ // Entity name widgets
+ this.addLabel(container, JptUiDetailsMessages.EntityNameComposite_name);
+ new EntityNameCombo(this, container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, buildAccessHolder(), container);
+
+ // Id class widgets
+ Hyperlink hyperlink = this.addHyperlink(container,JptUiDetailsMessages.IdClassComposite_label);
+ new IdClassChooser(this, this.buildIdClassReferenceHolder(), container, hyperlink);
+
+ // Cacheable widgets
+ Cacheable2_0TriStateCheckBox cacheableCheckBox = new Cacheable2_0TriStateCheckBox(this, buildCacheableHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cacheableCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolder() {
@@ -84,22 +110,22 @@ public class JavaEntity2_0Composite
}
@Override
- protected void initializeSecondaryTablesSection(Composite container) {
- new JavaSecondaryTablesComposite(this, container);
+ protected Control initializeSecondaryTablesSection(Composite container) {
+ return new JavaSecondaryTablesComposite(this, container).getControl();
}
@Override
- protected void initializeInheritanceSection(Composite container) {
- new JavaInheritanceComposite(this, container);
+ protected Control initializeInheritanceSection(Composite container) {
+ return new JavaInheritanceComposite(this, container).getControl();
}
@Override
- protected void initializeAttributeOverridesSection(Composite container) {
- new Entity2_0OverridesComposite(this, container);
+ protected Control initializeAttributeOverridesSection(Composite container) {
+ return new Entity2_0OverridesComposite(this, container).getControl();
}
@Override
- protected void initializeQueriesSection(Composite container, PropertyValueModel<QueryContainer> queryContainerHolder) {
- new Queries2_0Composite(this, queryContainerHolder, container);
+ protected Control initializeQueriesSection(Composite container) {
+ return new Queries2_0Composite(this, this.buildQueryContainerHolder(), container).getControl();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaIdMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaIdMapping2_0Composite.java
index 6ab367fabe..b3b10d3aa0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaIdMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaIdMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2009, 2010 Oracle. All rights reserved.
+* Copyright (c) 2009, 2012 Oracle. 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.
@@ -17,23 +17,29 @@ import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.IdMapping2_0MappedByRelationshipPane;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.IdMappingGeneration2_0Composite;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class JavaIdMapping2_0Composite
extends AbstractIdMappingComposite<IdMapping>
{
public JavaIdMapping2_0Composite(
PropertyValueModel<? extends IdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeIdSection(Composite container) {
+ protected Control initializeIdSection(Composite container) {
+ container = this.addSubPane(container);
+
new IdMapping2_0MappedByRelationshipPane(this, getSubjectHolder(), container);
new ColumnComposite(this, buildColumnHolder(), container);
+
+ return container;
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaManyToManyMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaManyToManyMapping2_0Composite.java
index 55822090d6..9953c4281c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaManyToManyMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaManyToManyMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2012 Oracle. 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.
@@ -14,33 +14,52 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.java.JavaManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.java.JavaManyToManyRelationship;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractManyToManyMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Ordering2_0Composite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class JavaManyToManyMapping2_0Composite
extends AbstractManyToManyMappingComposite<JavaManyToManyMapping, JavaManyToManyRelationship>
{
public JavaManyToManyMapping2_0Composite(
PropertyValueModel<? extends JavaManyToManyMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new CascadePane2_0(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, buildCascadeHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
-
+
@Override
- protected void initializeOrderingCollapsibleSection(Composite container) {
- new Ordering2_0Composite(this, container);
+ protected Control initializeOrderingSection(Composite container) {
+ return new Ordering2_0Composite(this, container).getControl();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaManyToOneMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaManyToOneMapping2_0Composite.java
index dba1e697f4..fbd5433503 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaManyToOneMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaManyToOneMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -13,30 +13,54 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.java.JavaManyToOneMapping;
import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaManyToOneRelationship2_0;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.AbstractManyToOneMapping2_0Composite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class JavaManyToOneMapping2_0Composite
extends AbstractManyToOneMapping2_0Composite<JavaManyToOneMapping, JavaManyToOneRelationship2_0>
{
public JavaManyToOneMapping2_0Composite(
PropertyValueModel<? extends JavaManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new OptionalComposite(this, container);
- new CascadePane2_0(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaMappedSuperclass2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaMappedSuperclass2_0Composite.java
index 836202ac08..832a89cb47 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaMappedSuperclass2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaMappedSuperclass2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2005, 2012 Oracle. 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.
@@ -16,10 +16,14 @@ import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.MappedSuperclass;
import org.eclipse.jpt.jpa.core.context.java.JavaMappedSuperclass;
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractJavaMappedSuperclassComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.IdClassComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.IdClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* Here the layout of this pane:
@@ -74,9 +78,17 @@ public class JavaMappedSuperclass2_0Composite
}
@Override
- protected void initializeMappedSuperclassSection(Composite container) {
- new AccessTypeComposite(this, buildAccessHolder(), container);
- new IdClassComposite(this, buildIdClassReferenceHolder(), container);
+ protected Control initializeMappedSuperclassSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, buildAccessHolder(), container);
+
+ // Id class widgets
+ Hyperlink hyperlink = this.addHyperlink(container,JptUiDetailsMessages.IdClassComposite_label);
+ new IdClassChooser(this, this.buildIdClassReferenceHolder(), container, hyperlink);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaOneToManyMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaOneToManyMapping2_0Composite.java
index 1c946851a7..f9fd2aea22 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaOneToManyMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaOneToManyMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -17,32 +17,54 @@ import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovalHolder2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaOneToManyRelationship2_0;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractOneToManyMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OneToManyJoiningStrategy2_0Pane;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Ordering2_0Composite;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0Composite;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0TriStateCheckBox;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class JavaOneToManyMapping2_0Composite
extends AbstractOneToManyMappingComposite<JavaOneToManyMapping, JavaOneToManyRelationship2_0>
{
public JavaOneToManyMapping2_0Composite(
PropertyValueModel<? extends JavaOneToManyMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new OrphanRemoval2_0Composite(this, this.buildOrphanRemovableHolder(), container);
- new CascadePane2_0(this, this.buildCascadeHolder(), this.addSubPane(container, 5));
+ protected Control initializeOneToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Orphan removal widgets
+ PropertyValueModel<OrphanRemovable2_0> orphanRemovableHolder = buildOrphanRemovableHolder();
+ new OrphanRemoval2_0TriStateCheckBox(this, orphanRemovableHolder, container);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, this.buildCascadeHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
@Override
@@ -51,8 +73,8 @@ public class JavaOneToManyMapping2_0Composite
}
@Override
- protected void initializeOrderingCollapsibleSection(Composite container) {
- new Ordering2_0Composite(this, container);
+ protected Control initializeOrderingSection(Composite container) {
+ return new Ordering2_0Composite(this, container).getControl();
}
protected PropertyValueModel<OrphanRemovable2_0> buildOrphanRemovableHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaOneToOneMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaOneToOneMapping2_0Composite.java
index 9cc8974a57..950e26366c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaOneToOneMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/java/JavaOneToOneMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -16,34 +16,61 @@ import org.eclipse.jpt.jpa.core.context.java.JavaOneToOneMapping;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovalHolder2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaOneToOneRelationship2_0;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.AbstractOneToOneMapping2_0Composite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OneToOneJoiningStrategy2_0Pane;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0Composite;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0TriStateCheckBox;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class JavaOneToOneMapping2_0Composite
extends AbstractOneToOneMapping2_0Composite<JavaOneToOneMapping, JavaOneToOneRelationship2_0>
{
public JavaOneToOneMapping2_0Composite(
PropertyValueModel<? extends JavaOneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new FetchTypeComposite(this, container);
- new OptionalComposite(this, container);
- new OrphanRemoval2_0Composite(this, buildOrphanRemovableHolder(), container);
- new CascadePane2_0(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeOneToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Orphan removal widgets
+ PropertyValueModel<OrphanRemovable2_0> orphanRemovableHolder = buildOrphanRemovableHolder();
+ new OrphanRemoval2_0TriStateCheckBox(this, orphanRemovableHolder, container);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/EntityMappings2_0DetailsPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/EntityMappings2_0DetailsPage.java
index 57bec22097..0b45dd4e24 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/EntityMappings2_0DetailsPage.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/EntityMappings2_0DetailsPage.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2009, 2010 Oracle. All rights reserved.
+* Copyright (c) 2009, 2012 Oracle. 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.
@@ -11,7 +11,9 @@ package org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.jpa.ui.internal.details.orm.AbstractEntityMappingsDetailsPage;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Queries2_0Composite;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* EntityMappings2_0DetailsPage
@@ -31,13 +33,12 @@ public class EntityMappings2_0DetailsPage extends AbstractEntityMappingsDetailsP
}
@Override
- protected void initializeGeneratorsCollapsibleSection(Composite container) {
- new EntityMappingsGenerators2_0Composite(this, container);
+ protected Control initializeGeneratorsSection(Composite container) {
+ return new EntityMappingsGenerators2_0Composite(this, container).getControl();
}
@Override
- protected void initializeQueriesCollapsibleSection(Composite container) {
- new OrmQueries2_0Composite(this, container);
+ protected Control initializeQueriesSection(Composite container) {
+ return new Queries2_0Composite(this, this.buildQueryContainerHolder(), container).getControl();
}
-
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmBasicMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmBasicMapping2_0Composite.java
index 46a70b9cdc..a57d801e8f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmBasicMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmBasicMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -14,13 +14,18 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.BasicMapping;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractBasicMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class OrmBasicMapping2_0Composite extends AbstractBasicMappingComposite<BasicMapping>
{
@@ -32,19 +37,42 @@ public class OrmBasicMapping2_0Composite extends AbstractBasicMappingComposite<B
* @param widgetFactory The factory used to create various common widgets
*/
public OrmBasicMapping2_0Composite(PropertyValueModel<? extends BasicMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeBasicSection(Composite container) {
- new ColumnComposite(this, buildColumnHolder(), container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new OptionalComposite(this, addSubPane(container, 4));
+ protected Control initializeBasicSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Column widgets
+ ColumnComposite columnComposite = new ColumnComposite(this, buildColumnHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ columnComposite.getControl().setLayoutData(gridData);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmElementCollectionMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmElementCollectionMapping2_0Composite.java
index fcba7bd016..0f18a75d06 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmElementCollectionMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmElementCollectionMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -14,13 +14,20 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.jpa2.context.ElementCollectionMapping2_0;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.AbstractElementCollectionMapping2_0Composite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CollectionTable2_0Composite;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.TargetClassComposite;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.JptUiDetailsMessages2_0;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.TargetClassChooser;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmElementCollectionMapping2_0Composite
extends AbstractElementCollectionMapping2_0Composite<ElementCollectionMapping2_0>
@@ -33,19 +40,40 @@ public class OrmElementCollectionMapping2_0Composite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmElementCollectionMapping2_0Composite(PropertyValueModel<? extends ElementCollectionMapping2_0> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeElementCollectionSection(Composite container) {
- new TargetClassComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new CollectionTable2_0Composite(this, buildCollectionTableHolder(), container);
+ protected Control initializeElementCollectionSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target class widgets
+ Hyperlink hyperlink = this.addHyperlink(container, JptUiDetailsMessages2_0.TargetClassComposite_label);
+ new TargetClassChooser(this, container, hyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Collection table widgets
+ CollectionTable2_0Composite collectionTableComposite = new CollectionTable2_0Composite(this, buildCollectionTableHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ collectionTableComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmElementCollectionMapping2_0UiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmElementCollectionMapping2_0UiDefinition.java
index 7f7722056e..af39779a89 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmElementCollectionMapping2_0UiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmElementCollectionMapping2_0UiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle.
+ * Copyright (c) 2009, 2012 Oracle.
* 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
@@ -48,9 +48,10 @@ public class OrmElementCollectionMapping2_0UiDefinition
public JpaComposite buildAttributeMappingComposite(
OrmXmlUiFactory factory,
PropertyValueModel<OrmElementCollectionMapping2_0> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- return ((OrmXmlUiFactory2_0) factory).createOrmElementCollectionMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ return ((OrmXmlUiFactory2_0) factory).createOrmElementCollectionMapping2_0Composite(subjectHolder, enabledModel, parent, widgetFactory);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmEmbeddedIdMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmEmbeddedIdMapping2_0Composite.java
index d1ae124f01..b53870f075 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmEmbeddedIdMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmEmbeddedIdMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -14,32 +14,57 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEmbeddedIdMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.EmbeddedMappingOverridesComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.EmbeddedIdMapping2_0MappedByRelationshipPane;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class OrmEmbeddedIdMapping2_0Composite
extends AbstractEmbeddedIdMappingComposite<EmbeddedIdMapping>
{
public OrmEmbeddedIdMapping2_0Composite(
PropertyValueModel<? extends EmbeddedIdMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeEmbeddedIdSection(Composite container) {
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
+ protected Control initializeEmbeddedIdSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
- new EmbeddedIdMapping2_0MappedByRelationshipPane(this, getSubjectHolder(), container);
- new EmbeddedMappingOverridesComposite(this, container);
+ // Mapped by relationship widgets
+ EmbeddedIdMapping2_0MappedByRelationshipPane mappedByRelationshipPane = new EmbeddedIdMapping2_0MappedByRelationshipPane(this, getSubjectHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ mappedByRelationshipPane.getControl().setLayoutData(gridData);
+
+ // Overrides widgets
+ EmbeddedMappingOverridesComposite overridesComposite = new EmbeddedMappingOverridesComposite(
+ this,
+ container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ overridesComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmEmbeddedMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmEmbeddedMapping2_0Composite.java
index 0913d9ec2b..ee4fb8a059 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmEmbeddedMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmEmbeddedMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -14,12 +14,16 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.EmbeddedMapping;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEmbeddedMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.java.BaseJavaUiFactory;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.EmbeddedMapping2_0OverridesComposite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* Here the layout of this pane:
@@ -49,21 +53,35 @@ public class OrmEmbeddedMapping2_0Composite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmEmbeddedMapping2_0Composite(PropertyValueModel<? extends EmbeddedMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeEmbeddedSection(Composite container) {
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
+ protected Control initializeEmbeddedSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
- new EmbeddedMapping2_0OverridesComposite(
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Overrides widgets
+ EmbeddedMapping2_0OverridesComposite overridesComposite = new EmbeddedMapping2_0OverridesComposite(
this,
container
);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ overridesComposite.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmEntity2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmEntity2_0Composite.java
index a018170014..56d755f0d7 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmEntity2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmEntity2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -12,23 +12,27 @@ package org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.GeneratorContainer;
-import org.eclipse.jpt.jpa.core.context.QueryContainer;
import org.eclipse.jpt.jpa.core.context.orm.OrmEntity;
import org.eclipse.jpt.jpa.core.jpa2.context.Cacheable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.CacheableHolder2_0;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.EntityNameComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.IdClassComposite;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.EntityNameCombo;
+import org.eclipse.jpt.jpa.ui.internal.details.IdClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.details.TableComposite;
import org.eclipse.jpt.jpa.ui.internal.details.orm.AbstractOrmEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.MetadataCompleteComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.MetadataCompleteTriStateCheckBox;
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmJavaClassChooser;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Cacheable2_0Pane;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Cacheable2_0TriStateCheckBox;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Entity2_0OverridesComposite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Generation2_0Composite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Queries2_0Composite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* The pane used for an ORM entity 2.0.
@@ -55,14 +59,44 @@ public class OrmEntity2_0Composite
}
@Override
- protected void initializeEntitySection(Composite container) {
- new OrmJavaClassChooser(this, getSubjectHolder(), container, false);
- new TableComposite(this, container);
- new EntityNameComposite(this, container);
- new AccessTypeComposite(this, buildAccessHolder(), container);
- new IdClassComposite(this, buildIdClassReferenceHolder(), container);
- new Cacheable2_0Pane(this, buildCacheableHolder(), container);
- new MetadataCompleteComposite(this, getSubjectHolder(), container);
+ protected Control initializeEntitySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Java class widgets
+ Hyperlink javaClassHyperlink = this.addHyperlink(container, JptUiDetailsOrmMessages.OrmJavaClassChooser_javaClass);
+ new OrmJavaClassChooser(this, getSubjectHolder(), container, javaClassHyperlink);
+
+ // Table widgets
+ TableComposite tableComposite = new TableComposite(this, container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ tableComposite.getControl().setLayoutData(gridData);
+
+ // Entity name widgets
+ this.addLabel(container, JptUiDetailsMessages.EntityNameComposite_name);
+ new EntityNameCombo(this, container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolder(), container);
+
+ // Id class widgets
+ Hyperlink hyperlink = this.addHyperlink(container,JptUiDetailsMessages.IdClassComposite_label);
+ new IdClassChooser(this, this.buildIdClassReferenceHolder(), container, hyperlink);
+
+ // Cacheable widgets
+ Cacheable2_0TriStateCheckBox cacheableCheckBox = new Cacheable2_0TriStateCheckBox(this, buildCacheableHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cacheableCheckBox.getControl().setLayoutData(gridData);
+
+ // Metadata complete widgets
+ MetadataCompleteTriStateCheckBox metadataCompleteCheckBox = new MetadataCompleteTriStateCheckBox(this, getSubjectHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ metadataCompleteCheckBox.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<Cacheable2_0> buildCacheableHolder() {
@@ -75,17 +109,17 @@ public class OrmEntity2_0Composite
}
@Override
- protected void initializeAttributeOverridesSection(Composite container) {
- new Entity2_0OverridesComposite(this, container);
+ protected Control initializeAttributeOverridesSection(Composite container) {
+ return new Entity2_0OverridesComposite(this, container).getControl();
}
@Override
- protected void initializeGeneratorsSection(Composite container, PropertyValueModel<GeneratorContainer> generatorContainerHolder) {
- new Generation2_0Composite(this, generatorContainerHolder, container);
+ protected Control initializeGeneratorsSection(Composite container) {
+ return new Generation2_0Composite(this, this.buildGeneratorContainerHolder(), container).getControl();
}
@Override
- protected void initializeQueriesSection(Composite container, PropertyValueModel<QueryContainer> queryContainerHolder) {
- new Queries2_0Composite(this, queryContainerHolder, container);
+ protected Control initializeQueriesSection(Composite container) {
+ return new Queries2_0Composite(this, this.buildQueryContainerHolder(), container).getControl();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmIdMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmIdMapping2_0Composite.java
index 3717d093e0..15bb79896c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmIdMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmIdMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -14,32 +14,55 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.IdMapping;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractIdMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.IdMapping2_0MappedByRelationshipPane;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.IdMappingGeneration2_0Composite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class OrmIdMapping2_0Composite
extends AbstractIdMappingComposite<IdMapping>
{
public OrmIdMapping2_0Composite(
PropertyValueModel<? extends IdMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeIdSection(Composite container) {
- new IdMapping2_0MappedByRelationshipPane(this, getSubjectHolder(), container);
- new ColumnComposite(this, buildColumnHolder(), container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
+ protected Control initializeIdSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ IdMapping2_0MappedByRelationshipPane mappedByRelationshipPane = new IdMapping2_0MappedByRelationshipPane(this, getSubjectHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ mappedByRelationshipPane.getControl().setLayoutData(gridData);
+
+ // Column widgets
+ ColumnComposite columnComposite = new ColumnComposite(this, buildColumnHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ columnComposite.getControl().setLayoutData(gridData);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ return container;
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmManyToManyMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmManyToManyMapping2_0Composite.java
index 136fbb7fd4..fa5f543c77 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmManyToManyMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmManyToManyMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -13,14 +13,20 @@ import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.ManyToManyRelationship;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractManyToManyMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Ordering2_0Composite;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmManyToManyMapping2_0Composite
extends AbstractManyToManyMappingComposite<ManyToManyMapping, ManyToManyRelationship>
@@ -34,24 +40,45 @@ public class OrmManyToManyMapping2_0Composite
*/
public OrmManyToManyMapping2_0Composite(
PropertyValueModel<? extends ManyToManyMapping> subjectHolder,
- Composite parent,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new CascadePane2_0(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, buildCascadeHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
-
+
@Override
- protected void initializeOrderingCollapsibleSection(Composite container) {
- new Ordering2_0Composite(this, container);
+ protected Control initializeOrderingSection(Composite container) {
+ return new Ordering2_0Composite(this, container).getControl();
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmManyToOneMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmManyToOneMapping2_0Composite.java
index 15ca95d75c..3b6321c283 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmManyToOneMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmManyToOneMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -15,35 +15,67 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
import org.eclipse.jpt.jpa.core.jpa2.context.ManyToOneRelationship2_0;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.AbstractManyToOneMapping2_0Composite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmManyToOneMapping2_0Composite
extends AbstractManyToOneMapping2_0Composite<ManyToOneMapping, ManyToOneRelationship2_0>
{
public OrmManyToOneMapping2_0Composite(
PropertyValueModel<? extends ManyToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeManyToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new OptionalComposite(this, container);
- new CascadePane2_0(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeManyToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmOneToManyMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmOneToManyMapping2_0Composite.java
index 352f358926..c0125984fb 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmOneToManyMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmOneToManyMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -17,37 +17,67 @@ import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
import org.eclipse.jpt.jpa.core.jpa2.context.OneToManyRelationship2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovalHolder2_0;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractOneToManyMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OneToManyJoiningStrategy2_0Pane;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Ordering2_0Composite;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0Composite;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0TriStateCheckBox;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmOneToManyMapping2_0Composite
extends AbstractOneToManyMappingComposite<OneToManyMapping, OneToManyRelationship2_0>
{
public OrmOneToManyMapping2_0Composite(
PropertyValueModel<? extends OneToManyMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToManySection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, this.buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new OrphanRemoval2_0Composite(this, this.buildOrphanRemovableHolder(), container);
- new CascadePane2_0(this, this.buildCascadeHolder(), this.addSubPane(container, 5));
+ protected Control initializeOneToManySection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Orphan removal widgets
+ PropertyValueModel<OrphanRemovable2_0> orphanRemovableHolder = buildOrphanRemovableHolder();
+ new OrphanRemoval2_0TriStateCheckBox(this, orphanRemovableHolder, container);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, this.buildCascadeHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
@Override
@@ -56,8 +86,8 @@ public class OrmOneToManyMapping2_0Composite
}
@Override
- protected void initializeOrderingCollapsibleSection(Composite container) {
- new Ordering2_0Composite(this, container);
+ protected Control initializeOrderingSection(Composite container) {
+ return new Ordering2_0Composite(this, container).getControl();
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmOneToOneMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmOneToOneMapping2_0Composite.java
index a9cd556c85..db1626a004 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmOneToOneMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmOneToOneMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -17,38 +17,73 @@ import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
import org.eclipse.jpt.jpa.core.jpa2.context.OneToOneRelationship2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovalHolder2_0;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.OptionalComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.FetchTypeComboViewer;
+import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.OptionalTriStateCheckBox;
+import org.eclipse.jpt.jpa.ui.internal.details.TargetEntityClassChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.AbstractOneToOneMapping2_0Composite;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.CascadePane2_0;
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OneToOneJoiningStrategy2_0Pane;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0Composite;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.OrphanRemoval2_0TriStateCheckBox;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.Hyperlink;
public class OrmOneToOneMapping2_0Composite
extends AbstractOneToOneMapping2_0Composite<OneToOneMapping, OneToOneRelationship2_0>
{
public OrmOneToOneMapping2_0Composite(
PropertyValueModel<? extends OneToOneMapping> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeOneToOneSection(Composite container) {
- new TargetEntityComposite(this, container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new FetchTypeComposite(this, container);
- new OptionalComposite(this, container);
- new OrphanRemoval2_0Composite(this, buildOrphanRemovableHolder(), container);
- new CascadePane2_0(this, buildCascadeHolder(), addSubPane(container, 5));
+ protected Control initializeOneToOneSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Target entity widgets
+ Hyperlink targetEntityHyperlink = this.addHyperlink(container, JptUiDetailsMessages.TargetEntityChooser_label);
+ new TargetEntityClassChooser(this, container, targetEntityHyperlink);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ // Fetch type widgets
+ this.addLabel(container, JptUiDetailsMessages.BasicGeneralSection_fetchLabel);
+ new FetchTypeComboViewer(this, container);
+
+ // Optional widgets
+ OptionalTriStateCheckBox optionalCheckBox = new OptionalTriStateCheckBox(this, container);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ optionalCheckBox.getControl().setLayoutData(gridData);
+
+ // Orphan removal widgets
+ PropertyValueModel<OrphanRemovable2_0> orphanRemovableHolder = buildOrphanRemovableHolder();
+ new OrphanRemoval2_0TriStateCheckBox(this, orphanRemovableHolder, container);
+
+ // Cascade widgets
+ CascadePane2_0 cascadePane = new CascadePane2_0(this, buildCascadeHolder(), container);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ cascadePane.getControl().setLayoutData(gridData);
+
+ return container;
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmQueries2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmQueries2_0Composite.java
deleted file mode 100644
index e60271eb8d..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmQueries2_0Composite.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2009 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.QueryContainer;
-import org.eclipse.jpt.jpa.core.context.orm.EntityMappings;
-import org.eclipse.jpt.jpa.ui.internal.details.QueriesComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmQueriesComposite;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Queries2_0Composite;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * OrmQueries2_0Composite
- */
-public class OrmQueries2_0Composite extends OrmQueriesComposite {
-
- /**
- * Creates a new <code>OrmQueries2_0Composite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public OrmQueries2_0Composite(Pane<? extends EntityMappings> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- @Override
- protected QueriesComposite buildQueriesComposite(Composite container, PropertyValueModel<QueryContainer> queryContainerHolder) {
- return new Queries2_0Composite(this, queryContainerHolder, container);
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmVersionMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmVersionMapping2_0Composite.java
index 416aadd306..5b59374ed2 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmVersionMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmVersionMapping2_0Composite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -14,11 +14,15 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.AccessHolder;
import org.eclipse.jpt.jpa.core.context.VersionMapping;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractVersionMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
import org.eclipse.jpt.jpa.ui.internal.details.ColumnComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.JptUiDetailsOrmMessages;
+import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmMappingNameText;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
public class OrmVersionMapping2_0Composite
extends AbstractVersionMappingComposite<VersionMapping>
@@ -31,17 +35,32 @@ public class OrmVersionMapping2_0Composite
* @param widgetFactory The factory used to create various common widgets
*/
public OrmVersionMapping2_0Composite(PropertyValueModel<? extends VersionMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parent,
+ WidgetFactory widgetFactory) {
- super(subjectHolder, parent, widgetFactory);
+ super(subjectHolder, enabledModel, parent, widgetFactory);
}
@Override
- protected void initializeVersionSection(Composite container) {
- new ColumnComposite(this, buildColumnHolder(), container);
- new OrmMappingNameChooser(this, getSubjectHolder(), container);
- new AccessTypeComposite(this, buildAccessHolderHolder(), container);
+ protected Control initializeVersionSection(Composite container) {
+ container = this.addSubPane(container, 2, 0, 0, 0, 0);
+
+ // Column widgets
+ ColumnComposite columnComposite = new ColumnComposite(this, buildColumnHolder(), container);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ columnComposite.getControl().setLayoutData(gridData);
+
+ // Name widgets
+ this.addLabel(container, JptUiDetailsOrmMessages.OrmMappingNameChooser_name);
+ new OrmMappingNameText(this, getSubjectHolder(), container);
+
+ // Access type widgets
+ this.addLabel(container, JptUiMessages.AccessTypeComposite_access);
+ new AccessTypeComboViewer(this, this.buildAccessHolderHolder(), container);
+
+ return container;
}
protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/Generic2_0PersistenceXmlUiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/Generic2_0PersistenceXmlUiFactory.java
index a25815dedb..8fd80ef90c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/Generic2_0PersistenceXmlUiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/Generic2_0PersistenceXmlUiFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -18,12 +18,11 @@ import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
import org.eclipse.jpt.jpa.core.jpa2.context.persistence.PersistenceUnit2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.persistence.connection.JpaConnection2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.JpaOptions2_0;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.connection.GenericPersistenceUnit2_0ConnectionTab;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.options.GenericPersistenceUnit2_0OptionsTab;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.GenericPersistenceUnitGeneralComposite;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.PersistenceUnitPropertiesComposite;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.PersistenceXmlUiFactory;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
+import org.eclipse.jpt.jpa.ui.internal.persistence.GenericPersistenceUnitGeneralTab;
+import org.eclipse.jpt.jpa.ui.internal.persistence.GenericPersistenceXmlUiFactory;
+import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceUnitPropertiesTab;
+import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceXmlUiFactory;
import org.eclipse.swt.widgets.Composite;
/**
@@ -51,10 +50,10 @@ public class Generic2_0PersistenceXmlUiFactory implements PersistenceXmlUiFactor
PropertyValueModel<JpaOptions2_0> options2_0Holder =
this.buildJpaOptions2_0Holder(subjectHolder);
- pages.add(new GenericPersistenceUnitGeneralComposite(subjectHolder, parent, widgetFactory));
+ pages.add(new GenericPersistenceUnitGeneralTab(subjectHolder, parent, widgetFactory));
pages.add(new GenericPersistenceUnit2_0ConnectionTab(connection2_0Holder, parent, widgetFactory));
pages.add(new GenericPersistenceUnit2_0OptionsTab(options2_0Holder, parent, widgetFactory));
- pages.add(new PersistenceUnitPropertiesComposite(subjectHolder, parent, widgetFactory));
+ pages.add(new PersistenceUnitPropertiesTab(subjectHolder, parent, widgetFactory));
return pages.listIterator();
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/GenericPersistenceUnit2_0ConnectionTab.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/GenericPersistenceUnit2_0ConnectionTab.java
new file mode 100644
index 0000000000..99412dd532
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/GenericPersistenceUnit2_0ConnectionTab.java
@@ -0,0 +1,271 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2012 Oracle. 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
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence;
+
+import java.util.Collection;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
+import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitTransactionType;
+import org.eclipse.jpt.jpa.core.jpa2.context.persistence.connection.JpaConnection2_0;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
+import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Group;
+
+/**
+ * GenericPersistenceUnit2_0ConnectionTab
+ */
+public class GenericPersistenceUnit2_0ConnectionTab extends Pane<JpaConnection2_0>
+ implements JpaPageComposite
+{
+ // ********** constructors/initialization **********
+ /**
+ * Creates a new <code>GenericPersistenceUnit2_0ConnectionTab</code>.
+ *
+ * @param subjectHolder The holder of this pane's subject
+ * @param parent The parent container
+ * @param widgetFactory The factory used to create various common widgets
+ */
+ public GenericPersistenceUnit2_0ConnectionTab(
+ PropertyValueModel<JpaConnection2_0> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ container = this.addSection(
+ container,
+ JptUiPersistence2_0Messages.GenericPersistenceUnit2_0ConnectionComposite_sectionTitle,
+ JptUiPersistence2_0Messages.GenericPersistenceUnit2_0ConnectionComposite_sectionDescription
+ );
+ container.setLayout(new GridLayout(2, false));
+
+ this.addLabel(container, JptUiPersistence2_0Messages.TransactionTypeComposite_transactionTypeLabel);
+ this.buildTransactionTypeCombo(container);
+
+ //Connection properties
+ Group group = this.addTitledGroup(
+ container,
+ JptUiPersistence2_0Messages.ConnectionPropertiesComposite_Database_GroupBox
+ );
+ group.setLayout(new GridLayout(2, false));
+
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ group.setLayoutData(gridData);
+
+ // JTA Data Source
+ PropertyValueModel<Boolean> jtaEnabled = this.buildJTADataSourceHolder();
+ this.addLabel(group, JptUiPersistence2_0Messages.DataSourcePropertiesComposite_jtaDataSourceLabel, jtaEnabled);
+ this.addText(group, this.buildJtaDataSourceHolder(), JpaHelpContextIds.PERSISTENCE_XML_CONNECTION, jtaEnabled);
+
+ // Non-JTA Data Source
+ PropertyValueModel<Boolean> nonJTAEnabled = this.buildNonJTADataSourceHolder();
+ this.addLabel(group, JptUiPersistence2_0Messages.DataSourcePropertiesComposite_nonJtaDataSourceLabel, nonJTAEnabled);
+ this.addText(group, this.buildNonJtaDataSourceHolder(), JpaHelpContextIds.PERSISTENCE_XML_CONNECTION, nonJTAEnabled);
+
+
+ Group jdbcConnectionPropertiesGroup = this.addTitledGroup(
+ group,
+ JptUiPersistence2_0Messages.JdbcPropertiesComposite_JdbcConnectionProperties_GroupBox
+ );
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ jdbcConnectionPropertiesGroup.setLayoutData(gridData);
+
+ new JdbcConnectionPropertiesComposite(this, jdbcConnectionPropertiesGroup, buildJdbcConnectionPropertiesPaneEnbaledModel());
+ }
+
+ private PropertyValueModel<Boolean> buildJdbcConnectionPropertiesPaneEnbaledModel() {
+ return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
+ @Override
+ protected Boolean transform(PersistenceUnitTransactionType value) {
+ return value == PersistenceUnitTransactionType.RESOURCE_LOCAL;
+ }
+ };
+ }
+
+
+ // ********** JpaPageComposite implementation **********
+
+ public String getHelpID() {
+ return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION; // TODO - Review for JPA 2.0
+ }
+
+ public ImageDescriptor getPageImageDescriptor() {
+ return null;
+ }
+
+ public String getPageText() {
+ return JptUiPersistence2_0Messages.GenericPersistenceUnit2_0ConnectionTab_title;
+ }
+
+
+ // ********** transaction type **********
+ private EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType> buildTransactionTypeCombo(Composite container) {
+
+ return new EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType>(this,
+ this.buildPersistenceUnitHolder(),
+ container) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY);
+ propertyNames.add(PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY);
+ }
+
+ @Override
+ protected PersistenceUnitTransactionType[] getChoices() {
+ return PersistenceUnitTransactionType.values();
+ }
+
+ @Override
+ protected PersistenceUnitTransactionType getDefaultValue() {
+ return this.getSubject().getDefaultTransactionType();
+ }
+
+ @Override
+ protected String displayString(PersistenceUnitTransactionType value) {
+ switch (value) {
+ case JTA :
+ return JptUiPersistence2_0Messages.TransactionTypeComposite_jta;
+ case RESOURCE_LOCAL :
+ return JptUiPersistence2_0Messages.TransactionTypeComposite_resource_local;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected PersistenceUnitTransactionType getValue() {
+ return this.getSubject().getSpecifiedTransactionType();
+ }
+
+ @Override
+ protected void setValue(PersistenceUnitTransactionType value) {
+ this.getSubject().setSpecifiedTransactionType(value);
+
+ if (value == PersistenceUnitTransactionType.RESOURCE_LOCAL) {
+ clearJTAProperties();
+ }
+ else {
+ clearResourceLocalProperties();
+ }
+ }
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION; // TODO - Review for JPA 2.0
+ }
+ };
+ }
+
+ private PropertyValueModel<PersistenceUnit> buildPersistenceUnitHolder() {
+ return new PropertyAspectAdapter<JpaConnection2_0, PersistenceUnit>(this.getSubjectHolder()) {
+ @Override
+ protected PersistenceUnit buildValue_() {
+ return this.subject.getPersistenceUnit();
+ }
+ };
+ }
+
+ private void clearJTAProperties() {
+ this.getSubject().getPersistenceUnit().setJtaDataSource(null);
+ }
+
+ private void clearResourceLocalProperties() {
+ JpaConnection2_0 connection = this.getSubject();
+ connection.getPersistenceUnit().setNonJtaDataSource(null);
+ connection.setDriver(null);
+ connection.setUrl(null);
+ connection.setUser(null);
+ connection.setPassword(null);
+ }
+
+
+ private ModifiablePropertyValueModel<String> buildJtaDataSourceHolder() {
+ return new PropertyAspectAdapter<PersistenceUnit, String>(this.buildPersistenceUnitHolder(), PersistenceUnit.JTA_DATA_SOURCE_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return this.subject.getJtaDataSource();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (value.length() == 0) {
+ value = null;
+ }
+ this.subject.setJtaDataSource(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildJTADataSourceHolder() {
+ return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
+ @Override
+ protected Boolean transform(PersistenceUnitTransactionType value) {
+ return Boolean.valueOf(this.transform2(value));
+ }
+ private boolean transform2(PersistenceUnitTransactionType value) {
+ return value == null || value == PersistenceUnitTransactionType.JTA;
+ }
+ };
+ }
+
+ private ModifiablePropertyValueModel<String> buildNonJtaDataSourceHolder() {
+ return new PropertyAspectAdapter<PersistenceUnit, String>(buildPersistenceUnitHolder(), PersistenceUnit.NON_JTA_DATA_SOURCE_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return this.subject.getNonJtaDataSource();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (value.length() == 0) {
+ value = null;
+ }
+ this.subject.setNonJtaDataSource(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildNonJTADataSourceHolder() {
+ return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
+ @Override
+ protected Boolean transform(PersistenceUnitTransactionType value) {
+ return Boolean.valueOf(value == PersistenceUnitTransactionType.RESOURCE_LOCAL);
+ }
+ };
+ }
+
+ private PropertyValueModel<PersistenceUnitTransactionType> buildTransactionTypeHolder() {
+ return new PropertyAspectAdapter<PersistenceUnit, PersistenceUnitTransactionType>(
+ buildPersistenceUnitHolder(),
+ PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY,
+ PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY) {
+ @Override
+ protected PersistenceUnitTransactionType buildValue_() {
+ return this.subject.getTransactionType();
+ }
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/GenericPersistenceUnit2_0OptionsTab.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/GenericPersistenceUnit2_0OptionsTab.java
new file mode 100644
index 0000000000..855e5071ea
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/GenericPersistenceUnit2_0OptionsTab.java
@@ -0,0 +1,549 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2012 Oracle. 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
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence;
+
+import java.util.Collection;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.IType;
+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.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.window.Window;
+import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
+import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
+import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
+import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.jpa2.context.persistence.PersistenceUnit2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.JpaOptions2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.SharedCacheMode;
+import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.ValidationMode;
+import org.eclipse.jpt.jpa.ui.JptJpaUiPlugin;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.dialogs.SelectionDialog;
+import org.eclipse.ui.progress.IProgressService;
+
+/**
+ * GenericPersistenceUnit2_0OptionsTab
+ */
+public class GenericPersistenceUnit2_0OptionsTab extends Pane<JpaOptions2_0>
+ implements JpaPageComposite
+{
+ // ********** constructors/initialization **********
+ /**
+ * Creates a new <code>GenericPersistenceUnit2_0OptionsTab</code>.
+ *
+ * @param subjectHolder The holder of this pane's subject
+ * @param parent The parent container
+ * @param widgetFactory The factory used to create various common widgets
+ */
+ public GenericPersistenceUnit2_0OptionsTab(
+ PropertyValueModel<JpaOptions2_0> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ @Override
+ protected void initializeLayout(Composite parent) {
+ Composite composite = this.addSection(parent,
+ JptUiPersistence2_0Messages.GenericPersistenceUnit2_0OptionsComposite_miscellaneousSectionTitle,
+ JptUiPersistence2_0Messages.GenericPersistenceUnit2_0OptionsComposite_miscellaneousSectionDescription);
+ composite.setLayout(new GridLayout(2, false));
+
+ this.addLabel(composite, JptUiPersistence2_0Messages.LockingConfigurationComposite_lockTimeoutLabel);
+ this.addLockTimeoutCombo(composite);
+
+ this.addLabel(composite, JptUiPersistence2_0Messages.QueryConfigurationComposite_queryTimeoutLabel);
+ this.addQueryTimeoutCombo(composite);
+
+ // SharedCacheMode
+ this.addLabel(composite, JptUiPersistence2_0Messages.SharedCacheModeComposite_sharedCacheModeLabel);
+ this.addSharedCacheModeCombo(composite, this.buildPersistenceUnit2_0Holder());
+
+ // ValidationMode
+ this.addLabel(composite, JptUiPersistence2_0Messages.ValidationModeComposite_validationModeLabel);
+ this.addValidationModeCombo(composite, this.buildPersistenceUnit2_0Holder());
+
+ // ValidationGroupPrePersist
+ this.addLabel(composite, JptUiPersistence2_0Messages.ValidationConfigurationComposite_groupPrePersistLabel);
+ this.addPrePersistListPane(composite);
+
+ // ValidationGroupPreUpdate
+ this.addLabel(composite, JptUiPersistence2_0Messages.ValidationConfigurationComposite_groupPreUpdateLabel);
+ this.addPreUpdateListPane(composite);
+
+ // ValidationGroupPreRemove
+ this.addLabel(composite, JptUiPersistence2_0Messages.ValidationConfigurationComposite_groupPreRemoveLabel);
+ this.addPreRemoveListPane(composite);
+ }
+
+ // ********** JpaPageComposite implementation **********
+
+ public String getHelpID() {
+ return null; // TODO - Review for JPA 2.0
+ }
+
+ public ImageDescriptor getPageImageDescriptor() {
+ return null;
+ }
+
+ public String getPageText() {
+ return JptUiPersistence2_0Messages.GenericPersistenceUnit2_0OptionsTab_title;
+ }
+
+
+ //************ lock timeout **********
+
+ private void addLockTimeoutCombo(Composite parent) {
+ new IntegerCombo<JpaOptions2_0>(this, parent) {
+ @Override
+ protected String getHelpId() {
+ return null; // TODO
+ }
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<JpaOptions2_0, Integer>(getSubjectHolder()) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getDefaultLockTimeout();
+ }
+ };
+ }
+
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<JpaOptions2_0, Integer>(getSubjectHolder(), JpaOptions2_0.LOCK_TIMEOUT_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getLockTimeout();
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ this.subject.setLockTimeout(value);
+ }
+ };
+ }
+ };
+ }
+
+
+ //************ query timeout **********
+
+ private void addQueryTimeoutCombo(Composite parent) {
+ new IntegerCombo<JpaOptions2_0>(this, parent) {
+ @Override
+ protected String getHelpId() {
+ return null; // TODO
+ }
+ @Override
+ protected PropertyValueModel<Integer> buildDefaultHolder() {
+ return new PropertyAspectAdapter<JpaOptions2_0, Integer>(getSubjectHolder()) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getDefaultQueryTimeout();
+ }
+ };
+ }
+
+ @Override
+ protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
+ return new PropertyAspectAdapter<JpaOptions2_0, Integer>(getSubjectHolder(), JpaOptions2_0.QUERY_TIMEOUT_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getQueryTimeout();
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ this.subject.setQueryTimeout(value);
+ }
+ };
+ }
+ };
+ }
+
+ //************ validation configuration **********
+ // ********** ValidationGroupPrePersists **********
+
+ private void addPrePersistListPane(Composite parent) {
+ new AddRemoveListPane<JpaOptions2_0, String>(
+ this,
+ parent,
+ this.buildPrePersistAdapter(),
+ this.buildPrePersistListHolder(),
+ this.buildSelectedItemsModel(),
+ this.buildLabelProvider()
+ );
+ }
+
+ private Adapter<String> buildPrePersistAdapter() {
+ return new AddRemoveListPane.AbstractAdapter<String>() {
+ public String addNewItem() {
+ return addPrePersistClass();
+ }
+
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<String> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
+
+ public void removeSelectedItems(CollectionValueModel<String> selectedItemsModel) {
+ String item = selectedItemsModel.iterator().next();
+ getSubject().removeValidationGroupPrePersist(item);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildPrePersistListHolder() {
+ return new ListAspectAdapter<JpaOptions2_0, String>(getSubjectHolder(), JpaOptions2_0.VALIDATION_GROUP_PRE_PERSIST_LIST) {
+ @Override
+ protected ListIterable<String> getListIterable() {
+ return subject.getValidationGroupPrePersists();
+ }
+
+ @Override
+ protected int size_() {
+ return subject.getValidationGroupPrePersistsSize();
+ }
+ };
+ }
+
+ private String addPrePersistClass() {
+
+ IType type = this.chooseType();
+
+ if (type != null) {
+ String className = type.getFullyQualifiedName('$');
+ if( ! this.getSubject().validationGroupPrePersistExists(className)) {
+
+ return this.getSubject().addValidationGroupPrePersist(className);
+ }
+ }
+ return null;
+ }
+
+ // ********** ValidationGroupPreUpdates **********
+
+ private void addPreUpdateListPane(Composite parent) {
+ new AddRemoveListPane<JpaOptions2_0, String>(
+ this,
+ parent,
+ this.buildPreUpdateAdapter(),
+ this.buildPreUpdateListHolder(),
+ this.buildSelectedItemsModel(),
+ this.buildLabelProvider()
+ );
+ }
+
+ private Adapter<String> buildPreUpdateAdapter() {
+ return new AddRemoveListPane.AbstractAdapter<String>() {
+ public String addNewItem() {
+ return addPreUpdateClass();
+ }
+
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<String> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
+
+ public void removeSelectedItems(CollectionValueModel<String> selectedItemsModel) {
+ String item = selectedItemsModel.iterator().next();
+ getSubject().removeValidationGroupPreUpdate(item);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildPreUpdateListHolder() {
+ return new ListAspectAdapter<JpaOptions2_0, String>(getSubjectHolder(), JpaOptions2_0.VALIDATION_GROUP_PRE_UPDATE_LIST) {
+ @Override
+ protected ListIterable<String> getListIterable() {
+ return subject.getValidationGroupPreUpdates();
+ }
+
+ @Override
+ protected int size_() {
+ return subject.getValidationGroupPreUpdatesSize();
+ }
+ };
+ }
+
+ private String addPreUpdateClass() {
+
+ IType type = this.chooseType();
+
+ if (type != null) {
+ String className = type.getFullyQualifiedName('$');
+ if( ! this.getSubject().validationGroupPreUpdateExists(className)) {
+
+ return this.getSubject().addValidationGroupPreUpdate(className);
+ }
+ }
+ return null;
+ }
+
+ // ********** ValidationGroupPreRemoves **********
+
+ private void addPreRemoveListPane(Composite parent) {
+ new AddRemoveListPane<JpaOptions2_0, String>(
+ this,
+ parent,
+ this.buildPreRemoveAdapter(),
+ this.buildPreRemoveListHolder(),
+ this.buildSelectedItemsModel(),
+ this.buildLabelProvider()
+ );
+ }
+
+ private Adapter<String> buildPreRemoveAdapter() {
+ return new AddRemoveListPane.AbstractAdapter<String>() {
+ public String addNewItem() {
+ return addPreRemoveClass();
+ }
+
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<String> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
+
+ public void removeSelectedItems(CollectionValueModel<String> selectedItemsModel) {
+ String item = selectedItemsModel.iterator().next();
+ getSubject().removeValidationGroupPreRemove(item);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildPreRemoveListHolder() {
+ return new ListAspectAdapter<JpaOptions2_0, String>(getSubjectHolder(), JpaOptions2_0.VALIDATION_GROUP_PRE_REMOVE_LIST) {
+ @Override
+ protected ListIterable<String> getListIterable() {
+ return subject.getValidationGroupPreRemoves();
+ }
+
+ @Override
+ protected int size_() {
+ return subject.getValidationGroupPreRemovesSize();
+ }
+ };
+ }
+
+ private String addPreRemoveClass() {
+ IType type = this.chooseType();
+
+ if (type != null) {
+ String className = type.getFullyQualifiedName('$');
+ if( ! this.getSubject().validationGroupPreRemoveExists(className)) {
+
+ return this.getSubject().addValidationGroupPreRemove(className);
+ }
+ }
+ return null;
+ }
+
+
+ // ********** Private methods **********
+
+ private PropertyValueModel<PersistenceUnit2_0> buildPersistenceUnit2_0Holder() {
+ return new PropertyAspectAdapter<JpaOptions2_0, PersistenceUnit2_0>(this.getSubjectHolder()) {
+ @Override
+ protected PersistenceUnit2_0 buildValue_() {
+ return (PersistenceUnit2_0) this.subject.getPersistenceUnit();
+ }
+ };
+ }
+
+ private ILabelProvider buildLabelProvider() {
+ return new LabelProvider() {
+
+ @Override
+ public String getText(Object element) {
+ String name = (String) element;
+
+ if (name == null) {
+ name = JptUiPersistence2_0Messages.GenericPersistenceUnit2_0OptionsTab_noName;
+ }
+ return name;
+ }
+ };
+ }
+
+ /**
+ * Prompts the user the Open Type dialog.
+ *
+ * @return Either the selected type or <code>null</code> if the user
+ * canceled the dialog
+ */
+ private IType chooseType() {
+ IJavaProject javaProject = this.getSubject().getJpaProject().getJavaProject();
+ IJavaElement[] elements = new IJavaElement[] { javaProject };
+ IJavaSearchScope scope = SearchEngine.createJavaSearchScope(elements);
+ IProgressService service = PlatformUI.getWorkbench().getProgressService();
+ SelectionDialog typeSelectionDialog;
+
+ try {
+ typeSelectionDialog = JavaUI.createTypeDialog(
+ getShell(),
+ service,
+ scope,
+ IJavaElementSearchConstants.CONSIDER_CLASSES,
+ false,
+ ""
+ );
+ }
+ catch (JavaModelException e) {
+ JptJpaUiPlugin.log(e);
+ return null;
+ }
+
+ typeSelectionDialog.setTitle(JptCommonUiMessages.ClassChooserPane_dialogTitle);
+ typeSelectionDialog.setMessage(JptCommonUiMessages.ClassChooserPane_dialogMessage);
+
+ if (typeSelectionDialog.open() == Window.OK) {
+ return (IType) typeSelectionDialog.getResult()[0];
+ }
+
+ return null;
+ }
+
+ private ModifiableCollectionValueModel<String> buildSelectedItemsModel() {
+ return new SimpleCollectionValueModel<String>();
+ }
+
+ //********* shared cache mode ***********
+
+ private EnumFormComboViewer<PersistenceUnit2_0, SharedCacheMode> addSharedCacheModeCombo(Composite parent, PropertyValueModel<? extends PersistenceUnit2_0> subjectHolder) {
+ return new EnumFormComboViewer<PersistenceUnit2_0, SharedCacheMode>(this, subjectHolder, parent) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(PersistenceUnit2_0.SPECIFIED_SHARED_CACHE_MODE_PROPERTY);
+ }
+
+ @Override
+ protected SharedCacheMode[] getChoices() {
+ return SharedCacheMode.values();
+ }
+
+ @Override
+ protected boolean sortChoices() {
+ return false;
+ }
+
+ @Override
+ protected SharedCacheMode getDefaultValue() {
+ return this.getSubject().getDefaultSharedCacheMode();
+ }
+
+ @Override
+ protected String displayString(SharedCacheMode value) {
+ switch (value) {
+ case ALL :
+ return JptUiPersistence2_0Messages.SharedCacheModeComposite_all;
+ case DISABLE_SELECTIVE :
+ return JptUiPersistence2_0Messages.SharedCacheModeComposite_disable_selective;
+ case ENABLE_SELECTIVE :
+ return JptUiPersistence2_0Messages.SharedCacheModeComposite_enable_selective;
+ case NONE :
+ return JptUiPersistence2_0Messages.SharedCacheModeComposite_none;
+ case UNSPECIFIED :
+ return JptUiPersistence2_0Messages.SharedCacheModeComposite_unspecified;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected SharedCacheMode getValue() {
+ return this.getSubject().getSpecifiedSharedCacheMode();
+ }
+
+ @Override
+ protected void setValue(SharedCacheMode value) {
+ this.getSubject().setSpecifiedSharedCacheMode(value);
+ }
+ };
+ }
+
+ //********* validation mode ***********
+
+ private EnumFormComboViewer<PersistenceUnit2_0, ValidationMode> addValidationModeCombo(Composite parent, PropertyValueModel<? extends PersistenceUnit2_0> subjectHolder) {
+ return new EnumFormComboViewer<PersistenceUnit2_0, ValidationMode>(this, subjectHolder, parent) {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(PersistenceUnit2_0.SPECIFIED_VALIDATION_MODE_PROPERTY);
+ }
+
+ @Override
+ protected ValidationMode[] getChoices() {
+ return ValidationMode.values();
+ }
+
+ @Override
+ protected boolean sortChoices() {
+ return false;
+ }
+
+ @Override
+ protected ValidationMode getDefaultValue() {
+ return this.getSubject().getDefaultValidationMode();
+ }
+
+ @Override
+ protected String displayString(ValidationMode value) {
+ switch (value) {
+ case AUTO :
+ return JptUiPersistence2_0Messages.ValidationModeComposite_auto;
+ case CALLBACK :
+ return JptUiPersistence2_0Messages.ValidationModeComposite_callback;
+ case NONE :
+ return JptUiPersistence2_0Messages.ValidationModeComposite_none;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected ValidationMode getValue() {
+ return this.getSubject().getSpecifiedValidationMode();
+ }
+
+ @Override
+ protected void setValue(ValidationMode value) {
+ this.getSubject().setSpecifiedValidationMode(value);
+ }
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/JdbcConnectionPropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/JdbcConnectionPropertiesComposite.java
index eadafc75d0..b8d0c4a7fa 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/JdbcConnectionPropertiesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/JdbcConnectionPropertiesComposite.java
@@ -7,7 +7,7 @@
* Contributors:
* Oracle - initial API and implementation
*******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.connection;
+package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence;
import java.util.Comparator;
@@ -15,25 +15,29 @@ 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.jdt.core.IJavaProject;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.StringTools;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.jpa2.context.persistence.connection.JpaConnection2_0;
import org.eclipse.jpt.jpa.db.ConnectionProfile;
import org.eclipse.jpt.jpa.db.ConnectionProfileFactory;
import org.eclipse.jpt.jpa.db.JptJpaDbPlugin;
import org.eclipse.jpt.jpa.ui.JptJpaUiPlugin;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.dialogs.FilteredItemsSelectionDialog;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* JdbcConnectionPropertiesComposite
@@ -46,9 +50,9 @@ public class JdbcConnectionPropertiesComposite extends Pane<JpaConnection2_0>
*/
private static final String DIALOG_SETTINGS = "org.eclipse.jpt.jpa.ui.internal.jpa2.dialogs.ConnectionDialog";
- public JdbcConnectionPropertiesComposite(Pane<JpaConnection2_0> parentComposite, Composite parent) {
+ public JdbcConnectionPropertiesComposite(Pane<JpaConnection2_0> parentComposite, Composite parent, PropertyValueModel<Boolean> enabledModel) {
- super(parentComposite, parent);
+ super(parentComposite, parent, enabledModel);
}
private ModifiablePropertyValueModel<String> buildPasswordHolder() {
@@ -111,38 +115,38 @@ public class JdbcConnectionPropertiesComposite extends Pane<JpaConnection2_0>
}
@Override
- protected void initializeLayout(Composite container) {
+ protected Composite addComposite(Composite parent) {
+ return this.addSubPane(parent, 2, 0, 0, 0, 0); //2 columns
+ }
+ @Override
+ protected void initializeLayout(Composite container) {
// Populate from Connection hyperlink
- this.addHyperlink(
+ Hyperlink hyperLink = this.addHyperlink(
container,
JptUiPersistence2_0Messages.JdbcConnectionPropertiesComposite_populateFromConnectionHyperLink,
this.buildPopulateFromConnectionAction()
);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 2;
+ hyperLink.setLayoutData(gridData);
+
// Driver
- new JdbcDriverComposite(this, container);
+ this.addLabel(container, JptUiPersistence2_0Messages.JdbcConnectionPropertiesComposite_driverLabel);
+ this.initializeJdbcDriverClassChooser(container);
// Url
- this.addLabeledText(
- container,
- JptUiPersistence2_0Messages.JdbcConnectionPropertiesComposite_urlLabel,
- this.buildUrlHolder()
- );
+ this.addLabel(container, JptUiPersistence2_0Messages.JdbcConnectionPropertiesComposite_urlLabel);
+ this.addText(container, this.buildUrlHolder());
// User
- this.addLabeledText(
- container,
- JptUiPersistence2_0Messages.JdbcConnectionPropertiesComposite_userLabel,
- this.buildUserHolder()
- );
+ this.addLabel(container, JptUiPersistence2_0Messages.JdbcConnectionPropertiesComposite_userLabel);
+ this.addText(container, this.buildUserHolder());
// Password
- this.addLabeledPasswordText(
- container,
- JptUiPersistence2_0Messages.JdbcConnectionPropertiesComposite_passwordLabel,
- this.buildPasswordHolder()
- );
+ this.addLabel(container, JptUiPersistence2_0Messages.JdbcConnectionPropertiesComposite_passwordLabel);
+ this.addPasswordText(container, this.buildPasswordHolder());
}
void promptConnection() {
@@ -176,6 +180,46 @@ public class JdbcConnectionPropertiesComposite extends Pane<JpaConnection2_0>
return this.getShell();
}
+ private ClassChooserPane<JpaConnection2_0> initializeJdbcDriverClassChooser(Composite container) {
+
+ return new ClassChooserPane<JpaConnection2_0>(this, container) {
+
+ @Override
+ protected ModifiablePropertyValueModel<String> buildTextHolder() {
+ return new PropertyAspectAdapter<JpaConnection2_0, String>(
+ this.getSubjectHolder(), JpaConnection2_0.DRIVER_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return this.subject.getDriver();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+
+ if (value.length() == 0) {
+ value = null;
+ }
+ this.subject.setDriver(value);
+ }
+ };
+ }
+
+ @Override
+ protected String getClassName() {
+ return this.getSubject().getDriver();
+ }
+
+ @Override
+ protected IJavaProject getJavaProject() {
+ return getSubject().getJpaProject().getJavaProject();
+ }
+
+ @Override
+ protected void setClassName(String className) {
+ this.getSubject().setDriver(className);
+ }
+ };
+ }
/**
* This dialog shows the list of possible connection names and lets the user
* the option to filter them using a search field.
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/PersistenceXml2_0UiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/PersistenceXml2_0UiDefinition.java
index d40763d589..e51da28c41 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/PersistenceXml2_0UiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/PersistenceXml2_0UiDefinition.java
@@ -13,9 +13,9 @@ import org.eclipse.jpt.common.core.JptResourceType;
import org.eclipse.jpt.common.ui.jface.ItemTreeStateProviderFactoryProvider;
import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
import org.eclipse.jpt.jpa.ui.ResourceUiDefinition;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.AbstractPersistenceXmlResourceUiDefinition;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.PersistenceXmlUiDefinition;
-import org.eclipse.jpt.jpa.ui.internal.persistence.details.PersistenceXmlUiFactory;
+import org.eclipse.jpt.jpa.ui.internal.persistence.AbstractPersistenceXmlResourceUiDefinition;
+import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceXmlUiDefinition;
+import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceXmlUiFactory;
public class PersistenceXml2_0UiDefinition
extends AbstractPersistenceXmlResourceUiDefinition
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/ConnectionPropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/ConnectionPropertiesComposite.java
deleted file mode 100644
index 4e37630532..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/ConnectionPropertiesComposite.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2009, 2010 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.connection.JpaConnection2_0;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * ConnectionPropertiesComposite
- */
-public class ConnectionPropertiesComposite extends Pane<JpaConnection2_0>
-{
- public ConnectionPropertiesComposite(Pane<JpaConnection2_0> parentComposite, Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- container = addTitledGroup(
- container,
- JptUiPersistence2_0Messages.ConnectionPropertiesComposite_Database_GroupBox
- );
-
- new DataSourcePropertiesComposite(this, container);
- new JdbcPropertiesComposite(this, container);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/DataSourcePropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/DataSourcePropertiesComposite.java
deleted file mode 100644
index 7f1e38433a..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/DataSourcePropertiesComposite.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2009, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitTransactionType;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.connection.JpaConnection2_0;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * DataSourcePropertiesComposite
- */
-public class DataSourcePropertiesComposite extends Pane<JpaConnection2_0>
-{
- /**
- * Creates a new <code>DataSourcePropertiesComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public DataSourcePropertiesComposite(Pane<JpaConnection2_0> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- private ModifiablePropertyValueModel<String> buildJtaDataSourceHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, String>(this.buildPersistenceUnitHolder(), PersistenceUnit.JTA_DATA_SOURCE_PROPERTY) {
- @Override
- protected String buildValue_() {
- return this.subject.getJtaDataSource();
- }
-
- @Override
- protected void setValue_(String value) {
- if (value.length() == 0) {
- value = null;
- }
- this.subject.setJtaDataSource(value);
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildJTADataSourceHolder() {
- return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
- @Override
- protected Boolean transform(PersistenceUnitTransactionType value) {
- return Boolean.valueOf(this.transform2(value));
- }
- private boolean transform2(PersistenceUnitTransactionType value) {
- return value == null || value == PersistenceUnitTransactionType.JTA;
- }
- };
- }
-
- private ModifiablePropertyValueModel<String> buildNonJtaDataSourceHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, String>(buildPersistenceUnitHolder(), PersistenceUnit.NON_JTA_DATA_SOURCE_PROPERTY) {
- @Override
- protected String buildValue_() {
- return this.subject.getNonJtaDataSource();
- }
-
- @Override
- protected void setValue_(String value) {
- if (value.length() == 0) {
- value = null;
- }
- this.subject.setNonJtaDataSource(value);
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildNonJTADataSourceHolder() {
- return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
- @Override
- protected Boolean transform(PersistenceUnitTransactionType value) {
- return Boolean.valueOf(value == PersistenceUnitTransactionType.RESOURCE_LOCAL);
- }
- };
- }
-
- private PropertyValueModel<PersistenceUnitTransactionType> buildTransactionTypeHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, PersistenceUnitTransactionType>(
- buildPersistenceUnitHolder(),
- PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY,
- PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY) {
- @Override
- protected PersistenceUnitTransactionType buildValue_() {
- return this.subject.getTransactionType();
- }
- };
- }
-
- private PropertyValueModel<PersistenceUnit> buildPersistenceUnitHolder() {
- return new PropertyAspectAdapter<JpaConnection2_0, PersistenceUnit>(getSubjectHolder()) {
- @Override
- protected PersistenceUnit buildValue_() {
- return this.subject.getPersistenceUnit();
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- int groupBoxMargin = this.getGroupBoxMargin();
-
- container = this.addSubPane(container, 0, groupBoxMargin, 0, groupBoxMargin);
-
- // JTA Data Source
- PropertyValueModel<Boolean> jtaEnabled = this.buildJTADataSourceHolder();
- Label jtaLabel = this.addLabel(container, JptUiPersistence2_0Messages.DataSourcePropertiesComposite_jtaDataSourceLabel, jtaEnabled);
- Text jtaText = this.addText(container, this.buildJtaDataSourceHolder(), this.getHelpID(), jtaEnabled);
- this.addLabeledComposite(container, jtaLabel, jtaText, this.getHelpID());
-
- // Non-JTA Data Source
- PropertyValueModel<Boolean> nonJTAEnabled = this.buildNonJTADataSourceHolder();
- Label nonJtaLabel = this.addLabel(container, JptUiPersistence2_0Messages.DataSourcePropertiesComposite_nonJtaDataSourceLabel, nonJTAEnabled);
- Text nonJtaText = this.addText(container, this.buildNonJtaDataSourceHolder(), this.getHelpID(), nonJTAEnabled);
- this.addLabeledComposite(container, nonJtaLabel, nonJtaText, this.getHelpID());
- }
-
- public String getHelpID() {
- return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION; // TODO - Review for JPA 2.0
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/GenericPersistenceUnit2_0ConnectionComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/GenericPersistenceUnit2_0ConnectionComposite.java
deleted file mode 100644
index 52ee14de9d..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/GenericPersistenceUnit2_0ConnectionComposite.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.connection.JpaConnection2_0;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * GenericPersistenceUnit2_0ConnectionComposite
- */
-public class GenericPersistenceUnit2_0ConnectionComposite extends Pane<JpaConnection2_0>
-{
- public GenericPersistenceUnit2_0ConnectionComposite(
- Pane<JpaConnection2_0> subjectHolder,
- Composite container) {
- super(subjectHolder, container, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- int groupBoxMargin = this.getGroupBoxMargin() * 2;
-
- container = this.addSection(
- container,
- JptUiPersistence2_0Messages.GenericPersistenceUnit2_0ConnectionComposite_sectionTitle,
- JptUiPersistence2_0Messages.GenericPersistenceUnit2_0ConnectionComposite_sectionDescription
- );
-
- Composite subPane = this.addSubPane(
- container,
- 0, groupBoxMargin, 10, groupBoxMargin
- );
-
- new TransactionTypeComposite(this, subPane);
-
- new ConnectionPropertiesComposite(this, container);
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/GenericPersistenceUnit2_0ConnectionTab.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/GenericPersistenceUnit2_0ConnectionTab.java
deleted file mode 100644
index a90d91c496..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/GenericPersistenceUnit2_0ConnectionTab.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.connection;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.connection.JpaConnection2_0;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * GenericPersistenceUnit2_0ConnectionTab
- */
-public class GenericPersistenceUnit2_0ConnectionTab extends Pane<JpaConnection2_0>
- implements JpaPageComposite
-{
- // ********** constructors/initialization **********
- /**
- * Creates a new <code>GenericPersistenceUnit2_0ConnectionTab</code>.
- *
- * @param subjectHolder The holder of this pane's subject
- * @param parent The parent container
- * @param widgetFactory The factory used to create various common widgets
- */
- public GenericPersistenceUnit2_0ConnectionTab(
- PropertyValueModel<JpaConnection2_0> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- new GenericPersistenceUnit2_0ConnectionComposite(this, container);
- }
-
- // ********** Layout **********
- @Override
- protected Composite addContainer(Composite parent) {
- GridLayout layout = new GridLayout(1, true);
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- layout.marginTop = 0;
- layout.marginLeft = 0;
- layout.marginBottom = 0;
- layout.marginRight = 0;
- layout.verticalSpacing = 15;
- Composite container = this.addPane(parent, layout);
- updateGridData(container);
- return container;
- }
-
- private void updateGridData(Composite container) {
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
- }
-
- // ********** JpaPageComposite implementation **********
-
- public String getHelpID() {
- return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION; // TODO - Review for JPA 2.0
- }
-
- public ImageDescriptor getPageImageDescriptor() {
- return null;
- }
-
- public String getPageText() {
- return JptUiPersistence2_0Messages.GenericPersistenceUnit2_0ConnectionTab_title;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/JdbcDriverComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/JdbcDriverComposite.java
deleted file mode 100644
index 6297c73ed0..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/JdbcDriverComposite.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2009, 2012 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.connection;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.connection.JpaConnection2_0;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * JdbcDriverComposite
- */
-public class JdbcDriverComposite extends Pane<JpaConnection2_0>
-{
- /**
- * Creates a new <code>JdbcDriverComposite</code>.
- *
- * @param parentPane The parent pane of this one
- * @param parent The parent container
- */
- public JdbcDriverComposite(Pane<? extends JpaConnection2_0> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- private ClassChooserPane<JpaConnection2_0> initializeClassChooser(Composite container) {
-
- return new ClassChooserPane<JpaConnection2_0>(this, container) {
-
- @Override
- protected ModifiablePropertyValueModel<String> buildTextHolder() {
- return new PropertyAspectAdapter<JpaConnection2_0, String>(
- this.getSubjectHolder(), JpaConnection2_0.DRIVER_PROPERTY) {
- @Override
- protected String buildValue_() {
- return this.subject.getDriver();
- }
-
- @Override
- protected void setValue_(String value) {
-
- if (value.length() == 0) {
- value = null;
- }
- this.subject.setDriver(value);
- }
- };
- }
-
- @Override
- protected String getClassName() {
- return this.getSubject().getDriver();
- }
-
- @Override
- protected String getLabelText() {
- return JptUiPersistence2_0Messages.JdbcConnectionPropertiesComposite_driverLabel;
- }
-
- @Override
- protected IJavaProject getJavaProject() {
- return getSubject().getJpaProject().getJavaProject();
- }
-
- @Override
- protected void setClassName(String className) {
- this.getSubject().setDriver(className);
- }
-
- @Override
- protected boolean allowTypeCreation() {
- //Does not make sense to allow the user to create a new Driver class
- return false;
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- this.initializeClassChooser(container);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/JdbcPropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/JdbcPropertiesComposite.java
deleted file mode 100644
index 2ab54d50b5..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/JdbcPropertiesComposite.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2009, 2010 Oracle. 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
-*******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.connection;
-
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitTransactionType;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.connection.JpaConnection2_0;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * JdbcPropertiesComposite
- */
-public class JdbcPropertiesComposite extends Pane<JpaConnection2_0>
-{
- public JdbcPropertiesComposite(Pane<JpaConnection2_0> parentComposite, Composite parent) {
-
- super(parentComposite, parent);
- }
-
- private PropertyValueModel<Boolean> buildPaneEnablerHolder() {
- return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
- @Override
- protected Boolean transform(PersistenceUnitTransactionType value) {
- return value == PersistenceUnitTransactionType.RESOURCE_LOCAL;
- }
- };
- }
-
- private PropertyValueModel<PersistenceUnitTransactionType> buildTransactionTypeHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, PersistenceUnitTransactionType>(
- buildPersistenceUnitHolder(),
- PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY,
- PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY) {
- @Override
- protected PersistenceUnitTransactionType buildValue_() {
- return this.subject.getTransactionType();
- }
- };
- }
-
- private PropertyValueModel<PersistenceUnit> buildPersistenceUnitHolder() {
- return new PropertyAspectAdapter<JpaConnection2_0, PersistenceUnit>(getSubjectHolder()) {
- @Override
- protected PersistenceUnit buildValue_() {
- return this.subject.getPersistenceUnit();
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- container = addTitledGroup(
- addSubPane(container, 10),
- JptUiPersistence2_0Messages.JdbcPropertiesComposite_JdbcConnectionProperties_GroupBox
- );
-
- new JdbcConnectionPropertiesComposite(this, container);
-
- this.installPaneEnabler();
- }
-
- private void installPaneEnabler() {
- new PaneEnabler(buildPaneEnablerHolder(), this);
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/TransactionTypeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/TransactionTypeComposite.java
deleted file mode 100644
index 0a9b15b267..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/connection/TransactionTypeComposite.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.connection;
-
-import java.util.Collection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitTransactionType;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.connection.JpaConnection2_0;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * TransactionTypeComposite
- */
-public class TransactionTypeComposite extends Pane<JpaConnection2_0>
-{
- /**
- * Creates a new <code>TransactionTypeComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public TransactionTypeComposite(
- Pane<? extends JpaConnection2_0> parentComposite,
- Composite parent) {
-
- super( parentComposite, parent);
- }
-
- private EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType> buildTransactionTypeCombo(Composite container) {
-
- return new EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType>(this,
- this.buildPersistenceUnitHolder(),
- container) {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY);
- propertyNames.add(PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY);
- }
-
- @Override
- protected PersistenceUnitTransactionType[] getChoices() {
- return PersistenceUnitTransactionType.values();
- }
-
- @Override
- protected PersistenceUnitTransactionType getDefaultValue() {
- return this.getSubject().getDefaultTransactionType();
- }
-
- @Override
- protected String displayString(PersistenceUnitTransactionType value) {
- switch (value) {
- case JTA :
- return JptUiPersistence2_0Messages.TransactionTypeComposite_jta;
- case RESOURCE_LOCAL :
- return JptUiPersistence2_0Messages.TransactionTypeComposite_resource_local;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected PersistenceUnitTransactionType getValue() {
- return this.getSubject().getSpecifiedTransactionType();
- }
-
- @Override
- protected void setValue(PersistenceUnitTransactionType value) {
- this.getSubject().setSpecifiedTransactionType(value);
-
- if (value == PersistenceUnitTransactionType.RESOURCE_LOCAL) {
- clearJTAProperties();
- }
- else {
- clearResourceLocalProperties();
- }
- }
- };
- }
-
- private PropertyValueModel<PersistenceUnit> buildPersistenceUnitHolder() {
- return new PropertyAspectAdapter<JpaConnection2_0, PersistenceUnit>(this.getSubjectHolder()) {
- @Override
- protected PersistenceUnit buildValue_() {
- return this.subject.getPersistenceUnit();
- }
- };
- }
-
- private void clearJTAProperties() {
- this.getSubject().getPersistenceUnit().setJtaDataSource(null);
- }
-
- private void clearResourceLocalProperties() {
- JpaConnection2_0 connection = this.getSubject();
- connection.getPersistenceUnit().setNonJtaDataSource(null);
- connection.setDriver(null);
- connection.setUrl(null);
- connection.setUser(null);
- connection.setPassword(null);
- }
-
- @Override
- protected void initializeLayout( Composite container) {
-
- this.addLabeledComposite(
- container,
- JptUiPersistence2_0Messages.TransactionTypeComposite_transactionTypeLabel,
- this.buildTransactionTypeCombo( container),
- JpaHelpContextIds.PERSISTENCE_XML_CONNECTION // TODO - Review for JPA 2.0
- );
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/GenericPersistenceUnit2_0OptionsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/GenericPersistenceUnit2_0OptionsComposite.java
deleted file mode 100644
index dc2b64a91d..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/GenericPersistenceUnit2_0OptionsComposite.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.options;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.JpaOptions2_0;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * GenericPersistenceUnit2_0OptionsComposite
- */
-public class GenericPersistenceUnit2_0OptionsComposite extends Pane<JpaOptions2_0>
-{
- public GenericPersistenceUnit2_0OptionsComposite(
- Pane<JpaOptions2_0> subjectHolder,
- Composite parent) {
-
- super(subjectHolder, parent, false);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
- this.initializeMiscellaneousPane(parent);
- }
-
- private void initializeMiscellaneousPane(Composite container) {
-
- this.updateGridData(container);
- this.updateGridData(container.getParent());
-
- Composite composite = this.addSection(container,
- JptUiPersistence2_0Messages.GenericPersistenceUnit2_0OptionsComposite_miscellaneousSectionTitle,
- JptUiPersistence2_0Messages.GenericPersistenceUnit2_0OptionsComposite_miscellaneousSectionDescription);
-
- this.updateGridData(composite);
- this.updateGridData(composite.getParent());
-
- new LockingConfigurationComposite(this, composite);
- new QueryConfigurationComposite(this, composite);
- new ValidationConfigurationComposite(this, composite);
-
- }
-
- private void updateGridData(Composite container) {
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/GenericPersistenceUnit2_0OptionsTab.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/GenericPersistenceUnit2_0OptionsTab.java
deleted file mode 100644
index 955837017c..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/GenericPersistenceUnit2_0OptionsTab.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.options;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.JpaOptions2_0;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * GenericPersistenceUnit2_0OptionsTab
- */
-public class GenericPersistenceUnit2_0OptionsTab extends Pane<JpaOptions2_0>
- implements JpaPageComposite
-{
- // ********** constructors/initialization **********
- /**
- * Creates a new <code>GenericPersistenceUnit2_0OptionsTab</code>.
- *
- * @param subjectHolder The holder of this pane's subject
- * @param parent The parent container
- * @param widgetFactory The factory used to create various common widgets
- */
- public GenericPersistenceUnit2_0OptionsTab(
- PropertyValueModel<JpaOptions2_0> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
- new GenericPersistenceUnit2_0OptionsComposite(this, parent);
-
- }
-
- // ********** Layout **********
- @Override
- protected Composite addContainer(Composite parent) {
- GridLayout layout = new GridLayout(1, true);
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- layout.marginTop = 0;
- layout.marginLeft = 0;
- layout.marginBottom = 0;
- layout.marginRight = 0;
- layout.verticalSpacing = 15;
- Composite container = this.addPane(parent, layout);
- updateGridData(container);
- return container;
- }
-
- private void updateGridData(Composite container) {
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
- }
-
- // ********** JpaPageComposite implementation **********
-
- public String getHelpID() {
- return null; // TODO - Review for JPA 2.0
- }
-
- public ImageDescriptor getPageImageDescriptor() {
- return null;
- }
-
- public String getPageText() {
- return JptUiPersistence2_0Messages.GenericPersistenceUnit2_0OptionsTab_title;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/LockingConfigurationComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/LockingConfigurationComposite.java
deleted file mode 100644
index 80007d4cf7..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/LockingConfigurationComposite.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.options;
-
-import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.JpaOptions2_0;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * LockingConfigurationComposite
- */
-public class LockingConfigurationComposite extends Pane<JpaOptions2_0>
-{
- /**
- * Creates a new <code>LockingConfigurationComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public LockingConfigurationComposite(
- Pane<? extends JpaOptions2_0> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
- this.addLockTimeoutCombo(parent);
- }
-
- private void addLockTimeoutCombo(Composite parent) {
- new IntegerCombo<JpaOptions2_0>(this, parent) {
-
- @Override
- protected String getLabelText() {
- return JptUiPersistence2_0Messages.LockingConfigurationComposite_lockTimeoutLabel;
- }
-
- @Override
- protected String getHelpId() {
- return null; // TODO
- }
-
- @Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<JpaOptions2_0, Integer>(this.getSubjectHolder()) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getDefaultLockTimeout();
- }
- };
- }
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<JpaOptions2_0, Integer>(this.getSubjectHolder(), JpaOptions2_0.LOCK_TIMEOUT_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getLockTimeout();
- }
-
- @Override
- protected void setValue_(Integer value) {
- this.subject.setLockTimeout(value);
- }
- };
- }
- };
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/QueryConfigurationComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/QueryConfigurationComposite.java
deleted file mode 100644
index 35cbe35395..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/QueryConfigurationComposite.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.options;
-
-import org.eclipse.jpt.common.ui.internal.widgets.IntegerCombo;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.JpaOptions2_0;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * QueryConfigurationComposite
- */
-public class QueryConfigurationComposite extends Pane<JpaOptions2_0>
-{
- /**
- * Creates a new <code>QueryConfigurationComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public QueryConfigurationComposite(
- Pane<? extends JpaOptions2_0> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
- this.addQueryTimeoutCombo(parent);
- }
-
- private void addQueryTimeoutCombo(Composite parent) {
- new IntegerCombo<JpaOptions2_0>(this, parent) {
-
- @Override
- protected String getLabelText() {
- return JptUiPersistence2_0Messages.QueryConfigurationComposite_queryTimeoutLabel;
- }
-
- @Override
- protected String getHelpId() {
- return null; // TODO
- }
-
- @Override
- protected PropertyValueModel<Integer> buildDefaultHolder() {
- return new PropertyAspectAdapter<JpaOptions2_0, Integer>(this.getSubjectHolder()) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getDefaultQueryTimeout();
- }
- };
- }
-
- @Override
- protected ModifiablePropertyValueModel<Integer> buildSelectedItemHolder() {
- return new PropertyAspectAdapter<JpaOptions2_0, Integer>(this.getSubjectHolder(), JpaOptions2_0.QUERY_TIMEOUT_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getQueryTimeout();
- }
-
- @Override
- protected void setValue_(Integer value) {
- this.subject.setQueryTimeout(value);
- }
- };
- }
- };
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/SharedCacheModeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/SharedCacheModeComposite.java
deleted file mode 100644
index 23a2314cf8..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/SharedCacheModeComposite.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.options;
-
-import java.util.Collection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.PersistenceUnit2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.SharedCacheMode;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * SharedCacheModeComposite
- */
-public class SharedCacheModeComposite extends Pane<PersistenceUnit2_0>
-{
- /**
- * Creates a new <code>SharedCacheModeComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public SharedCacheModeComposite(
- Pane<?> parentPane,
- PropertyValueModel<? extends PersistenceUnit2_0> subjectHolder,
- Composite parent) {
-
- super(parentPane, subjectHolder, parent);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
-
- this.addLabeledComposite(
- parent,
- JptUiPersistence2_0Messages.SharedCacheModeComposite_sharedCacheModeLabel,
- this.addSharedCacheModeCombo(parent),
- null // TODO
- );
- }
-
- private EnumFormComboViewer<PersistenceUnit2_0, SharedCacheMode> addSharedCacheModeCombo(Composite parent) {
-
- return new EnumFormComboViewer<PersistenceUnit2_0, SharedCacheMode>(this, this.getSubjectHolder(), parent) {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(PersistenceUnit2_0.SPECIFIED_SHARED_CACHE_MODE_PROPERTY);
- }
-
- @Override
- protected SharedCacheMode[] getChoices() {
- return SharedCacheMode.values();
- }
-
- @Override
- protected boolean sortChoices() {
- return false;
- }
-
- @Override
- protected SharedCacheMode getDefaultValue() {
- return this.getSubject().getDefaultSharedCacheMode();
- }
-
- @Override
- protected String displayString(SharedCacheMode value) {
- switch (value) {
- case ALL :
- return JptUiPersistence2_0Messages.SharedCacheModeComposite_all;
- case DISABLE_SELECTIVE :
- return JptUiPersistence2_0Messages.SharedCacheModeComposite_disable_selective;
- case ENABLE_SELECTIVE :
- return JptUiPersistence2_0Messages.SharedCacheModeComposite_enable_selective;
- case NONE :
- return JptUiPersistence2_0Messages.SharedCacheModeComposite_none;
- case UNSPECIFIED :
- return JptUiPersistence2_0Messages.SharedCacheModeComposite_unspecified;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected SharedCacheMode getValue() {
- return this.getSubject().getSpecifiedSharedCacheMode();
- }
-
- @Override
- protected void setValue(SharedCacheMode value) {
- this.getSubject().setSpecifiedSharedCacheMode(value);
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/ValidationConfigurationComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/ValidationConfigurationComposite.java
deleted file mode 100644
index 34f198a778..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/ValidationConfigurationComposite.java
+++ /dev/null
@@ -1,384 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.options;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-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.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
-import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.PersistenceUnit2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.JpaOptions2_0;
-import org.eclipse.jpt.jpa.ui.JptJpaUiPlugin;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.progress.IProgressService;
-
-/**
- * ValidationConfigurationComposite
- */
-public class ValidationConfigurationComposite extends Pane<JpaOptions2_0>
-{
- /**
- * Creates a new <code>ValidationGroupComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public ValidationConfigurationComposite(
- Pane<? extends JpaOptions2_0> parentComposite,
- Composite parent) {
-
- super(parentComposite, parent);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
-
- // SharedCacheMode
- new SharedCacheModeComposite(this, this.buildPersistenceUnit2_0Holder(), parent);
-
- // ValidationMode
- new ValidationModeComposite(this, this.buildPersistenceUnit2_0Holder(), parent);
-
- // ValidationGroupPrePersist
- this.addGroupPrePersistListPane(parent);
-
- // ValidationGroupPreUpdate
- this.addGroupPreUpdateListPane(parent);
-
- // ValidationGroupPreRemove
- this.addGroupPreRemoveListPane(parent);
- }
-
- // ********** ValidationGroupPrePersists **********
-
- private void addGroupPrePersistListPane(Composite parent) {
-
- this.addLabeledComposite(parent,
- JptUiPersistence2_0Messages.ValidationConfigurationComposite_groupPrePersistLabel,
- this.addPrePersistListPane(parent),
- null // TODO Help
- );
- }
-
- private AddRemoveListPane<JpaOptions2_0> addPrePersistListPane(Composite parent) {
-
- // List pane
- AddRemoveListPane<JpaOptions2_0> listPane = new AddRemoveListPane<JpaOptions2_0>(
- this,
- parent,
- this.buildPrePersistAdapter(),
- this.buildPrePersistListHolder(),
- this.buildSelectedItemHolder(),
- this.buildLabelProvider()
- )
- {
- @Override
- protected void initializeTable(Table table) {
- super.initializeTable(table);
-
- Composite container = table.getParent();
- GridData gridData = (GridData) container.getLayoutData();
- gridData.heightHint = 75;
- }
- };
- return listPane;
- }
-
- private Adapter buildPrePersistAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addPrePersistClass(listSelectionModel);
- }
-
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- getSubject().removeValidationGroupPrePersist((String) item);
- }
- }
- };
- }
-
- private ListValueModel<String> buildPrePersistListHolder() {
- return new ListAspectAdapter<JpaOptions2_0, String>(getSubjectHolder(), JpaOptions2_0.VALIDATION_GROUP_PRE_PERSIST_LIST) {
- @Override
- protected ListIterable<String> getListIterable() {
- return subject.getValidationGroupPrePersists();
- }
-
- @Override
- protected int size_() {
- return subject.getValidationGroupPrePersistsSize();
- }
- };
- }
-
- private void addPrePersistClass(ObjectListSelectionModel listSelectionModel) {
-
- IType type = this.chooseType();
-
- if (type != null) {
- String className = type.getFullyQualifiedName('$');
- if( ! this.getSubject().validationGroupPrePersistExists(className)) {
-
- String classRef = this.getSubject().addValidationGroupPrePersist(className);
- listSelectionModel.setSelectedValue(classRef);
- }
- }
- }
-
- // ********** ValidationGroupPreUpdates **********
-
- private void addGroupPreUpdateListPane(Composite parent) {
-
- this.addLabeledComposite(parent,
- JptUiPersistence2_0Messages.ValidationConfigurationComposite_groupPreUpdateLabel,
- this.addPreUpdateListPane(parent),
- null // TODO Help
- );
- }
-
- private AddRemoveListPane<JpaOptions2_0> addPreUpdateListPane(Composite parent) {
-
- // List pane
- AddRemoveListPane<JpaOptions2_0> listPane = new AddRemoveListPane<JpaOptions2_0>(
- this,
- parent,
- this.buildPreUpdateAdapter(),
- this.buildPreUpdateListHolder(),
- this.buildSelectedItemHolder(),
- this.buildLabelProvider()
- )
- {
- @Override
- protected void initializeTable(Table table) {
- super.initializeTable(table);
-
- Composite container = table.getParent();
- GridData gridData = (GridData) container.getLayoutData();
- gridData.heightHint = 75;
- }
- };
- return listPane;
- }
-
- private Adapter buildPreUpdateAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addPreUpdateClass(listSelectionModel);
- }
-
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- getSubject().removeValidationGroupPreUpdate((String) item);
- }
- }
- };
- }
-
- private ListValueModel<String> buildPreUpdateListHolder() {
- return new ListAspectAdapter<JpaOptions2_0, String>(getSubjectHolder(), JpaOptions2_0.VALIDATION_GROUP_PRE_UPDATE_LIST) {
- @Override
- protected ListIterable<String> getListIterable() {
- return subject.getValidationGroupPreUpdates();
- }
-
- @Override
- protected int size_() {
- return subject.getValidationGroupPreUpdatesSize();
- }
- };
- }
-
- private void addPreUpdateClass(ObjectListSelectionModel listSelectionModel) {
-
- IType type = this.chooseType();
-
- if (type != null) {
- String className = type.getFullyQualifiedName('$');
- if( ! this.getSubject().validationGroupPreUpdateExists(className)) {
-
- String classRef = this.getSubject().addValidationGroupPreUpdate(className);
- listSelectionModel.setSelectedValue(classRef);
- }
- }
- }
-
- // ********** ValidationGroupPreRemoves **********
-
- private void addGroupPreRemoveListPane(Composite parent) {
-
- this.addLabeledComposite(parent,
- JptUiPersistence2_0Messages.ValidationConfigurationComposite_groupPreRemoveLabel,
- this.addPreRemoveListPane(parent),
- null // TODO Help
- );
- }
-
- private AddRemoveListPane<JpaOptions2_0> addPreRemoveListPane(Composite parent) {
-
- // List pane
- AddRemoveListPane<JpaOptions2_0> listPane = new AddRemoveListPane<JpaOptions2_0>(
- this,
- parent,
- this.buildPreRemoveAdapter(),
- this.buildPreRemoveListHolder(),
- this.buildSelectedItemHolder(),
- this.buildLabelProvider()
- )
- {
- @Override
- protected void initializeTable(Table table) {
- super.initializeTable(table);
-
- Composite container = table.getParent();
- GridData gridData = (GridData) container.getLayoutData();
- gridData.heightHint = 75;
- }
- };
- return listPane;
- }
-
- private Adapter buildPreRemoveAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addPreRemoveClass(listSelectionModel);
- }
-
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- getSubject().removeValidationGroupPreRemove((String) item);
- }
- }
- };
- }
-
- private ListValueModel<String> buildPreRemoveListHolder() {
- return new ListAspectAdapter<JpaOptions2_0, String>(getSubjectHolder(), JpaOptions2_0.VALIDATION_GROUP_PRE_REMOVE_LIST) {
- @Override
- protected ListIterable<String> getListIterable() {
- return subject.getValidationGroupPreRemoves();
- }
-
- @Override
- protected int size_() {
- return subject.getValidationGroupPreRemovesSize();
- }
- };
- }
-
- private void addPreRemoveClass(ObjectListSelectionModel listSelectionModel) {
-
- IType type = this.chooseType();
-
- if (type != null) {
- String className = type.getFullyQualifiedName('$');
- if( ! this.getSubject().validationGroupPreRemoveExists(className)) {
-
- String classRef = this.getSubject().addValidationGroupPreRemove(className);
- listSelectionModel.setSelectedValue(classRef);
- }
- }
- }
-
-
- // ********** Private methods **********
-
- private PropertyValueModel<PersistenceUnit2_0> buildPersistenceUnit2_0Holder() {
- return new PropertyAspectAdapter<JpaOptions2_0, PersistenceUnit2_0>(this.getSubjectHolder()) {
- @Override
- protected PersistenceUnit2_0 buildValue_() {
- return (PersistenceUnit2_0) this.subject.getPersistenceUnit();
- }
- };
- }
-
- private ILabelProvider buildLabelProvider() {
- return new LabelProvider() {
-
- @Override
- public String getText(Object element) {
- String name = (String) element;
-
- if (name == null) {
- name = JptUiPersistence2_0Messages.GenericPersistenceUnit2_0OptionsTab_noName;
- }
- return name;
- }
- };
- }
-
- /**
- * Prompts the user the Open Type dialog.
- *
- * @return Either the selected type or <code>null</code> if the user
- * canceled the dialog
- */
- private IType chooseType() {
- IJavaProject javaProject = this.getSubject().getJpaProject().getJavaProject();
- IJavaElement[] elements = new IJavaElement[] { javaProject };
- IJavaSearchScope scope = SearchEngine.createJavaSearchScope(elements);
- IProgressService service = PlatformUI.getWorkbench().getProgressService();
- SelectionDialog typeSelectionDialog;
-
- try {
- typeSelectionDialog = JavaUI.createTypeDialog(
- getShell(),
- service,
- scope,
- IJavaElementSearchConstants.CONSIDER_CLASSES,
- false,
- ""
- );
- }
- catch (JavaModelException e) {
- JptJpaUiPlugin.log(e);
- return null;
- }
-
- typeSelectionDialog.setTitle(JptCommonUiMessages.ClassChooserPane_dialogTitle);
- typeSelectionDialog.setMessage(JptCommonUiMessages.ClassChooserPane_dialogMessage);
-
- if (typeSelectionDialog.open() == Window.OK) {
- return (IType) typeSelectionDialog.getResult()[0];
- }
-
- return null;
- }
-
- private ModifiablePropertyValueModel<String> buildSelectedItemHolder() {
- return new SimplePropertyValueModel<String>();
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/ValidationModeComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/ValidationModeComposite.java
deleted file mode 100644
index 3215d4448e..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/persistence/options/ValidationModeComposite.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 Oracle. 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
- *******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.options;
-
-import java.util.Collection;
-
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.PersistenceUnit2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.ValidationMode;
-import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * ValidationModeComposite
- */
-public class ValidationModeComposite extends Pane<PersistenceUnit2_0>
-{
- /**
- * Creates a new <code>ValidationModeComposite</code>.
- *
- * @param parentController
- * The parent container of this one
- * @param parent
- * The parent container
- */
- public ValidationModeComposite(
- Pane<?> parentPane,
- PropertyValueModel<? extends PersistenceUnit2_0> subjectHolder,
- Composite parent) {
-
- super(parentPane, subjectHolder, parent);
- }
-
- @Override
- protected void initializeLayout(Composite parent) {
-
- this.addLabeledComposite(
- parent,
- JptUiPersistence2_0Messages.ValidationModeComposite_validationModeLabel,
- this.addValidationModeCombo(parent),
- null // TODO
- );
- }
-
- private EnumFormComboViewer<PersistenceUnit2_0, ValidationMode> addValidationModeCombo(Composite parent) {
-
- return new EnumFormComboViewer<PersistenceUnit2_0, ValidationMode>(this, this.getSubjectHolder(), parent) {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(PersistenceUnit2_0.SPECIFIED_VALIDATION_MODE_PROPERTY);
- }
-
- @Override
- protected ValidationMode[] getChoices() {
- return ValidationMode.values();
- }
-
- @Override
- protected boolean sortChoices() {
- return false;
- }
-
- @Override
- protected ValidationMode getDefaultValue() {
- return this.getSubject().getDefaultValidationMode();
- }
-
- @Override
- protected String displayString(ValidationMode value) {
- switch (value) {
- case AUTO :
- return JptUiPersistence2_0Messages.ValidationModeComposite_auto;
- case CALLBACK :
- return JptUiPersistence2_0Messages.ValidationModeComposite_callback;
- case NONE :
- return JptUiPersistence2_0Messages.ValidationModeComposite_none;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected ValidationMode getValue() {
- return this.getSubject().getSpecifiedValidationMode();
- }
-
- @Override
- protected void setValue(ValidationMode value) {
- this.getSubject().setSpecifiedValidationMode(value);
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/AbstractPersistenceXmlResourceUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/AbstractPersistenceXmlResourceUiDefinition.java
index 19ff3fffbc..16fe4c06e2 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/AbstractPersistenceXmlResourceUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/AbstractPersistenceXmlResourceUiDefinition.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -7,7 +7,7 @@
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
+package org.eclipse.jpt.jpa.ui.internal.persistence;
import java.util.ListIterator;
import org.eclipse.jpt.common.ui.WidgetFactory;
@@ -15,7 +15,7 @@ import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
import org.eclipse.jpt.jpa.ui.PersistenceXmlResourceUiDefinition;
import org.eclipse.jpt.jpa.ui.ResourceUiDefinition;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
import org.eclipse.swt.widgets.Composite;
/**
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/ArchiveFileSelectionDialog.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/ArchiveFileSelectionDialog.java
index c24be8ae51..ab2170d652 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/ArchiveFileSelectionDialog.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/ArchiveFileSelectionDialog.java
@@ -7,7 +7,7 @@
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
+package org.eclipse.jpt.jpa.ui.internal.persistence;
import java.util.Collections;
@@ -28,7 +28,6 @@ import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueMo
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
import org.eclipse.jpt.jpa.ui.JptJpaUiPlugin;
-import org.eclipse.jpt.jpa.ui.internal.persistence.JptUiPersistenceMessages;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/GenericPersistenceUnitGeneralComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/GenericPersistenceUnitGeneralTab.java
index 5c25dab4de..40aa6b4eb3 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/GenericPersistenceUnitGeneralComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/GenericPersistenceUnitGeneralTab.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -7,13 +7,12 @@
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
+package org.eclipse.jpt.jpa.ui.internal.persistence;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
-import org.eclipse.jpt.jpa.ui.internal.persistence.JptUiPersistenceMessages;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
import org.eclipse.swt.widgets.Composite;
/**
@@ -53,6 +52,7 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see PersistenceUnit
+ * @see PersistenceUnitGeneralComposite
* @see PersistenceUnitJarFilesComposite
* @see PersistenceUnitMappedClassesComposite
* @see PersistenceUnitMappingFilesComposite
@@ -60,7 +60,7 @@ import org.eclipse.swt.widgets.Composite;
* @version 2.0
* @since 2.0
*/
-public class GenericPersistenceUnitGeneralComposite extends PersistenceUnitGeneralComposite
+public class GenericPersistenceUnitGeneralTab extends PersistenceUnitGeneralTab
implements JpaPageComposite
{
/**
@@ -70,47 +70,10 @@ public class GenericPersistenceUnitGeneralComposite extends PersistenceUnitGener
* @param parent The parent container
* @param widgetFactory The factory used to create various common widgets
*/
- public GenericPersistenceUnitGeneralComposite(PropertyValueModel<PersistenceUnit> subjectHolder,
+ public GenericPersistenceUnitGeneralTab(PropertyValueModel<PersistenceUnit> subjectHolder,
Composite container,
WidgetFactory widgetFactory) {
super(subjectHolder, container, widgetFactory);
}
-
- @Override
- protected void initializeLayout(Composite container) {
-
- initializeGeneralPane(container);
- initializeMappedClassesPane(container);
- initializeJPAMappingDescriptorsPane(container);
- initializeJarFilesPane(container);
- }
-
-
- protected void initializeJPAMappingDescriptorsPane(Composite container) {
-
- container = addCollapsibleSection(
- container,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_jpaMappingDescriptors,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_jpaMappingDescriptors_description
- );
-
- updateGridData(container);
- updateGridData(container.getParent());
-
- new GenericPersistenceUnitMappingFilesComposite(this, container);
- }
-
- protected void initializeJarFilesPane(Composite container) {
-
- container = addCollapsibleSection(
- container,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_jarFiles
- );
-
- updateGridData(container);
- updateGridData(container.getParent());
-
- new GenericPersistenceUnitJarFilesComposite(this, container);
- }
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/GenericPersistenceUnitJarFilesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/GenericPersistenceUnitJarFilesComposite.java
index 7fde0e2c0f..a678ff97f2 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/GenericPersistenceUnitJarFilesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/GenericPersistenceUnitJarFilesComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle.
+ * Copyright (c) 2009, 2012 Oracle.
* 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
@@ -8,7 +8,7 @@
* Contributors:
* Oracle - initial API and implementation
*******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
+package org.eclipse.jpt.jpa.ui.internal.persistence;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/GenericPersistenceUnitMappingFilesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/GenericPersistenceUnitMappingFilesComposite.java
index c99cbb4d4b..3a07ffc783 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/GenericPersistenceUnitMappingFilesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/GenericPersistenceUnitMappingFilesComposite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2012 Oracle. 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.
@@ -7,7 +7,7 @@
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
+package org.eclipse.jpt.jpa.ui.internal.persistence;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
@@ -25,7 +25,7 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see PersistenceUnit
- * @see PersistenceUnitGeneralComposite - The parent container
+ * @see PersistenceUnitGeneralTab - The parent container
* @see AddRemoveListPane
*
* @version 2.0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/GenericPersistenceXmlUiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/GenericPersistenceXmlUiFactory.java
index 5a98afe62e..c57fc8c6b0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/GenericPersistenceXmlUiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/GenericPersistenceXmlUiFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2012 Oracle. 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.
@@ -7,14 +7,14 @@
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
+package org.eclipse.jpt.jpa.ui.internal.persistence;
import java.util.ArrayList;
import java.util.ListIterator;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
import org.eclipse.swt.widgets.Composite;
public class GenericPersistenceXmlUiFactory implements PersistenceXmlUiFactory
@@ -28,9 +28,9 @@ public class GenericPersistenceXmlUiFactory implements PersistenceXmlUiFactory
ArrayList<JpaPageComposite> pages = new ArrayList<JpaPageComposite>(3);
- pages.add(new GenericPersistenceUnitGeneralComposite(subjectHolder, parent, widgetFactory));
- pages.add(new PersistenceUnitConnectionComposite(subjectHolder, parent, widgetFactory));
- pages.add(new PersistenceUnitPropertiesComposite(subjectHolder, parent, widgetFactory));
+ pages.add(new GenericPersistenceUnitGeneralTab(subjectHolder, parent, widgetFactory));
+ pages.add(new PersistenceUnitConnectionTab(subjectHolder, parent, widgetFactory));
+ pages.add(new PersistenceUnitPropertiesTab(subjectHolder, parent, widgetFactory));
return pages.listIterator();
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitClassesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitClassesComposite.java
index d695344662..ae0f616427 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitClassesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitClassesComposite.java
@@ -7,7 +7,7 @@
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
+package org.eclipse.jpt.jpa.ui.internal.persistence;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IJavaProject;
@@ -22,18 +22,21 @@ import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.window.Window;
import org.eclipse.jpt.common.ui.internal.JptCommonUiMessages;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
+import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane;
import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
+import org.eclipse.jpt.common.utility.internal.model.value.CollectionPropertyValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
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;
@@ -41,12 +44,9 @@ import org.eclipse.jpt.jpa.ui.JptJpaUiPlugin;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.jpa.ui.internal.JpaMappingImageHelper;
import org.eclipse.jpt.jpa.ui.internal.JptUiIcons;
-import org.eclipse.jpt.jpa.ui.internal.persistence.JptUiPersistenceMessages;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.dialogs.SelectionDialog;
@@ -70,7 +70,7 @@ import org.eclipse.ui.progress.IProgressService;
* -----------------------------------------------------------------------------</pre>
*
* @see PersistenceUnit
- * @see PersistenceUnitGeneralComposite - The parent container
+ * @see PersistenceUnitGeneralTab - The parent container
* @see AddRemoveListPane
*
* @version 2.3
@@ -91,18 +91,41 @@ public class PersistenceUnitClassesComposite extends Pane<PersistenceUnit>
super(parentPane, parent);
}
- private void addMappedClass(ObjectListSelectionModel listSelectionModel) {
+ @Override
+ protected void initializeLayout(Composite container) {
+ // List pane
+ new AddRemoveListPane<PersistenceUnit, ClassRef>(
+ this,
+ container,
+ this.buildAdapter(),
+ this.buildItemListHolder(),
+ this.buildSelectedItemsModel(),
+ this.buildLabelProvider(),
+ JpaHelpContextIds.PERSISTENCE_XML_GENERAL
+ );
+
+ this.addTriStateCheckBoxWithDefault(
+ container,
+ JptUiPersistenceMessages.PersistenceUnitClassesComposite_excludeUnlistedMappedClasses,
+ buildExcludeUnlistedMappedClassesHolder(),
+ buildExcludeUnlistedMappedClassesStringHolder(),
+ JpaHelpContextIds.PERSISTENCE_XML_GENERAL
+ );
+ }
+
+
+ private ClassRef addMappedClass() {
IType type = chooseType();
if (type != null) {
String className = type.getFullyQualifiedName('$');
if(classRefExists(className)) {
- return;
+ return null;
}
- ClassRef classRef = getSubject().addSpecifiedClassRef(className);
- listSelectionModel.setSelectedValue(classRef);
+ return getSubject().addSpecifiedClassRef(className);
}
+ return null;
}
private boolean classRefExists(String className) {
@@ -114,19 +137,24 @@ public class PersistenceUnitClassesComposite extends Pane<PersistenceUnit>
return false;
}
- private Adapter buildAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addMappedClass(listSelectionModel);
+ private Adapter<ClassRef> buildAdapter() {
+ return new AddRemovePane.AbstractAdapter<ClassRef>() {
+ public ClassRef addNewItem() {
+ return addMappedClass();
}
@Override
- public boolean enableOptionOnSelectionChange(ObjectListSelectionModel listSelectionModel) {
- if (!super.enableOptionOnSelectionChange(listSelectionModel)) {
- return false;
- }
-
- return findType((ClassRef) listSelectionModel.selectedValue()) != null;
+ public PropertyValueModel<Boolean> buildOptionalButtonEnabledModel(CollectionValueModel<ClassRef> selectedItemsModel) {
+ return new CollectionPropertyValueModelAdapter<Boolean, ClassRef>(selectedItemsModel) {
+ @Override
+ protected Boolean buildValue() {
+ if (this.collectionModel.size() == 1) {
+ ClassRef classRef = this.collectionModel.iterator().next();
+ return Boolean.valueOf(findType(classRef) != null);
+ }
+ return Boolean.FALSE;
+ }
+ };
}
@Override
@@ -140,14 +168,12 @@ public class PersistenceUnitClassesComposite extends Pane<PersistenceUnit>
}
@Override
- public void optionOnSelection(ObjectListSelectionModel listSelectionModel) {
- openMappedClass((ClassRef) listSelectionModel.selectedValue());
+ public void optionOnSelection(CollectionValueModel<ClassRef> selectedItemsModel) {
+ openMappedClass(selectedItemsModel.iterator().next());
}
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- getSubject().removeSpecifiedClassRef((ClassRef) item);
- }
+ public void removeSelectedItems(CollectionValueModel<ClassRef> selectedItemsModel) {
+ getSubject().removeSpecifiedClassRefs(selectedItemsModel);
}
};
}
@@ -252,8 +278,8 @@ public class PersistenceUnitClassesComposite extends Pane<PersistenceUnit>
};
}
- private ModifiablePropertyValueModel<ClassRef> buildSelectedItemHolder() {
- return new SimplePropertyValueModel<ClassRef>();
+ private ModifiableCollectionValueModel<ClassRef> buildSelectedItemsModel() {
+ return new SimpleCollectionValueModel<ClassRef>();
}
/**
@@ -309,48 +335,6 @@ public class PersistenceUnitClassesComposite extends Pane<PersistenceUnit>
return null;
}
- /*
- * (non-Javadoc)
- */
- @Override
- protected void initializeLayout(Composite container) {
-
- // Description
- addMultiLineLabel(
- container,
- JptUiPersistenceMessages.PersistenceUnitClassesComposite_description
- );
-
- // List pane
- new AddRemoveListPane<PersistenceUnit>(
- this,
- container,
- this.buildAdapter(),
- this.buildItemListHolder(),
- this.buildSelectedItemHolder(),
- this.buildLabelProvider(),
- JpaHelpContextIds.PERSISTENCE_XML_GENERAL
- )
- {
- @Override
- protected void initializeTable(Table table) {
- super.initializeTable(table);
-
- Composite container = table.getParent();
- GridData gridData = (GridData) container.getLayoutData();
- gridData.heightHint = 75;
- }
- };
-
- this.addTriStateCheckBoxWithDefault(
- container,
- JptUiPersistenceMessages.PersistenceUnitClassesComposite_excludeUnlistedMappedClasses,
- buildExcludeUnlistedMappedClassesHolder(),
- buildExcludeUnlistedMappedClassesStringHolder(),
- JpaHelpContextIds.PERSISTENCE_XML_GENERAL
- );
- }
-
private void openMappedClass(ClassRef classRef) {
IType type = findType(classRef);
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitConnectionTab.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitConnectionTab.java
new file mode 100644
index 0000000000..0d43765bcf
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitConnectionTab.java
@@ -0,0 +1,250 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 Oracle. 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
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.ui.internal.persistence;
+
+import java.util.Collection;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
+import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitTransactionType;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
+import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.JptUiPersistence2_0Messages;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Group;
+
+/**
+ * Here the layout of this pane:
+ * <pre>
+ * -----------------------------------------------------------------------------
+ * | |
+ * | - General --------------------------------------------------------------- |
+ * | ------------------------------------------------------------------------- |
+ * | | | |
+ * | | PersistenceUnitConnectionGeneralComposite | |
+ * | | | |
+ * | ------------------------------------------------------------------------- |
+ * | |
+ * | - Database -------------------------------------------------------------- |
+ * | ------------------------------------------------------------------------- |
+ * | | | |
+ * | | PersistenceUnitConnectionDatabaseComposite | |
+ * | | | |
+ * | ------------------------------------------------------------------------- |
+ * -----------------------------------------------------------------------------</pre>
+ *
+ * @see PersistenceUnit
+ * @see PersistenceUnitConnectionGeneralComposite
+ * @see PersistenceUnitConnectionDatabaseComposite
+ *
+ * @version 2.0
+ * @since 2.0
+ */
+public class PersistenceUnitConnectionTab extends Pane<PersistenceUnit>
+ implements JpaPageComposite
+{
+ /**
+ * Creates a new <code>PersistenceUnitConnectionComposite</code>.
+ *
+ * @param subjectHolder The holder of this pane's subject
+ * @param parent The parent container
+ * @param widgetFactory The factory used to create various common widgets
+ */
+ public PersistenceUnitConnectionTab(PropertyValueModel<PersistenceUnit> subjectHolder,
+ Composite container,
+ WidgetFactory widgetFactory) {
+
+ super(subjectHolder, container, widgetFactory);
+ }
+
+ public String getHelpID() {
+ return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
+ }
+
+
+ public ImageDescriptor getPageImageDescriptor() {
+ return null;
+ }
+
+ public String getPageText() {
+ return JptUiPersistenceMessages.PersistenceUnitConnectionComposite_connection;
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ container = this.addSection(
+ container,
+ JptUiPersistence2_0Messages.GenericPersistenceUnit2_0ConnectionComposite_sectionTitle,
+ JptUiPersistence2_0Messages.GenericPersistenceUnit2_0ConnectionComposite_sectionDescription
+ );
+ container.setLayout(new GridLayout(2, false));
+
+ // Transaction Type widgets
+ this.addLabel(container, JptUiPersistenceMessages.PersistenceUnitConnectionGeneralComposite_transactionType);
+ this.buildTransactionTypeCombo(container).getControl();
+
+ Group databaseGroup = this.addTitledGroup(container, JptUiPersistenceMessages.PersistenceUnitConnectionComposite_database, 2, JpaHelpContextIds.PERSISTENCE_XML_CONNECTION);
+ GridData gridData = new GridData(GridData.FILL_BOTH);
+ gridData.horizontalSpan = 2;
+ databaseGroup.setLayoutData(gridData);
+
+ // JTA Datasource Name widgets
+ PropertyValueModel<Boolean> enabled = this.buildJTADatasourceNameBooleanHolder();
+ this.addLabel(
+ databaseGroup,
+ JptUiPersistenceMessages.PersistenceUnitConnectionDatabaseComposite_jtaDatasourceName,
+ enabled
+ );
+ this.addText(
+ databaseGroup,
+ buildJTADatasourceNameHolder(),
+ JpaHelpContextIds.PERSISTENCE_XML_CONNECTION,
+ enabled
+ );
+
+
+ // Non-JTA Datasource Name widgets
+ enabled = this.buildNonJTADatasourceNameBooleanHolder();
+ this.addLabel(
+ databaseGroup,
+ JptUiPersistenceMessages.PersistenceUnitConnectionDatabaseComposite_nonJtaDatasourceName,
+ enabled
+ );
+ this.addText(
+ databaseGroup,
+ buildNonJTADatasourceNameHolder(),
+ JpaHelpContextIds.PERSISTENCE_XML_CONNECTION,
+ enabled
+ );
+ }
+
+ private EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType> buildTransactionTypeCombo(Composite container) {
+
+ return new EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType>(this, container) {
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY);
+ propertyNames.add(PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY);
+ }
+
+ @Override
+ protected PersistenceUnitTransactionType[] getChoices() {
+ return PersistenceUnitTransactionType.values();
+ }
+
+ @Override
+ protected PersistenceUnitTransactionType getDefaultValue() {
+ return getSubject().getDefaultTransactionType();
+ }
+
+ @Override
+ protected String displayString(PersistenceUnitTransactionType value) {
+ switch (value) {
+ case JTA :
+ return JptUiPersistenceMessages.PersistenceUnitConnectionGeneralComposite_jta;
+ case RESOURCE_LOCAL :
+ return JptUiPersistenceMessages.PersistenceUnitConnectionGeneralComposite_resource_local;
+ default :
+ throw new IllegalStateException();
+ }
+ }
+
+ @Override
+ protected PersistenceUnitTransactionType getValue() {
+ return getSubject().getSpecifiedTransactionType();
+ }
+
+ @Override
+ protected void setValue(PersistenceUnitTransactionType value) {
+ getSubject().setSpecifiedTransactionType(value);
+ }
+
+ @Override
+ protected String getHelpId() {
+ return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildJTADatasourceNameBooleanHolder() {
+ return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
+ @Override
+ protected Boolean transform_(PersistenceUnitTransactionType value) {
+ return Boolean.valueOf(value == PersistenceUnitTransactionType.JTA);
+ }
+ };
+ }
+
+ private ModifiablePropertyValueModel<String> buildJTADatasourceNameHolder() {
+ return new PropertyAspectAdapter<PersistenceUnit, String>(getSubjectHolder(), PersistenceUnit.JTA_DATA_SOURCE_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return subject.getJtaDataSource();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (value.length() == 0) {
+ value = null;
+ }
+ subject.setJtaDataSource(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<Boolean> buildNonJTADatasourceNameBooleanHolder() {
+ return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
+ @Override
+ protected Boolean transform_(PersistenceUnitTransactionType value) {
+ return Boolean.valueOf(value == PersistenceUnitTransactionType.RESOURCE_LOCAL);
+ }
+ };
+ }
+
+ private ModifiablePropertyValueModel<String> buildNonJTADatasourceNameHolder() {
+ return new PropertyAspectAdapter<PersistenceUnit, String>(getSubjectHolder(), PersistenceUnit.NON_JTA_DATA_SOURCE_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return subject.getNonJtaDataSource();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (value.length() == 0) {
+ value = null;
+ }
+ subject.setNonJtaDataSource(value);
+ }
+ };
+ }
+
+ private PropertyValueModel<PersistenceUnitTransactionType> buildTransactionTypeHolder() {
+ return new PropertyAspectAdapter<PersistenceUnit, PersistenceUnitTransactionType>(
+ getSubjectHolder(),
+ PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY,
+ PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY)
+ {
+ @Override
+ protected PersistenceUnitTransactionType buildValue_() {
+ return subject.getTransactionType();
+ }
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitGeneralComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitGeneralComposite.java
new file mode 100644
index 0000000000..ce37948d06
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitGeneralComposite.java
@@ -0,0 +1,104 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 Oracle. 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
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.ui.internal.persistence;
+
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
+import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
+import org.eclipse.swt.widgets.Composite;
+
+public class PersistenceUnitGeneralComposite extends Pane<PersistenceUnit>
+{
+ /**
+ * Creates a new <code>PersistenceUnitMappedClassesComposite</code>.
+ *
+ * @param parentPane The parent pane of this one
+ * @param parent The parent container
+ */
+ public PersistenceUnitGeneralComposite(Pane<? extends PersistenceUnit> parentPane,
+ Composite parent) {
+
+ super(parentPane, parent);
+ }
+
+ @Override
+ protected Composite addComposite(Composite parent) {
+ return this.addSubPane(parent, 2, 0, 0, 0, 0);//2 columns
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ // Name widgets
+ this.addLabel(container, JptUiPersistenceMessages.PersistenceUnitGeneralComposite_name);
+ this.addText(container, this.buildPersistenceUnitNameHolder(), this.getHelpID());
+
+ // Persistence Provider widgets
+ this.addLabel(container, JptUiPersistenceMessages.PersistenceUnitGeneralComposite_persistenceProvider);
+ this.addText(container, this.buildPersistenceProviderHolder(), this.getHelpID());
+
+ // Description widgets
+ this.addLabel(container, JptUiPersistenceMessages.PersistenceUnitGeneralComposite_description);
+ this.addText(container, this.buildPersistenceUnitDescriptionHolder(), this.getHelpID());
+ }
+
+ protected String getHelpID() {
+ return JpaHelpContextIds.PERSISTENCE_XML_GENERAL;
+ }
+
+ private ModifiablePropertyValueModel<String> buildPersistenceProviderHolder() {
+ return new PropertyAspectAdapter<PersistenceUnit, String>(getSubjectHolder(), PersistenceUnit.PROVIDER_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return subject.getProvider();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (value.length() == 0) {
+ value = null;
+ }
+ subject.setProvider(value);
+ }
+ };
+ }
+
+ private ModifiablePropertyValueModel<String> buildPersistenceUnitNameHolder() {
+ return new PropertyAspectAdapter<PersistenceUnit, String>(getSubjectHolder(), PersistenceUnit.NAME_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return subject.getName();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ subject.setName(value);
+ }
+ };
+ }
+
+ private ModifiablePropertyValueModel<String> buildPersistenceUnitDescriptionHolder() {
+ return new PropertyAspectAdapter<PersistenceUnit, String>(getSubjectHolder(), PersistenceUnit.DESCRIPTION_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return subject.getDescription();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (value.length() == 0) {
+ value = null;
+ }
+ subject.setDescription(value);
+ }
+ };
+ }
+} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitGeneralComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitGeneralTab.java
index ef345cbd55..a530917dd1 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitGeneralComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitGeneralTab.java
@@ -7,21 +7,22 @@
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
+package org.eclipse.jpt.jpa.ui.internal.persistence;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.jpa.ui.internal.persistence.JptUiPersistenceMessages;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
/**
* Here the layout of this pane:
@@ -78,7 +79,7 @@ import org.eclipse.swt.widgets.Composite;
* @version 2.0
* @since 2.0
*/
-public abstract class PersistenceUnitGeneralComposite extends Pane<PersistenceUnit>
+public abstract class PersistenceUnitGeneralTab extends Pane<PersistenceUnit>
implements JpaPageComposite
{
/**
@@ -88,76 +89,13 @@ public abstract class PersistenceUnitGeneralComposite extends Pane<PersistenceUn
* @param parent The parent container
* @param widgetFactory The factory used to create various common widgets
*/
- public PersistenceUnitGeneralComposite(PropertyValueModel<? extends PersistenceUnit> subjectHolder,
+ public PersistenceUnitGeneralTab(PropertyValueModel<? extends PersistenceUnit> subjectHolder,
Composite container,
WidgetFactory widgetFactory) {
super(subjectHolder, container, widgetFactory);
}
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected Composite addContainer(Composite parent) {
- Composite container = addSubPane(parent);
- updateGridData(container);
-
- return container;
- }
-
- private ModifiablePropertyValueModel<String> buildPersistenceProviderHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, String>(getSubjectHolder(), PersistenceUnit.PROVIDER_PROPERTY) {
- @Override
- protected String buildValue_() {
- return subject.getProvider();
- }
-
- @Override
- protected void setValue_(String value) {
- if (value.length() == 0) {
- value = null;
- }
- subject.setProvider(value);
- }
- };
- }
-
- private ModifiablePropertyValueModel<String> buildPersistenceUnitNameHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, String>(getSubjectHolder(), PersistenceUnit.NAME_PROPERTY) {
- @Override
- protected String buildValue_() {
- return subject.getName();
- }
-
- @Override
- protected void setValue_(String value) {
- subject.setName(value);
- }
- };
- }
-
- private ModifiablePropertyValueModel<String> buildPersistenceUnitDescriptionHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, String>(getSubjectHolder(), PersistenceUnit.DESCRIPTION_PROPERTY) {
- @Override
- protected String buildValue_() {
- return subject.getDescription();
- }
-
- @Override
- protected void setValue_(String value) {
- if (value.length() == 0) {
- value = null;
- }
- subject.setDescription(value);
- }
- };
- }
-
- /*
- * (non-Javadoc)
- */
public String getHelpID() {
return JpaHelpContextIds.PERSISTENCE_XML_GENERAL;
}
@@ -166,65 +104,69 @@ public abstract class PersistenceUnitGeneralComposite extends Pane<PersistenceUn
return null;
}
- /*
- * (non-Javadoc)
- */
public String getPageText() {
return JptUiPersistenceMessages.PersistenceUnitGeneralComposite_general;
}
- protected void initializeGeneralPane(Composite container) {
-
- container = this.addSection(
- container,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_general
- );
-
- // Name widgets
- this.addLabeledText(
- container,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_name,
- this.buildPersistenceUnitNameHolder(),
- this.getHelpID()
- );
-
- // Persistence Provider widgets
- this.addLabeledText(
- container,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_persistenceProvider,
- this.buildPersistenceProviderHolder(),
- this.getHelpID()
- );
+ @Override
+ protected Composite addComposite(Composite parent) {
+ GridLayout layout = new GridLayout(2, true);//2 columns
+ layout.marginHeight = 0;
+ layout.marginWidth = 0;
- // Description widgets
- this.addLabeledText(
- container,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_description,
- this.buildPersistenceUnitDescriptionHolder(),
- this.getHelpID()
- );
+ return this.addPane(parent, layout);
}
- protected void initializeMappedClassesPane(Composite container) {
+ @Override
+ protected void initializeLayout(Composite container) {
+ Section generalSection = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR);
+ generalSection.setText(JptUiPersistenceMessages.PersistenceUnitGeneralComposite_general);
+ Control generalComposite = this.buildGeneralComposite(generalSection);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.verticalAlignment = SWT.TOP;
+ generalSection.setLayoutData(gridData);
+ generalSection.setClient(generalComposite);
+
+ Section mappingFilesSection = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | Section.DESCRIPTION);
+ mappingFilesSection.setText(JptUiPersistenceMessages.PersistenceUnitGeneralComposite_jpaMappingDescriptors);
+ mappingFilesSection.setDescription(JptUiPersistenceMessages.PersistenceUnitGeneralComposite_jpaMappingDescriptors_description);
+ Control mappingFilesComposite = this.buildMappingFilesComposite(mappingFilesSection);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.verticalAlignment = SWT.TOP;
+ mappingFilesSection.setLayoutData(gridData);
+ mappingFilesSection.setClient(mappingFilesComposite);
+
+ Section classesSection = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | Section.DESCRIPTION);
+ classesSection.setText(JptUiPersistenceMessages.PersistenceUnitGeneralComposite_mappedClasses);
+ classesSection.setDescription(JptUiPersistenceMessages.PersistenceUnitClassesComposite_description);
+ gridData = new GridData(GridData.FILL_BOTH);
+ gridData.verticalAlignment = SWT.TOP;
+ classesSection.setLayoutData(gridData);
+ Control classesComposite = this.buildClassesComposite(classesSection);
+ classesSection.setClient(classesComposite);
+
+ Section jarFilesSection = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR);
+ jarFilesSection.setText(JptUiPersistenceMessages.PersistenceUnitGeneralComposite_jarFiles);
+ Control jarFilesComposite = this.buildJarFilesComposite(jarFilesSection);
+ gridData = new GridData(GridData.FILL_BOTH);
+ gridData.verticalAlignment = SWT.TOP;
+ jarFilesSection.setLayoutData(gridData);
+ jarFilesSection.setClient(jarFilesComposite);
+ }
- container = addCollapsibleSection(
- container,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_mappedClasses
- );
+ protected Control buildGeneralComposite(Composite parent) {
+ return new PersistenceUnitGeneralComposite(this, parent).getControl();
+ }
- updateGridData(container);
- updateGridData(container.getParent());
+ protected Control buildClassesComposite(Composite parent) {
+ return new PersistenceUnitClassesComposite(this, parent).getControl();
+ }
- new PersistenceUnitClassesComposite(this, container);
+ protected Control buildMappingFilesComposite(Composite parent) {
+ return new GenericPersistenceUnitMappingFilesComposite(this, parent).getControl();
}
-
- protected void updateGridData(Composite container) {
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
+ protected Control buildJarFilesComposite(Composite parent) {
+ return new GenericPersistenceUnitJarFilesComposite(this, parent).getControl();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitJarFilesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitJarFilesComposite.java
index 2bd7a40ee1..73de8285cc 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitJarFilesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitJarFilesComposite.java
@@ -7,7 +7,7 @@
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
+package org.eclipse.jpt.jpa.ui.internal.persistence;
import org.eclipse.core.resources.IProject;
import org.eclipse.jface.viewers.ILabelProvider;
@@ -19,19 +19,17 @@ import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.persistence.JarFileRef;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
import org.eclipse.jpt.jpa.ui.JptJpaUiPlugin;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.jpa.ui.internal.JptUiIcons;
-import org.eclipse.jpt.jpa.ui.internal.persistence.JptUiPersistenceMessages;
-import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
@@ -50,7 +48,7 @@ import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
* -----------------------------------------------------------------------------</pre>
*
* @see PersistenceUnit
- * @see PersistenceUnitGeneralComposite - The parent container
+ * @see PersistenceUnitGeneralTab - The parent container
* @see AddRemoveListPane
*
* @version 2.0
@@ -59,7 +57,6 @@ import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
public abstract class PersistenceUnitJarFilesComposite
extends Pane<PersistenceUnit>
{
- private ModifiablePropertyValueModel<JarFileRef> selectedItemHolder;
/**
* Creates a new <code>PersistenceUnitJPAMappingDescriptorsComposite</code>.
@@ -71,67 +68,41 @@ public abstract class PersistenceUnitJarFilesComposite
Pane<? extends PersistenceUnit> parentPane,
Composite parent) {
- super(parentPane, parent, false);
+ super(parentPane, parent);
}
@Override
- protected void initialize() {
- super.initialize();
- this.selectedItemHolder = buildSelectedItemHolder();
- }
-
-
-
- @Override
protected void initializeLayout(Composite container) {
addJarFilesList(container);
}
protected void addJarFilesList(Composite container) {
// List pane
- new AddRemoveListPane<PersistenceUnit>(
+ new AddRemoveListPane<PersistenceUnit, JarFileRef>(
this,
container,
this.buildAdapter(),
this.buildItemListHolder(),
- this.selectedItemHolder,
+ this.buildSelectedJarFileRefsModel(),
this.buildLabelProvider(),
- JpaHelpContextIds.PERSISTENCE_XML_GENERAL
- ) {
- @Override
- protected Composite addContainer(Composite parent) {
- parent = super.addContainer(parent);
- updateGridData(parent);
- return parent;
+ JpaHelpContextIds.PERSISTENCE_XML_GENERAL);
+ }
+
+ private Adapter<JarFileRef> buildAdapter() {
+ return new AddRemoveListPane.AbstractAdapter<JarFileRef>() {
+ public JarFileRef addNewItem() {
+ return addJarFileRef();
}
-
+
@Override
- protected void initializeLayout(Composite container) {
- super.initializeLayout(container);
- updateGridData(getContainer());
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<JarFileRef> selectedItemsModel) {
+ return buildSingleSelectedItemEnabledModel(selectedItemsModel);
}
- };
- }
-
- private void updateGridData(Composite container) {
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
- }
-
- private Adapter buildAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addJarFileRef();
- }
-
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- getSubject().removeJarFileRef((JarFileRef) item);
- }
+
+ public void removeSelectedItems(CollectionValueModel<JarFileRef> selectedItemsModel) {
+ //assume only 1 item since remove button is disabled otherwise
+ JarFileRef jarFileRef = selectedItemsModel.iterator().next();
+ getSubject().removeJarFileRef(jarFileRef);
}
};
}
@@ -156,9 +127,9 @@ public abstract class PersistenceUnitJarFilesComposite
}
};
}
-
- private ModifiablePropertyValueModel<JarFileRef> buildSelectedItemHolder() {
- return new SimplePropertyValueModel<JarFileRef>();
+
+ protected ModifiableCollectionValueModel<JarFileRef> buildSelectedJarFileRefsModel() {
+ return new SimpleCollectionValueModel<JarFileRef>();
}
private ILabelProvider buildLabelProvider() {
@@ -182,7 +153,7 @@ public abstract class PersistenceUnitJarFilesComposite
};
}
- private void addJarFileRef() {
+ private JarFileRef addJarFileRef() {
IProject project = getSubject().getJpaProject().getProject();
ElementTreeSelectionDialog dialog = new ArchiveFileSelectionDialog(
@@ -202,11 +173,11 @@ public abstract class PersistenceUnitJarFilesComposite
if (jarFileRefExists(filePath)) {
continue;
}
- JarFileRef jarFileRef = getSubject().addJarFileRef(filePath);
-
- this.selectedItemHolder.setValue(jarFileRef);
+ return getSubject().addJarFileRef(filePath);
}
}
+
+ return null;
}
protected ArchiveFileSelectionDialog.DeploymentPathCalculator buildJarFileDeploymentPathCalculator() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitMappingFilesComposite.java
index d9e11eb985..6a14546b4f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitMappingFilesComposite.java
@@ -7,7 +7,7 @@
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
+package org.eclipse.jpt.jpa.ui.internal.persistence;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
@@ -25,10 +25,11 @@ import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
import org.eclipse.jpt.jpa.core.context.persistence.MappingFileRef;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
@@ -36,11 +37,7 @@ import org.eclipse.jpt.jpa.ui.JptJpaUiPlugin;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.jpa.ui.internal.JptUiIcons;
import org.eclipse.jpt.jpa.ui.internal.jface.XmlMappingFileViewerFilter;
-import org.eclipse.jpt.jpa.ui.internal.persistence.JptUiPersistenceMessages;
-import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
import org.eclipse.ui.dialogs.ISelectionStatusValidator;
@@ -52,45 +49,23 @@ import org.eclipse.ui.views.navigator.ResourceComparator;
public abstract class PersistenceUnitMappingFilesComposite
extends Pane<PersistenceUnit> {
- private ModifiablePropertyValueModel<MappingFileRef> selectedItemHolder;
public PersistenceUnitMappingFilesComposite(
Pane<? extends PersistenceUnit> parentPane, Composite parent) {
-
+
super(parentPane, parent);
}
- @Override
- protected void initialize() {
- super.initialize();
- this.selectedItemHolder = buildSelectedItemHolder();
- }
-
-
protected void addMappingFilesList(Composite container) {
// List pane
- new AddRemoveListPane<PersistenceUnit>(
+ new AddRemoveListPane<PersistenceUnit, MappingFileRef>(
this,
container,
buildAdapter(),
buildItemListHolder(),
- this.selectedItemHolder,
+ buildSelectedMappingFileRefsModel(),
buildLabelProvider(),
- JpaHelpContextIds.PERSISTENCE_XML_GENERAL) {
-
- @Override
- protected Composite addContainer(Composite parent) {
- parent = super.addContainer(parent);
- updateGridData(parent);
- return parent;
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- super.initializeLayout(container);
- updateGridData(getContainer());
- }
- };
+ JpaHelpContextIds.PERSISTENCE_XML_GENERAL);
}
/**
@@ -100,7 +75,7 @@ public abstract class PersistenceUnitMappingFilesComposite
*
* @param listSelectionModel The selection model used to select the new files
*/
- private void addJPAMappingDescriptor() {
+ private MappingFileRef addJPAMappingDescriptor() {
ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(
getShell(),
@@ -126,41 +101,29 @@ public abstract class PersistenceUnitMappingFilesComposite
if (mappingFileRefExists(fileName)) {
continue;
}
- MappingFileRef mappingFileRef = getSubject().addSpecifiedMappingFileRef(fileName);
- this.selectedItemHolder.setValue(mappingFileRef);
+ return getSubject().addSpecifiedMappingFileRef(fileName);
}
}
+ return null;
}
- private Adapter buildAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addJPAMappingDescriptor();
- }
-
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- getSubject().removeSpecifiedMappingFileRef((MappingFileRef) item);
- }
+ private Adapter<MappingFileRef> buildAdapter() {
+ return new AddRemoveListPane.AbstractAdapter<MappingFileRef>() {
+ public MappingFileRef addNewItem() {
+ return addJPAMappingDescriptor();
}
- };
- }
-
- @Override
- protected Composite addContainer(Composite parent) {
-
- GridLayout layout = new GridLayout(1, true);
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- layout.marginTop = 0;
- layout.marginLeft = 0;
- layout.marginBottom = 0;
- layout.marginRight = 0;
- Composite container = addPane(parent, layout);
- updateGridData(container);
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<MappingFileRef> selectedItemsModel) {
+ return buildSingleSelectedItemEnabledModel(selectedItemsModel);
+ }
- return container;
+ public void removeSelectedItems(CollectionValueModel<MappingFileRef> selectedItemsModel) {
+ //assume only 1 item since remove button is disabled otherwise
+ MappingFileRef mappingFileRef = selectedItemsModel.iterator().next();
+ getSubject().removeSpecifiedMappingFileRef(mappingFileRef);
+ }
+ };
}
private ListValueModel<MappingFileRef> buildItemListHolder() {
@@ -205,9 +168,9 @@ public abstract class PersistenceUnitMappingFilesComposite
}
};
}
-
- private ModifiablePropertyValueModel<MappingFileRef> buildSelectedItemHolder() {
- return new SimplePropertyValueModel<MappingFileRef>();
+
+ protected ModifiableCollectionValueModel<MappingFileRef> buildSelectedMappingFileRefsModel() {
+ return new SimpleCollectionValueModel<MappingFileRef>();
}
private boolean mappingFileRefExists(String fileName) {
@@ -237,14 +200,4 @@ public abstract class PersistenceUnitMappingFilesComposite
}
};
}
-
- private void updateGridData(Composite container) {
-
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
- }
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitPropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitPropertiesTab.java
index b67aa09d65..02ddf26e19 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitPropertiesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceUnitPropertiesTab.java
@@ -7,7 +7,7 @@
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
+package org.eclipse.jpt.jpa.ui.internal.persistence;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.CellEditor;
@@ -25,19 +25,20 @@ import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
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.ListRemoveEvent;
+import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.jpa.ui.internal.details.java.BaseJavaUiFactory;
-import org.eclipse.jpt.jpa.ui.internal.persistence.JptUiPersistenceMessages;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
@@ -68,10 +69,10 @@ import org.eclipse.swt.widgets.TableItem;
* @since 2.0
*/
@SuppressWarnings("nls")
-public class PersistenceUnitPropertiesComposite extends Pane<PersistenceUnit>
+public class PersistenceUnitPropertiesTab extends Pane<PersistenceUnit>
implements JpaPageComposite
{
- private ModifiablePropertyValueModel<PersistenceUnit.Property> propertyHolder;
+ private ModifiableCollectionValueModel<PersistenceUnit.Property> selectedPropertiesModel;
private TablePane tablePane;
/**
@@ -81,13 +82,41 @@ public class PersistenceUnitPropertiesComposite extends Pane<PersistenceUnit>
* @param parent The parent container
* @param widgetFactory The factory used to create various common widgets
*/
- public PersistenceUnitPropertiesComposite(PropertyValueModel<PersistenceUnit> subjectHolder,
+ public PersistenceUnitPropertiesTab(PropertyValueModel<PersistenceUnit> subjectHolder,
Composite container,
WidgetFactory widgetFactory) {
super(subjectHolder, container, widgetFactory);
}
+ public String getHelpID() {
+ return JpaHelpContextIds.PERSISTENCE_XML_PROPERTIES;
+ }
+
+ public ImageDescriptor getPageImageDescriptor() {
+ return null;
+ }
+
+ public String getPageText() {
+ return JptUiPersistenceMessages.PersistenceUnitPropertiesComposite_properties;
+ }
+
+ @Override
+ protected void initialize() {
+ super.initialize();
+ this.selectedPropertiesModel = new SimpleCollectionValueModel<PersistenceUnit.Property>();
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ this.addLabel(
+ container,
+ JptUiPersistenceMessages.PersistenceUnitPropertiesComposite_properties_description
+ );
+
+ this.tablePane = new TablePane(container);
+ }
+
private ListValueModel<PersistenceUnit.Property> buildPropertiesListHolder() {
return new ListAspectAdapter<PersistenceUnit, PersistenceUnit.Property>(getSubjectHolder(), PersistenceUnit.PROPERTIES_LIST) {
@Override
@@ -106,56 +135,31 @@ public class PersistenceUnitPropertiesComposite extends Pane<PersistenceUnit>
return new TableLabelProvider();
}
- private AddRemoveTablePane.Adapter buildTableAdapter() {
- return new AddRemoveTablePane.AbstractAdapter() {
-
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
+ private AddRemoveTablePane.Adapter<PersistenceUnit.Property> buildTableAdapter() {
+ return new AddRemoveTablePane.AbstractAdapter<PersistenceUnit.Property>() {
+ public PersistenceUnit.Property addNewItem() {
PersistenceUnit.Property property = getSubject().addProperty();
- propertyHolder.setValue(property);
tablePane.getTableViewer().editElement(
property,
PropertyColumnAdapter.NAME_COLUMN
);
+ return property;
}
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- getSubject().removeProperty((PersistenceUnit.Property) item);
- }
+ @Override
+ public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<PersistenceUnit.Property> selectedItemsModel) {
+ //enable the remove button only when 1 item is selected, same as the optional button
+ return buildSingleSelectedItemEnabledModel(selectedItemsModel);
}
- };
- }
- public String getHelpID() {
- return JpaHelpContextIds.PERSISTENCE_XML_PROPERTIES;
- }
-
- public ImageDescriptor getPageImageDescriptor() {
- return null;
- }
-
- public String getPageText() {
- return JptUiPersistenceMessages.PersistenceUnitPropertiesComposite_properties;
- }
-
- @Override
- protected void initialize() {
- super.initialize();
- propertyHolder = new SimplePropertyValueModel<PersistenceUnit.Property>();
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- addLabel(
- container,
- JptUiPersistenceMessages.PersistenceUnitPropertiesComposite_properties_description
- );
-
- tablePane = new TablePane(container);
- container.setLayoutData(new GridData(GridData.FILL_BOTH));
+ public void removeSelectedItems(CollectionValueModel<PersistenceUnit.Property> selectedItemsModel) {
+ //assume only 1 item since remove button is disabled otherwise
+ PersistenceUnit.Property property = selectedItemsModel.iterator().next();
+ getSubject().removeProperty(property);
+ }
+ };
}
private static class PropertyColumnAdapter implements ColumnAdapter<PersistenceUnit.Property> {
@@ -255,28 +259,21 @@ public class PersistenceUnitPropertiesComposite extends Pane<PersistenceUnit>
}
}
- private class TablePane extends AddRemoveTablePane<PersistenceUnit> {
+ private class TablePane extends AddRemoveTablePane<PersistenceUnit, PersistenceUnit.Property> {
private final String SELECTION_COLUMN = "selection";
private TableViewer tableViewer;
private TablePane(Composite parent) {
- super(PersistenceUnitPropertiesComposite.this,
+ super(PersistenceUnitPropertiesTab.this,
parent,
buildTableAdapter(),
buildPropertiesListHolder(),
- propertyHolder,
+ selectedPropertiesModel,
buildPropertyLabelProvider());
}
- @Override
- protected Composite addContainer(Composite parent) {
- Composite container = super.addContainer(parent);
- container.setLayoutData(new GridData(GridData.FILL_BOTH));
- return container;
- }
-
private CellEditor[] buildCellEditors(Table table) {
return new CellEditor[] {
null,
@@ -332,7 +329,7 @@ public class PersistenceUnitPropertiesComposite extends Pane<PersistenceUnit>
}
@Override
- protected ColumnAdapter<?> buildColumnAdapter() {
+ protected ColumnAdapter<PersistenceUnit.Property> buildColumnAdapter() {
return new PropertyColumnAdapter();
}
@@ -350,9 +347,9 @@ public class PersistenceUnitPropertiesComposite extends Pane<PersistenceUnit>
@Override
protected void initializeMainComposite(Composite container,
- Adapter adapter,
+ Adapter<PersistenceUnit.Property> adapter,
ListValueModel<?> listHolder,
- ModifiablePropertyValueModel<?> selectedItemHolder,
+ ModifiableCollectionValueModel<PersistenceUnit.Property> selectedItemsHolder,
IBaseLabelProvider labelProvider,
String helpId) {
@@ -360,7 +357,7 @@ public class PersistenceUnitPropertiesComposite extends Pane<PersistenceUnit>
container,
adapter,
listHolder,
- selectedItemHolder,
+ selectedItemsHolder,
labelProvider,
helpId
);
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceXmlUiDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceXmlUiDefinition.java
index 7b69456b2e..26ce655779 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceXmlUiDefinition.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceXmlUiDefinition.java
@@ -7,7 +7,7 @@
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
+package org.eclipse.jpt.jpa.ui.internal.persistence;
import org.eclipse.jpt.common.core.JptResourceType;
import org.eclipse.jpt.common.ui.internal.jface.SimpleItemTreeStateProviderFactoryProvider;
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceXmlUiFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceXmlUiFactory.java
index 6f546cd681..a8142d9da8 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceXmlUiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/PersistenceXmlUiFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -7,13 +7,13 @@
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
+package org.eclipse.jpt.jpa.ui.internal.persistence;
import java.util.ListIterator;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
+import org.eclipse.jpt.jpa.ui.editors.JpaPageComposite;
import org.eclipse.swt.widgets.Composite;
public interface PersistenceXmlUiFactory
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitConnectionComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitConnectionComposite.java
deleted file mode 100644
index 6214cb00ed..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitConnectionComposite.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jpt.common.ui.WidgetFactory;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.ui.details.JpaPageComposite;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.jpa.ui.internal.persistence.JptUiPersistenceMessages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | |
- * | - General --------------------------------------------------------------- |
- * | ------------------------------------------------------------------------- |
- * | | | |
- * | | PersistenceUnitConnectionGeneralComposite | |
- * | | | |
- * | ------------------------------------------------------------------------- |
- * | |
- * | - Database -------------------------------------------------------------- |
- * | ------------------------------------------------------------------------- |
- * | | | |
- * | | PersistenceUnitConnectionDatabaseComposite | |
- * | | | |
- * | ------------------------------------------------------------------------- |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see PersistenceUnit
- * @see PersistenceUnitConnectionGeneralComposite
- * @see PersistenceUnitConnectionDatabaseComposite
- *
- * @version 2.0
- * @since 2.0
- */
-public class PersistenceUnitConnectionComposite extends Pane<PersistenceUnit>
- implements JpaPageComposite
-{
- /**
- * Creates a new <code>PersistenceUnitConnectionComposite</code>.
- *
- * @param subjectHolder The holder of this pane's subject
- * @param parent The parent container
- * @param widgetFactory The factory used to create various common widgets
- */
- public PersistenceUnitConnectionComposite(PropertyValueModel<PersistenceUnit> subjectHolder,
- Composite container,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, container, widgetFactory);
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected Composite addContainer(Composite parent) {
-
- GridLayout layout = new GridLayout(1, true);
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- layout.marginTop = 0;
- layout.marginLeft = 0;
- layout.marginBottom = 0;
- layout.marginRight = 0;
- layout.verticalSpacing = 15;
-
- Composite container = addPane(parent, layout);
- updateGridData(container);
-
- return container;
- }
-
- /*
- * (non-Javadoc)
- */
- public String getHelpID() {
- return JpaHelpContextIds.PERSISTENCE_XML_CONNECTION;
- }
-
- private void initializeDatabasePane(Composite container) {
-
- container = addSection(
- container,
- JptUiPersistenceMessages.PersistenceUnitConnectionComposite_database
- );
-
- new PersistenceUnitConnectionDatabaseComposite(this, container);
- }
-
- private void initializeGeneralPane(Composite container) {
-
- container = addSection(
- container,
- JptUiPersistenceMessages.PersistenceUnitConnectionComposite_general
- );
-
- new PersistenceUnitConnectionGeneralComposite(this, container);
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected void initializeLayout(Composite container) {
-
- initializeGeneralPane(container);
- initializeDatabasePane(container);
- }
-
- public ImageDescriptor getPageImageDescriptor() {
- return null;
- }
-
- public String getPageText() {
- return JptUiPersistenceMessages.PersistenceUnitConnectionComposite_connection;
- }
-
- private void updateGridData(Composite container) {
-
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitConnectionDatabaseComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitConnectionDatabaseComposite.java
deleted file mode 100644
index 6ea81cfaed..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitConnectionDatabaseComposite.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitTransactionType;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.jpa.ui.internal.persistence.JptUiPersistenceMessages;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | ------------------------------------------------ |
- * | JTA Datasource Name: | I | |
- * | ------------------------------------------------ |
- * | ------------------------------------------------ |
- * | Non-JTA Datasource Name: | I | |
- * | ------------------------------------------------ |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see PersistenceUnit
- * @see PersistenceUnitConnectionComposite - The parent container
- *
- * @version 2.0
- * @since 2.0
- */
-public class PersistenceUnitConnectionDatabaseComposite extends Pane<PersistenceUnit>
-{
- /**
- * Creates a new <code>PersistenceUnitConnectionDatabaseComposite</code>.
- *
- * @param parentPane The parent pane of this one
- * @param parent The parent container
- */
- public PersistenceUnitConnectionDatabaseComposite(Pane<PersistenceUnit> subjectHolder,
- Composite container) {
-
- super(subjectHolder, container);
- }
-
- private PropertyValueModel<Boolean> buildJTADatasourceNameBooleanHolder() {
- return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
- @Override
- protected Boolean transform_(PersistenceUnitTransactionType value) {
- return Boolean.valueOf(value == PersistenceUnitTransactionType.JTA);
- }
- };
- }
-
- private ModifiablePropertyValueModel<String> buildJTADatasourceNameHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, String>(getSubjectHolder(), PersistenceUnit.JTA_DATA_SOURCE_PROPERTY) {
- @Override
- protected String buildValue_() {
- return subject.getJtaDataSource();
- }
-
- @Override
- protected void setValue_(String value) {
- if (value.length() == 0) {
- value = null;
- }
- subject.setJtaDataSource(value);
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildNonJTADatasourceNameBooleanHolder() {
- return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
- @Override
- protected Boolean transform_(PersistenceUnitTransactionType value) {
- return Boolean.valueOf(value == PersistenceUnitTransactionType.RESOURCE_LOCAL);
- }
- };
- }
-
- private ModifiablePropertyValueModel<String> buildNonJTADatasourceNameHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, String>(getSubjectHolder(), PersistenceUnit.NON_JTA_DATA_SOURCE_PROPERTY) {
- @Override
- protected String buildValue_() {
- return subject.getNonJtaDataSource();
- }
-
- @Override
- protected void setValue_(String value) {
- if (value.length() == 0) {
- value = null;
- }
- subject.setNonJtaDataSource(value);
- }
- };
- }
-
- private PropertyValueModel<PersistenceUnitTransactionType> buildTransactionTypeHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, PersistenceUnitTransactionType>(
- getSubjectHolder(),
- PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY,
- PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY)
- {
- @Override
- protected PersistenceUnitTransactionType buildValue_() {
- return subject.getTransactionType();
- }
- };
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected void initializeLayout(Composite container) {
-
- // JTA Datasource Name widgets
- PropertyValueModel<Boolean> enabled = this.buildJTADatasourceNameBooleanHolder();
- Label label = addLabel(
- container,
- JptUiPersistenceMessages.PersistenceUnitConnectionDatabaseComposite_jtaDatasourceName,
- enabled
- );
- Text text = addText(
- container,
- buildJTADatasourceNameHolder(),
- JpaHelpContextIds.PERSISTENCE_XML_CONNECTION,
- enabled
- );
- addLabeledComposite(container, label, text, JpaHelpContextIds.PERSISTENCE_XML_CONNECTION);
-
-
- // Non-JTA Datasource Name widgets
- enabled = this.buildNonJTADatasourceNameBooleanHolder();
- label = addLabel(
- container,
- JptUiPersistenceMessages.PersistenceUnitConnectionDatabaseComposite_nonJtaDatasourceName,
- enabled
- );
- text = addText(
- container,
- buildNonJTADatasourceNameHolder(),
- JpaHelpContextIds.PERSISTENCE_XML_CONNECTION,
- enabled
- );
- addLabeledComposite(container, label, text, JpaHelpContextIds.PERSISTENCE_XML_CONNECTION);
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitConnectionGeneralComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitConnectionGeneralComposite.java
deleted file mode 100644
index 7f22bd8e13..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitConnectionGeneralComposite.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 Oracle. 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
- ******************************************************************************/
-package org.eclipse.jpt.jpa.ui.internal.persistence.details;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitTransactionType;
-import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.jpa.ui.internal.persistence.JptUiPersistenceMessages;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | ------------------------------------------------------ |
- * | Transaction Type: | |v| |
- * | ------------------------------------------------------ |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see PersistenceUnit
- * @see PersistenceUnitConnectionComposite - The parent container
- *
- * @version 2.0
- * @since 2.0
- */
-public class PersistenceUnitConnectionGeneralComposite extends Pane<PersistenceUnit>
-{
- /**
- * Creates a new <code>PersistenceUnitConnectionGeneralComposite</code>.
- *
- * @param parentPane The parent pane of this one
- * @param parent The parent container
- */
- public PersistenceUnitConnectionGeneralComposite(Pane<PersistenceUnit> subjectHolder,
- Composite container) {
-
- super(subjectHolder, container);
- }
-
- private EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType> buildTransactionTypeCombo(Composite container) {
-
- return new EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType>(this, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY);
- propertyNames.add(PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY);
- }
-
- @Override
- protected PersistenceUnitTransactionType[] getChoices() {
- return PersistenceUnitTransactionType.values();
- }
-
- @Override
- protected PersistenceUnitTransactionType getDefaultValue() {
- return getSubject().getDefaultTransactionType();
- }
-
- @Override
- protected String displayString(PersistenceUnitTransactionType value) {
- switch (value) {
- case JTA :
- return JptUiPersistenceMessages.PersistenceUnitConnectionGeneralComposite_jta;
- case RESOURCE_LOCAL :
- return JptUiPersistenceMessages.PersistenceUnitConnectionGeneralComposite_resource_local;
- default :
- throw new IllegalStateException();
- }
- }
-
- @Override
- protected PersistenceUnitTransactionType getValue() {
- return getSubject().getSpecifiedTransactionType();
- }
-
- @Override
- protected void setValue(PersistenceUnitTransactionType value) {
- getSubject().setSpecifiedTransactionType(value);
- }
- };
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected void initializeLayout(Composite container) {
-
- // Transaction Type widgets
- addLabeledComposite(
- container,
- JptUiPersistenceMessages.PersistenceUnitConnectionGeneralComposite_transactionType,
- buildTransactionTypeCombo(container).getControl(),
- JpaHelpContextIds.PERSISTENCE_XML_CONNECTION
- );
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractJpaPlatformUi.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractJpaPlatformUi.java
index 7942c16b0c..8617a8ee85 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractJpaPlatformUi.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractJpaPlatformUi.java
@@ -129,10 +129,11 @@ public abstract class AbstractJpaPlatformUi
String mappingKey,
Composite parent,
PropertyValueModel<AttributeMapping> mappingHolder,
+ PropertyValueModel<Boolean> enabledModel,
WidgetFactory widgetFactory) {
return getMappingResourceUiDefinition(resourceType).buildAttributeMappingComposite(
- mappingKey, mappingHolder, parent, widgetFactory);
+ mappingKey, mappingHolder, enabledModel, parent, widgetFactory);
}
public DefaultMappingUiDefinition<ReadOnlyPersistentAttribute, ? extends AttributeMapping> getDefaultAttributeMappingUiDefinition(JptResourceType resourceType, String mappingKey) {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/views/JpaDetailsView.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/views/JpaDetailsView.java
index 4a08523268..5db8bca38a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/views/JpaDetailsView.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/views/JpaDetailsView.java
@@ -23,7 +23,6 @@ import org.eclipse.jpt.jpa.ui.details.JpaDetailsPageManager;
import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
import org.eclipse.jpt.jpa.ui.selection.JpaViewManager;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
@@ -122,10 +121,7 @@ public class JpaDetailsView
}
private Control buildDefaultPage() {
- Composite composite = this.widgetFactory.createComposite(this.pageBook);
- composite.setLayout(new FillLayout(SWT.VERTICAL));
- this.widgetFactory.createLabel(composite, JptUiMessages.JpaDetailsView_viewNotAvailable);
- return composite;
+ return this.widgetFactory.createLabel(this.pageBook, JptUiMessages.JpaDetailsView_viewNotAvailable);
}
private Manager buildManager() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/jpa2/details/java/JavaUiFactory2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/jpa2/details/java/JavaUiFactory2_0.java
index 32616e75f2..344199aea0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/jpa2/details/java/JavaUiFactory2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/jpa2/details/java/JavaUiFactory2_0.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -35,6 +35,7 @@ public interface JavaUiFactory2_0
JpaComposite createJavaElementCollectionMapping2_0Composite(
PropertyValueModel<JavaElementCollectionMapping2_0> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/jpa2/details/orm/OrmXmlUiFactory2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/jpa2/details/orm/OrmXmlUiFactory2_0.java
index 159a12dab1..529bca1974 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/jpa2/details/orm/OrmXmlUiFactory2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/jpa2/details/orm/OrmXmlUiFactory2_0.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 Oracle. 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.
@@ -35,6 +35,7 @@ public interface OrmXmlUiFactory2_0 extends OrmXmlUiFactory
JpaComposite createOrmElementCollectionMapping2_0Composite(
PropertyValueModel<OrmElementCollectionMapping2_0> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
Composite parent,
WidgetFactory widgetFactory);

Back to the top