Author: dgeraskov
Date: 2011-04-06 04:21:11 -0400 (Wed, 06 Apr 2011)
New Revision: 30350
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaDiscriminatorFormulaImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateDiscriminatorColumnComposite.java
Log:
https://issues.jboss.org/browse/JBIDE-8666
@ForeignKey and @DiscriminatorFormula update
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java 2011-04-06
00:00:36 UTC (rev 30349)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java 2011-04-06
08:21:11 UTC (rev 30350)
@@ -72,6 +72,8 @@
import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.GenericGeneratorAnnotation;
import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedNativeQueryAnnotation;
import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedQueryAnnotation;
+import org.jboss.tools.hibernate.jpt.core.internal.resource.java.IndexAnnotation;
+import org.jboss.tools.hibernate.jpt.core.internal.resource.java.TypeAnnotation;
/**
* @author Dmitry Geraskov
@@ -190,16 +192,16 @@
return new HibernateJavaTypeDefContainerImpl(parent);
}
- public JavaIndex buildIndex(JavaJpaContextNode parent) {
- return new IndexImpl(parent);
+ public JavaIndex buildIndex(JavaJpaContextNode parent, IndexAnnotation annotation) {
+ return new IndexImpl(parent, annotation);
}
public ForeignKey buildForeignKey(JavaJpaContextNode parent, ForeignKeyAnnotation
annotation) {
return new ForeignKeyImpl(parent, annotation);
}
- public JavaType buildType(JavaJpaContextNode parent) {
- return new TypeImpl(parent);
+ public JavaType buildType(JavaJpaContextNode parent, TypeAnnotation annotation) {
+ return new TypeImpl(parent, annotation);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java 2011-04-06
00:00:36 UTC (rev 30349)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java 2011-04-06
08:21:11 UTC (rev 30350)
@@ -63,7 +63,7 @@
this.discriminatorFormula = this.buildDiscriminatorFormula();
this.typeDefContainer = getJpaFactory().buildJavaTypeDefContainer(parent);
this.foreignKey = this.buildForeignKey();
- this.cacheable = buildJavaCachable();
+ this.cacheable = this.buildJavaCachable();
}
protected JavaCacheable2_0 buildJavaCachable() {
@@ -144,22 +144,6 @@
return this.discriminatorFormula;
}
-
- protected JavaDiscriminatorFormula buildDiscriminatorFormula() {
- DiscriminatorFormulaAnnotation annotation = this.getDiscriminatorFormulaAnnotation();
- return (annotation == null) ? null : this.buildDiscriminatorFormula(annotation);
- }
-
- protected DiscriminatorFormulaAnnotation buildDiscriminatorFormulaAnnotation() {
- return (DiscriminatorFormulaAnnotation)
this.getResourcePersistentType().addAnnotation(DiscriminatorFormulaAnnotation.ANNOTATION_NAME);
- }
-
- protected void setDiscriminatorFormula(JavaDiscriminatorFormula newDiscriminatorFormula)
{
- JavaDiscriminatorFormula oldDiscriminatorFormula = this.discriminatorFormula;
- this.discriminatorFormula = newDiscriminatorFormula;
- firePropertyChanged(DISCRIMINATOR_FORMULA_PROPERTY, oldDiscriminatorFormula,
newDiscriminatorFormula);
- }
-
@Override
public JavaDiscriminatorFormula addDiscriminatorFormula() {
if (getDiscriminatorFormula() != null) {
@@ -170,7 +154,11 @@
this.setDiscriminatorFormula(discriminatorFormula);
return discriminatorFormula;
}
-
+
+ protected DiscriminatorFormulaAnnotation buildDiscriminatorFormulaAnnotation() {
+ return (DiscriminatorFormulaAnnotation)
this.getResourcePersistentType().addAnnotation(DiscriminatorFormulaAnnotation.ANNOTATION_NAME);
+ }
+
@Override
public void removeDiscriminatorFormula() {
if (getDiscriminatorFormula() == null) {
@@ -180,6 +168,19 @@
this.setDiscriminatorFormula(null);
}
+ protected JavaDiscriminatorFormula buildDiscriminatorFormula() {
+ DiscriminatorFormulaAnnotation annotation = this.getDiscriminatorFormulaAnnotation();
+ return (annotation == null) ? null : this.buildDiscriminatorFormula(annotation);
+ }
+
+ public DiscriminatorFormulaAnnotation getDiscriminatorFormulaAnnotation() {
+ return (DiscriminatorFormulaAnnotation)
this.getResourcePersistentType().getAnnotation(DiscriminatorFormulaAnnotation.ANNOTATION_NAME);
+ }
+
+ protected JavaDiscriminatorFormula
buildDiscriminatorFormula(DiscriminatorFormulaAnnotation annotation) {
+ return getJpaFactory().buildJavaDiscriminatorFormula(this, annotation);
+ }
+
protected void syncDiscriminatorFormula() {
DiscriminatorFormulaAnnotation annotation = getDiscriminatorFormulaAnnotation();
if (annotation == null) {
@@ -188,26 +189,21 @@
}
}
else {
- if (getDiscriminatorFormula() == null) {
- setDiscriminatorFormula(buildDiscriminatorFormula(annotation));
+ if ((getDiscriminatorFormula() != null)
+ && (getDiscriminatorFormula().getDiscriminatorFormulaAnnotation() ==
annotation)) {
+ this.discriminatorFormula.synchronizeWithResourceModel();
+ } else {
+ this.setDiscriminatorFormula(this.buildDiscriminatorFormula(annotation));
}
- else {
- if ((this.discriminatorFormula != null) &&
(this.discriminatorFormula.getDiscriminatorFormulaAnnotation() == annotation)) {
- this.discriminatorFormula.synchronizeWithResourceModel();
- } else {
- this.setDiscriminatorFormula(this.buildDiscriminatorFormula(annotation));
- }
- }
}
}
- public DiscriminatorFormulaAnnotation getDiscriminatorFormulaAnnotation() {
- return (DiscriminatorFormulaAnnotation)
this.getResourcePersistentType().getAnnotation(DiscriminatorFormulaAnnotation.ANNOTATION_NAME);
+ protected void setDiscriminatorFormula(JavaDiscriminatorFormula newDiscriminatorFormula)
{
+ JavaDiscriminatorFormula oldDiscriminatorFormula = this.discriminatorFormula;
+ this.discriminatorFormula = newDiscriminatorFormula;
+ firePropertyChanged(DISCRIMINATOR_FORMULA_PROPERTY, oldDiscriminatorFormula,
newDiscriminatorFormula);
}
- protected JavaDiscriminatorFormula
buildDiscriminatorFormula(DiscriminatorFormulaAnnotation annotation) {
- return getJpaFactory().buildJavaDiscriminatorFormula(this, annotation);
- }
// ********************* foreignKey **************
protected void syncForeignKey() {
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaDiscriminatorFormulaImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaDiscriminatorFormulaImpl.java 2011-04-06
00:00:36 UTC (rev 30349)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaDiscriminatorFormulaImpl.java 2011-04-06
08:21:11 UTC (rev 30350)
@@ -30,6 +30,7 @@
public JavaDiscriminatorFormulaImpl(JpaContextNode parent,
DiscriminatorFormulaAnnotation annotation) {
super(parent);
this.annotation = annotation;
+ this.value = annotation.getValue();
}
@Override
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateDiscriminatorColumnComposite.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateDiscriminatorColumnComposite.java 2011-04-06
00:00:36 UTC (rev 30349)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateDiscriminatorColumnComposite.java 2011-04-06
08:21:11 UTC (rev 30350)
@@ -32,6 +32,7 @@
import org.eclipse.jpt.jpa.ui.internal.details.JptUiDetailsMessages;
import org.eclipse.swt.widgets.Composite;
import org.jboss.tools.hibernate.jpt.core.internal.context.DiscriminatorFormula;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateEntity;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
import org.jboss.tools.hibernate.jpt.ui.internal.mappings.db.xpl.ColumnCombo;
@@ -87,7 +88,7 @@
@Override
protected void initialize() {
super.initialize();
- this.discriminatorFormulaHolder = new
SimplePropertyValueModel<DiscriminatorFormula>(getSubject().getDiscriminatorFormula());
+ this.discriminatorFormulaHolder = buildDiscriminatorFormulaHolder();
}
@Override
@@ -114,7 +115,7 @@
addLabeledText(
discriminatorColumnContainer,
HibernateUIMappingMessages.HibernateDiscriminatorColumnComposite_formula,
- buildDiscriminatorFormulaHolder(),
+ buildDiscriminatorFormulaValueHolder(),
null//TODO help
);
@@ -190,7 +191,7 @@
};
}
- private WritablePropertyValueModel<String> buildDiscriminatorFormulaHolder() {
+ private WritablePropertyValueModel<String> buildDiscriminatorFormulaValueHolder()
{
return new PropertyAspectAdapter<DiscriminatorFormula,
String>(this.discriminatorFormulaHolder, DiscriminatorFormula.VALUE_PROPERTY) {
@Override
protected String buildValue_() {
@@ -199,24 +200,27 @@
@Override
public void setValue(String value) {
- if (value != null && !"".equals(value)) { //$NON-NLS-1$
+ if (subject != null) {
+ setValue_(value);
+ return;
+ }
+
+ if ("".equals(value)){ //$NON-NLS-1$
+ return;
+ }
DiscriminatorFormula discriminatorFormula = (getSubject().getDiscriminatorFormula()
!= null
? getSubject().getDiscriminatorFormula()
: getSubject().addDiscriminatorFormula());
discriminatorFormula.setValue(value);
- HibernateDiscriminatorColumnComposite.this.discriminatorFormulaHolder.setValue(discriminatorFormula);
- }
- setValue_(value);
+ //HibernateDiscriminatorColumnComposite.this.discriminatorFormulaHolder.setValue(discriminatorFormula);
+ //}
+ //setValue_(value);
}
@Override
protected void setValue_(String value) {
if ("".equals(value)) {//$NON-NLS-1$
value = null;
- }
- if (value == null && this.subject != null){
- getSubject().removeDiscriminatorFormula();
- return;
} else {
this.subject.setValue(value);
}
@@ -364,4 +368,13 @@
};
}
}
+
+ private WritablePropertyValueModel<DiscriminatorFormula>
buildDiscriminatorFormulaHolder() {
+ return new PropertyAspectAdapter<HibernateJavaEntity,
DiscriminatorFormula>(getSubjectHolder(),
HibernateEntity.DISCRIMINATOR_FORMULA_PROPERTY) {
+ @Override
+ protected DiscriminatorFormula buildValue_() {
+ return this.subject.getDiscriminatorFormula();
+ }
+ };
+ }
}