View | Details | Raw Unified | Return to bug 392701 | Differences between
and this patch

Collapse All | Expand All

(-)a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/EclipseLink2_5JavaResourceUiDefinition.java (+98 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.java;
11
12
import java.util.List;
13
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkArrayMapping2_3UiDefinition;
14
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkBasicCollectionMappingUiDefinition;
15
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkBasicMapMappingUiDefinition;
16
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkStructureMapping2_3UiDefinition;
17
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkTransformationMappingUiDefinition;
18
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkVariableOneToOneMappingUiDefinition;
19
import org.eclipse.jpt.jpa.ui.ResourceUiDefinition;
20
import org.eclipse.jpt.jpa.ui.details.DefaultMappingUiDefinition;
21
import org.eclipse.jpt.jpa.ui.details.JpaUiFactory;
22
import org.eclipse.jpt.jpa.ui.details.MappingUiDefinition;
23
import org.eclipse.jpt.jpa.ui.internal.details.BasicMappingUiDefinition;
24
import org.eclipse.jpt.jpa.ui.internal.details.EmbeddedIdMappingUiDefinition;
25
import org.eclipse.jpt.jpa.ui.internal.details.EmbeddedMappingUiDefinition;
26
import org.eclipse.jpt.jpa.ui.internal.details.ManyToManyMappingUiDefinition;
27
import org.eclipse.jpt.jpa.ui.internal.details.ManyToOneMappingUiDefinition;
28
import org.eclipse.jpt.jpa.ui.internal.details.OneToManyMappingUiDefinition;
29
import org.eclipse.jpt.jpa.ui.internal.details.OneToOneMappingUiDefinition;
30
import org.eclipse.jpt.jpa.ui.internal.details.TransientMappingUiDefinition;
31
import org.eclipse.jpt.jpa.ui.internal.details.VersionMappingUiDefinition;
32
import org.eclipse.jpt.jpa.ui.internal.details.java.AbstractJavaResourceUiDefinition;
33
import org.eclipse.jpt.jpa.ui.internal.details.java.DefaultBasicMappingUiDefinition;
34
import org.eclipse.jpt.jpa.ui.internal.details.java.DefaultEmbeddedMappingUiDefinition;
35
import org.eclipse.jpt.jpa.ui.internal.details.java.NullJavaAttributeMappingUiDefinition;
36
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.ElementCollectionMapping2_0UiDefinition;
37
38
public class EclipseLink2_5JavaResourceUiDefinition
39
	extends AbstractJavaResourceUiDefinition
40
{
41
	// singleton
42
	private static final ResourceUiDefinition INSTANCE = new EclipseLink2_5JavaResourceUiDefinition();
43
44
45
	/**
46
	 * Return the singleton.
47
	 */
48
	public static ResourceUiDefinition instance() {
49
		return INSTANCE;
50
	}
51
52
53
	/**
54
	 * zero-argument constructor
55
	 */
56
	protected EclipseLink2_5JavaResourceUiDefinition() {
57
		super();
58
	}
59
60
61
	@Override
62
	protected JpaUiFactory buildUiFactory() {
63
		return new EclipseLink2_5JavaUiFactory();
64
	}
65
66
	@Override
67
	protected void addSpecifiedAttributeMappingUiDefinitionsTo(List<MappingUiDefinition> definitions) {
68
		definitions.add(JavaEclipseLinkIdMapping2_0UiDefinition.instance());
69
		definitions.add(EmbeddedIdMappingUiDefinition.instance());
70
		definitions.add(BasicMappingUiDefinition.instance());
71
		definitions.add(VersionMappingUiDefinition.instance());
72
		definitions.add(ManyToOneMappingUiDefinition.instance());
73
		definitions.add(OneToManyMappingUiDefinition.instance());
74
		definitions.add(OneToOneMappingUiDefinition.instance());
75
		definitions.add(ManyToManyMappingUiDefinition.instance());
76
		definitions.add(EmbeddedMappingUiDefinition.instance());
77
		definitions.add(TransientMappingUiDefinition.instance());
78
79
		definitions.add(EclipseLinkBasicCollectionMappingUiDefinition.instance());
80
		definitions.add(EclipseLinkBasicMapMappingUiDefinition.instance());
81
		definitions.add(EclipseLinkVariableOneToOneMappingUiDefinition.instance());
82
		definitions.add(EclipseLinkTransformationMappingUiDefinition.instance());
83
		definitions.add(EclipseLinkArrayMapping2_3UiDefinition.instance());
84
		definitions.add(EclipseLinkStructureMapping2_3UiDefinition.instance());
85
86
		definitions.add(ElementCollectionMapping2_0UiDefinition.instance());
87
	}
88
89
	@Override
90
	protected void addDefaultAttributeMappingUiDefinitionsTo(List<DefaultMappingUiDefinition> definitions) {
91
		definitions.add(DefaultBasicMappingUiDefinition.instance());
92
		definitions.add(DefaultEmbeddedMappingUiDefinition.instance());
93
		definitions.add(NullJavaAttributeMappingUiDefinition.instance());
94
		definitions.add(DefaultJavaEclipseLinkOneToOneMappingUiDefinition.instance());
95
		definitions.add(DefaultJavaEclipseLinkOneToManyMappingUiDefinition.instance());
96
		definitions.add(DefaultJavaEclipseLinkVariableOneToOneMappingUiDefinition.instance());
97
	}
98
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/EclipseLink2_5JavaUiFactory.java (+50 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.java;
11
12
import org.eclipse.jface.resource.ResourceManager;
13
import org.eclipse.jpt.common.ui.WidgetFactory;
14
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
15
import org.eclipse.jpt.jpa.core.context.Entity;
16
import org.eclipse.jpt.jpa.core.context.MappedSuperclass;
17
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkEntity;
18
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkMappedSuperclass;
19
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
20
import org.eclipse.jpt.jpa.ui.jpa2_1.details.JpaUiFactory2_1;
21
import org.eclipse.swt.widgets.Composite;
22
23
public class EclipseLink2_5JavaUiFactory
24
	extends EclipseLink2_0JavaUiFactory
25
	implements JpaUiFactory2_1
26
{
27
28
	// ********** type mappings **********
29
30
	@SuppressWarnings("unchecked")
31
	@Override
32
	public JpaComposite createEntityComposite(
33
			PropertyValueModel<? extends Entity> entityModel,
34
			Composite parentComposite,
35
			WidgetFactory widgetFactory,
36
			ResourceManager resourceManager) {
37
		return new JavaEclipseLinkEntity2_5Composite((PropertyValueModel<? extends JavaEclipseLinkEntity>) entityModel, parentComposite, widgetFactory, resourceManager);
38
	}
39
40
	@SuppressWarnings("unchecked")
41
	@Override
42
	public JpaComposite createMappedSuperclassComposite(
43
			PropertyValueModel<? extends MappedSuperclass> mappedSuperclassModel,
44
			Composite parentComposite,
45
			WidgetFactory widgetFactory,
46
			ResourceManager resourceManager) {
47
		return new JavaEclipseLinkMappedSuperclass2_5Composite((PropertyValueModel<? extends JavaEclipseLinkMappedSuperclass>) mappedSuperclassModel, parentComposite, widgetFactory, resourceManager);
48
	}
49
50
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkEntity2_5Composite.java (+87 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.java;
11
12
import org.eclipse.jface.resource.ResourceManager;
13
import org.eclipse.jpt.common.ui.WidgetFactory;
14
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
15
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
16
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkEntity;
17
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkMultitenancy2_3;
18
import org.eclipse.jpt.jpa.eclipselink.ui.details.JptJpaEclipseLinkUiDetailsMessages;
19
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMultitenancyComposite;
20
import org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.Queries2_1Composite;
21
import org.eclipse.swt.layout.GridData;
22
import org.eclipse.swt.widgets.Composite;
23
import org.eclipse.swt.widgets.Control;
24
import org.eclipse.ui.forms.events.ExpansionAdapter;
25
import org.eclipse.ui.forms.events.ExpansionEvent;
26
import org.eclipse.ui.forms.widgets.ExpandableComposite;
27
import org.eclipse.ui.forms.widgets.Section;
28
29
public class JavaEclipseLinkEntity2_5Composite
30
	extends AbstractJavaEclipseLinkEntity2_xComposite<JavaEclipseLinkEntity>
31
{
32
33
	public JavaEclipseLinkEntity2_5Composite(
34
			PropertyValueModel<? extends JavaEclipseLinkEntity> entityModel,
35
			Composite parentComposite,
36
			WidgetFactory widgetFactory,
37
			ResourceManager resourceManager) {
38
		super(entityModel, parentComposite, widgetFactory, resourceManager);
39
	}
40
41
	@Override
42
	protected void initializeLayout(Composite container) {
43
		this.initializeEntityCollapsibleSection(container);
44
		this.initializeCachingCollapsibleSection(container);
45
		this.initializeQueriesCollapsibleSection(container);
46
		this.initializeInheritanceCollapsibleSection(container);
47
		this.initializeAttributeOverridesCollapsibleSection(container);
48
		this.initializeMultitenancyCollapsibleSection(container);
49
		this.initializeGeneratorsCollapsibleSection(container);
50
		this.initializeConvertersCollapsibleSection(container);
51
		this.initializeSecondaryTablesCollapsibleSection(container);
52
		this.initializeAdvancedCollapsibleSection(container);
53
	}
54
55
	protected void initializeMultitenancyCollapsibleSection(Composite container) {
56
		final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
57
		section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
58
		section.setText(JptJpaEclipseLinkUiDetailsMessages.ECLIPSELINK_TYPE_MAPPING_COMPOSITE_MULTITENANCY);
59
60
		section.addExpansionListener(new ExpansionAdapter() {
61
			@Override
62
			public void expansionStateChanging(ExpansionEvent e) {
63
				if (e.getState() && section.getClient() == null) {
64
					section.setClient(initializeMultitenancySection(section));
65
				}
66
			}
67
		});
68
	}
69
70
	protected Control initializeMultitenancySection(Composite container) {
71
		return new EclipseLinkMultitenancyComposite(this, this.buildMultitenancyModel(), container).getControl();
72
	}
73
74
	private PropertyAspectAdapter<JavaEclipseLinkEntity, JavaEclipseLinkMultitenancy2_3> buildMultitenancyModel() {
75
		return new PropertyAspectAdapter<JavaEclipseLinkEntity, JavaEclipseLinkMultitenancy2_3>(getSubjectHolder()) {
76
			@Override
77
			protected JavaEclipseLinkMultitenancy2_3 buildValue_() {
78
				return this.subject.getMultitenancy();
79
			}
80
		};
81
	}
82
83
	@Override
84
	protected Control initializeQueriesSection(Composite container) {
85
		return new Queries2_1Composite(this, this.buildQueryContainerModel(), container).getControl();
86
	}
87
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/java/JavaEclipseLinkMappedSuperclass2_5Composite.java (+109 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.java;
11
12
import org.eclipse.jface.resource.ResourceManager;
13
import org.eclipse.jpt.common.ui.WidgetFactory;
14
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
15
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
16
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkMappedSuperclass;
17
import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkMultitenancy2_3;
18
import org.eclipse.jpt.jpa.eclipselink.ui.details.JptJpaEclipseLinkUiDetailsMessages;
19
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMultitenancyComposite;
20
import org.eclipse.jpt.jpa.ui.JptJpaUiMessages;
21
import org.eclipse.jpt.jpa.ui.details.JptJpaUiDetailsMessages;
22
import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComboViewer;
23
import org.eclipse.jpt.jpa.ui.internal.details.IdClassChooser;
24
import org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.Queries2_1Composite;
25
import org.eclipse.swt.layout.GridData;
26
import org.eclipse.swt.widgets.Composite;
27
import org.eclipse.swt.widgets.Control;
28
import org.eclipse.ui.forms.events.ExpansionAdapter;
29
import org.eclipse.ui.forms.events.ExpansionEvent;
30
import org.eclipse.ui.forms.widgets.ExpandableComposite;
31
import org.eclipse.ui.forms.widgets.Hyperlink;
32
import org.eclipse.ui.forms.widgets.Section;
33
34
public class JavaEclipseLinkMappedSuperclass2_5Composite
35
	extends AbstractJavaEclipseLinkMappedSuperclassComposite<JavaEclipseLinkMappedSuperclass>
36
{
37
38
	protected JavaEclipseLinkMappedSuperclass2_5Composite(
39
			PropertyValueModel<? extends JavaEclipseLinkMappedSuperclass> mappedSuperclassModel,
40
			Composite parentComposite, WidgetFactory widgetFactory,
41
			ResourceManager resourceManager) {
42
		super(mappedSuperclassModel, parentComposite, widgetFactory, resourceManager);
43
	}
44
	
45
	@Override
46
	protected void initializeLayout(Composite container) {
47
		this.initializeMappedSuperclassCollapsibleSection(container);		
48
		this.initializeCachingCollapsibleSection(container);
49
		this.initializeQueriesCollapsibleSection(container);
50
		this.initializeMultitenancyCollapsibleSection(container);
51
		this.initializeGeneratorsCollapsibleSection(container);
52
		this.initializeConvertersCollapsibleSection(container);
53
		this.initializeAdvancedCollapsibleSection(container);
54
	}
55
56
	@Override
57
	protected Control initializeMappedSuperclassSection(Composite container) {
58
		container = this.addSubPane(container, 2, 0, 0, 0, 0);
59
60
		// Access type widgets
61
		this.addLabel(container, JptJpaUiMessages.AccessTypeComposite_access);
62
		new AccessTypeComboViewer(this, this.buildAccessReferenceModel(), container);
63
64
		// Id class widgets
65
		Hyperlink hyperlink = this.addHyperlink(container,JptJpaUiDetailsMessages.IdClassComposite_label);
66
		new IdClassChooser(this, this.buildIdClassReferenceModel(), container, hyperlink);
67
68
		return container;
69
	}
70
71
	@Override
72
	protected Control initializeQueriesSection(Composite container) {
73
		return new Queries2_1Composite(this, this.buildQueryContainerModel(), container).getControl();
74
	}
75
	
76
	@Override
77
	protected Control initializeCachingSection(Composite container) {
78
		return new JavaEclipseLinkCaching2_0Composite(this, this.buildCachingModel(), container).getControl();
79
	}
80
	
81
	protected void initializeMultitenancyCollapsibleSection(Composite container) {
82
		final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
83
		section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
84
		section.setText(JptJpaEclipseLinkUiDetailsMessages.ECLIPSELINK_TYPE_MAPPING_COMPOSITE_MULTITENANCY);
85
86
		section.addExpansionListener(new ExpansionAdapter() {
87
			@Override
88
			public void expansionStateChanging(ExpansionEvent e) {
89
				if (e.getState() && section.getClient() == null) {
90
					section.setClient(initializeMultitenancySection(section));
91
				}
92
			}
93
		});
94
	}
95
96
	protected Control initializeMultitenancySection(Composite container) {
97
		return new EclipseLinkMultitenancyComposite(this, this.buildMultitenancyModel(), container).getControl();
98
	}
99
100
	private PropertyAspectAdapter<JavaEclipseLinkMappedSuperclass, JavaEclipseLinkMultitenancy2_3> buildMultitenancyModel() {
101
		return new PropertyAspectAdapter<JavaEclipseLinkMappedSuperclass, JavaEclipseLinkMultitenancy2_3>(getSubjectHolder()) {
102
			@Override
103
			protected JavaEclipseLinkMultitenancy2_3 buildValue_() {
104
				return this.subject.getMultitenancy();
105
			}
106
		};
107
	}
108
109
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappings2_5DetailsProvider.java (+53 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
11
12
import org.eclipse.jface.resource.ResourceManager;
13
import org.eclipse.jpt.common.ui.WidgetFactory;
14
import org.eclipse.jpt.jpa.ui.details.JpaDetailsPageManager;
15
import org.eclipse.jpt.jpa.ui.details.JpaDetailsProvider;
16
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEntityMappingsDetailsProvider;
17
import org.eclipse.swt.widgets.Composite;
18
19
/**
20
 * This provider is responsible for creating the {@link JpaDetailsPageManager}
21
 * when the information comes from the XML file (either from the persistence
22
 * configuration or from the Mappings Descriptor).
23
 *
24
 * @version 3.3
25
 * @since 3.1
26
 */
27
public class EclipseLinkEntityMappings2_5DetailsProvider
28
	extends AbstractEntityMappingsDetailsProvider
29
{
30
	// singleton
31
	private static final JpaDetailsProvider INSTANCE = new EclipseLinkEntityMappings2_5DetailsProvider();
32
33
34
	/**
35
	 * Return the singleton
36
	 */
37
	public static JpaDetailsProvider instance() {
38
		return INSTANCE;
39
	}
40
41
42
	/**
43
	 * Enforce singleton usage
44
	 */
45
	private EclipseLinkEntityMappings2_5DetailsProvider() {
46
		super();
47
	}
48
49
50
	public JpaDetailsPageManager buildDetailsPageManager(Composite parent, WidgetFactory widgetFactory, ResourceManager resourceManager) {
51
		return new EclipseLinkEntityMappingsDetailsPageManager2_5(parent, widgetFactory, resourceManager);
52
	}
53
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappingsDetailsPageManager2_5.java (+82 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
11
12
import org.eclipse.jface.resource.ResourceManager;
13
import org.eclipse.jpt.common.ui.WidgetFactory;
14
import org.eclipse.jpt.jpa.eclipselink.ui.details.JptJpaEclipseLinkUiDetailsMessages;
15
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm.EntityMappingsGenerators2_0Composite;
16
import org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.Queries2_1Composite;
17
import org.eclipse.swt.layout.GridData;
18
import org.eclipse.swt.widgets.Composite;
19
import org.eclipse.swt.widgets.Control;
20
import org.eclipse.ui.forms.events.ExpansionAdapter;
21
import org.eclipse.ui.forms.events.ExpansionEvent;
22
import org.eclipse.ui.forms.widgets.ExpandableComposite;
23
import org.eclipse.ui.forms.widgets.Section;
24
25
public class EclipseLinkEntityMappingsDetailsPageManager2_5
26
	extends AbstractEclipseLinkEntityMappingsDetailsPageManager
27
{
28
	public EclipseLinkEntityMappingsDetailsPageManager2_5(
29
			Composite parent, 
30
			WidgetFactory widgetFactory, 
31
			ResourceManager resourceManager) {
32
		super(parent, widgetFactory, resourceManager);
33
	}
34
35
	@Override
36
	protected void initializeLayout(Composite container) {
37
		this.initializeEntityMappingsCollapsibleSection(container);
38
		this.initializePersistenceUnitMetadataCollapsibleSection(container);
39
		this.initializeGeneratorsCollapsibleSection(container);
40
		this.initializeQueriesCollapsibleSection(container);
41
		this.initializeConvertersCollapsibleSection(container);
42
		this.initializeMultitenancyCollapsibleSection(container);
43
	}
44
45
	@Override
46
	protected Control initializeGeneratorsSection(Composite container) {
47
		return new EntityMappingsGenerators2_0Composite(this, container).getControl();
48
	}
49
50
	@Override
51
	protected Control initializeQueriesSection(Composite container) {
52
		return new Queries2_1Composite(this, this.buildQueryContainerHolder(), container).getControl();
53
	}
54
55
	@Override
56
	protected Control initializePersistenceUnitMetadataSection(Composite container) {
57
		return new EclipseLink2_3PersistenceUnitMetadataComposite(
58
			this,
59
			buildPersistentUnitMetadataHolder(),
60
			container
61
		).getControl();
62
	}
63
64
	protected void initializeMultitenancyCollapsibleSection(Composite container) {
65
		final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
66
		section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
67
		section.setText(JptJpaEclipseLinkUiDetailsMessages.ECLIPSELINK_TYPE_MAPPING_COMPOSITE_MULTITENANCY);
68
69
		section.addExpansionListener(new ExpansionAdapter() {
70
			@Override
71
			public void expansionStateChanging(ExpansionEvent e) {
72
				if (e.getState() && section.getClient() == null) {
73
					section.setClient(initializeMultitenancySection(section));
74
				}
75
			}
76
		});
77
	}
78
79
	protected Control initializeMultitenancySection(Composite container) {
80
		return new EclipseLinkEntityMappingsTenantDiscriminatorColumnsComposite(this, container).getControl();
81
	}
82
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml2_5UiDefinition.java (-3 / +4 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2012 Oracle. All rights reserved.
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
Lines 61-67 Link Here
61
61
62
	@Override
62
	@Override
63
	protected JpaUiFactory buildUiFactory() {
63
	protected JpaUiFactory buildUiFactory() {
64
		return new EclipseLinkOrmXml2_3UiFactory();
64
		return new EclipseLinkOrmXml2_5UiFactory();
65
	}
65
	}
66
66
67
	@Override
67
	@Override
Lines 76-82 Link Here
76
	protected void addDetailsProvidersTo(List<JpaDetailsProvider> providers) {
76
	protected void addDetailsProvidersTo(List<JpaDetailsProvider> providers) {
77
		providers.add(OrmPersistentTypeDetailsProvider.instance());
77
		providers.add(OrmPersistentTypeDetailsProvider.instance());
78
		providers.add(OrmPersistentAttributeDetailsProvider.instance());
78
		providers.add(OrmPersistentAttributeDetailsProvider.instance());
79
		providers.add(EclipseLinkEntityMappings2_3DetailsProvider.instance());
79
		providers.add(EclipseLinkEntityMappings2_5DetailsProvider.instance());
80
80
	}
81
	}
81
82
82
83
(-)a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/EclipseLinkOrmXml2_5UiFactory.java (+50 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
11
12
import org.eclipse.jface.resource.ResourceManager;
13
import org.eclipse.jpt.common.ui.WidgetFactory;
14
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
15
import org.eclipse.jpt.jpa.core.context.Entity;
16
import org.eclipse.jpt.jpa.core.context.MappedSuperclass;
17
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkEntity;
18
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMappedSuperclass;
19
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
20
import org.eclipse.jpt.jpa.ui.jpa2_1.details.JpaUiFactory2_1;
21
import org.eclipse.swt.widgets.Composite;
22
23
public class EclipseLinkOrmXml2_5UiFactory
24
	extends EclipseLinkOrmXml2_0UiFactory
25
	implements JpaUiFactory2_1
26
{
27
28
	// ********** type mappings **********
29
30
	@SuppressWarnings("unchecked")
31
	@Override
32
	public JpaComposite createMappedSuperclassComposite(
33
			PropertyValueModel<? extends MappedSuperclass> mappedSuperclassModel,
34
			Composite parentComposite,
35
			WidgetFactory widgetFactory,
36
			ResourceManager resourceManager) {
37
		return new OrmEclipseLinkMappedSuperclass2_5Composite((PropertyValueModel<OrmEclipseLinkMappedSuperclass>) mappedSuperclassModel, parentComposite, widgetFactory, resourceManager);
38
	}
39
40
	@SuppressWarnings("unchecked")
41
	@Override
42
	public JpaComposite createEntityComposite(
43
			PropertyValueModel<? extends Entity> entityModel,
44
			Composite parentComposite,
45
			WidgetFactory widgetFactory,
46
			ResourceManager resourceManager) {
47
		return new OrmEclipseLinkEntity2_5Composite((PropertyValueModel<OrmEclipseLinkEntity>) entityModel, parentComposite, widgetFactory, resourceManager);
48
	}
49
50
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkEntity2_5Composite.java (+87 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
11
12
import org.eclipse.jface.resource.ResourceManager;
13
import org.eclipse.jpt.common.ui.WidgetFactory;
14
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
15
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
16
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkEntity;
17
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMultitenancy2_3;
18
import org.eclipse.jpt.jpa.eclipselink.ui.details.JptJpaEclipseLinkUiDetailsMessages;
19
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMultitenancyComposite;
20
import org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.Queries2_1Composite;
21
import org.eclipse.swt.layout.GridData;
22
import org.eclipse.swt.widgets.Composite;
23
import org.eclipse.swt.widgets.Control;
24
import org.eclipse.ui.forms.events.ExpansionAdapter;
25
import org.eclipse.ui.forms.events.ExpansionEvent;
26
import org.eclipse.ui.forms.widgets.ExpandableComposite;
27
import org.eclipse.ui.forms.widgets.Section;
28
29
public class OrmEclipseLinkEntity2_5Composite 
30
	extends AbstractOrmEclipseLinkEntity2_xComposite<OrmEclipseLinkEntity>
31
{
32
33
	public OrmEclipseLinkEntity2_5Composite(
34
			PropertyValueModel<? extends OrmEclipseLinkEntity> entityModel,
35
			Composite parentComposite,
36
			WidgetFactory widgetFactory,
37
			ResourceManager resourceManager) {
38
		super(entityModel, parentComposite, widgetFactory, resourceManager);
39
	}
40
41
	@Override
42
	protected void initializeLayout(Composite container) {
43
		this.initializeEntityCollapsibleSection(container);
44
		this.initializeCachingCollapsibleSection(container);
45
		this.initializeQueriesCollapsibleSection(container);
46
		this.initializeInheritanceCollapsibleSection(container);
47
		this.initializeAttributeOverridesCollapsibleSection(container);
48
		this.initializeMultitenancyCollapsibleSection(container);
49
		this.initializeGeneratorsCollapsibleSection(container);
50
		this.initializeConvertersCollapsibleSection(container);
51
		this.initializeSecondaryTablesCollapsibleSection(container);
52
		this.initializeAdvancedCollapsibleSection(container);
53
	}
54
55
	protected void initializeMultitenancyCollapsibleSection(Composite container) {
56
		final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
57
		section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
58
		section.setText(JptJpaEclipseLinkUiDetailsMessages.ECLIPSELINK_TYPE_MAPPING_COMPOSITE_MULTITENANCY);
59
60
		section.addExpansionListener(new ExpansionAdapter() {
61
			@Override
62
			public void expansionStateChanging(ExpansionEvent e) {
63
				if (e.getState() && section.getClient() == null) {
64
					section.setClient(initializeMultitenancySection(section));
65
				}
66
			}
67
		});
68
	}
69
70
	protected Control initializeMultitenancySection(Composite container) {
71
		return new EclipseLinkMultitenancyComposite(this, this.buildMultitenancyModel(), container).getControl();
72
	}
73
74
	private PropertyAspectAdapter<OrmEclipseLinkEntity, OrmEclipseLinkMultitenancy2_3> buildMultitenancyModel() {
75
		return new PropertyAspectAdapter<OrmEclipseLinkEntity, OrmEclipseLinkMultitenancy2_3>(getSubjectHolder()) {
76
			@Override
77
			protected OrmEclipseLinkMultitenancy2_3 buildValue_() {
78
				return this.subject.getMultitenancy();
79
			}
80
		};
81
	}
82
83
	@Override
84
	protected Control initializeQueriesSection(Composite container) {
85
		return new Queries2_1Composite(this, this.buildQueryContainerModel(), container).getControl();
86
	}
87
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_5Composite.java (+116 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm;
11
12
import org.eclipse.jface.resource.ResourceManager;
13
import org.eclipse.jpt.common.ui.WidgetFactory;
14
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
15
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
16
import org.eclipse.jpt.jpa.core.context.QueryContainer;
17
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMappedSuperclass;
18
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMultitenancy2_3;
19
import org.eclipse.jpt.jpa.eclipselink.ui.details.JptJpaEclipseLinkUiDetailsMessages;
20
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMultitenancyComposite;
21
import org.eclipse.jpt.jpa.ui.details.JptJpaUiDetailsMessages;
22
import org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.Queries2_1Composite;
23
import org.eclipse.swt.layout.GridData;
24
import org.eclipse.swt.widgets.Composite;
25
import org.eclipse.swt.widgets.Control;
26
import org.eclipse.ui.forms.events.ExpansionAdapter;
27
import org.eclipse.ui.forms.events.ExpansionEvent;
28
import org.eclipse.ui.forms.widgets.ExpandableComposite;
29
import org.eclipse.ui.forms.widgets.Section;
30
31
public class OrmEclipseLinkMappedSuperclass2_5Composite
32
	extends AbstractOrmEclipseLinkMappedSuperclassComposite<OrmEclipseLinkMappedSuperclass>
33
{
34
35
	public OrmEclipseLinkMappedSuperclass2_5Composite(
36
			PropertyValueModel<? extends OrmEclipseLinkMappedSuperclass> mappedSuperclassModel, 
37
			Composite parentComposite,
38
			WidgetFactory widgetFactory,
39
			ResourceManager resourceManager) {
40
		super(mappedSuperclassModel, parentComposite, widgetFactory, resourceManager);
41
	}
42
43
	@Override
44
	protected void initializeLayout(Composite container) {
45
		this.initializeMappedSuperclassCollapsibleSection(container);
46
		this.initializeCachingCollapsibleSection(container);
47
		this.initializeQueriesCollapsibleSection(container);
48
		this.initializeMultitenancyCollapsibleSection(container);
49
		this.initializeGeneratorsCollapsibleSection(container);
50
		this.initializeConvertersCollapsibleSection(container);
51
		this.initializeAdvancedCollapsibleSection(container);
52
	}
53
54
	@Override
55
	protected Control initializeCachingSection(Composite container) {
56
		return new OrmEclipseLinkCaching2_0Composite(this, this.buildCachingModel(), container).getControl();
57
	}
58
	
59
	protected void initializeQueriesCollapsibleSection(Composite container) {
60
		final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
61
		section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
62
		section.setText(JptJpaUiDetailsMessages.EntityComposite_queries);
63
64
		section.addExpansionListener(new ExpansionAdapter() {
65
			@Override
66
			public void expansionStateChanging(ExpansionEvent e) {
67
				if (e.getState() && section.getClient() == null) {
68
					section.setClient(initializeQueriesSection(section));
69
				}
70
			}
71
		});
72
	}
73
74
	protected Control initializeQueriesSection(Composite container) {
75
		return new Queries2_1Composite(this, this.buildQueryContainerModel(), container).getControl();
76
	}
77
78
	private PropertyValueModel<QueryContainer> buildQueryContainerModel() {
79
		return new PropertyAspectAdapter<OrmEclipseLinkMappedSuperclass, QueryContainer>(
80
				getSubjectHolder()) {
81
			@Override
82
			protected QueryContainer buildValue_() {
83
				return this.subject.getQueryContainer();
84
			}
85
		};
86
	}
87
	
88
	protected void initializeMultitenancyCollapsibleSection(Composite container) {
89
		final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
90
		section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
91
		section.setText(JptJpaEclipseLinkUiDetailsMessages.ECLIPSELINK_TYPE_MAPPING_COMPOSITE_MULTITENANCY);
92
93
		section.addExpansionListener(new ExpansionAdapter() {
94
			@Override
95
			public void expansionStateChanging(ExpansionEvent e) {
96
				if (e.getState() && section.getClient() == null) {
97
					section.setClient(initializeMultitenancySection(section));
98
				}
99
			}
100
		});
101
	}
102
103
	protected Control initializeMultitenancySection(Composite container) {
104
		return new EclipseLinkMultitenancyComposite(this, this.buildMultitenancyModel(), container).getControl();
105
	}
106
107
	private PropertyAspectAdapter<OrmEclipseLinkMappedSuperclass, OrmEclipseLinkMultitenancy2_3> buildMultitenancyModel() {
108
		return new PropertyAspectAdapter<OrmEclipseLinkMappedSuperclass, OrmEclipseLinkMultitenancy2_3>(getSubjectHolder()) {
109
			@Override
110
			protected OrmEclipseLinkMultitenancy2_3 buildValue_() {
111
				return this.subject.getMultitenancy();
112
			}
113
		};
114
	}
115
116
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/platform/EclipseLink2_5JpaPlatformUiProvider.java (-3 / +3 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 *  Copyright (c) 2012 Oracle. All rights reserved.
2
 *  Copyright (c) 2013 Oracle. All rights reserved.
3
 *  This program and the accompanying materials are made available under the
3
 *  This program and the accompanying materials are made available under the
4
 *  terms of the Eclipse Public License v1.0, which accompanies this distribution
4
 *  terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 *  and is available at http://www.eclipse.org/legal/epl-v10.html
5
 *  and is available at http://www.eclipse.org/legal/epl-v10.html
Lines 10-16 Link Here
10
package org.eclipse.jpt.jpa.eclipselink.ui.internal.platform;
10
package org.eclipse.jpt.jpa.eclipselink.ui.internal.platform;
11
11
12
import java.util.List;
12
import java.util.List;
13
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.java.EclipseLink2_3JavaResourceUiDefinition;
13
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.java.EclipseLink2_5JavaResourceUiDefinition;
14
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm.EclipseLinkOrmXml1_1UiDefinition;
14
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm.EclipseLinkOrmXml1_1UiDefinition;
15
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm.EclipseLinkOrmXml1_2UiDefinition;
15
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm.EclipseLinkOrmXml1_2UiDefinition;
16
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm.EclipseLinkOrmXml2_0UiDefinition;
16
import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm.EclipseLinkOrmXml2_0UiDefinition;
Lines 58-64 Link Here
58
58
59
	@Override
59
	@Override
60
	protected void addResourceUiDefinitionsTo(List<ResourceUiDefinition> definitions) {
60
	protected void addResourceUiDefinitionsTo(List<ResourceUiDefinition> definitions) {
61
		definitions.add(EclipseLink2_3JavaResourceUiDefinition.instance());
61
		definitions.add(EclipseLink2_5JavaResourceUiDefinition.instance());
62
		definitions.add(OrmXmlUiDefinition.instance());
62
		definitions.add(OrmXmlUiDefinition.instance());
63
		definitions.add(OrmXml2_0UiDefinition.instance());
63
		definitions.add(OrmXml2_0UiDefinition.instance());
64
		definitions.add(OrmXml2_1UiDefinition.instance());
64
		definitions.add(OrmXml2_1UiDefinition.instance());
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/META-INF/MANIFEST.MF (+4 lines)
Lines 69-74 Link Here
69
 org.eclipse.jpt.jpa.ui.internal.jpa2.persistence;x-internal:=true,
69
 org.eclipse.jpt.jpa.ui.internal.jpa2.persistence;x-internal:=true,
70
 org.eclipse.jpt.jpa.ui.internal.jpa2.platform.generic;x-internal:=true,
70
 org.eclipse.jpt.jpa.ui.internal.jpa2.platform.generic;x-internal:=true,
71
 org.eclipse.jpt.jpa.ui.internal.jpa2_1;x-internal:=true,
71
 org.eclipse.jpt.jpa.ui.internal.jpa2_1;x-internal:=true,
72
 org.eclipse.jpt.jpa.ui.internal.jpa2_1.details;x-internal:=true,
73
 org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.java;x-internal:=true,
74
 org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.orm;x-internal:=true,
72
 org.eclipse.jpt.jpa.ui.internal.jpa2_1.persistence;x-internal:=true,
75
 org.eclipse.jpt.jpa.ui.internal.jpa2_1.persistence;x-internal:=true,
73
 org.eclipse.jpt.jpa.ui.internal.jpql;x-internal:=true,
76
 org.eclipse.jpt.jpa.ui.internal.jpql;x-internal:=true,
74
 org.eclipse.jpt.jpa.ui.internal.listeners;x-internal:=true,
77
 org.eclipse.jpt.jpa.ui.internal.listeners;x-internal:=true,
Lines 95-100 Link Here
95
 org.eclipse.jpt.jpa.ui.internal.wizards.proj.model;x-internal:=true,
98
 org.eclipse.jpt.jpa.ui.internal.wizards.proj.model;x-internal:=true,
96
 org.eclipse.jpt.jpa.ui.jpa2.details,
99
 org.eclipse.jpt.jpa.ui.jpa2.details,
97
 org.eclipse.jpt.jpa.ui.jpa2.persistence,
100
 org.eclipse.jpt.jpa.ui.jpa2.persistence,
101
 org.eclipse.jpt.jpa.ui.jpa2_1.details,
98
 org.eclipse.jpt.jpa.ui.persistence,
102
 org.eclipse.jpt.jpa.ui.persistence,
99
 org.eclipse.jpt.jpa.ui.prefs.validation,
103
 org.eclipse.jpt.jpa.ui.prefs.validation,
100
 org.eclipse.jpt.jpa.ui.selection,
104
 org.eclipse.jpt.jpa.ui.selection,
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/plugin.xml (-1 / +1 lines)
Lines 226-232 Link Here
226
		<jpaPlatformUi
226
		<jpaPlatformUi
227
			id="generic2_1.ui"
227
			id="generic2_1.ui"
228
			jpaPlatform="generic2_1"
228
			jpaPlatform="generic2_1"
229
			factoryClass="org.eclipse.jpt.jpa.ui.internal.jpa2.platform.generic.Generic2_1JpaPlatformUiFactory"/>
229
			factoryClass="org.eclipse.jpt.jpa.ui.internal.jpa2_1.platform.generic.Generic2_1JpaPlatformUiFactory"/>
230
	
230
	
231
	</extension>
231
	</extension>
232
	
232
	
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/property_files/jpt_jpa_ui_details2_1.properties (+13 lines)
Added Link Here
1
################################################################################
2
# Copyright (c) 2013 Oracle. All rights reserved.
3
# This program and the accompanying materials are made available under the
4
# terms of the Eclipse Public License v1.0, which accompanies this distribution
5
# and is available at http://www.eclipse.org/legal/epl-v10.html.
6
# 
7
# Contributors:
8
#     Oracle - initial API and implementation
9
################################################################################
10
11
# JptJpaUiDetailsMessages2_1
12
13
AddQueryDialog_namedStoredProcedureQuery= Named Stored Procedure Query
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AddQueryDialog.java (-3 / +3 lines)
Lines 36-42 Link Here
36
	/**
36
	/**
37
	 * The associated persistence unit
37
	 * The associated persistence unit
38
	 */
38
	 */
39
	private PersistenceUnit pUnit;
39
	private final PersistenceUnit pUnit;
40
40
41
41
42
	public AddQueryDialog(Shell parentShell, ResourceManager resourceManager, PersistenceUnit pUnit) {
42
	public AddQueryDialog(Shell parentShell, ResourceManager resourceManager, PersistenceUnit pUnit) {
Lines 123-129 Link Here
123
				(String) null);
123
				(String) null);
124
		}
124
		}
125
125
126
		protected ListValueModel<String> buildQueryTypeListHolder() {
126
		public ListValueModel<String> buildQueryTypeListHolder() {
127
			List<String> queryTypes = new ArrayList<String>();
127
			List<String> queryTypes = new ArrayList<String>();
128
			queryTypes.add(NAMED_QUERY);
128
			queryTypes.add(NAMED_QUERY);
129
			queryTypes.add(NAMED_NATIVE_QUERY);
129
			queryTypes.add(NAMED_NATIVE_QUERY);
Lines 131-137 Link Here
131
			return new StaticListValueModel<String>(queryTypes);
131
			return new StaticListValueModel<String>(queryTypes);
132
		}
132
		}
133
		
133
		
134
		private Transformer<String, String> buildStringConverter() {
134
		public Transformer<String, String> buildStringConverter() {
135
			return new TransformerAdapter<String, String>() {
135
			return new TransformerAdapter<String, String>() {
136
				@Override
136
				@Override
137
				public String transform(String value) {
137
				public String transform(String value) {
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AddQueryDialog2_1.java (+83 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.internal.details;
11
12
import java.util.ArrayList;
13
import java.util.List;
14
import org.eclipse.jface.resource.ResourceManager;
15
import org.eclipse.jpt.common.ui.internal.widgets.DialogPane;
16
import org.eclipse.jpt.common.utility.internal.model.value.StaticListValueModel;
17
import org.eclipse.jpt.common.utility.internal.transformer.TransformerAdapter;
18
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
19
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
20
import org.eclipse.jpt.common.utility.transformer.Transformer;
21
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
22
import org.eclipse.jpt.jpa.ui.details.JptJpaUiDetailsMessages;
23
import org.eclipse.jpt.jpa.ui.jpa2_1.details.JptJpaUiDetailsMessages2_1;
24
import org.eclipse.swt.widgets.Composite;
25
import org.eclipse.swt.widgets.Shell;
26
27
public class AddQueryDialog2_1
28
	extends AddQueryDialog
29
{
30
	public static final String NAMED_STORED_PROCEDURE_QUERY = "namedStoredProceduerQuery"; //$NON-NLS-1$
31
32
	public AddQueryDialog2_1(
33
			Shell parentShell,
34
			ResourceManager resourceManager, 
35
			PersistenceUnit pUnit) {
36
		super(parentShell, resourceManager, pUnit);
37
	}
38
39
	@Override
40
	protected DialogPane<AddQueryStateObject> buildLayout(Composite container) {
41
		return new QueryDialogPane2_1(this.getSubjectHolder(), container, this.resourceManager);
42
	}
43
44
	class QueryDialogPane2_1
45
		extends QueryDialogPane
46
	{
47
		QueryDialogPane2_1(
48
				PropertyValueModel<AddQueryStateObject> subjectModel,
49
				Composite parentComposite,
50
				ResourceManager resourceManager) {
51
			super(subjectModel, parentComposite, resourceManager);
52
		}
53
54
		@Override
55
		public ListValueModel<String> buildQueryTypeListHolder() {
56
			List<String> queryTypes = new ArrayList<String>();
57
			queryTypes.add(NAMED_QUERY);
58
			queryTypes.add(NAMED_NATIVE_QUERY);
59
			queryTypes.add(NAMED_STORED_PROCEDURE_QUERY);
60
61
			return new StaticListValueModel<String>(queryTypes);
62
		}
63
64
		@Override
65
		public Transformer<String, String> buildStringConverter() {
66
			return new TransformerAdapter<String, String>() {
67
				@Override
68
				public String transform(String value) {
69
					if (value == NAMED_QUERY) {
70
						return JptJpaUiDetailsMessages.AddQueryDialog_namedQuery;
71
					}
72
					if (value == NAMED_NATIVE_QUERY) {
73
						return JptJpaUiDetailsMessages.AddQueryDialog_namedNativeQuery;
74
					}
75
					if (value == NAMED_STORED_PROCEDURE_QUERY) {
76
						return JptJpaUiDetailsMessages2_1.AddQueryDialog_namedStoredProcedureQuery;
77
					}
78
					return value;
79
				}
80
			};
81
		}
82
	}
83
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/QueriesComposite.java (-10 / +14 lines)
Lines 37-42 Link Here
37
import org.eclipse.jpt.jpa.core.context.NamedQuery;
37
import org.eclipse.jpt.jpa.core.context.NamedQuery;
38
import org.eclipse.jpt.jpa.core.context.Query;
38
import org.eclipse.jpt.jpa.core.context.Query;
39
import org.eclipse.jpt.jpa.core.context.QueryContainer;
39
import org.eclipse.jpt.jpa.core.context.QueryContainer;
40
import org.eclipse.jpt.jpa.core.jpa2_1.context.QueryContainer2_1;
40
import org.eclipse.jpt.jpa.ui.details.JptJpaUiDetailsMessages;
41
import org.eclipse.jpt.jpa.ui.details.JptJpaUiDetailsMessages;
41
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
42
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
42
import org.eclipse.osgi.util.NLS;
43
import org.eclipse.osgi.util.NLS;
Lines 72-78 Link Here
72
 * @see NamedNativeQueryPropertyComposite
73
 * @see NamedNativeQueryPropertyComposite
73
 * @see NamedQueryPropertyComposite
74
 * @see NamedQueryPropertyComposite
74
 *
75
 *
75
 * @version 2.0
76
 * @version 3.3
76
 * @since 2.0
77
 * @since 2.0
77
 */
78
 */
78
public class QueriesComposite extends Pane<QueryContainer>
79
public class QueriesComposite extends Pane<QueryContainer>
Lines 150-156 Link Here
150
		new ControlSwitcher(this.getSelectedQueryModel(), this.buildPaneTransformer(pageBook), pageBook);
151
		new ControlSwitcher(this.getSelectedQueryModel(), this.buildPaneTransformer(pageBook), pageBook);
151
	}
152
	}
152
153
153
	Query addQuery() {
154
	protected Query addQuery() {
154
		return addQueryFromDialog(buildAddQueryDialog());
155
		return addQueryFromDialog(buildAddQueryDialog());
155
	}
156
	}
156
157
Lines 170-175 Link Here
170
		else if (queryType == AddQueryDialog.NAMED_NATIVE_QUERY) {
171
		else if (queryType == AddQueryDialog.NAMED_NATIVE_QUERY) {
171
			query = this.getSubject().addNamedNativeQuery();
172
			query = this.getSubject().addNamedNativeQuery();
172
		}
173
		}
174
		else if (queryType == AddQueryDialog.NAMED_NATIVE_QUERY) {
175
			query = ((QueryContainer2_1) this.getSubject()).addNamedStoredProcedureQuery();
176
		}
173
		else {
177
		else {
174
			throw new IllegalArgumentException();
178
			throw new IllegalArgumentException();
175
		}
179
		}
Lines 184-190 Link Here
184
		);
188
		);
185
	}
189
	}
186
190
187
	private ListValueModel<NamedNativeQuery> buildNamedNativeQueriesListHolder() {
191
	protected ListValueModel<NamedNativeQuery> buildNamedNativeQueriesListHolder() {
188
		return new ListAspectAdapter<QueryContainer, NamedNativeQuery>(
192
		return new ListAspectAdapter<QueryContainer, NamedNativeQuery>(
189
			getSubjectHolder(),
193
			getSubjectHolder(),
190
			QueryContainer.NAMED_NATIVE_QUERIES_LIST)
194
			QueryContainer.NAMED_NATIVE_QUERIES_LIST)
Lines 210-216 Link Here
210
		};
214
		};
211
	}
215
	}
212
216
213
	private ListValueModel<NamedQuery> buildNamedQueriesListHolder() {
217
	protected ListValueModel<NamedQuery> buildNamedQueriesListHolder() {
214
		return new ListAspectAdapter<QueryContainer, NamedQuery>(
218
		return new ListAspectAdapter<QueryContainer, NamedQuery>(
215
			getSubjectHolder(),
219
			getSubjectHolder(),
216
			QueryContainer.NAMED_QUERIES_LIST)
220
			QueryContainer.NAMED_QUERIES_LIST)
Lines 236-242 Link Here
236
		};
240
		};
237
	}
241
	}
238
242
239
	private Transformer<Query, Control> buildPaneTransformer(final PageBook pageBook) {
243
	protected Transformer<Query, Control> buildPaneTransformer(final PageBook pageBook) {
240
		return new Transformer<Query, Control>() {
244
		return new Transformer<Query, Control>() {
241
			public Control transform(Query query) {
245
			public Control transform(Query query) {
242
246
Lines 253-259 Link Here
253
		};
257
		};
254
	}
258
	}
255
	
259
	
256
	private Adapter<Query> buildQueriesAdapter() {
260
	protected Adapter<Query> buildQueriesAdapter() {
257
261
258
		return new AddRemoveListPane.AbstractAdapter<Query>() {
262
		return new AddRemoveListPane.AbstractAdapter<Query>() {
259
263
Lines 280-293 Link Here
280
		};
284
		};
281
	}
285
	}
282
286
283
	private ListValueModel<Query> buildQueriesListHolder() {
287
	protected ListValueModel<Query> buildQueriesListHolder() {
284
		List<ListValueModel<? extends Query>> list = new ArrayList<ListValueModel<? extends Query>>();
288
		List<ListValueModel<? extends Query>> list = new ArrayList<ListValueModel<? extends Query>>();
285
		list.add(buildNamedQueriesListHolder());
289
		list.add(buildNamedQueriesListHolder());
286
		list.add(buildNamedNativeQueriesListHolder());
290
		list.add(buildNamedNativeQueriesListHolder());
287
		return CompositeListValueModel.forModels(list);
291
		return CompositeListValueModel.forModels(list);
288
	}
292
	}
289
293
290
	private ILabelProvider buildQueriesListLabelProvider() {
294
	protected ILabelProvider buildQueriesListLabelProvider() {
291
		return new LabelProvider() {
295
		return new LabelProvider() {
292
			@Override
296
			@Override
293
			public String getText(Object element) {
297
			public String getText(Object element) {
Lines 327-340 Link Here
327
		);
331
		);
328
	}
332
	}
329
	
333
	
330
	protected Pane<? extends NamedNativeQuery> getNamedNativeQueryPropertyComposite(PageBook pageBook) {
334
	public Pane<? extends NamedNativeQuery> getNamedNativeQueryPropertyComposite(PageBook pageBook) {
331
		if (this.namedNativeQueryPane == null) {
335
		if (this.namedNativeQueryPane == null) {
332
			this.namedNativeQueryPane = this.buildNamedNativeQueryPropertyComposite(pageBook);
336
			this.namedNativeQueryPane = this.buildNamedNativeQueryPropertyComposite(pageBook);
333
		}
337
		}
334
		return this.namedNativeQueryPane;
338
		return this.namedNativeQueryPane;
335
	}
339
	}
336
340
337
	protected Pane<? extends NamedNativeQuery> buildNamedNativeQueryPropertyComposite(PageBook pageBook) {
341
	public Pane<? extends NamedNativeQuery> buildNamedNativeQueryPropertyComposite(PageBook pageBook) {
338
		return new NamedNativeQueryPropertyComposite(
342
		return new NamedNativeQueryPropertyComposite(
339
			this,
343
			this,
340
			this.buildSelectedNamedNativeQueryModel(),
344
			this.buildSelectedNamedNativeQueryModel(),
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/Generic2_1JpaPlatformUiProvider.java (-61 lines)
Lines 1-61 Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2012 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 * 
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.internal.jpa2;
11
12
import java.util.List;
13
import org.eclipse.jpt.jpa.ui.JpaPlatformUiProvider;
14
import org.eclipse.jpt.jpa.ui.ResourceUiDefinition;
15
import org.eclipse.jpt.jpa.ui.internal.AbstractJpaPlatformUiProvider;
16
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmXmlUiDefinition;
17
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.java.Generic2_0JavaResourceUiDefinition;
18
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm.OrmXml2_0UiDefinition;
19
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm.OrmXml2_1UiDefinition;
20
import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.PersistenceXml2_0UiDefinition;
21
import org.eclipse.jpt.jpa.ui.internal.jpa2_1.persistence.PersistenceXml2_1UiDefinition;
22
import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceXmlUiDefinition;
23
24
/**
25
 * All the state in the JPA platform should be "static" (i.e. unchanging once
26
 * it is initialized).
27
 */
28
public class Generic2_1JpaPlatformUiProvider extends AbstractJpaPlatformUiProvider
29
{
30
31
	// singleton
32
	private static final JpaPlatformUiProvider INSTANCE = new Generic2_1JpaPlatformUiProvider();
33
34
	/**
35
	 * Return the singleton.
36
	 */
37
	public static JpaPlatformUiProvider instance() {
38
		return INSTANCE;
39
	}
40
41
	/**
42
	 * Ensure single instance.
43
	 */
44
	private Generic2_1JpaPlatformUiProvider() {
45
		super();
46
	}
47
	
48
	
49
	// ********** resource ui definitions **********
50
	
51
	@Override
52
	protected void addResourceUiDefinitionsTo(List<ResourceUiDefinition> definitions) {
53
		definitions.add(Generic2_0JavaResourceUiDefinition.instance());
54
		definitions.add(OrmXmlUiDefinition.instance());
55
		definitions.add(OrmXml2_0UiDefinition.instance());
56
		definitions.add(OrmXml2_1UiDefinition.instance());
57
		definitions.add(PersistenceXmlUiDefinition.instance());
58
		definitions.add(PersistenceXml2_0UiDefinition.instance());
59
		definitions.add(PersistenceXml2_1UiDefinition.instance());
60
	}
61
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/orm/OrmXml2_1UiDefinition.java (-4 / +5 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2012 Oracle. All rights reserved.
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
Lines 31-38 Link Here
31
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPersistentAttributeDetailsProvider;
31
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPersistentAttributeDetailsProvider;
32
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPersistentTypeDetailsProvider;
32
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPersistentTypeDetailsProvider;
33
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmXmlUiDefinition;
33
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmXmlUiDefinition;
34
import org.eclipse.jpt.jpa.ui.internal.jpa2.GenericOrmXml2_0UiFactory;
35
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.ElementCollectionMapping2_0UiDefinition;
34
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.ElementCollectionMapping2_0UiDefinition;
35
import org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.orm.EntityMappings2_1DetailsProvider;
36
import org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.orm.GenericOrmXml2_1UiFactory;
36
37
37
public class OrmXml2_1UiDefinition
38
public class OrmXml2_1UiDefinition
38
	extends AbstractOrmXmlResourceUiDefinition
39
	extends AbstractOrmXmlResourceUiDefinition
Lines 59-65 Link Here
59
	
60
	
60
	@Override
61
	@Override
61
	protected JpaUiFactory buildUiFactory() {
62
	protected JpaUiFactory buildUiFactory() {
62
		return new GenericOrmXml2_0UiFactory();
63
		return new GenericOrmXml2_1UiFactory();
63
	}
64
	}
64
	
65
	
65
	public boolean providesUi(JptResourceType resourceType) {
66
	public boolean providesUi(JptResourceType resourceType) {
Lines 73-79 Link Here
73
	protected void addDetailsProvidersTo(List<JpaDetailsProvider> providers) {
74
	protected void addDetailsProvidersTo(List<JpaDetailsProvider> providers) {
74
		providers.add(OrmPersistentTypeDetailsProvider.instance());
75
		providers.add(OrmPersistentTypeDetailsProvider.instance());
75
		providers.add(OrmPersistentAttributeDetailsProvider.instance());
76
		providers.add(OrmPersistentAttributeDetailsProvider.instance());
76
		providers.add(EntityMappings2_0DetailsProvider.instance());
77
		providers.add(EntityMappings2_1DetailsProvider.instance());
77
	}
78
	}
78
79
79
80
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/platform/generic/Generic2_1JpaPlatformUiFactory.java (-34 lines)
Lines 1-34 Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2009, 2012 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 * 
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.internal.jpa2.platform.generic;
11
12
import org.eclipse.jpt.jpa.ui.JpaPlatformUi;
13
import org.eclipse.jpt.jpa.ui.JpaPlatformUiFactory;
14
import org.eclipse.jpt.jpa.ui.internal.jpa2.Generic2_1JpaPlatformUiProvider;
15
import org.eclipse.jpt.jpa.ui.internal.platform.generic.GenericJpaPlatformUi;
16
import org.eclipse.jpt.jpa.ui.internal.platform.generic.GenericJpaPlatformUiFactory;
17
18
public class Generic2_1JpaPlatformUiFactory
19
	implements JpaPlatformUiFactory
20
{
21
	/**
22
	 * Zero arg constructor for extension point
23
	 */
24
	public Generic2_1JpaPlatformUiFactory() {
25
		super();
26
	}
27
28
	public JpaPlatformUi buildJpaPlatformUi() {
29
		return new GenericJpaPlatformUi(
30
					GenericJpaPlatformUiFactory.NAVIGATOR_FACTORY_PROVIDER,
31
					Generic2_1JpaPlatformUiProvider.instance()
32
				);
33
	}
34
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2_1/Generic2_1JpaPlatformUiProvider.java (+61 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 * 
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.internal.jpa2_1;
11
12
import java.util.List;
13
import org.eclipse.jpt.jpa.ui.JpaPlatformUiProvider;
14
import org.eclipse.jpt.jpa.ui.ResourceUiDefinition;
15
import org.eclipse.jpt.jpa.ui.internal.AbstractJpaPlatformUiProvider;
16
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmXmlUiDefinition;
17
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm.OrmXml2_0UiDefinition;
18
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm.OrmXml2_1UiDefinition;
19
import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.PersistenceXml2_0UiDefinition;
20
import org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.java.Generic2_1JavaResourceUiDefinition;
21
import org.eclipse.jpt.jpa.ui.internal.jpa2_1.persistence.PersistenceXml2_1UiDefinition;
22
import org.eclipse.jpt.jpa.ui.internal.persistence.PersistenceXmlUiDefinition;
23
24
/**
25
 * All the state in the JPA platform should be "static" (i.e. unchanging once
26
 * it is initialized).
27
 */
28
public class Generic2_1JpaPlatformUiProvider extends AbstractJpaPlatformUiProvider
29
{
30
31
	// singleton
32
	private static final JpaPlatformUiProvider INSTANCE = new Generic2_1JpaPlatformUiProvider();
33
34
	/**
35
	 * Return the singleton.
36
	 */
37
	public static JpaPlatformUiProvider instance() {
38
		return INSTANCE;
39
	}
40
41
	/**
42
	 * Ensure single instance.
43
	 */
44
	private Generic2_1JpaPlatformUiProvider() {
45
		super();
46
	}
47
	
48
	
49
	// ********** resource ui definitions **********
50
	
51
	@Override
52
	protected void addResourceUiDefinitionsTo(List<ResourceUiDefinition> definitions) {
53
		definitions.add(Generic2_1JavaResourceUiDefinition.instance());
54
		definitions.add(OrmXmlUiDefinition.instance());
55
		definitions.add(OrmXml2_0UiDefinition.instance());
56
		definitions.add(OrmXml2_1UiDefinition.instance());
57
		definitions.add(PersistenceXmlUiDefinition.instance());
58
		definitions.add(PersistenceXml2_0UiDefinition.instance());
59
		definitions.add(PersistenceXml2_1UiDefinition.instance());
60
	}
61
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2_1/details/Queries2_1Composite.java (+205 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.internal.jpa2_1.details;
11
12
import java.util.ArrayList;
13
import java.util.List;
14
import org.eclipse.jface.viewers.ILabelProvider;
15
import org.eclipse.jface.viewers.LabelProvider;
16
import org.eclipse.jface.window.Window;
17
import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
18
import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
19
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
20
import org.eclipse.jpt.common.utility.internal.iterable.IterableTools;
21
import org.eclipse.jpt.common.utility.internal.iterable.SuperListIterableWrapper;
22
import org.eclipse.jpt.common.utility.internal.model.value.CompositeListValueModel;
23
import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
24
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
25
import org.eclipse.jpt.common.utility.iterable.ListIterable;
26
import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
27
import org.eclipse.jpt.common.utility.model.value.ListValueModel;
28
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
29
import org.eclipse.jpt.common.utility.transformer.Transformer;
30
import org.eclipse.jpt.jpa.core.context.NamedNativeQuery;
31
import org.eclipse.jpt.jpa.core.context.NamedQuery;
32
import org.eclipse.jpt.jpa.core.context.Query;
33
import org.eclipse.jpt.jpa.core.context.QueryContainer;
34
import org.eclipse.jpt.jpa.core.internal.jpa2_1.context.NamedStoredProcedureQuery2_1;
35
import org.eclipse.jpt.jpa.core.jpa2_1.context.QueryContainer2_1;
36
import org.eclipse.jpt.jpa.ui.details.JptJpaUiDetailsMessages;
37
import org.eclipse.jpt.jpa.ui.internal.details.AddQueryDialog;
38
import org.eclipse.jpt.jpa.ui.internal.details.AddQueryDialog2_1;
39
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Queries2_0Composite;
40
import org.eclipse.osgi.util.NLS;
41
import org.eclipse.swt.widgets.Composite;
42
import org.eclipse.swt.widgets.Control;
43
import org.eclipse.ui.part.PageBook;
44
45
46
public class Queries2_1Composite
47
	extends Queries2_0Composite
48
{
49
	Pane<? extends NamedStoredProcedureQuery2_1> namedStoredProceduerQueryPane; //lazy initialized to avoid unnecessary handles
50
51
	public Queries2_1Composite(
52
			Pane<?> parentPane, 
53
			PropertyValueModel<? extends QueryContainer> subjectHolder,
54
			Composite parent) {
55
		super(parentPane, subjectHolder, parent);
56
	}
57
	
58
	
59
	@Override
60
	protected Query addQueryFromDialog(AddQueryDialog dialog) {
61
		if (dialog.open() != Window.OK) {
62
			return null;
63
		}
64
		String queryType = dialog.getQueryType();
65
		Query query;
66
		if (queryType == AddQueryDialog2_1.NAMED_QUERY) {
67
			query = this.getSubject().addNamedQuery();
68
		}
69
		else if (queryType == AddQueryDialog2_1.NAMED_NATIVE_QUERY) {
70
			query = this.getSubject().addNamedNativeQuery();
71
		}
72
		else if (queryType == AddQueryDialog2_1.NAMED_STORED_PROCEDURE_QUERY) {
73
			query = ((QueryContainer2_1) this.getSubject()).addNamedStoredProcedureQuery();
74
		}
75
		else {
76
			throw new IllegalArgumentException();
77
		}
78
		query.setName(dialog.getName());
79
		return query;
80
	}
81
	
82
	@Override
83
	protected AddQueryDialog buildAddQueryDialog() {
84
		return new AddQueryDialog2_1(getShell(), this.getResourceManager(), this.getSubject().getPersistenceUnit());
85
	}
86
87
	protected ListValueModel<NamedStoredProcedureQuery2_1> buildNamedStoredProcedureQueriesListHolder() {
88
		return new ListAspectAdapter<QueryContainer, NamedStoredProcedureQuery2_1>(
89
			getSubjectHolder(),
90
			QueryContainer2_1.NAMED_STORED_PROCEDURE_QUERIES_LIST)
91
		{
92
			@Override
93
			protected ListIterable<NamedStoredProcedureQuery2_1> getListIterable() {
94
				return new SuperListIterableWrapper<NamedStoredProcedureQuery2_1>(((QueryContainer2_1) this.subject).getNamedStoredProcedureQueries());
95
			}
96
97
			@Override
98
			protected int size_() {
99
				return ((QueryContainer2_1) this.subject).getNamedStoredProcedureQueriesSize();
100
			}
101
		};
102
	}
103
104
	private PropertyValueModel<NamedStoredProcedureQuery2_1> buildSelectedNamedQueryModel() {
105
		return new TransformationPropertyValueModel<Query, NamedStoredProcedureQuery2_1>(this.getSelectedQueryModel()) {
106
			@Override
107
			protected NamedStoredProcedureQuery2_1 transform_(Query value) {
108
				return (value instanceof NamedStoredProcedureQuery2_1) ? (NamedStoredProcedureQuery2_1) value : null;
109
			}
110
		};
111
	}
112
113
	@Override
114
	protected Transformer<Query, Control> buildPaneTransformer(final PageBook pageBook) {
115
		return new Transformer<Query, Control>() {
116
			public Control transform(Query query) {
117
118
				if (query == null) {
119
					return null;
120
				}
121
122
				if (query instanceof NamedNativeQuery) {
123
					return Queries2_1Composite.this.getNamedNativeQueryPropertyComposite(pageBook).getControl();
124
				}
125
126
				if (query instanceof NamedQuery) {
127
					return Queries2_1Composite.this.getNamedQueryPropertyComposite(pageBook).getControl();
128
				}
129
				
130
				return null; // This is for UI tolerance. Full UI support should be doing as below:
131
//				return Queries2_1Composite.this.getNamedStoredProcedureQueryPropertyComposite(pageBook).getControl();
132
			}
133
		};
134
	}
135
	
136
	@Override
137
	protected Adapter<Query> buildQueriesAdapter() {
138
139
		return new AddRemoveListPane.AbstractAdapter<Query>() {
140
141
			public Query addNewItem() {
142
				return addQuery();
143
			}
144
145
			@Override
146
			public PropertyValueModel<Boolean> buildRemoveButtonEnabledModel(CollectionValueModel<Query> selectedItemsModel) {
147
				//enable the remove button only when 1 item is selected, same as the optional button
148
				return this.buildSingleSelectedItemEnabledModel(selectedItemsModel);
149
			}
150
151
			public void removeSelectedItems(CollectionValueModel<Query> selectedItemsModel) {
152
				//assume only 1 item since remove button is disabled otherwise
153
				Query item = selectedItemsModel.iterator().next();
154
				if (item instanceof NamedQuery) {
155
					getSubject().removeNamedQuery((NamedQuery) item);
156
				}
157
				else if (item instanceof NamedNativeQuery) {
158
					getSubject().removeNamedNativeQuery((NamedNativeQuery) item);
159
				}
160
				else {
161
					((QueryContainer2_1) getSubject()).removeNamedStoredProcedureQuery((NamedStoredProcedureQuery2_1) item);
162
				}
163
			}
164
		};
165
	}
166
167
	@Override
168
	protected ListValueModel<Query> buildQueriesListHolder() {
169
		List<ListValueModel<? extends Query>> list = new ArrayList<ListValueModel<? extends Query>>();
170
		list.add(buildNamedQueriesListHolder());
171
		list.add(buildNamedNativeQueriesListHolder());
172
		list.add(buildNamedStoredProcedureQueriesListHolder());
173
		return CompositeListValueModel.forModels(list);
174
	}
175
176
	@Override
177
	protected ILabelProvider buildQueriesListLabelProvider() {
178
		return new LabelProvider() {
179
			@Override
180
			public String getText(Object element) {
181
				Query query = (Query) element;
182
				String name = query.getName();
183
184
				if (name == null) {
185
					int index = -1;
186
187
					if (query instanceof NamedQuery) {
188
						index = IterableTools.indexOf(getSubject().getNamedQueries(), query);
189
					}
190
					else if (query instanceof NamedNativeQuery) {
191
						index = IterableTools.indexOf(getSubject().getNamedNativeQueries(), query);
192
					}
193
					else {
194
						index = IterableTools.indexOf(((QueryContainer2_1) getSubject()).getNamedStoredProcedureQueries(), query);
195
					}
196
197
					name = NLS.bind(JptJpaUiDetailsMessages.QueriesComposite_displayString, Integer.valueOf(index));
198
				}
199
200
				return name;
201
			}
202
		};
203
	}
204
205
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2_1/details/java/Generic2_1JavaResourceUiDefinition.java (+80 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.java;
11
12
import java.util.List;
13
import org.eclipse.jpt.jpa.ui.ResourceUiDefinition;
14
import org.eclipse.jpt.jpa.ui.details.DefaultMappingUiDefinition;
15
import org.eclipse.jpt.jpa.ui.details.JpaUiFactory;
16
import org.eclipse.jpt.jpa.ui.details.MappingUiDefinition;
17
import org.eclipse.jpt.jpa.ui.internal.details.BasicMappingUiDefinition;
18
import org.eclipse.jpt.jpa.ui.internal.details.EmbeddedIdMappingUiDefinition;
19
import org.eclipse.jpt.jpa.ui.internal.details.EmbeddedMappingUiDefinition;
20
import org.eclipse.jpt.jpa.ui.internal.details.IdMappingUiDefinition;
21
import org.eclipse.jpt.jpa.ui.internal.details.ManyToManyMappingUiDefinition;
22
import org.eclipse.jpt.jpa.ui.internal.details.ManyToOneMappingUiDefinition;
23
import org.eclipse.jpt.jpa.ui.internal.details.OneToManyMappingUiDefinition;
24
import org.eclipse.jpt.jpa.ui.internal.details.OneToOneMappingUiDefinition;
25
import org.eclipse.jpt.jpa.ui.internal.details.TransientMappingUiDefinition;
26
import org.eclipse.jpt.jpa.ui.internal.details.VersionMappingUiDefinition;
27
import org.eclipse.jpt.jpa.ui.internal.details.java.AbstractJavaResourceUiDefinition;
28
import org.eclipse.jpt.jpa.ui.internal.details.java.DefaultBasicMappingUiDefinition;
29
import org.eclipse.jpt.jpa.ui.internal.details.java.DefaultEmbeddedMappingUiDefinition;
30
import org.eclipse.jpt.jpa.ui.internal.details.java.NullJavaAttributeMappingUiDefinition;
31
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.ElementCollectionMapping2_0UiDefinition;
32
33
public class Generic2_1JavaResourceUiDefinition
34
	extends AbstractJavaResourceUiDefinition
35
{
36
	// singleton
37
	private static final ResourceUiDefinition INSTANCE = new Generic2_1JavaResourceUiDefinition();
38
39
	/**
40
	 * Return the singleton.
41
	 */
42
	public static ResourceUiDefinition instance() {
43
		return INSTANCE;
44
	}
45
	
46
	
47
	/**
48
	 * zero-argument constructor
49
	 */
50
	protected Generic2_1JavaResourceUiDefinition() {
51
		super();
52
	}
53
	
54
	@Override
55
	protected JpaUiFactory buildUiFactory() {
56
		return new Generic2_1JavaUiFactory();
57
	}
58
	
59
	@Override
60
	protected void addSpecifiedAttributeMappingUiDefinitionsTo(List<MappingUiDefinition> definitions) {
61
		definitions.add(ElementCollectionMapping2_0UiDefinition.instance());
62
		definitions.add(IdMappingUiDefinition.instance());
63
		definitions.add(EmbeddedIdMappingUiDefinition.instance());
64
		definitions.add(BasicMappingUiDefinition.instance());
65
		definitions.add(VersionMappingUiDefinition.instance());
66
		definitions.add(ManyToOneMappingUiDefinition.instance());
67
		definitions.add(OneToManyMappingUiDefinition.instance());
68
		definitions.add(OneToOneMappingUiDefinition.instance());
69
		definitions.add(ManyToManyMappingUiDefinition.instance());
70
		definitions.add(EmbeddedMappingUiDefinition.instance());
71
		definitions.add(TransientMappingUiDefinition.instance());
72
	}
73
	
74
	@Override
75
	protected void addDefaultAttributeMappingUiDefinitionsTo(List<DefaultMappingUiDefinition> definitions) {
76
		definitions.add(DefaultBasicMappingUiDefinition.instance());
77
		definitions.add(DefaultEmbeddedMappingUiDefinition.instance());
78
		definitions.add(NullJavaAttributeMappingUiDefinition.instance());
79
	}
80
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2_1/details/java/Generic2_1JavaUiFactory.java (+49 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.java;
11
12
import org.eclipse.jface.resource.ResourceManager;
13
import org.eclipse.jpt.common.ui.WidgetFactory;
14
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
15
import org.eclipse.jpt.jpa.core.context.Entity;
16
import org.eclipse.jpt.jpa.core.context.MappedSuperclass;
17
import org.eclipse.jpt.jpa.core.context.java.JavaMappedSuperclass;
18
import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaEntity2_0;
19
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
20
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.java.Generic2_0JavaUiFactory;
21
import org.eclipse.jpt.jpa.ui.jpa2_1.details.JpaUiFactory2_1;
22
import org.eclipse.swt.widgets.Composite;
23
24
public class Generic2_1JavaUiFactory
25
	extends Generic2_0JavaUiFactory
26
	implements JpaUiFactory2_1
27
{
28
29
	@SuppressWarnings("unchecked")
30
	@Override
31
	public JpaComposite createMappedSuperclassComposite(
32
			PropertyValueModel<? extends MappedSuperclass> mappedSuperclassModel,
33
			Composite parentComposite,
34
			WidgetFactory widgetFactory,
35
			ResourceManager resourceManager) {
36
		return new JavaMappedSuperclass2_1Composite((PropertyValueModel<? extends JavaMappedSuperclass>) mappedSuperclassModel, parentComposite, widgetFactory, resourceManager);
37
	}
38
	
39
	@SuppressWarnings("unchecked")
40
	@Override
41
	public JpaComposite createEntityComposite(
42
			PropertyValueModel<? extends Entity> entityModel,
43
			Composite parentComposite,
44
			WidgetFactory widgetFactory,
45
			ResourceManager resourceManager) {
46
		return new JavaEntity2_1Composite((PropertyValueModel<? extends JavaEntity2_0>) entityModel, parentComposite, widgetFactory, resourceManager);
47
	}
48
49
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2_1/details/java/JavaEntity2_1Composite.java (+37 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.java;
11
12
import org.eclipse.jface.resource.ResourceManager;
13
import org.eclipse.jpt.common.ui.WidgetFactory;
14
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
15
import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaEntity2_0;
16
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.java.JavaEntity2_0Composite;
17
import org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.Queries2_1Composite;
18
import org.eclipse.swt.widgets.Composite;
19
import org.eclipse.swt.widgets.Control;
20
21
public class JavaEntity2_1Composite
22
	extends JavaEntity2_0Composite
23
{
24
25
	public JavaEntity2_1Composite(
26
			PropertyValueModel<? extends JavaEntity2_0> entityModel,
27
			Composite parentComposite, WidgetFactory widgetFactory,
28
			ResourceManager resourceManager) {
29
		super(entityModel, parentComposite, widgetFactory, resourceManager);
30
	}
31
32
	
33
	@Override
34
	protected Control initializeQueriesSection(Composite container) {
35
		return new Queries2_1Composite(this, this.buildQueryContainerModel(), container).getControl();
36
	}
37
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2_1/details/java/JavaMappedSuperclass2_1Composite.java (+35 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.java;
11
12
import org.eclipse.jface.resource.ResourceManager;
13
import org.eclipse.jpt.common.ui.WidgetFactory;
14
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
15
import org.eclipse.jpt.jpa.core.context.java.JavaMappedSuperclass;
16
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.java.JavaMappedSuperclass2_0Composite;
17
import org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.Queries2_1Composite;
18
import org.eclipse.swt.widgets.Composite;
19
import org.eclipse.swt.widgets.Control;
20
21
public class JavaMappedSuperclass2_1Composite
22
	extends JavaMappedSuperclass2_0Composite
23
{
24
	public JavaMappedSuperclass2_1Composite(
25
			PropertyValueModel<? extends JavaMappedSuperclass> mappedSuperclassModel,
26
			Composite parentComposite, WidgetFactory widgetFactory,
27
			ResourceManager resourceManager) {
28
		super(mappedSuperclassModel, parentComposite, widgetFactory, resourceManager);
29
	}
30
31
	@Override
32
	protected Control initializeQueriesSection(Composite container) {
33
		return new Queries2_1Composite(this, this.buildQueryContainerModel(), container).getControl();
34
	}
35
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2_1/details/orm/EntityMappings2_1DetailsProvider.java (+45 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.orm;
11
12
import org.eclipse.jface.resource.ResourceManager;
13
import org.eclipse.jpt.common.ui.WidgetFactory;
14
import org.eclipse.jpt.jpa.ui.details.JpaDetailsPageManager;
15
import org.eclipse.jpt.jpa.ui.details.JpaDetailsProvider;
16
import org.eclipse.jpt.jpa.ui.internal.details.AbstractEntityMappingsDetailsProvider;
17
import org.eclipse.swt.widgets.Composite;
18
19
public class EntityMappings2_1DetailsProvider
20
	extends AbstractEntityMappingsDetailsProvider
21
{
22
	// singleton
23
	private static final JpaDetailsProvider INSTANCE = new EntityMappings2_1DetailsProvider();
24
25
26
	/**
27
	 * Return the singleton
28
	 */
29
	public static JpaDetailsProvider instance() {
30
		return INSTANCE;
31
	}
32
33
34
	/**
35
	 * Enforce singleton usage
36
	 */
37
	private EntityMappings2_1DetailsProvider() {
38
		super();
39
	}
40
41
42
	public JpaDetailsPageManager buildDetailsPageManager(Composite parent, WidgetFactory widgetFactory, ResourceManager resourceManager) {
43
		return new EntityMappingsDetailsPageManager2_1(parent, widgetFactory, resourceManager);
44
	}
45
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2_1/details/orm/EntityMappingsDetailsPageManager2_1.java (+38 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.orm;
11
12
import org.eclipse.jface.resource.ResourceManager;
13
import org.eclipse.jpt.common.ui.WidgetFactory;
14
import org.eclipse.jpt.jpa.ui.internal.details.orm.AbstractEntityMappingsDetailsPageManager;
15
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm.EntityMappingsGenerators2_0Composite;
16
import org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.Queries2_1Composite;
17
import org.eclipse.swt.widgets.Composite;
18
import org.eclipse.swt.widgets.Control;
19
20
public class EntityMappingsDetailsPageManager2_1
21
	extends AbstractEntityMappingsDetailsPageManager
22
{
23
24
	protected EntityMappingsDetailsPageManager2_1(Composite parent, WidgetFactory widgetFactory, ResourceManager resourceManager) {
25
		super(parent, widgetFactory, resourceManager);
26
	}
27
	
28
	@Override
29
	protected Control initializeGeneratorsSection(Composite container) {
30
		return new EntityMappingsGenerators2_0Composite(this, container).getControl();
31
	}
32
	
33
	@Override
34
	protected Control initializeQueriesSection(Composite container) {
35
		return new Queries2_1Composite(this, this.buildQueryContainerHolder(), container).getControl();
36
	}
37
38
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2_1/details/orm/GenericOrmXml2_1UiFactory.java (+36 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.orm;
11
12
import org.eclipse.jface.resource.ResourceManager;
13
import org.eclipse.jpt.common.ui.WidgetFactory;
14
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
15
import org.eclipse.jpt.jpa.core.context.Entity;
16
import org.eclipse.jpt.jpa.core.jpa2.context.orm.OrmEntity2_0;
17
import org.eclipse.jpt.jpa.ui.details.JpaComposite;
18
import org.eclipse.jpt.jpa.ui.internal.jpa2.GenericOrmXml2_0UiFactory;
19
import org.eclipse.jpt.jpa.ui.jpa2_1.details.JpaUiFactory2_1;
20
import org.eclipse.swt.widgets.Composite;
21
22
public class GenericOrmXml2_1UiFactory
23
	extends GenericOrmXml2_0UiFactory
24
	implements JpaUiFactory2_1
25
{
26
27
	@SuppressWarnings("unchecked")
28
	@Override
29
	public JpaComposite createEntityComposite(
30
			PropertyValueModel<? extends Entity> entityModel,
31
			Composite parentComposite,
32
			WidgetFactory widgetFactory,
33
			ResourceManager resourceManager) {
34
		return new OrmEntity2_1Composite((PropertyValueModel<? extends OrmEntity2_0>) entityModel, parentComposite, widgetFactory, resourceManager);
35
	}
36
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2_1/details/orm/OrmEntity2_1Composite.java (+37 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.orm;
11
12
import org.eclipse.jface.resource.ResourceManager;
13
import org.eclipse.jpt.common.ui.WidgetFactory;
14
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
15
import org.eclipse.jpt.jpa.core.jpa2.context.orm.OrmEntity2_0;
16
import org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm.OrmEntity2_0Composite;
17
import org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.Queries2_1Composite;
18
import org.eclipse.swt.widgets.Composite;
19
import org.eclipse.swt.widgets.Control;
20
21
public class OrmEntity2_1Composite
22
	extends OrmEntity2_0Composite
23
{
24
25
	public OrmEntity2_1Composite(
26
			PropertyValueModel<? extends OrmEntity2_0> entityModel,
27
			Composite parentComposite, WidgetFactory widgetFactory,
28
			ResourceManager resourceManager) {
29
		super(entityModel, parentComposite, widgetFactory, resourceManager);
30
	}
31
	
32
	@Override
33
	protected Control initializeQueriesSection(Composite container) {
34
		return new Queries2_1Composite(this, this.buildQueryContainerModel(), container).getControl();
35
	}
36
37
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2_1/platform/generic/Generic2_1JpaPlatformUiFactory.java (+34 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.internal.jpa2_1.platform.generic;
11
12
import org.eclipse.jpt.jpa.ui.JpaPlatformUi;
13
import org.eclipse.jpt.jpa.ui.JpaPlatformUiFactory;
14
import org.eclipse.jpt.jpa.ui.internal.jpa2_1.Generic2_1JpaPlatformUiProvider;
15
import org.eclipse.jpt.jpa.ui.internal.platform.generic.GenericJpaPlatformUi;
16
import org.eclipse.jpt.jpa.ui.internal.platform.generic.GenericJpaPlatformUiFactory;
17
18
public class Generic2_1JpaPlatformUiFactory
19
	implements JpaPlatformUiFactory
20
{
21
	/**
22
	 * Zero arg constructor for extension point
23
	 */
24
	public Generic2_1JpaPlatformUiFactory() {
25
		super();
26
	}
27
28
	public JpaPlatformUi buildJpaPlatformUi() {
29
		return new GenericJpaPlatformUi(
30
					GenericJpaPlatformUiFactory.NAVIGATOR_FACTORY_PROVIDER,
31
					Generic2_1JpaPlatformUiProvider.instance()
32
				);
33
	}
34
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/jpa2_1/details/JpaUiFactory2_1.java (+18 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 *
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.jpa2_1.details;
11
12
import org.eclipse.jpt.jpa.ui.jpa2.details.JpaUiFactory2_0;
13
14
public interface JpaUiFactory2_1
15
	extends JpaUiFactory2_0
16
{
17
	// nothing
18
}
(-)a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/jpa2_1/details/JptJpaUiDetailsMessages2_1.java (+32 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2013 Oracle. All rights reserved.
3
 * This program and the accompanying materials are made available under the
4
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
5
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
6
 * 
7
 * Contributors:
8
 *     Oracle - initial API and implementation
9
 ******************************************************************************/
10
package org.eclipse.jpt.jpa.ui.jpa2_1.details;
11
12
import org.eclipse.osgi.util.NLS;
13
14
/**
15
 * Localized messages used by Dali JPA 2.1 UI details view.
16
 */
17
public class JptJpaUiDetailsMessages2_1
18
{
19
	private static final String BUNDLE_NAME = "jpt_jpa_ui_details2_1"; //$NON-NLS-1$
20
	private static final Class<?> BUNDLE_CLASS = JptJpaUiDetailsMessages2_1.class;
21
	static {
22
		NLS.initializeMessages(BUNDLE_NAME, BUNDLE_CLASS);
23
	}
24
25
	public static String AddQueryDialog_namedStoredProcedureQuery;
26
27
28
	private JptJpaUiDetailsMessages2_1() {
29
		throw new UnsupportedOperationException();
30
	}
31
32
}

Return to bug 392701