diff options
author | kmoore | 2009-07-01 15:58:43 +0000 |
---|---|---|
committer | kmoore | 2009-07-01 15:58:43 +0000 |
commit | 574a7bba7a179da87cc094f1978171debb2ce6eb (patch) | |
tree | d0320acc291f5ac75a057e6e3266de1699732a43 | |
parent | 606e0e56225a1b0e43a4a8893d25cd5bac11e5bf (diff) | |
download | webtools.dali-574a7bba7a179da87cc094f1978171debb2ce6eb.tar.gz webtools.dali-574a7bba7a179da87cc094f1978171debb2ce6eb.tar.xz webtools.dali-574a7bba7a179da87cc094f1978171debb2ce6eb.zip |
Refactored the remaining ORM attribute mappings to use an abstract superclass
22 files changed, 860 insertions, 838 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBasicMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBasicMapping.java new file mode 100644 index 0000000000..610ea48d66 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBasicMapping.java @@ -0,0 +1,325 @@ +/******************************************************************************* + * Copyright (c) 2006, 2009 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.core.internal.context.orm; + +import java.util.List; +import org.eclipse.jpt.core.MappingKeys; +import org.eclipse.jpt.core.context.BasicMapping; +import org.eclipse.jpt.core.context.Converter; +import org.eclipse.jpt.core.context.FetchType; +import org.eclipse.jpt.core.context.Fetchable; +import org.eclipse.jpt.core.context.Nullable; +import org.eclipse.jpt.core.context.orm.OrmAttributeMapping; +import org.eclipse.jpt.core.context.orm.OrmBasicMapping; +import org.eclipse.jpt.core.context.orm.OrmColumn; +import org.eclipse.jpt.core.context.orm.OrmColumnMapping; +import org.eclipse.jpt.core.context.orm.OrmConverter; +import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; +import org.eclipse.jpt.core.internal.validation.DefaultJpaValidationMessages; +import org.eclipse.jpt.core.internal.validation.JpaValidationMessages; +import org.eclipse.jpt.core.resource.orm.Attributes; +import org.eclipse.jpt.core.resource.orm.OrmFactory; +import org.eclipse.jpt.core.resource.orm.XmlBasic; +import org.eclipse.jpt.core.resource.orm.XmlColumn; +import org.eclipse.jpt.db.Table; +import org.eclipse.wst.validation.internal.provisional.core.IMessage; +import org.eclipse.wst.validation.internal.provisional.core.IReporter; + + +public abstract class AbstractOrmBasicMapping<T extends XmlBasic> + extends AbstractOrmAttributeMapping<T> + implements OrmBasicMapping +{ + protected final OrmColumn column; + + protected FetchType specifiedFetch; + + protected Boolean specifiedOptional; + + protected OrmConverter defaultConverter; + + protected OrmConverter specifiedConverter; + + protected AbstractOrmBasicMapping(OrmPersistentAttribute parent, T resourceMapping) { + super(parent, resourceMapping); + this.column = getJpaFactory().buildOrmColumn(this, this); + this.column.initialize(this.getResourceColumn());//TODO pass in to factory + this.specifiedFetch = this.getResourceFetch(); + this.specifiedOptional = this.getResourceOptional(); + this.defaultConverter = new GenericOrmNullConverter(this); + this.specifiedConverter = this.buildSpecifiedConverter(this.getResourceConverterType()); + } + + public FetchType getFetch() { + return (this.getSpecifiedFetch() == null) ? this.getDefaultFetch() : this.getSpecifiedFetch(); + } + + public FetchType getDefaultFetch() { + return BasicMapping.DEFAULT_FETCH_TYPE; + } + + public FetchType getSpecifiedFetch() { + return this.specifiedFetch; + } + + public void setSpecifiedFetch(FetchType newSpecifiedFetch) { + FetchType oldFetch = this.specifiedFetch; + this.specifiedFetch = newSpecifiedFetch; + this.resourceAttributeMapping.setFetch(FetchType.toOrmResourceModel(newSpecifiedFetch)); + firePropertyChanged(Fetchable.SPECIFIED_FETCH_PROPERTY, oldFetch, newSpecifiedFetch); + } + + protected void setSpecifiedFetch_(FetchType newSpecifiedFetch) { + FetchType oldFetch = this.specifiedFetch; + this.specifiedFetch = newSpecifiedFetch; + firePropertyChanged(Fetchable.SPECIFIED_FETCH_PROPERTY, oldFetch, newSpecifiedFetch); + } + + public boolean isOptional() { + return (this.getSpecifiedOptional() == null) ? this.isDefaultOptional() : this.getSpecifiedOptional().booleanValue(); + } + + public boolean isDefaultOptional() { + return Nullable.DEFAULT_OPTIONAL; + } + + public Boolean getSpecifiedOptional() { + return this.specifiedOptional; + } + + public void setSpecifiedOptional(Boolean newSpecifiedOptional) { + Boolean oldOptional = this.specifiedOptional; + this.specifiedOptional = newSpecifiedOptional; + this.resourceAttributeMapping.setOptional(newSpecifiedOptional); + firePropertyChanged(Nullable.SPECIFIED_OPTIONAL_PROPERTY, oldOptional, newSpecifiedOptional); + } + + protected void setSpecifiedOptional_(Boolean newSpecifiedOptional) { + Boolean oldOptional = this.specifiedOptional; + this.specifiedOptional = newSpecifiedOptional; + firePropertyChanged(Nullable.SPECIFIED_OPTIONAL_PROPERTY, oldOptional, newSpecifiedOptional); + } + + public OrmConverter getConverter() { + return getSpecifiedConverter() == null ? getDefaultConverter() : getSpecifiedConverter(); + } + + public OrmConverter getDefaultConverter() { + return this.defaultConverter; + } + + public OrmConverter getSpecifiedConverter() { + return this.specifiedConverter; + } + + protected String getSpecifedConverterType() { + if (this.specifiedConverter == null) { + return Converter.NO_CONVERTER; + } + return this.specifiedConverter.getType(); + } + + public void setSpecifiedConverter(String converterType) { + if (getSpecifedConverterType() == converterType) { + return; + } + OrmConverter oldConverter = this.specifiedConverter; + OrmConverter newConverter = buildSpecifiedConverter(converterType); + this.specifiedConverter = null; + if (oldConverter != null) { + oldConverter.removeFromResourceModel(); + } + this.specifiedConverter = newConverter; + if (newConverter != null) { + newConverter.addToResourceModel(); + } + firePropertyChanged(SPECIFIED_CONVERTER_PROPERTY, oldConverter, newConverter); + } + + protected void setSpecifiedConverter(OrmConverter newConverter) { + OrmConverter oldConverter = this.specifiedConverter; + this.specifiedConverter = newConverter; + firePropertyChanged(SPECIFIED_CONVERTER_PROPERTY, oldConverter, newConverter); + } + + public String getKey() { + return MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY; + } + + public void initializeOn(OrmAttributeMapping newMapping) { + newMapping.initializeFromOrmBasicMapping(this); + } + + + @Override + public void initializeFromOrmColumnMapping(OrmColumnMapping oldMapping) { + super.initializeFromOrmColumnMapping(oldMapping); + getColumn().initializeFrom(oldMapping.getColumn()); + } + + public int getXmlSequence() { + return 20; + } + + @Override + public boolean isOverridableAttributeMapping() { + return true; + } + + public OrmColumn getColumn() { + return this.column; + } + + public String getDefaultColumnName() { + return getName(); + } + + public String getDefaultTableName() { + return getTypeMapping().getPrimaryTableName(); + } + + public Table getDbTable(String tableName) { + return getTypeMapping().getDbTable(tableName); + } + + @Override + public void update() { + super.update(); + this.setSpecifiedFetch_(this.getResourceFetch()); + this.setSpecifiedOptional_(this.getResourceOptional()); + this.column.update(this.getResourceColumn()); + if (getResourceConverterType() == getSpecifedConverterType()) { + getSpecifiedConverter().update(); + } + else { + setSpecifiedConverter(buildSpecifiedConverter(getResourceConverterType())); + } + } + + protected Boolean getResourceOptional() { + return this.resourceAttributeMapping.getOptional(); + } + + protected FetchType getResourceFetch() { + return FetchType.fromOrmResourceModel(this.resourceAttributeMapping.getFetch()); + } + + protected OrmConverter buildSpecifiedConverter(String converterType) { + if (converterType == Converter.ENUMERATED_CONVERTER) { + return new GenericOrmEnumeratedConverter(this, this.resourceAttributeMapping); + } + else if (converterType == Converter.TEMPORAL_CONVERTER) { + return new GenericOrmTemporalConverter(this, this.resourceAttributeMapping); + } + else if (converterType == Converter.LOB_CONVERTER) { + return new GenericOrmLobConverter(this, this.resourceAttributeMapping); + } + return null; + } + + protected String getResourceConverterType() { + if (this.resourceAttributeMapping.getEnumerated() != null) { + return Converter.ENUMERATED_CONVERTER; + } + else if (this.resourceAttributeMapping.getTemporal() != null) { + return Converter.TEMPORAL_CONVERTER; + } + else if (this.resourceAttributeMapping.isLob()) { + return Converter.LOB_CONVERTER; + } + + return null; + } + + public void addToResourceModel(Attributes resourceAttributes) { + resourceAttributes.getBasics().add(this.resourceAttributeMapping); + } + + public void removeFromResourceModel(Attributes resourceAttributes) { + resourceAttributes.getBasics().remove(this.resourceAttributeMapping); + } + + //***************** XmlColumn.Owner implementation **************** + + public XmlColumn getResourceColumn() { + return this.resourceAttributeMapping.getColumn(); + } + + public void addResourceColumn() { + this.resourceAttributeMapping.setColumn(OrmFactory.eINSTANCE.createXmlColumn()); + } + + public void removeResourceColumn() { + this.resourceAttributeMapping.setColumn(null); + } + + // ****************** validation **************** + + @Override + public void validate(List<IMessage> messages, IReporter reporter) { + super.validate(messages, reporter); + if (this.shouldValidateAgainstDatabase()) { + this.validateColumn(messages); + } + } + + protected void validateColumn(List<IMessage> messages) { + String tableName = this.column.getTable(); + if (this.getTypeMapping().tableNameIsInvalid(tableName)) { + if (this.getPersistentAttribute().isVirtual()) { + messages.add( + DefaultJpaValidationMessages.buildMessage( + IMessage.HIGH_SEVERITY, + JpaValidationMessages.VIRTUAL_ATTRIBUTE_COLUMN_UNRESOLVED_TABLE, + new String[] {this.getName(), tableName, this.column.getName()}, + this.column, + this.column.getTableTextRange() + ) + ); + } else { + messages.add( + DefaultJpaValidationMessages.buildMessage( + IMessage.HIGH_SEVERITY, + JpaValidationMessages.COLUMN_UNRESOLVED_TABLE, + new String[] {tableName, this.column.getName()}, + this.column, + this.column.getTableTextRange() + ) + ); + } + return; + } + + if ( ! this.column.isResolved() && this.column.getDbTable() != null) { + if (this.getPersistentAttribute().isVirtual()) { + messages.add( + DefaultJpaValidationMessages.buildMessage( + IMessage.HIGH_SEVERITY, + JpaValidationMessages.VIRTUAL_ATTRIBUTE_COLUMN_UNRESOLVED_NAME, + new String[] {this.getName(), this.column.getName()}, + this.column, + this.column.getNameTextRange() + ) + ); + } else { + messages.add( + DefaultJpaValidationMessages.buildMessage( + IMessage.HIGH_SEVERITY, + JpaValidationMessages.COLUMN_UNRESOLVED_NAME, + new String[] {this.column.getName()}, + this.column, + this.column.getNameTextRange() + ) + ); + } + } + } + +} diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmManyToManyMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmManyToManyMapping.java new file mode 100644 index 0000000000..8a047bd472 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmManyToManyMapping.java @@ -0,0 +1,59 @@ +/******************************************************************************* + * Copyright (c) 2006, 2009 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the terms of + * the Eclipse Public License v1.0, which accompanies this distribution and is available at + * http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.core.internal.context.orm; + +import org.eclipse.jpt.core.MappingKeys; +import org.eclipse.jpt.core.context.orm.OrmAttributeMapping; +import org.eclipse.jpt.core.context.orm.OrmManyToManyMapping; +import org.eclipse.jpt.core.context.orm.OrmManyToManyRelationshipReference; +import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; +import org.eclipse.jpt.core.context.orm.OrmRelationshipReference; +import org.eclipse.jpt.core.resource.orm.Attributes; +import org.eclipse.jpt.core.resource.orm.XmlManyToMany; + +public abstract class AbstractOrmManyToManyMapping<T extends XmlManyToMany> + extends AbstractOrmMultiRelationshipMapping<T> + implements OrmManyToManyMapping +{ + protected AbstractOrmManyToManyMapping(OrmPersistentAttribute parent, T resourceMapping) { + super(parent, resourceMapping); + } + + + @Override + protected OrmRelationshipReference buildRelationshipReference() { + return new GenericOrmManyToManyRelationshipReference(this, this.resourceAttributeMapping); + } + + public int getXmlSequence() { + return 70; + } + + public String getKey() { + return MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY; + } + + public void initializeOn(OrmAttributeMapping newMapping) { + newMapping.initializeFromOrmManyToManyMapping(this); + } + + public void addToResourceModel(Attributes resourceAttributes) { + resourceAttributes.getManyToManys().add(this.resourceAttributeMapping); + } + + public void removeFromResourceModel(Attributes resourceAttributes) { + resourceAttributes.getManyToManys().remove(this.resourceAttributeMapping); + } + + @Override + public OrmManyToManyRelationshipReference getRelationshipReference() { + return (OrmManyToManyRelationshipReference) super.getRelationshipReference(); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmManyToOneMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmManyToOneMapping.java new file mode 100644 index 0000000000..34a2af5987 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmManyToOneMapping.java @@ -0,0 +1,65 @@ +/******************************************************************************* + * Copyright (c) 2006, 2009 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.core.internal.context.orm; + +import org.eclipse.jpt.core.MappingKeys; +import org.eclipse.jpt.core.context.orm.OrmAttributeMapping; +import org.eclipse.jpt.core.context.orm.OrmManyToOneMapping; +import org.eclipse.jpt.core.context.orm.OrmManyToOneRelationshipReference; +import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; +import org.eclipse.jpt.core.context.orm.OrmRelationshipReference; +import org.eclipse.jpt.core.resource.orm.Attributes; +import org.eclipse.jpt.core.resource.orm.XmlManyToOne; + + +public abstract class AbstractOrmManyToOneMapping<T extends XmlManyToOne> + extends AbstractOrmSingleRelationshipMapping<T> + implements OrmManyToOneMapping +{ + protected AbstractOrmManyToOneMapping(OrmPersistentAttribute parent, T resourceMapping) { + super(parent, resourceMapping); + } + + + @Override + protected OrmRelationshipReference buildRelationshipReference() { + return new GenericOrmManyToOneRelationshipReference(this, this.resourceAttributeMapping); + } + + public int getXmlSequence() { + return 40; + } + + public String getKey() { + return MappingKeys.MANY_TO_ONE_ATTRIBUTE_MAPPING_KEY; + } + + public void initializeOn(OrmAttributeMapping newMapping) { + newMapping.initializeFromOrmManyToOneMapping(this); + } + + public void addToResourceModel(Attributes resourceAttributes) { + resourceAttributes.getManyToOnes().add(this.resourceAttributeMapping); + } + + public void removeFromResourceModel(Attributes resourceAttributes) { + resourceAttributes.getManyToOnes().remove(this.resourceAttributeMapping); + } + + @Override + public OrmManyToOneRelationshipReference getRelationshipReference() { + return (OrmManyToOneRelationshipReference) super.getRelationshipReference(); + } + + @Override + public boolean isOverridableAssociationMapping() { + return true; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmOneToManyMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmOneToManyMapping.java new file mode 100644 index 0000000000..bb17a5b49b --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmOneToManyMapping.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2006, 2009 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the terms of + * the Eclipse Public License v1.0, which accompanies this distribution and is available at + * http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.core.internal.context.orm; + +import org.eclipse.jpt.core.MappingKeys; +import org.eclipse.jpt.core.context.orm.OrmAttributeMapping; +import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping; +import org.eclipse.jpt.core.context.orm.OrmOneToManyRelationshipReference; +import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; +import org.eclipse.jpt.core.resource.orm.Attributes; +import org.eclipse.jpt.core.resource.orm.XmlOneToMany; + + +public abstract class AbstractOrmOneToManyMapping<T extends XmlOneToMany> + extends AbstractOrmMultiRelationshipMapping<T> + implements OrmOneToManyMapping +{ + protected AbstractOrmOneToManyMapping(OrmPersistentAttribute parent, T resourceMapping) { + super(parent, resourceMapping); + } + + public int getXmlSequence() { + return 50; + } + + public String getKey() { + return MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY; + } + + public void initializeOn(OrmAttributeMapping newMapping) { + newMapping.initializeFromOrmOneToManyMapping(this); + } + + public void addToResourceModel(Attributes resourceAttributes) { + resourceAttributes.getOneToManys().add(this.resourceAttributeMapping); + } + + public void removeFromResourceModel(Attributes resourceAttributes) { + resourceAttributes.getOneToManys().remove(this.resourceAttributeMapping); + } + + @Override + public OrmOneToManyRelationshipReference getRelationshipReference() { + return (OrmOneToManyRelationshipReference) super.getRelationshipReference(); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmOneToOneMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmOneToOneMapping.java new file mode 100644 index 0000000000..bb7a65975b --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmOneToOneMapping.java @@ -0,0 +1,65 @@ +/******************************************************************************* + * Copyright (c) 2007, 2009 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.core.internal.context.orm; + +import org.eclipse.jpt.core.MappingKeys; +import org.eclipse.jpt.core.context.orm.OrmAttributeMapping; +import org.eclipse.jpt.core.context.orm.OrmOneToOneMapping; +import org.eclipse.jpt.core.context.orm.OrmOneToOneRelationshipReference; +import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; +import org.eclipse.jpt.core.context.orm.OrmRelationshipReference; +import org.eclipse.jpt.core.resource.orm.Attributes; +import org.eclipse.jpt.core.resource.orm.XmlOneToOne; + + +public abstract class AbstractOrmOneToOneMapping<T extends XmlOneToOne> + extends AbstractOrmSingleRelationshipMapping<T> + implements OrmOneToOneMapping +{ + protected AbstractOrmOneToOneMapping(OrmPersistentAttribute parent, T resourceMapping) { + super(parent, resourceMapping); + } + + + @Override + protected OrmRelationshipReference buildRelationshipReference() { + return new GenericOrmOneToOneRelationshipReference(this, this.resourceAttributeMapping); + } + + public int getXmlSequence() { + return 60; + } + + public String getKey() { + return MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY; + } + + public void initializeOn(OrmAttributeMapping newMapping) { + newMapping.initializeFromOrmOneToOneMapping(this); + } + + public void addToResourceModel(Attributes resourceAttributes) { + resourceAttributes.getOneToOnes().add(this.resourceAttributeMapping); + } + + public void removeFromResourceModel(Attributes resourceAttributes) { + resourceAttributes.getOneToOnes().remove(this.resourceAttributeMapping); + } + + @Override + public OrmOneToOneRelationshipReference getRelationshipReference() { + return (OrmOneToOneRelationshipReference) super.getRelationshipReference(); + } + + @Override + public boolean isOverridableAssociationMapping() { + return true; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmVersionMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmVersionMapping.java new file mode 100644 index 0000000000..2682fc8c0d --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmVersionMapping.java @@ -0,0 +1,238 @@ +/******************************************************************************* + * Copyright (c) 2007, 2009 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.core.internal.context.orm; + +import java.util.List; +import org.eclipse.jpt.core.MappingKeys; +import org.eclipse.jpt.core.context.Converter; +import org.eclipse.jpt.core.context.orm.OrmAttributeMapping; +import org.eclipse.jpt.core.context.orm.OrmColumn; +import org.eclipse.jpt.core.context.orm.OrmColumnMapping; +import org.eclipse.jpt.core.context.orm.OrmConverter; +import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; +import org.eclipse.jpt.core.context.orm.OrmVersionMapping; +import org.eclipse.jpt.core.internal.validation.DefaultJpaValidationMessages; +import org.eclipse.jpt.core.internal.validation.JpaValidationMessages; +import org.eclipse.jpt.core.resource.orm.Attributes; +import org.eclipse.jpt.core.resource.orm.OrmFactory; +import org.eclipse.jpt.core.resource.orm.XmlColumn; +import org.eclipse.jpt.core.resource.orm.XmlVersion; +import org.eclipse.jpt.db.Table; +import org.eclipse.wst.validation.internal.provisional.core.IMessage; +import org.eclipse.wst.validation.internal.provisional.core.IReporter; + + +public abstract class AbstractOrmVersionMapping<T extends XmlVersion> + extends AbstractOrmAttributeMapping<T> + implements OrmVersionMapping +{ + protected final OrmColumn column; + + protected OrmConverter defaultConverter; + protected OrmConverter specifiedConverter; + + protected AbstractOrmVersionMapping(OrmPersistentAttribute parent, T resourceMapping) { + super(parent, resourceMapping); + this.column = getJpaFactory().buildOrmColumn(this, this); + this.column.initialize(this.getResourceColumn());//TODO pass in to constructor + this.defaultConverter = new GenericOrmNullConverter(this); + this.specifiedConverter = this.buildSpecifiedConverter(this.getResourceConverterType()); + } + + public int getXmlSequence() { + return 30; + } + + public String getKey() { + return MappingKeys.VERSION_ATTRIBUTE_MAPPING_KEY; + } + + public void initializeOn(OrmAttributeMapping newMapping) { + newMapping.initializeFromOrmVersionMapping(this); + } + + @Override + public void initializeFromOrmColumnMapping(OrmColumnMapping oldMapping) { + super.initializeFromOrmColumnMapping(oldMapping); + getColumn().initializeFrom(oldMapping.getColumn()); + } + + public OrmColumn getColumn() { + return this.column; + } + + public OrmConverter getConverter() { + return getSpecifiedConverter() == null ? getDefaultConverter() : getSpecifiedConverter(); + } + + public OrmConverter getDefaultConverter() { + return this.defaultConverter; + } + + public OrmConverter getSpecifiedConverter() { + return this.specifiedConverter; + } + + protected String getSpecifedConverterType() { + if (this.specifiedConverter == null) { + return Converter.NO_CONVERTER; + } + return this.specifiedConverter.getType(); + } + + public void setSpecifiedConverter(String converterType) { + if (getSpecifedConverterType() == converterType) { + return; + } + OrmConverter oldConverter = this.specifiedConverter; + OrmConverter newConverter = buildSpecifiedConverter(converterType); + this.specifiedConverter = null; + if (oldConverter != null) { + oldConverter.removeFromResourceModel(); + } + this.specifiedConverter = newConverter; + if (newConverter != null) { + newConverter.addToResourceModel(); + } + firePropertyChanged(SPECIFIED_CONVERTER_PROPERTY, oldConverter, newConverter); + } + + protected void setSpecifiedConverter(OrmConverter newConverter) { + OrmConverter oldConverter = this.specifiedConverter; + this.specifiedConverter = newConverter; + firePropertyChanged(SPECIFIED_CONVERTER_PROPERTY, oldConverter, newConverter); + } + + public void addToResourceModel(Attributes resourceAttributes) { + resourceAttributes.getVersions().add(this.resourceAttributeMapping); + } + + public void removeFromResourceModel(Attributes resourceAttributes) { + resourceAttributes.getVersions().remove(this.resourceAttributeMapping); + } + + public String getDefaultColumnName() { + return getName(); + } + + public String getDefaultTableName() { + return getTypeMapping().getPrimaryTableName(); + } + + public Table getDbTable(String tableName) { + return getTypeMapping().getDbTable(tableName); + } + + @Override + public void update() { + super.update(); + this.column.update(this.getResourceColumn()); + if (getResourceConverterType() == getSpecifedConverterType()) { + getSpecifiedConverter().update(); + } + else { + setSpecifiedConverter(buildSpecifiedConverter(getResourceConverterType())); + } + } + + protected OrmConverter buildSpecifiedConverter(String converterType) { + if (converterType == Converter.TEMPORAL_CONVERTER) { + return new GenericOrmTemporalConverter(this, this.resourceAttributeMapping); + } + return null; + } + + protected String getResourceConverterType() { + if (this.resourceAttributeMapping.getTemporal() != null) { + return Converter.TEMPORAL_CONVERTER; + } + + return null; + } + + //***************** XmlColumn.Owner implementation **************** + + public XmlColumn getResourceColumn() { + return this.resourceAttributeMapping.getColumn(); + } + + public void addResourceColumn() { + this.resourceAttributeMapping.setColumn(OrmFactory.eINSTANCE.createXmlColumn()); + } + + public void removeResourceColumn() { + this.resourceAttributeMapping.setColumn(null); + } + + // ****************** validation **************** + + @Override + public void validate(List<IMessage> messages, IReporter reporter) { + super.validate(messages, reporter); + + if (this.shouldValidateAgainstDatabase()) { + this.validateColumn(messages); + } + } + + protected void validateColumn(List<IMessage> messages) { + OrmPersistentAttribute pa = this.getPersistentAttribute(); + String tableName = this.column.getTable(); + if (this.getTypeMapping().tableNameIsInvalid(tableName)) { + if (pa.isVirtual()) { + messages.add( + DefaultJpaValidationMessages.buildMessage( + IMessage.HIGH_SEVERITY, + JpaValidationMessages.VIRTUAL_ATTRIBUTE_COLUMN_UNRESOLVED_TABLE, + new String[] {pa.getName(), tableName, this.column.getName()}, + this.column, + this.column.getTableTextRange() + ) + ); + } else { + messages.add( + DefaultJpaValidationMessages.buildMessage( + IMessage.HIGH_SEVERITY, + JpaValidationMessages.COLUMN_UNRESOLVED_TABLE, + new String[] {tableName, this.column.getName()}, + this.column, + this.column.getTableTextRange() + ) + ); + } + return; + } + + if ( ! this.column.isResolved() && this.column.getDbTable() != null) { + if (pa.isVirtual()) { + messages.add( + DefaultJpaValidationMessages.buildMessage( + IMessage.HIGH_SEVERITY, + JpaValidationMessages.VIRTUAL_ATTRIBUTE_COLUMN_UNRESOLVED_NAME, + new String[] {pa.getName(), this.column.getName()}, + this.column, + this.column.getNameTextRange() + ) + ); + } else { + messages.add( + DefaultJpaValidationMessages.buildMessage( + IMessage.HIGH_SEVERITY, + JpaValidationMessages.COLUMN_UNRESOLVED_NAME, + new String[] {this.column.getName()}, + this.column, + this.column.getNameTextRange() + ) + ); + } + } + } + +} diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmBasicMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmBasicMapping.java index 81956c204e..db0fc2a66c 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmBasicMapping.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmBasicMapping.java @@ -9,317 +9,15 @@ ******************************************************************************/ package org.eclipse.jpt.core.internal.context.orm; -import java.util.List; -import org.eclipse.jpt.core.MappingKeys; -import org.eclipse.jpt.core.context.BasicMapping; -import org.eclipse.jpt.core.context.Converter; -import org.eclipse.jpt.core.context.FetchType; -import org.eclipse.jpt.core.context.Fetchable; -import org.eclipse.jpt.core.context.Nullable; -import org.eclipse.jpt.core.context.orm.OrmAttributeMapping; -import org.eclipse.jpt.core.context.orm.OrmBasicMapping; -import org.eclipse.jpt.core.context.orm.OrmColumn; -import org.eclipse.jpt.core.context.orm.OrmColumnMapping; -import org.eclipse.jpt.core.context.orm.OrmConverter; import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.core.internal.validation.DefaultJpaValidationMessages; -import org.eclipse.jpt.core.internal.validation.JpaValidationMessages; -import org.eclipse.jpt.core.resource.orm.Attributes; -import org.eclipse.jpt.core.resource.orm.OrmFactory; import org.eclipse.jpt.core.resource.orm.XmlBasic; -import org.eclipse.jpt.core.resource.orm.XmlColumn; -import org.eclipse.jpt.db.Table; -import org.eclipse.wst.validation.internal.provisional.core.IMessage; -import org.eclipse.wst.validation.internal.provisional.core.IReporter; -public class GenericOrmBasicMapping<T extends XmlBasic> - extends AbstractOrmAttributeMapping<T> - implements OrmBasicMapping +public class GenericOrmBasicMapping extends AbstractOrmBasicMapping<XmlBasic> { - protected final OrmColumn column; - protected FetchType specifiedFetch; - - protected Boolean specifiedOptional; - - protected OrmConverter defaultConverter; - - protected OrmConverter specifiedConverter; - - public GenericOrmBasicMapping(OrmPersistentAttribute parent, T resourceMapping) { + public GenericOrmBasicMapping(OrmPersistentAttribute parent, XmlBasic resourceMapping) { super(parent, resourceMapping); - this.column = getJpaFactory().buildOrmColumn(this, this); - this.column.initialize(this.getResourceColumn());//TODO pass in to factory - this.specifiedFetch = this.getResourceFetch(); - this.specifiedOptional = this.getResourceOptional(); - this.defaultConverter = new GenericOrmNullConverter(this); - this.specifiedConverter = this.buildSpecifiedConverter(this.getResourceConverterType()); - } - - public FetchType getFetch() { - return (this.getSpecifiedFetch() == null) ? this.getDefaultFetch() : this.getSpecifiedFetch(); - } - - public FetchType getDefaultFetch() { - return BasicMapping.DEFAULT_FETCH_TYPE; - } - - public FetchType getSpecifiedFetch() { - return this.specifiedFetch; - } - - public void setSpecifiedFetch(FetchType newSpecifiedFetch) { - FetchType oldFetch = this.specifiedFetch; - this.specifiedFetch = newSpecifiedFetch; - this.resourceAttributeMapping.setFetch(FetchType.toOrmResourceModel(newSpecifiedFetch)); - firePropertyChanged(Fetchable.SPECIFIED_FETCH_PROPERTY, oldFetch, newSpecifiedFetch); - } - - protected void setSpecifiedFetch_(FetchType newSpecifiedFetch) { - FetchType oldFetch = this.specifiedFetch; - this.specifiedFetch = newSpecifiedFetch; - firePropertyChanged(Fetchable.SPECIFIED_FETCH_PROPERTY, oldFetch, newSpecifiedFetch); - } - - public boolean isOptional() { - return (this.getSpecifiedOptional() == null) ? this.isDefaultOptional() : this.getSpecifiedOptional().booleanValue(); - } - - public boolean isDefaultOptional() { - return Nullable.DEFAULT_OPTIONAL; - } - - public Boolean getSpecifiedOptional() { - return this.specifiedOptional; - } - - public void setSpecifiedOptional(Boolean newSpecifiedOptional) { - Boolean oldOptional = this.specifiedOptional; - this.specifiedOptional = newSpecifiedOptional; - this.resourceAttributeMapping.setOptional(newSpecifiedOptional); - firePropertyChanged(Nullable.SPECIFIED_OPTIONAL_PROPERTY, oldOptional, newSpecifiedOptional); - } - - protected void setSpecifiedOptional_(Boolean newSpecifiedOptional) { - Boolean oldOptional = this.specifiedOptional; - this.specifiedOptional = newSpecifiedOptional; - firePropertyChanged(Nullable.SPECIFIED_OPTIONAL_PROPERTY, oldOptional, newSpecifiedOptional); - } - - public OrmConverter getConverter() { - return getSpecifiedConverter() == null ? getDefaultConverter() : getSpecifiedConverter(); - } - - public OrmConverter getDefaultConverter() { - return this.defaultConverter; - } - - public OrmConverter getSpecifiedConverter() { - return this.specifiedConverter; - } - - protected String getSpecifedConverterType() { - if (this.specifiedConverter == null) { - return Converter.NO_CONVERTER; - } - return this.specifiedConverter.getType(); - } - - public void setSpecifiedConverter(String converterType) { - if (getSpecifedConverterType() == converterType) { - return; - } - OrmConverter oldConverter = this.specifiedConverter; - OrmConverter newConverter = buildSpecifiedConverter(converterType); - this.specifiedConverter = null; - if (oldConverter != null) { - oldConverter.removeFromResourceModel(); - } - this.specifiedConverter = newConverter; - if (newConverter != null) { - newConverter.addToResourceModel(); - } - firePropertyChanged(SPECIFIED_CONVERTER_PROPERTY, oldConverter, newConverter); - } - - protected void setSpecifiedConverter(OrmConverter newConverter) { - OrmConverter oldConverter = this.specifiedConverter; - this.specifiedConverter = newConverter; - firePropertyChanged(SPECIFIED_CONVERTER_PROPERTY, oldConverter, newConverter); - } - - public String getKey() { - return MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY; - } - - public void initializeOn(OrmAttributeMapping newMapping) { - newMapping.initializeFromOrmBasicMapping(this); - } - - - @Override - public void initializeFromOrmColumnMapping(OrmColumnMapping oldMapping) { - super.initializeFromOrmColumnMapping(oldMapping); - getColumn().initializeFrom(oldMapping.getColumn()); - } - - public int getXmlSequence() { - return 20; - } - - @Override - public boolean isOverridableAttributeMapping() { - return true; - } - - public OrmColumn getColumn() { - return this.column; - } - - public String getDefaultColumnName() { - return getName(); - } - - public String getDefaultTableName() { - return getTypeMapping().getPrimaryTableName(); - } - - public Table getDbTable(String tableName) { - return getTypeMapping().getDbTable(tableName); - } - - @Override - public void update() { - super.update(); - this.setSpecifiedFetch_(this.getResourceFetch()); - this.setSpecifiedOptional_(this.getResourceOptional()); - this.column.update(this.getResourceColumn()); - if (getResourceConverterType() == getSpecifedConverterType()) { - getSpecifiedConverter().update(); - } - else { - setSpecifiedConverter(buildSpecifiedConverter(getResourceConverterType())); - } - } - - protected Boolean getResourceOptional() { - return this.resourceAttributeMapping.getOptional(); - } - - protected FetchType getResourceFetch() { - return FetchType.fromOrmResourceModel(this.resourceAttributeMapping.getFetch()); - } - - protected OrmConverter buildSpecifiedConverter(String converterType) { - if (converterType == Converter.ENUMERATED_CONVERTER) { - return new GenericOrmEnumeratedConverter(this, this.resourceAttributeMapping); - } - else if (converterType == Converter.TEMPORAL_CONVERTER) { - return new GenericOrmTemporalConverter(this, this.resourceAttributeMapping); - } - else if (converterType == Converter.LOB_CONVERTER) { - return new GenericOrmLobConverter(this, this.resourceAttributeMapping); - } - return null; - } - - protected String getResourceConverterType() { - if (this.resourceAttributeMapping.getEnumerated() != null) { - return Converter.ENUMERATED_CONVERTER; - } - else if (this.resourceAttributeMapping.getTemporal() != null) { - return Converter.TEMPORAL_CONVERTER; - } - else if (this.resourceAttributeMapping.isLob()) { - return Converter.LOB_CONVERTER; - } - - return null; - } - - public void addToResourceModel(Attributes resourceAttributes) { - resourceAttributes.getBasics().add(this.resourceAttributeMapping); - } - - public void removeFromResourceModel(Attributes resourceAttributes) { - resourceAttributes.getBasics().remove(this.resourceAttributeMapping); - } - - //***************** XmlColumn.Owner implementation **************** - - public XmlColumn getResourceColumn() { - return this.resourceAttributeMapping.getColumn(); - } - - public void addResourceColumn() { - this.resourceAttributeMapping.setColumn(OrmFactory.eINSTANCE.createXmlColumn()); - } - - public void removeResourceColumn() { - this.resourceAttributeMapping.setColumn(null); - } - - // ****************** validation **************** - - @Override - public void validate(List<IMessage> messages, IReporter reporter) { - super.validate(messages, reporter); - if (this.shouldValidateAgainstDatabase()) { - this.validateColumn(messages); - } - } - - protected void validateColumn(List<IMessage> messages) { - String tableName = this.column.getTable(); - if (this.getTypeMapping().tableNameIsInvalid(tableName)) { - if (this.getPersistentAttribute().isVirtual()) { - messages.add( - DefaultJpaValidationMessages.buildMessage( - IMessage.HIGH_SEVERITY, - JpaValidationMessages.VIRTUAL_ATTRIBUTE_COLUMN_UNRESOLVED_TABLE, - new String[] {this.getName(), tableName, this.column.getName()}, - this.column, - this.column.getTableTextRange() - ) - ); - } else { - messages.add( - DefaultJpaValidationMessages.buildMessage( - IMessage.HIGH_SEVERITY, - JpaValidationMessages.COLUMN_UNRESOLVED_TABLE, - new String[] {tableName, this.column.getName()}, - this.column, - this.column.getTableTextRange() - ) - ); - } - return; - } - - if ( ! this.column.isResolved() && this.column.getDbTable() != null) { - if (this.getPersistentAttribute().isVirtual()) { - messages.add( - DefaultJpaValidationMessages.buildMessage( - IMessage.HIGH_SEVERITY, - JpaValidationMessages.VIRTUAL_ATTRIBUTE_COLUMN_UNRESOLVED_NAME, - new String[] {this.getName(), this.column.getName()}, - this.column, - this.column.getNameTextRange() - ) - ); - } else { - messages.add( - DefaultJpaValidationMessages.buildMessage( - IMessage.HIGH_SEVERITY, - JpaValidationMessages.COLUMN_UNRESOLVED_NAME, - new String[] {this.column.getName()}, - this.column, - this.column.getNameTextRange() - ) - ); - } - } } } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmManyToOneMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmManyToOneMapping.java index 413333000e..d40fdbe6f1 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmManyToOneMapping.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmManyToOneMapping.java @@ -9,57 +9,15 @@ ******************************************************************************/ package org.eclipse.jpt.core.internal.context.orm; -import org.eclipse.jpt.core.MappingKeys; -import org.eclipse.jpt.core.context.orm.OrmAttributeMapping; -import org.eclipse.jpt.core.context.orm.OrmManyToOneMapping; -import org.eclipse.jpt.core.context.orm.OrmManyToOneRelationshipReference; import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.core.context.orm.OrmRelationshipReference; -import org.eclipse.jpt.core.resource.orm.Attributes; import org.eclipse.jpt.core.resource.orm.XmlManyToOne; -public class GenericOrmManyToOneMapping<T extends XmlManyToOne> - extends AbstractOrmSingleRelationshipMapping<T> - implements OrmManyToOneMapping +public class GenericOrmManyToOneMapping extends AbstractOrmManyToOneMapping<XmlManyToOne> { - public GenericOrmManyToOneMapping(OrmPersistentAttribute parent, T resourceMapping) { - super(parent, resourceMapping); - } - - - @Override - protected OrmRelationshipReference buildRelationshipReference() { - return new GenericOrmManyToOneRelationshipReference(this, this.resourceAttributeMapping); - } - - public int getXmlSequence() { - return 40; - } - - public String getKey() { - return MappingKeys.MANY_TO_ONE_ATTRIBUTE_MAPPING_KEY; - } - public void initializeOn(OrmAttributeMapping newMapping) { - newMapping.initializeFromOrmManyToOneMapping(this); - } - - public void addToResourceModel(Attributes resourceAttributes) { - resourceAttributes.getManyToOnes().add(this.resourceAttributeMapping); - } - - public void removeFromResourceModel(Attributes resourceAttributes) { - resourceAttributes.getManyToOnes().remove(this.resourceAttributeMapping); - } - - @Override - public OrmManyToOneRelationshipReference getRelationshipReference() { - return (OrmManyToOneRelationshipReference) super.getRelationshipReference(); + public GenericOrmManyToOneMapping(OrmPersistentAttribute parent, XmlManyToOne resourceMapping) { + super(parent, resourceMapping); } - @Override - public boolean isOverridableAssociationMapping() { - return true; - } } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmOneToManyMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmOneToManyMapping.java index ea7942295e..8f610e06c5 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmOneToManyMapping.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmOneToManyMapping.java @@ -9,52 +9,21 @@ ******************************************************************************/ package org.eclipse.jpt.core.internal.context.orm; -import org.eclipse.jpt.core.MappingKeys; -import org.eclipse.jpt.core.context.orm.OrmAttributeMapping; -import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping; -import org.eclipse.jpt.core.context.orm.OrmOneToManyRelationshipReference; import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; import org.eclipse.jpt.core.context.orm.OrmRelationshipReference; -import org.eclipse.jpt.core.resource.orm.Attributes; import org.eclipse.jpt.core.resource.orm.XmlOneToMany; -public class GenericOrmOneToManyMapping<T extends XmlOneToMany> - extends AbstractOrmMultiRelationshipMapping<T> - implements OrmOneToManyMapping +public class GenericOrmOneToManyMapping extends AbstractOrmOneToManyMapping<XmlOneToMany> { - public GenericOrmOneToManyMapping(OrmPersistentAttribute parent, T resourceMapping) { + + public GenericOrmOneToManyMapping(OrmPersistentAttribute parent, XmlOneToMany resourceMapping) { super(parent, resourceMapping); } - @Override protected OrmRelationshipReference buildRelationshipReference() { return new GenericOrmOneToManyRelationshipReference(this, this.resourceAttributeMapping); } - - public int getXmlSequence() { - return 50; - } - - public String getKey() { - return MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY; - } - - public void initializeOn(OrmAttributeMapping newMapping) { - newMapping.initializeFromOrmOneToManyMapping(this); - } - - public void addToResourceModel(Attributes resourceAttributes) { - resourceAttributes.getOneToManys().add(this.resourceAttributeMapping); - } - - public void removeFromResourceModel(Attributes resourceAttributes) { - resourceAttributes.getOneToManys().remove(this.resourceAttributeMapping); - } - - @Override - public OrmOneToManyRelationshipReference getRelationshipReference() { - return (OrmOneToManyRelationshipReference) super.getRelationshipReference(); - } + } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmOneToOneMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmOneToOneMapping.java index 12e3b6e7b8..0c39b6f1a1 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmOneToOneMapping.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmOneToOneMapping.java @@ -9,57 +9,15 @@ ******************************************************************************/ package org.eclipse.jpt.core.internal.context.orm; -import org.eclipse.jpt.core.MappingKeys; -import org.eclipse.jpt.core.context.orm.OrmAttributeMapping; -import org.eclipse.jpt.core.context.orm.OrmOneToOneMapping; -import org.eclipse.jpt.core.context.orm.OrmOneToOneRelationshipReference; import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.core.context.orm.OrmRelationshipReference; -import org.eclipse.jpt.core.resource.orm.Attributes; import org.eclipse.jpt.core.resource.orm.XmlOneToOne; -public class GenericOrmOneToOneMapping<T extends XmlOneToOne> - extends AbstractOrmSingleRelationshipMapping<T> - implements OrmOneToOneMapping +public class GenericOrmOneToOneMapping extends AbstractOrmOneToOneMapping<XmlOneToOne> { - public GenericOrmOneToOneMapping(OrmPersistentAttribute parent, T resourceMapping) { - super(parent, resourceMapping); - } - - - @Override - protected OrmRelationshipReference buildRelationshipReference() { - return new GenericOrmOneToOneRelationshipReference(this, this.resourceAttributeMapping); - } - - public int getXmlSequence() { - return 60; - } - - public String getKey() { - return MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY; - } - public void initializeOn(OrmAttributeMapping newMapping) { - newMapping.initializeFromOrmOneToOneMapping(this); - } - - public void addToResourceModel(Attributes resourceAttributes) { - resourceAttributes.getOneToOnes().add(this.resourceAttributeMapping); - } - - public void removeFromResourceModel(Attributes resourceAttributes) { - resourceAttributes.getOneToOnes().remove(this.resourceAttributeMapping); - } - - @Override - public OrmOneToOneRelationshipReference getRelationshipReference() { - return (OrmOneToOneRelationshipReference) super.getRelationshipReference(); + public GenericOrmOneToOneMapping(OrmPersistentAttribute parent, XmlOneToOne resourceMapping) { + super(parent, resourceMapping); } - @Override - public boolean isOverridableAssociationMapping() { - return true; - } } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmVersionMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmVersionMapping.java index c7c21de23a..91cf0038c6 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmVersionMapping.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmVersionMapping.java @@ -9,230 +9,15 @@ ******************************************************************************/ package org.eclipse.jpt.core.internal.context.orm; -import java.util.List; -import org.eclipse.jpt.core.MappingKeys; -import org.eclipse.jpt.core.context.Converter; -import org.eclipse.jpt.core.context.orm.OrmAttributeMapping; -import org.eclipse.jpt.core.context.orm.OrmColumn; -import org.eclipse.jpt.core.context.orm.OrmColumnMapping; -import org.eclipse.jpt.core.context.orm.OrmConverter; import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.core.context.orm.OrmVersionMapping; -import org.eclipse.jpt.core.internal.validation.DefaultJpaValidationMessages; -import org.eclipse.jpt.core.internal.validation.JpaValidationMessages; -import org.eclipse.jpt.core.resource.orm.Attributes; -import org.eclipse.jpt.core.resource.orm.OrmFactory; -import org.eclipse.jpt.core.resource.orm.XmlColumn; import org.eclipse.jpt.core.resource.orm.XmlVersion; -import org.eclipse.jpt.db.Table; -import org.eclipse.wst.validation.internal.provisional.core.IMessage; -import org.eclipse.wst.validation.internal.provisional.core.IReporter; -public class GenericOrmVersionMapping<T extends XmlVersion> - extends AbstractOrmAttributeMapping<T> - implements OrmVersionMapping +public class GenericOrmVersionMapping extends AbstractOrmVersionMapping<XmlVersion> { - protected final OrmColumn column; - - protected OrmConverter defaultConverter; - protected OrmConverter specifiedConverter; - public GenericOrmVersionMapping(OrmPersistentAttribute parent, T resourceMapping) { + public GenericOrmVersionMapping(OrmPersistentAttribute parent, XmlVersion resourceMapping) { super(parent, resourceMapping); - this.column = getJpaFactory().buildOrmColumn(this, this); - this.column.initialize(this.getResourceColumn());//TODO pass in to constructor - this.defaultConverter = new GenericOrmNullConverter(this); - this.specifiedConverter = this.buildSpecifiedConverter(this.getResourceConverterType()); - } - - public int getXmlSequence() { - return 30; - } - - public String getKey() { - return MappingKeys.VERSION_ATTRIBUTE_MAPPING_KEY; - } - - public void initializeOn(OrmAttributeMapping newMapping) { - newMapping.initializeFromOrmVersionMapping(this); - } - - @Override - public void initializeFromOrmColumnMapping(OrmColumnMapping oldMapping) { - super.initializeFromOrmColumnMapping(oldMapping); - getColumn().initializeFrom(oldMapping.getColumn()); - } - - public OrmColumn getColumn() { - return this.column; - } - - public OrmConverter getConverter() { - return getSpecifiedConverter() == null ? getDefaultConverter() : getSpecifiedConverter(); - } - - public OrmConverter getDefaultConverter() { - return this.defaultConverter; - } - - public OrmConverter getSpecifiedConverter() { - return this.specifiedConverter; - } - - protected String getSpecifedConverterType() { - if (this.specifiedConverter == null) { - return Converter.NO_CONVERTER; - } - return this.specifiedConverter.getType(); - } - - public void setSpecifiedConverter(String converterType) { - if (getSpecifedConverterType() == converterType) { - return; - } - OrmConverter oldConverter = this.specifiedConverter; - OrmConverter newConverter = buildSpecifiedConverter(converterType); - this.specifiedConverter = null; - if (oldConverter != null) { - oldConverter.removeFromResourceModel(); - } - this.specifiedConverter = newConverter; - if (newConverter != null) { - newConverter.addToResourceModel(); - } - firePropertyChanged(SPECIFIED_CONVERTER_PROPERTY, oldConverter, newConverter); - } - - protected void setSpecifiedConverter(OrmConverter newConverter) { - OrmConverter oldConverter = this.specifiedConverter; - this.specifiedConverter = newConverter; - firePropertyChanged(SPECIFIED_CONVERTER_PROPERTY, oldConverter, newConverter); - } - - public void addToResourceModel(Attributes resourceAttributes) { - resourceAttributes.getVersions().add(this.resourceAttributeMapping); - } - - public void removeFromResourceModel(Attributes resourceAttributes) { - resourceAttributes.getVersions().remove(this.resourceAttributeMapping); - } - - public String getDefaultColumnName() { - return getName(); - } - - public String getDefaultTableName() { - return getTypeMapping().getPrimaryTableName(); - } - - public Table getDbTable(String tableName) { - return getTypeMapping().getDbTable(tableName); - } - - @Override - public void update() { - super.update(); - this.column.update(this.getResourceColumn()); - if (getResourceConverterType() == getSpecifedConverterType()) { - getSpecifiedConverter().update(); - } - else { - setSpecifiedConverter(buildSpecifiedConverter(getResourceConverterType())); - } - } - - protected OrmConverter buildSpecifiedConverter(String converterType) { - if (converterType == Converter.TEMPORAL_CONVERTER) { - return new GenericOrmTemporalConverter(this, this.resourceAttributeMapping); - } - return null; - } - - protected String getResourceConverterType() { - if (this.resourceAttributeMapping.getTemporal() != null) { - return Converter.TEMPORAL_CONVERTER; - } - - return null; - } - - //***************** XmlColumn.Owner implementation **************** - - public XmlColumn getResourceColumn() { - return this.resourceAttributeMapping.getColumn(); - } - - public void addResourceColumn() { - this.resourceAttributeMapping.setColumn(OrmFactory.eINSTANCE.createXmlColumn()); - } - - public void removeResourceColumn() { - this.resourceAttributeMapping.setColumn(null); - } - - // ****************** validation **************** - - @Override - public void validate(List<IMessage> messages, IReporter reporter) { - super.validate(messages, reporter); - - if (this.shouldValidateAgainstDatabase()) { - this.validateColumn(messages); - } - } - - protected void validateColumn(List<IMessage> messages) { - OrmPersistentAttribute pa = this.getPersistentAttribute(); - String tableName = this.column.getTable(); - if (this.getTypeMapping().tableNameIsInvalid(tableName)) { - if (pa.isVirtual()) { - messages.add( - DefaultJpaValidationMessages.buildMessage( - IMessage.HIGH_SEVERITY, - JpaValidationMessages.VIRTUAL_ATTRIBUTE_COLUMN_UNRESOLVED_TABLE, - new String[] {pa.getName(), tableName, this.column.getName()}, - this.column, - this.column.getTableTextRange() - ) - ); - } else { - messages.add( - DefaultJpaValidationMessages.buildMessage( - IMessage.HIGH_SEVERITY, - JpaValidationMessages.COLUMN_UNRESOLVED_TABLE, - new String[] {tableName, this.column.getName()}, - this.column, - this.column.getTableTextRange() - ) - ); - } - return; - } - - if ( ! this.column.isResolved() && this.column.getDbTable() != null) { - if (pa.isVirtual()) { - messages.add( - DefaultJpaValidationMessages.buildMessage( - IMessage.HIGH_SEVERITY, - JpaValidationMessages.VIRTUAL_ATTRIBUTE_COLUMN_UNRESOLVED_NAME, - new String[] {pa.getName(), this.column.getName()}, - this.column, - this.column.getNameTextRange() - ) - ); - } else { - messages.add( - DefaultJpaValidationMessages.buildMessage( - IMessage.HIGH_SEVERITY, - JpaValidationMessages.COLUMN_UNRESOLVED_NAME, - new String[] {this.column.getName()}, - this.column, - this.column.getNameTextRange() - ) - ); - } - } } } diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmBasicMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmBasicMapping.java index 874ec6da94..8266cf4a7b 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmBasicMapping.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmBasicMapping.java @@ -13,7 +13,7 @@ package org.eclipse.jpt.eclipselink.core.internal.context.orm; import java.util.List; import org.eclipse.jpt.core.context.orm.OrmConverter; import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.core.internal.context.orm.GenericOrmBasicMapping; +import org.eclipse.jpt.core.internal.context.orm.AbstractOrmBasicMapping; import org.eclipse.jpt.eclipselink.core.context.Convert; import org.eclipse.jpt.eclipselink.core.context.EclipseLinkBasicMapping; import org.eclipse.jpt.eclipselink.core.context.Mutable; @@ -21,14 +21,13 @@ import org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasic; import org.eclipse.wst.validation.internal.provisional.core.IMessage; import org.eclipse.wst.validation.internal.provisional.core.IReporter; -public class EclipseLinkOrmBasicMapping<T extends XmlBasic> - extends GenericOrmBasicMapping<T> +public class EclipseLinkOrmBasicMapping extends AbstractOrmBasicMapping<XmlBasic> implements EclipseLinkBasicMapping { protected EclipseLinkOrmMutable mutable; - public EclipseLinkOrmBasicMapping(OrmPersistentAttribute parent, T resourceMapping) { + public EclipseLinkOrmBasicMapping(OrmPersistentAttribute parent, XmlBasic resourceMapping) { super(parent, resourceMapping); this.mutable = new EclipseLinkOrmMutable(this, this.resourceAttributeMapping); } @@ -53,7 +52,7 @@ public class EclipseLinkOrmBasicMapping<T extends XmlBasic> @Override protected String getResourceConverterType() { //check @Convert first, this is the order that EclipseLink searches - if (((XmlBasic) this.resourceAttributeMapping).getConvert() != null) { + if (this.resourceAttributeMapping.getConvert() != null) { return Convert.ECLIPSE_LINK_CONVERTER; } return super.getResourceConverterType(); diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmManyToManyMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmManyToManyMapping.java index 59ef5f14c7..862aaabdb6 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmManyToManyMapping.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmManyToManyMapping.java @@ -12,24 +12,22 @@ package org.eclipse.jpt.eclipselink.core.internal.context.orm; import java.util.List; import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.core.internal.context.orm.GenericOrmManyToManyMapping; +import org.eclipse.jpt.core.internal.context.orm.AbstractOrmManyToManyMapping; import org.eclipse.jpt.eclipselink.core.context.EclipseLinkRelationshipMapping; import org.eclipse.jpt.eclipselink.core.context.JoinFetch; -import org.eclipse.jpt.eclipselink.core.resource.orm.XmlJoinFetch; import org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToMany; import org.eclipse.wst.validation.internal.provisional.core.IMessage; import org.eclipse.wst.validation.internal.provisional.core.IReporter; -public class EclipseLinkOrmManyToManyMapping<T extends XmlManyToMany> - extends GenericOrmManyToManyMapping<T> +public class EclipseLinkOrmManyToManyMapping extends AbstractOrmManyToManyMapping<XmlManyToMany> implements EclipseLinkRelationshipMapping { protected EclipseLinkOrmJoinFetch joinFetch; - public EclipseLinkOrmManyToManyMapping(OrmPersistentAttribute parent, T resourceMapping) { + public EclipseLinkOrmManyToManyMapping(OrmPersistentAttribute parent, XmlManyToMany resourceMapping) { super(parent, resourceMapping); - this.joinFetch = new EclipseLinkOrmJoinFetch(this, (XmlJoinFetch) this.resourceAttributeMapping); + this.joinFetch = new EclipseLinkOrmJoinFetch(this, this.resourceAttributeMapping); } diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmManyToOneMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmManyToOneMapping.java index 0a26017eba..15ac3514cf 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmManyToOneMapping.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmManyToOneMapping.java @@ -12,24 +12,22 @@ package org.eclipse.jpt.eclipselink.core.internal.context.orm; import java.util.List; import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.core.internal.context.orm.GenericOrmManyToOneMapping; +import org.eclipse.jpt.core.internal.context.orm.AbstractOrmManyToOneMapping; import org.eclipse.jpt.eclipselink.core.context.EclipseLinkRelationshipMapping; import org.eclipse.jpt.eclipselink.core.context.JoinFetch; -import org.eclipse.jpt.eclipselink.core.resource.orm.XmlJoinFetch; import org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToOne; import org.eclipse.wst.validation.internal.provisional.core.IMessage; import org.eclipse.wst.validation.internal.provisional.core.IReporter; -public class EclipseLinkOrmManyToOneMapping<T extends XmlManyToOne> - extends GenericOrmManyToOneMapping<T> +public class EclipseLinkOrmManyToOneMapping extends AbstractOrmManyToOneMapping<XmlManyToOne> implements EclipseLinkRelationshipMapping { protected EclipseLinkOrmJoinFetch joinFetch; - public EclipseLinkOrmManyToOneMapping(OrmPersistentAttribute parent, T resourceMapping) { + public EclipseLinkOrmManyToOneMapping(OrmPersistentAttribute parent, XmlManyToOne resourceMapping) { super(parent, resourceMapping); - this.joinFetch = new EclipseLinkOrmJoinFetch(this, (XmlJoinFetch) this.resourceAttributeMapping); + this.joinFetch = new EclipseLinkOrmJoinFetch(this, this.resourceAttributeMapping); } diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmOneToManyMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmOneToManyMapping.java index 6e89f05750..193b80c76f 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmOneToManyMapping.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmOneToManyMapping.java @@ -13,18 +13,15 @@ package org.eclipse.jpt.eclipselink.core.internal.context.orm; import java.util.List; import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; import org.eclipse.jpt.core.context.orm.OrmRelationshipReference; -import org.eclipse.jpt.core.internal.context.orm.GenericOrmOneToManyMapping; +import org.eclipse.jpt.core.internal.context.orm.AbstractOrmOneToManyMapping; import org.eclipse.jpt.eclipselink.core.context.EclipseLinkOneToManyMapping; import org.eclipse.jpt.eclipselink.core.context.JoinFetch; import org.eclipse.jpt.eclipselink.core.context.PrivateOwned; -import org.eclipse.jpt.eclipselink.core.resource.orm.XmlJoinFetch; import org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToMany; -import org.eclipse.jpt.eclipselink.core.resource.orm.XmlPrivateOwned; import org.eclipse.wst.validation.internal.provisional.core.IMessage; import org.eclipse.wst.validation.internal.provisional.core.IReporter; -public class EclipseLinkOrmOneToManyMapping<T extends XmlOneToMany> - extends GenericOrmOneToManyMapping<T> +public class EclipseLinkOrmOneToManyMapping extends AbstractOrmOneToManyMapping<XmlOneToMany> implements EclipseLinkOneToManyMapping { protected EclipseLinkOrmPrivateOwned privateOwned; @@ -32,10 +29,10 @@ public class EclipseLinkOrmOneToManyMapping<T extends XmlOneToMany> protected EclipseLinkOrmJoinFetch joinFetch; - public EclipseLinkOrmOneToManyMapping(OrmPersistentAttribute parent, T resourceMapping) { + public EclipseLinkOrmOneToManyMapping(OrmPersistentAttribute parent, XmlOneToMany resourceMapping) { super(parent, resourceMapping); - this.privateOwned = new EclipseLinkOrmPrivateOwned(this, (XmlPrivateOwned) this.resourceAttributeMapping); - this.joinFetch = new EclipseLinkOrmJoinFetch(this, (XmlJoinFetch) this.resourceAttributeMapping); + this.privateOwned = new EclipseLinkOrmPrivateOwned(this, this.resourceAttributeMapping); + this.joinFetch = new EclipseLinkOrmJoinFetch(this, this.resourceAttributeMapping); } diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmOneToOneMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmOneToOneMapping.java index a5064c6081..00c531214f 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmOneToOneMapping.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmOneToOneMapping.java @@ -11,18 +11,15 @@ package org.eclipse.jpt.eclipselink.core.internal.context.orm; import java.util.List; import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.core.internal.context.orm.GenericOrmOneToOneMapping; +import org.eclipse.jpt.core.internal.context.orm.AbstractOrmOneToOneMapping; import org.eclipse.jpt.eclipselink.core.context.EclipseLinkOneToOneMapping; import org.eclipse.jpt.eclipselink.core.context.JoinFetch; import org.eclipse.jpt.eclipselink.core.context.PrivateOwned; -import org.eclipse.jpt.eclipselink.core.resource.orm.XmlJoinFetch; import org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToOne; -import org.eclipse.jpt.eclipselink.core.resource.orm.XmlPrivateOwned; import org.eclipse.wst.validation.internal.provisional.core.IMessage; import org.eclipse.wst.validation.internal.provisional.core.IReporter; -public class EclipseLinkOrmOneToOneMapping<T extends XmlOneToOne> - extends GenericOrmOneToOneMapping<T> +public class EclipseLinkOrmOneToOneMapping extends AbstractOrmOneToOneMapping<XmlOneToOne> implements EclipseLinkOneToOneMapping { protected EclipseLinkOrmPrivateOwned privateOwned; @@ -30,10 +27,10 @@ public class EclipseLinkOrmOneToOneMapping<T extends XmlOneToOne> protected EclipseLinkOrmJoinFetch joinFetch; - public EclipseLinkOrmOneToOneMapping(OrmPersistentAttribute parent, T resourceMapping) { + public EclipseLinkOrmOneToOneMapping(OrmPersistentAttribute parent, XmlOneToOne resourceMapping) { super(parent, resourceMapping); - this.privateOwned = new EclipseLinkOrmPrivateOwned(this, (XmlPrivateOwned) this.resourceAttributeMapping); - this.joinFetch = new EclipseLinkOrmJoinFetch(this, (XmlJoinFetch) this.resourceAttributeMapping); + this.privateOwned = new EclipseLinkOrmPrivateOwned(this, this.resourceAttributeMapping); + this.joinFetch = new EclipseLinkOrmJoinFetch(this, this.resourceAttributeMapping); } diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmVersionMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmVersionMapping.java index f710d3e28a..67110cda48 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmVersionMapping.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmVersionMapping.java @@ -13,7 +13,7 @@ package org.eclipse.jpt.eclipselink.core.internal.context.orm; import java.util.List; import org.eclipse.jpt.core.context.orm.OrmConverter; import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.core.internal.context.orm.GenericOrmVersionMapping; +import org.eclipse.jpt.core.internal.context.orm.AbstractOrmVersionMapping; import org.eclipse.jpt.eclipselink.core.context.Convert; import org.eclipse.jpt.eclipselink.core.context.EclipseLinkVersionMapping; import org.eclipse.jpt.eclipselink.core.context.Mutable; @@ -21,14 +21,13 @@ import org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersion; import org.eclipse.wst.validation.internal.provisional.core.IMessage; import org.eclipse.wst.validation.internal.provisional.core.IReporter; -public class EclipseLinkOrmVersionMapping<T extends XmlVersion> - extends GenericOrmVersionMapping<T> +public class EclipseLinkOrmVersionMapping extends AbstractOrmVersionMapping<XmlVersion> implements EclipseLinkVersionMapping { protected EclipseLinkOrmMutable mutable; - public EclipseLinkOrmVersionMapping(OrmPersistentAttribute parent, T resourceMapping) { + public EclipseLinkOrmVersionMapping(OrmPersistentAttribute parent, XmlVersion resourceMapping) { super(parent, resourceMapping); this.mutable = new EclipseLinkOrmMutable(this, this.resourceAttributeMapping); } @@ -53,7 +52,7 @@ public class EclipseLinkOrmVersionMapping<T extends XmlVersion> @Override protected String getResourceConverterType() { //check @Convert first, this is the order that EclipseLink searches - if (((XmlVersion) this.resourceAttributeMapping).getConvert() != null) { + if (this.resourceAttributeMapping.getConvert() != null) { return Convert.ECLIPSE_LINK_CONVERTER; } return super.getResourceConverterType(); diff --git a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToManyMappingTests.java index b6a62f5b17..6e4a8ac523 100644 --- a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToManyMappingTests.java +++ b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToManyMappingTests.java @@ -172,12 +172,12 @@ public class EclipseLinkOrmManyToManyMappingTests getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Employee"); OrmPersistentType departmentPersistentType = getEntityMappings().persistentTypes().next(); - EclipseLinkOrmManyToManyMapping<?> manyToMany = (EclipseLinkOrmManyToManyMapping<?>) departmentPersistentType.getAttributeNamed("employees").getMapping(); + EclipseLinkOrmManyToManyMapping manyToMany = (EclipseLinkOrmManyToManyMapping) departmentPersistentType.getAttributeNamed("employees").getMapping(); assertNull(manyToMany.getJoinFetch().getValue()); getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(true); - EclipseLinkOrmOneToManyMapping<?> oneToMany = (EclipseLinkOrmOneToManyMapping<?>) departmentPersistentType.getAttributeNamed("employees").getMapping(); + EclipseLinkOrmOneToManyMapping oneToMany = (EclipseLinkOrmOneToManyMapping) departmentPersistentType.getAttributeNamed("employees").getMapping(); assertNull(oneToMany.getJoinFetch().getValue()); @@ -186,7 +186,7 @@ public class EclipseLinkOrmManyToManyMappingTests assertNull(oneToMany.getJoinFetch().getValue()); getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(false); - manyToMany = (EclipseLinkOrmManyToManyMapping<?>) departmentPersistentType.getAttributeNamed("employees").getMapping(); + manyToMany = (EclipseLinkOrmManyToManyMapping) departmentPersistentType.getAttributeNamed("employees").getMapping(); assertEquals(JoinFetchType.OUTER, manyToMany.getJoinFetch().getValue()); } diff --git a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToOneMappingTests.java b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToOneMappingTests.java index 3b2465ffd1..0120d01057 100644 --- a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToOneMappingTests.java +++ b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToOneMappingTests.java @@ -164,13 +164,13 @@ public class EclipseLinkOrmManyToOneMappingTests getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Employee"); OrmPersistentType departmentPersistentType = getEntityMappings().persistentTypes().next(); - EclipseLinkOrmManyToOneMapping<?> manyToOne = (EclipseLinkOrmManyToOneMapping<?>) departmentPersistentType.getAttributeNamed("employee").getMapping(); + EclipseLinkOrmManyToOneMapping manyToOne = (EclipseLinkOrmManyToOneMapping) departmentPersistentType.getAttributeNamed("employee").getMapping(); assertNull(manyToOne.getJoinFetch().getValue()); getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(true); - EclipseLinkOrmOneToOneMapping<?> oneToOne = (EclipseLinkOrmOneToOneMapping<?>) departmentPersistentType.getAttributeNamed("employee").getMapping(); - assertNull(manyToOne.getJoinFetch().getValue()); + EclipseLinkOrmOneToOneMapping oneToOne = (EclipseLinkOrmOneToOneMapping) departmentPersistentType.getAttributeNamed("employee").getMapping(); + assertNull(oneToOne.getJoinFetch().getValue()); EclipseLinkRelationshipMapping javaRelationshipMapping = (EclipseLinkRelationshipMapping) departmentPersistentType.getJavaPersistentType().getAttributeNamed("employee").getMapping(); @@ -178,7 +178,7 @@ public class EclipseLinkOrmManyToOneMappingTests assertNull(manyToOne.getJoinFetch().getValue()); getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(false); - manyToOne = (EclipseLinkOrmManyToOneMapping<?>) departmentPersistentType.getAttributeNamed("employee").getMapping(); + manyToOne = (EclipseLinkOrmManyToOneMapping) departmentPersistentType.getAttributeNamed("employee").getMapping(); assertEquals(JoinFetchType.OUTER, manyToOne.getJoinFetch().getValue()); } diff --git a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToManyMappingTests.java index 2f729d72ce..1adf33b7e0 100644 --- a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToManyMappingTests.java +++ b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToManyMappingTests.java @@ -234,12 +234,12 @@ public class EclipseLinkOrmOneToManyMappingTests getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Employee"); OrmPersistentType departmentPersistentType = getEntityMappings().persistentTypes().next(); - EclipseLinkOrmOneToManyMapping<?> oneToMany = (EclipseLinkOrmOneToManyMapping<?>) departmentPersistentType.getAttributeNamed("employees").getMapping(); + EclipseLinkOrmOneToManyMapping oneToMany = (EclipseLinkOrmOneToManyMapping) departmentPersistentType.getAttributeNamed("employees").getMapping(); assertNull(oneToMany.getJoinFetch().getValue()); getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(true); - oneToMany = (EclipseLinkOrmOneToManyMapping<?>) departmentPersistentType.getAttributeNamed("employees").getMapping(); + oneToMany = (EclipseLinkOrmOneToManyMapping) departmentPersistentType.getAttributeNamed("employees").getMapping(); assertNull(oneToMany.getJoinFetch().getValue()); EclipseLinkRelationshipMapping javaRelationshipMapping = (EclipseLinkRelationshipMapping) departmentPersistentType.getJavaPersistentType().getAttributeNamed("employees").getMapping(); @@ -247,7 +247,7 @@ public class EclipseLinkOrmOneToManyMappingTests assertNull(oneToMany.getJoinFetch().getValue()); getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(false); - oneToMany = (EclipseLinkOrmOneToManyMapping<?>) departmentPersistentType.getAttributeNamed("employees").getMapping(); + oneToMany = (EclipseLinkOrmOneToManyMapping) departmentPersistentType.getAttributeNamed("employees").getMapping(); assertEquals(JoinFetchType.OUTER, oneToMany.getJoinFetch().getValue()); } diff --git a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToOneMappingTests.java b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToOneMappingTests.java index 5beae5ad11..bc416e2c73 100644 --- a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToOneMappingTests.java +++ b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToOneMappingTests.java @@ -225,12 +225,12 @@ public class EclipseLinkOrmOneToOneMappingTests getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Employee"); OrmPersistentType departmentPersistentType = getEntityMappings().persistentTypes().next(); - EclipseLinkOrmOneToOneMapping<?> oneToOne = (EclipseLinkOrmOneToOneMapping<?>) departmentPersistentType.getAttributeNamed("employee").getMapping(); + EclipseLinkOrmOneToOneMapping oneToOne = (EclipseLinkOrmOneToOneMapping) departmentPersistentType.getAttributeNamed("employee").getMapping(); assertNull(oneToOne.getJoinFetch().getValue()); getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(true); - oneToOne = (EclipseLinkOrmOneToOneMapping<?>) departmentPersistentType.getAttributeNamed("employee").getMapping(); + oneToOne = (EclipseLinkOrmOneToOneMapping) departmentPersistentType.getAttributeNamed("employee").getMapping(); assertNull(oneToOne.getJoinFetch().getValue()); EclipseLinkRelationshipMapping javaRelationshipMapping = (EclipseLinkRelationshipMapping) departmentPersistentType.getJavaPersistentType().getAttributeNamed("employee").getMapping(); @@ -238,7 +238,7 @@ public class EclipseLinkOrmOneToOneMappingTests assertNull(oneToOne.getJoinFetch().getValue()); getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(false); - oneToOne = (EclipseLinkOrmOneToOneMapping<?>) departmentPersistentType.getAttributeNamed("employee").getMapping(); + oneToOne = (EclipseLinkOrmOneToOneMapping) departmentPersistentType.getAttributeNamed("employee").getMapping(); assertEquals(JoinFetchType.OUTER, oneToOne.getJoinFetch().getValue()); } }
\ No newline at end of file diff --git a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink1_1/core/tests/internal/context/orm/EclipseLink1_1OrmPersistentAttributeTests.java b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink1_1/core/tests/internal/context/orm/EclipseLink1_1OrmPersistentAttributeTests.java index eb9578a81a..e9d343f809 100644 --- a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink1_1/core/tests/internal/context/orm/EclipseLink1_1OrmPersistentAttributeTests.java +++ b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink1_1/core/tests/internal/context/orm/EclipseLink1_1OrmPersistentAttributeTests.java @@ -21,12 +21,12 @@ import org.eclipse.jpt.core.context.java.JavaPersistentType; import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; import org.eclipse.jpt.core.context.orm.OrmPersistentType; import org.eclipse.jpt.core.internal.context.orm.GenericOrmNullAttributeMapping; -import org.eclipse.jpt.core.internal.context.orm.GenericOrmOneToOneMapping; import org.eclipse.jpt.core.internal.facet.JpaFacetDataModelProperties; import org.eclipse.jpt.core.internal.facet.JpaFacetDataModelProvider; import org.eclipse.jpt.core.resource.java.JPA; import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute; import org.eclipse.jpt.eclipselink.core.internal.context.orm.EclipseLinkOrmIdMapping; +import org.eclipse.jpt.eclipselink.core.internal.context.orm.EclipseLinkOrmOneToOneMapping; import org.eclipse.jpt.eclipselink1_1.core.internal.EclipseLink1_1JpaPlatformProvider; import org.eclipse.jpt.utility.internal.iterators.ArrayIterator; import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory; @@ -115,41 +115,6 @@ public class EclipseLink1_1OrmPersistentAttributeTests extends EclipseLink1_1Orm } }); } -// -// private void createAccessTypeEnum() throws Exception { -// this.createEnumAndMembers(JPA_ANNOTATIONS_PACKAGE_NAME, "AccessType", "FIELD, PROPERTY;"); -// } -// -// private void createAccessAnnotation() throws Exception { -// this.createAnnotationAndMembers(JPA_ANNOTATIONS_PACKAGE_NAME, "Access", "AccessType value();"); -// createAccessTypeEnum(); -// } -// -// private ICompilationUnit createTestEntityAnnotatedFieldPropertySpecified() throws Exception { -// createAccessAnnotation(); -// return this.createTestType(new DefaultAnnotationWriter() { -// @Override -// public Iterator<String> imports() { -// return new ArrayIterator<String>(JPA.ENTITY, JPA.BASIC, JPA.ID, JPA.ACCESS, JPA.ACCESS_TYPE); -// } -// @Override -// public void appendTypeAnnotationTo(StringBuilder sb) { -// sb.append("@Entity"); -// sb.append("@Access(AccessType.PROPERTY)"); -// } -// -// @Override -// public void appendNameFieldAnnotationTo(StringBuilder sb) { -// sb.append("@Basic"); -// sb.append("@Access(AccessType.FIELD)"); -// } -// -// @Override -// public void appendGetIdMethodAnnotationTo(StringBuilder sb) { -// sb.append("@Id"); -// } -// }); -// } public void testMakeSpecified() throws Exception { createTestType(); @@ -182,49 +147,6 @@ public class EclipseLink1_1OrmPersistentAttributeTests extends EclipseLink1_1Orm assertEquals("name", specifiedOrmPersistentAttribute.getName()); assertFalse(specifiedOrmPersistentAttribute.isVirtual()); } -//TODO Access annotation tests -// public void testMakeSpecifiedWithAccess() throws Exception { -// createTestEntityAnnotatedFieldPropertySpecified(); -// OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); -// -// assertEquals(2, ormPersistentType.virtualAttributesSize()); -// -// OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.virtualAttributes().next(); -// assertEquals("id", ormPersistentAttribute.getName()); -// assertTrue(ormPersistentAttribute.isVirtual()); -// assertEquals(AccessType.PROPERTY, ormPersistentAttribute.getAccess()); -// assertEquals(AccessType.PROPERTY, ormPersistentAttribute.getSpecifiedAccess()); -// assertEquals(null, ormPersistentAttribute.getJavaPersistentAttribute().getSpecifiedAccess()); -// ormPersistentAttribute.makeSpecified(); -// -// assertEquals(1, ormPersistentType.virtualAttributesSize()); -// assertEquals(1, ormPersistentType.specifiedAttributesSize()); -// OrmPersistentAttribute specifiedOrmPersistentAttribute = ormPersistentType.specifiedAttributes().next(); -// assertEquals("id", specifiedOrmPersistentAttribute.getName()); -// assertEquals(null, specifiedOrmPersistentAttribute.getSpecifiedAccess()); -// assertEquals(AccessType.PROPERTY, specifiedOrmPersistentAttribute.getAccess()); -// assertFalse(specifiedOrmPersistentAttribute.isVirtual()); -// -// ormPersistentAttribute = ormPersistentType.virtualAttributes().next(); -// assertEquals("name", ormPersistentAttribute.getName()); -// assertTrue(ormPersistentAttribute.isVirtual()); -// assertEquals(AccessType.FIELD, ormPersistentAttribute.getSpecifiedAccess()); -// ormPersistentAttribute.makeSpecified(); -// -// assertEquals(0, ormPersistentType.virtualAttributesSize()); -// assertEquals(2, ormPersistentType.specifiedAttributesSize()); -// ListIterator<OrmPersistentAttribute> specifiedAttributes = ormPersistentType.specifiedAttributes(); -// specifiedOrmPersistentAttribute = specifiedAttributes.next(); -// assertEquals("id", specifiedOrmPersistentAttribute.getName()); -// assertFalse(specifiedOrmPersistentAttribute.isVirtual()); -// assertEquals(AccessType.PROPERTY, specifiedOrmPersistentAttribute.getAccess()); -// assertEquals(null, specifiedOrmPersistentAttribute.getSpecifiedAccess()); -// -// specifiedOrmPersistentAttribute = specifiedAttributes.next(); -// assertEquals("name", specifiedOrmPersistentAttribute.getName()); -// assertFalse(specifiedOrmPersistentAttribute.isVirtual()); -// assertEquals(AccessType.FIELD, specifiedOrmPersistentAttribute.getSpecifiedAccess()); -// } public void testMakeSpecifiedMappingKey() throws Exception { createTestTypeNullAttributeMapping(); @@ -244,7 +166,7 @@ public class EclipseLink1_1OrmPersistentAttributeTests extends EclipseLink1_1Orm OrmPersistentAttribute specifiedOrmPersistentAttribute = ormPersistentType.specifiedAttributes().next(); assertEquals("address", specifiedOrmPersistentAttribute.getName()); assertFalse(specifiedOrmPersistentAttribute.isVirtual()); - assertTrue(specifiedOrmPersistentAttribute.getMapping() instanceof GenericOrmOneToOneMapping); + assertTrue(specifiedOrmPersistentAttribute.getMapping() instanceof EclipseLinkOrmOneToOneMapping); ormPersistentAttribute = ormPersistentType.virtualAttributes().next(); @@ -510,65 +432,4 @@ public class EclipseLink1_1OrmPersistentAttributeTests extends EclipseLink1_1Orm assertTrue(javaPersistentAttribute.getResourcePersistentAttribute().isProperty()); } -//TODO Access annotation tests -// public void testGetAccessPropertyInJava2() throws Exception { -// createTestEntityAnnotatedFieldPropertySpecified(); -// OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); -// JavaPersistentType javaPersistentType = ormPersistentType.getJavaPersistentType(); -// -// OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.getAttributeNamed("id"); -// JavaPersistentAttribute javaPersistentAttribute = javaPersistentType.getAttributeNamed("id"); -// -// assertTrue(ormPersistentAttribute.isVirtual()); -// assertEquals(AccessType.PROPERTY, ormPersistentAttribute.getAccess()); -// assertTrue(ormPersistentAttribute.getJavaPersistentAttribute().getResourcePersistentAttribute().isProperty()); -// assertEquals(AccessType.PROPERTY, javaPersistentAttribute.getAccess()); -// assertTrue(javaPersistentAttribute.getResourcePersistentAttribute().isProperty()); -// -// -// OrmPersistentAttribute nameOrmPersistentAttribute = ormPersistentType.getAttributeNamed("name"); -// JavaPersistentAttribute nameJavaPersistentAttribute = javaPersistentType.getAttributeNamed("name"); -// -// assertTrue(nameOrmPersistentAttribute.isVirtual()); -// assertEquals(AccessType.FIELD, nameOrmPersistentAttribute.getAccess()); -// assertTrue(nameOrmPersistentAttribute.getJavaPersistentAttribute().getResourcePersistentAttribute().isField()); -// assertEquals(AccessType.FIELD, nameJavaPersistentAttribute.getAccess()); -// assertTrue(nameJavaPersistentAttribute.getResourcePersistentAttribute().isField()); -// -// -// ormPersistentAttribute.makeSpecified(); -// ormPersistentAttribute = ormPersistentType.getAttributeNamed("id"); -// assertFalse(ormPersistentAttribute.isVirtual()); -// assertEquals(AccessType.PROPERTY, ormPersistentAttribute.getAccess()); -// assertTrue(ormPersistentAttribute.getJavaPersistentAttribute().getResourcePersistentAttribute().isProperty()); -// assertEquals(AccessType.PROPERTY, javaPersistentAttribute.getAccess()); -// assertTrue(javaPersistentAttribute.getResourcePersistentAttribute().isProperty()); -// -// nameOrmPersistentAttribute.makeSpecified(); -// nameOrmPersistentAttribute = ormPersistentType.getAttributeNamed("name"); -// assertFalse(nameOrmPersistentAttribute.isVirtual()); -// assertEquals(AccessType.FIELD, nameOrmPersistentAttribute.getAccess()); -// assertEquals(AccessType.FIELD, nameOrmPersistentAttribute.getJavaPersistentAttribute().getAccess()); -// assertTrue(nameOrmPersistentAttribute.getJavaPersistentAttribute().getResourcePersistentAttribute().isField()); -// assertEquals(AccessType.FIELD, nameJavaPersistentAttribute.getAccess()); -// assertTrue(nameJavaPersistentAttribute.getResourcePersistentAttribute().isField()); -// assertEquals(nameJavaPersistentAttribute, nameOrmPersistentAttribute.getJavaPersistentAttribute()); -// -// ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); -// assertFalse(ormPersistentAttribute.isVirtual()); -// assertEquals(AccessType.FIELD, ormPersistentAttribute.getAccess()); -// assertNotSame(javaPersistentAttribute, ormPersistentAttribute.getJavaPersistentAttribute()); -// assertEquals(AccessType.FIELD, ormPersistentAttribute.getJavaPersistentAttribute().getAccess()); -// assertEquals(AccessType.PROPERTY, javaPersistentAttribute.getAccess()); -// assertTrue(javaPersistentAttribute.getResourcePersistentAttribute().isProperty()); -// -// assertFalse(nameOrmPersistentAttribute.isVirtual()); -// assertEquals(AccessType.FIELD, nameOrmPersistentAttribute.getAccess()); -// assertNotSame(javaPersistentAttribute, nameOrmPersistentAttribute.getJavaPersistentAttribute()); -// assertEquals(AccessType.FIELD, nameOrmPersistentAttribute.getJavaPersistentAttribute().getAccess()); -// assertEquals(AccessType.FIELD, nameJavaPersistentAttribute.getAccess()); -// assertTrue(nameJavaPersistentAttribute.getResourcePersistentAttribute().isField()); -// -// } - }
\ No newline at end of file |