Author: dgeraskov
Date: 2011-08-17 07:57:30 -0400 (Wed, 17 Aug 2011)
New Revision: 34001
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/java/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/java/HibernateJavaEntity2_0Composite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/java/HibernateQueries2_0Composite.java
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateQueriesComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaUiFactory.java
Log:
https://issues.jboss.org/browse/JBIDE-9551
Added HibernateJavaEntity2_0Composite
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/java/HibernateJavaEntity2_0Composite.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/java/HibernateJavaEntity2_0Composite.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/java/HibernateJavaEntity2_0Composite.java 2011-08-17
11:57:30 UTC (rev 34001)
@@ -0,0 +1,146 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.jpa2.details.java;
+
+import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.AccessHolder;
+import org.eclipse.jpt.jpa.core.context.GeneratorContainer;
+import org.eclipse.jpt.jpa.core.context.QueryContainer;
+import org.eclipse.jpt.jpa.core.context.java.JavaEntity;
+import org.eclipse.jpt.jpa.core.jpa2.context.Cacheable2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.CacheableHolder2_0;
+import org.eclipse.jpt.jpa.ui.internal.details.AbstractEntityComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.EntityNameComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.IdClassComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.java.JavaSecondaryTablesComposite;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Cacheable2_0Pane;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.Entity2_0OverridesComposite;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateGeneratorContainer;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaQueryContainer;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaTypeDefContainer;
+import org.jboss.tools.hibernate.jpt.ui.internal.details.HibernateTableComposite;
+import
org.jboss.tools.hibernate.jpt.ui.internal.details.java.HibernateJavaInheritanceComposite;
+import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateGenerationComposite;
+import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.TypeDefsComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJavaEntity2_0Composite extends
AbstractEntityComposite<HibernateJavaEntity> {
+
+ /**
+ * @param subjectHolder
+ * @param parent
+ * @param widgetFactory
+ */
+ public HibernateJavaEntity2_0Composite(PropertyValueModel<? extends
HibernateJavaEntity> subjectHolder,
+ Composite parent, WidgetFactory widgetFactory) {
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ super.initializeLayout(container);
+ this.initializeTypeDefCollapsibleSection(container);
+ }
+
+ protected void initializeTypeDefCollapsibleSection(Composite container) {
+ container = addCollapsibleSection(
+ container,
+ "Type Definitions");
+ this.initializeTypeDefsSection(container, buildTypeDefContainerHolder());
+ }
+
+ protected void initializeTypeDefsSection(
+ Composite container,
+ PropertyValueModel<HibernateJavaTypeDefContainer> typeDefContainerHolder) {
+ new TypeDefsComposite(this, typeDefContainerHolder, container);
+ }
+
+ private PropertyValueModel<HibernateJavaTypeDefContainer>
buildTypeDefContainerHolder() {
+ return new PropertyAspectAdapter<HibernateJavaEntity,
HibernateJavaTypeDefContainer>(getSubjectHolder()) {
+ @Override
+ protected HibernateJavaTypeDefContainer buildValue_() {
+ return this.subject.getTypeDefContainer();
+ }
+ };
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected void initializeQueriesSection(Composite container,
PropertyValueModel<QueryContainer> queryContainerHolder) {
+ new HibernateQueries2_0Composite(this, (PropertyValueModel<? extends
HibernateJavaQueryContainer>) queryContainerHolder, container);
+ }
+
+ @SuppressWarnings("unused")
+ private PropertyValueModel<HibernateGeneratorContainer> buildGeneratorContainer()
{
+ return new PropertyAspectAdapter<HibernateJavaEntity,
HibernateGeneratorContainer>(getSubjectHolder()) {
+ @Override
+ protected HibernateGeneratorContainer buildValue_() {
+ return this.subject.getGeneratorContainer();
+ }
+ };
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected void initializeGeneratorsSection(Composite container,
PropertyValueModel<GeneratorContainer> generatorContainerHolder) {
+ new HibernateGenerationComposite(this, (PropertyValueModel<? extends
HibernateGeneratorContainer>) generatorContainerHolder, addSubPane(container, 10),
true);
+ }
+
+
+ protected void initializeEntitySection(Composite container) {
+ new HibernateTableComposite(this, container);
+ new EntityNameComposite(this, container);
+ new AccessTypeComposite(this, buildAccessHolder(), container);
+ new IdClassComposite(this, buildIdClassReferenceHolder(), container);
+ new Cacheable2_0Pane(this, buildCacheableHolder(), container);
+ }
+
+ protected PropertyValueModel<AccessHolder> buildAccessHolder() {
+ return new PropertyAspectAdapter<JavaEntity, AccessHolder>(getSubjectHolder()) {
+ @Override
+ protected AccessHolder buildValue_() {
+ return this.subject.getPersistentType();
+ }
+ };
+ }
+
+ protected PropertyValueModel<Cacheable2_0> buildCacheableHolder() {
+ return new PropertyAspectAdapter<JavaEntity, Cacheable2_0>(getSubjectHolder()) {
+ @Override
+ protected Cacheable2_0 buildValue_() {
+ return ((CacheableHolder2_0) this.subject).getCacheable();
+ }
+ };
+ }
+
+ @Override
+ protected void initializeSecondaryTablesSection(Composite container) {
+ new JavaSecondaryTablesComposite(this, container);
+ }
+
+ @Override
+ protected void initializeInheritanceSection(Composite container) {
+ new HibernateJavaInheritanceComposite(this, container);
+ }
+
+ @Override
+ protected void initializeAttributeOverridesSection(Composite container) {
+ new Entity2_0OverridesComposite(this, container);
+ }
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/java/HibernateQueries2_0Composite.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/java/HibernateQueries2_0Composite.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/java/HibernateQueries2_0Composite.java 2011-08-17
11:57:30 UTC (rev 34001)
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.jpa2.details.java;
+
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import
org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.Query;
+import org.eclipse.jpt.jpa.core.jpa2.context.NamedQuery2_0;
+import org.eclipse.jpt.jpa.ui.internal.jpa2.details.NamedQueryProperty2_0Composite;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.part.PageBook;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaQueryContainer;
+import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateQueriesComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateQueries2_0Composite extends HibernateQueriesComposite {
+
+ public HibernateQueries2_0Composite(
+ Pane<?> parentPane,
+ PropertyValueModel<? extends HibernateJavaQueryContainer> subjectHolder,
+ Composite parent) {
+
+ super(parentPane, subjectHolder, parent);
+ }
+
+ @Override
+ protected Pane<NamedQuery2_0> buildNamedQueryPropertyComposite(PageBook pageBook)
{
+ return new NamedQueryProperty2_0Composite(
+ this,
+ this.buildNamedQuery2_0Holder(),
+ pageBook);
+ }
+
+ protected PropertyValueModel<NamedQuery2_0> buildNamedQuery2_0Holder() {
+ return new TransformationPropertyValueModel<Query,
NamedQuery2_0>(this.getQueryHolder()) {
+ @Override
+ protected NamedQuery2_0 transform_(Query value) {
+ return (value instanceof NamedQuery2_0) ? (NamedQuery2_0) value : null;
+ }
+ };
+ }
+
+}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateQueriesComposite.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateQueriesComposite.java 2011-08-17
09:17:44 UTC (rev 34000)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateQueriesComposite.java 2011-08-17
11:57:30 UTC (rev 34001)
@@ -60,7 +60,7 @@
private AddRemoveListPane<QueryContainer> listPane;
private NamedNativeQueryPropertyComposite namedNativeQueryPane;
- private NamedQueryPropertyComposite<? extends NamedQuery> namedQueryPane;
+ private Pane<? extends NamedQuery> namedQueryPane;
private HibernateNamedQueryPropertyComposite hibernateNamedQueryPane;
private HibernateNamedNativeQueryPropertyComposite hibernateNamedNativeQueryPane;
private WritablePropertyValueModel<Query> queryHolder;
@@ -365,11 +365,7 @@
);
// Named Query property pane
- this.namedQueryPane = new NamedQueryPropertyComposite(
- this,
- buildNamedQueryHolder(),
- pageBook
- );
+ this.namedQueryPane = this.buildNamedQueryPropertyComposite(pageBook);
// Named Native Query property pane
this.namedNativeQueryPane = new NamedNativeQueryPropertyComposite(
@@ -380,6 +376,14 @@
installPaneSwitcher(pageBook);
}
+
+ protected Pane<? extends NamedQuery> buildNamedQueryPropertyComposite(PageBook
pageBook) {
+ return new NamedQueryPropertyComposite<NamedQuery>(
+ this,
+ this.buildNamedQueryHolder(),
+ pageBook
+ );
+ }
private void installPaneSwitcher(PageBook pageBook) {
new ControlSwitcher(this.queryHolder, buildPaneTransformer(), pageBook);
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaUiFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaUiFactory.java 2011-08-17
09:17:44 UTC (rev 34000)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaUiFactory.java 2011-08-17
11:57:30 UTC (rev 34001)
@@ -23,8 +23,8 @@
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaIdMapping;
import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntity;
-import
org.jboss.tools.hibernate.jpt.ui.internal.details.java.HibernateJavaEntityComposite;
import
org.jboss.tools.hibernate.jpt.ui.internal.jpa2.details.HibernateElementCollectionMapping2_0Composite;
+import
org.jboss.tools.hibernate.jpt.ui.internal.jpa2.details.java.HibernateJavaEntity2_0Composite;
import
org.jboss.tools.hibernate.jpt.ui.internal.jpa2.details.orm.Hibernate2_0OrmEntityComposite;
import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateBasicMappingComposite;
import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateIdMappingComposite;
@@ -49,7 +49,7 @@
@Override
public JpaComposite createJavaEntityComposite(PropertyValueModel<JavaEntity>
subjectHolder,
Composite parent, WidgetFactory widgetFactory) {
- return new HibernateJavaEntityComposite((PropertyValueModel<? extends
HibernateJavaEntity>) subjectHolder, parent, widgetFactory);
+ return new HibernateJavaEntity2_0Composite((PropertyValueModel<? extends
HibernateJavaEntity>) subjectHolder, parent, widgetFactory);
}
@SuppressWarnings("unchecked")