OPENJPA-1115 Fixed many naming collisions in delimited id tests. Corrected bug in schema group that broke fully qualified sequence names.

git-svn-id: https://svn.apache.org/repos/asf/openjpa/trunk@900955 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jeremy Bauer 2010-01-19 21:00:25 +00:00
parent 00c44aba43
commit 245bb82d34
27 changed files with 119 additions and 142 deletions

View File

@ -306,7 +306,7 @@ public class SchemaGroup
* given sequence that may have come from another schema group. * given sequence that may have come from another schema group.
*/ */
public Sequence findSequence(Sequence seq) { public Sequence findSequence(Sequence seq) {
return findSequence(QualifiedDBIdentifier.getPath(seq.getIdentifier())); return findSequence(seq.getQualifiedPath());
} }
/** /**

View File

@ -18,7 +18,6 @@
*/ */
package org.apache.openjpa.persistence.delimited.identifiers; package org.apache.openjpa.persistence.delimited.identifiers;
import javax.persistence.Column;
import javax.persistence.ColumnResult; import javax.persistence.ColumnResult;
import javax.persistence.DiscriminatorColumn; import javax.persistence.DiscriminatorColumn;
import javax.persistence.Entity; import javax.persistence.Entity;

View File

@ -71,7 +71,7 @@ public class EntityA {
private Map<String, String> collectionMap = new HashMap<String, String>(); private Map<String, String> collectionMap = new HashMap<String, String>();
@ElementCollection @ElementCollection
@MapKeyColumn(name="map key", columnDefinition="varchar(20)", table="map key table") @MapKeyColumn(name="map key", columnDefinition="varchar(20)", table="m ktbl")
private Map<String, String> delimCollectionMap = private Map<String, String> delimCollectionMap =
new HashMap<String, String>(); new HashMap<String, String>();

View File

@ -58,12 +58,12 @@ public class EntityC {
private EntityD2 entityD2; private EntityD2 entityD2;
@ManyToMany @ManyToMany
@JoinTable(name="\"map join table\"", schema="\"delim id\"") @JoinTable(name="\"m jtbl\"", schema="\"delim id\"")
@MapKeyJoinColumn(name="map_ed3", referencedColumnName="\"entityD3 id\"") @MapKeyJoinColumn(name="map_ed3", referencedColumnName="\"entityD3 id\"")
Map<EntityD3,EntityD4> map = new HashMap<EntityD3,EntityD4>(); Map<EntityD3,EntityD4> map = new HashMap<EntityD3,EntityD4>();
@ManyToMany @ManyToMany
@JoinTable(name="\"map2 join table\"", schema="\"delim id\"") @JoinTable(name="\"m2 jtbl\"", schema="\"delim id\"")
@MapKeyJoinColumn(name="\"map ed4\"", @MapKeyJoinColumn(name="\"map ed4\"",
referencedColumnName="\"entityD4 id\"") referencedColumnName="\"entityD4 id\"")
Map<EntityD4,EntityD3> map2 = new HashMap<EntityD4,EntityD3>(); Map<EntityD4,EntityD3> map2 = new HashMap<EntityD4,EntityD3>();

View File

@ -63,7 +63,7 @@ public class EntityF {
@ElementCollection @ElementCollection
// CollectionTable with default name generation // CollectionTable with default name generation
@CollectionTable @CollectionTable
private Set<String> collectionSet = new HashSet<String>(); private Set<String> cSet = new HashSet<String>();
@ElementCollection @ElementCollection
@CollectionTable(name="\"collectionDelimSet\"", schema="\"delim id\"") @CollectionTable(name="\"collectionDelimSet\"", schema="\"delim id\"")
@ -72,14 +72,14 @@ public class EntityF {
@ElementCollection @ElementCollection
// MapKeyColumn with default name generation // MapKeyColumn with default name generation
@MapKeyColumn @MapKeyColumn
private Map<String, String> collectionMap = new HashMap<String, String>(); private Map<String, String> cMap = new HashMap<String, String>();
@ElementCollection @ElementCollection
// Note: Delimited column definition is not supported on some DBs, so // Note: Delimited column definition is not supported on some DBs, so
// it is not delimited here // it is not delimited here
// TODO: create a separate entity and conditionally run the test on a supported DB // TODO: create a separate entity and conditionally run the test on a supported DB
@MapKeyColumn(name="\"mapKey\"", columnDefinition="varchar(20)", table="\"delim collection map\"") @MapKeyColumn(name="\"mapKey\"", columnDefinition="varchar(20)", table="\"d colmap\"")
private Map<String, String> delimCollectionMap = private Map<String, String> dcMap =
new HashMap<String, String>(); new HashMap<String, String>();
public EntityF(String name) { public EntityF(String name) {
@ -143,18 +143,18 @@ public class EntityF {
* @return the collectionSet * @return the collectionSet
*/ */
public Set<String> getCollectionSet() { public Set<String> getCollectionSet() {
return collectionSet; return cSet;
} }
/** /**
* @param collectionSet the collectionSet to set * @param collectionSet the collectionSet to set
*/ */
public void setCollectionSet(Set<String> collectionSet) { public void setCollectionSet(Set<String> collectionSet) {
this.collectionSet = collectionSet; this.cSet = collectionSet;
} }
public void addCollectionSet(String item) { public void addCollectionSet(String item) {
collectionSet.add(item); cSet.add(item);
} }
/** /**
@ -179,35 +179,35 @@ public class EntityF {
* @return the collectionMap * @return the collectionMap
*/ */
public Map<String, String> getCollectionMap() { public Map<String, String> getCollectionMap() {
return collectionMap; return cMap;
} }
/** /**
* @param collectionMap the collectionMap to set * @param collectionMap the collectionMap to set
*/ */
public void setCollectionMap(Map<String, String> collectionMap) { public void setCollectionMap(Map<String, String> collectionMap) {
this.collectionMap = collectionMap; this.cMap = collectionMap;
} }
public void addCollectionMap(String key, String value) { public void addCollectionMap(String key, String value) {
collectionMap.put(key, value); cMap.put(key, value);
} }
/** /**
* @return the delimCollectionMap * @return the delimCollectionMap
*/ */
public Map<String, String> getDelimCollectionMap() { public Map<String, String> getDelimCollectionMap() {
return delimCollectionMap; return dcMap;
} }
/** /**
* @param delimCollectionMap the delimCollectionMap to set * @param delimCollectionMap the delimCollectionMap to set
*/ */
public void setDelimCollectionMap(Map<String, String> delimCollectionMap) { public void setDelimCollectionMap(Map<String, String> delimCollectionMap) {
this.delimCollectionMap = delimCollectionMap; this.dcMap = delimCollectionMap;
} }
public void addDelimCollectionMap(String key, String value) { public void addDelimCollectionMap(String key, String value) {
delimCollectionMap.put(key, value); dcMap.put(key, value);
} }
} }

View File

@ -65,7 +65,7 @@ public class EntityH {
@ManyToMany @ManyToMany
@JoinTable(name="map4 join table", schema="delim id2") @JoinTable(name="map4 join table", schema="delim id2")
@MapKeyJoinColumn(name="map ei4", @MapKeyJoinColumn(name="map ei4",
referencedColumnName="entityI4 id", table="map key join column") referencedColumnName="entityI4 id", table="mk j col")
Map<EntityI4,EntityI3> map2 = new HashMap<EntityI4,EntityI3>(); Map<EntityI4,EntityI3> map2 = new HashMap<EntityI4,EntityI3>();
public EntityH() {} public EntityH() {}

View File

@ -52,7 +52,8 @@ public class TestDelimIdResultSetAnnotations
org.apache.openjpa.persistence.delimited.identifiers.Chevrolet.class, org.apache.openjpa.persistence.delimited.identifiers.Chevrolet.class,
org.apache.openjpa.persistence.delimited.identifiers.Car2.class, org.apache.openjpa.persistence.delimited.identifiers.Car2.class,
org.apache.openjpa.persistence.delimited.identifiers.Pontiac2.class, org.apache.openjpa.persistence.delimited.identifiers.Pontiac2.class,
org.apache.openjpa.persistence.delimited.identifiers.Chevrolet2.class); org.apache.openjpa.persistence.delimited.identifiers.Chevrolet2.class,
DROP_TABLES);
assertNotNull(emf); assertNotNull(emf);
em = emf.createEntityManager(); em = emf.createEntityManager();

View File

@ -22,7 +22,6 @@ import java.util.List;
import javax.persistence.Query; import javax.persistence.Query;
import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
import org.apache.openjpa.persistence.OpenJPAEntityManager; import org.apache.openjpa.persistence.OpenJPAEntityManager;
import org.apache.openjpa.persistence.OpenJPAEntityManagerFactorySPI; import org.apache.openjpa.persistence.OpenJPAEntityManagerFactorySPI;
import org.apache.openjpa.persistence.test.SQLListenerTestCase; import org.apache.openjpa.persistence.test.SQLListenerTestCase;

View File

@ -53,8 +53,8 @@ public class TestManualDelimIdResultSetAnnotations
org.apache.openjpa.persistence.delimited.identifiers.Cat.class, org.apache.openjpa.persistence.delimited.identifiers.Cat.class,
org.apache.openjpa.persistence.delimited.identifiers.Animal2.class, org.apache.openjpa.persistence.delimited.identifiers.Animal2.class,
org.apache.openjpa.persistence.delimited.identifiers.Dog2.class, org.apache.openjpa.persistence.delimited.identifiers.Dog2.class,
org.apache.openjpa.persistence.delimited.identifiers.Cat2.class org.apache.openjpa.persistence.delimited.identifiers.Cat2.class,
); DROP_TABLES);
assertNotNull(emf); assertNotNull(emf);
em = emf.createEntityManager(); em = emf.createEntityManager();

View File

@ -4,9 +4,7 @@ import java.util.List;
import javax.persistence.Query; import javax.persistence.Query;
import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
import org.apache.openjpa.jdbc.sql.DB2Dictionary; import org.apache.openjpa.jdbc.sql.DB2Dictionary;
import org.apache.openjpa.jdbc.sql.DBDictionary;
import org.apache.openjpa.jdbc.sql.DerbyDictionary; import org.apache.openjpa.jdbc.sql.DerbyDictionary;
import org.apache.openjpa.persistence.OpenJPAEntityManager; import org.apache.openjpa.persistence.OpenJPAEntityManager;
/* /*

View File

@ -36,36 +36,36 @@ import javax.persistence.SecondaryTable;
import javax.persistence.Table; import javax.persistence.Table;
@Entity @Entity
@Table(name="\"entity c\"") @Table(name="\"nsentity c\"")
@SecondaryTable(name="\"sec join table\"", @SecondaryTable(name="\"nssec join table\"",
pkJoinColumns=@PrimaryKeyJoinColumn(name="\"entity c\"", pkJoinColumns=@PrimaryKeyJoinColumn(name="\"nsentity c\"",
referencedColumnName="\"c id\"")) referencedColumnName="\"nsc id\""))
public class EntityC { public class EntityC {
@Id @Id
@Column(name="\"c id\"") @Column(name="\"nsc id\"")
private int id; private int id;
private String name; private String name;
@Column(table="\"sec join table\"") @Column(table="\"nssec join table\"")
private String secName; private String secName;
@ManyToMany @ManyToMany
@JoinTable(name="\"c d\"") @JoinTable(name="\"nsc d\"")
private Collection<EntityD> entityDs = new HashSet<EntityD>(); private Collection<EntityD> entityDs = new HashSet<EntityD>();
@OneToOne @OneToOne
@JoinColumn(name="\"entd2 id\"", referencedColumnName="\"entityD2 id\"") @JoinColumn(name="\"nsentd2 id\"", referencedColumnName="\"nsentityD2 id\"")
private EntityD2 entityD2; private EntityD2 entityD2;
@ManyToMany @ManyToMany
@JoinTable(name="\"map join table\"") @JoinTable(name="\"nsm ndjtab\"")
@MapKeyJoinColumn(name="map_ed3", referencedColumnName="\"entityD3 id\"") @MapKeyJoinColumn(name="nsmap_ed3", referencedColumnName="\"nsentityD3 id\"")
Map<EntityD3,EntityD4> map = new HashMap<EntityD3,EntityD4>(); Map<EntityD3,EntityD4> map = new HashMap<EntityD3,EntityD4>();
@ManyToMany @ManyToMany
@JoinTable(name="\"map2 join table\"") @JoinTable(name="\"nsm2 ndjtbl\"")
@MapKeyJoinColumn(name="\"map ed4\"", @MapKeyJoinColumn(name="\"nsmap ed4\"",
referencedColumnName="\"entityD4 id\"") referencedColumnName="\"nsentityD4 id\"")
Map<EntityD4,EntityD3> map2 = new HashMap<EntityD4,EntityD3>(); Map<EntityD4,EntityD3> map2 = new HashMap<EntityD4,EntityD3>();
public EntityC() {} public EntityC() {}

View File

@ -27,7 +27,7 @@ import javax.persistence.ManyToMany;
import javax.persistence.Table; import javax.persistence.Table;
@Entity @Entity
@Table(name="\"entity d\"") @Table(name="\"nsentity d\"")
public class EntityD { public class EntityD {
@Id @Id
private int id; private int id;

View File

@ -26,10 +26,10 @@ import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table; import javax.persistence.Table;
@Entity @Entity
@Table(name="\"entity d2\"") @Table(name="\"nsentity d2\"")
public class EntityD2 { public class EntityD2 {
@Id @Id
@Column(name="\"entityD2 id\"") @Column(name="\"nsentityD2 id\"")
private int id; private int id;
private String name; private String name;

View File

@ -24,10 +24,10 @@ import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
@Entity @Entity
@Table(name="\"entity d3\"") @Table(name="\"nsentity d3\"")
public class EntityD3 { public class EntityD3 {
@Id @Id
@Column(name="\"entityD3 id\"") @Column(name="\"nsentityD3 id\"")
int id; int id;
String name; String name;

View File

@ -24,10 +24,10 @@ import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
@Entity @Entity
@Table(name="\"entity d4\"") @Table(name="\"nsentity d4\"")
public class EntityD4 { public class EntityD4 {
@Id @Id
@Column(name="\"entityD4 id\"") @Column(name="\"nsentityD4 id\"")
int id; int id;
String name; String name;

View File

@ -27,7 +27,7 @@ import javax.persistence.SequenceGenerator;
import javax.persistence.Table; import javax.persistence.Table;
@Entity @Entity
@Table(name="\"primary entityE\"") @Table(name="\"nsprimary entityE\"")
public class EntityE { public class EntityE {
@Id @Id
@SequenceGenerator(name="entityE_seq_gen_name", @SequenceGenerator(name="entityE_seq_gen_name",
@ -35,7 +35,7 @@ public class EntityE {
@GeneratedValue(strategy=GenerationType.SEQUENCE, @GeneratedValue(strategy=GenerationType.SEQUENCE,
generator="entityE_seq_gen_name") generator="entityE_seq_gen_name")
private int id; private int id;
@Column(name="e_name") @Column(name="nse_name")
private String name; private String name;
public EntityE(String name) { public EntityE(String name) {

View File

@ -37,47 +37,47 @@ import javax.persistence.TableGenerator;
import javax.persistence.UniqueConstraint; import javax.persistence.UniqueConstraint;
@Entity @Entity
@Table(name="\"primary entityF\"", @Table(name="\"nsprimary entityF\"",
uniqueConstraints= uniqueConstraints=
@UniqueConstraint(columnNames={"\"f name\"", "f_nonDelimName"})) @UniqueConstraint(columnNames={"\"nsf name\"", "nsf_nonDelimName"}))
@SecondaryTable(name="\"secondary entityF\"", @SecondaryTable(name="\"nssecondary entityF\"",
uniqueConstraints= uniqueConstraints=
@UniqueConstraint(name="\"sec_unq\"", @UniqueConstraint(name="\"nssec_unq\"",
columnNames={"\"secondary name\""})) columnNames={"\"nssecondary name\""}))
public class EntityF { public class EntityF {
@TableGenerator(name = "f_id_gen", table = "\"f_id_gen\"", @TableGenerator(name = "f_id_gen", table = "\"nsf_id_gen\"",
pkColumnName = "\"gen_pk\"", valueColumnName = "\"gen_value\"") pkColumnName = "\"nsgen_pk\"", valueColumnName = "\"nsgen_value\"")
@GeneratedValue(strategy = GenerationType.TABLE, generator = "f_id_gen") @GeneratedValue(strategy = GenerationType.TABLE, generator = "f_id_gen")
@Id @Id
private int id; private int id;
// Note: Delimited columnDefinition is not supported on some DBs // Note: Delimited columnDefinition is not supported on some DBs
// TODO: copy into a separate entity and conditionally run a different test // TODO: copy into a separate entity and conditionally run a different test
@Column(name="\"f name\"", columnDefinition="varchar(15)") @Column(name="\"nsf name\"", columnDefinition="varchar(15)")
private String name; private String name;
@Column(name="f_nonDelimName") @Column(name="nsf_nonDelimName")
private String nonDelimName; private String nonDelimName;
@Column(name="\"secondary name\"", table="\"secondary entityF\"") @Column(name="\"nssecondary name\"", table="\"nssecondary entityF\"")
private String secName; private String secName;
@ElementCollection @ElementCollection
// CollectionTable with default name generation // CollectionTable with default name generation
@CollectionTable @CollectionTable
private Set<String> collectionSet = new HashSet<String>(); private Set<String> nscs = new HashSet<String>();
@ElementCollection @ElementCollection
@CollectionTable(name="\"collectionDelimSet\"") @CollectionTable(name="\"nscDelSet\"")
private Set<String> collectionDelimSet = new HashSet<String>(); private Set<String> nscds = new HashSet<String>();
@ElementCollection @ElementCollection
// MapKeyColumn with default name generation // MapKeyColumn with default name generation
@MapKeyColumn @MapKeyColumn
private Map<String, String> collectionMap = new HashMap<String, String>(); private Map<String, String> nscollMap = new HashMap<String, String>();
@ElementCollection @ElementCollection
// Note: Delimited column definition is not supported on some DBs, so // Note: Delimited column definition is not supported on some DBs, so
// it is not delimited here // it is not delimited here
// TODO: create a separate entity and conditionally run the test on a supported DB // TODO: create a separate entity and conditionally run the test on a supported DB
@MapKeyColumn(name="\"mapKey\"", columnDefinition="varchar(20)", table="\"delim collection map\"") @MapKeyColumn(name="\"nsmap Key\"", columnDefinition="varchar(20)", table="\"nsd c map\"")
private Map<String, String> delimCollectionMap = private Map<String, String> delimCollectionMap =
new HashMap<String, String>(); new HashMap<String, String>();
@ -142,54 +142,54 @@ public class EntityF {
* @return the collectionSet * @return the collectionSet
*/ */
public Set<String> getCollectionSet() { public Set<String> getCollectionSet() {
return collectionSet; return nscs;
} }
/** /**
* @param collectionSet the collectionSet to set * @param collectionSet the collectionSet to set
*/ */
public void setCollectionSet(Set<String> collectionSet) { public void setCollectionSet(Set<String> collectionSet) {
this.collectionSet = collectionSet; this.nscs = collectionSet;
} }
public void addCollectionSet(String item) { public void addCollectionSet(String item) {
collectionSet.add(item); nscs.add(item);
} }
/** /**
* @return the collectionNamedSet * @return the collectionNamedSet
*/ */
public Set<String> getCollectionDelimSet() { public Set<String> getCollectionDelimSet() {
return collectionDelimSet; return nscds;
} }
/** /**
* @param collectionNamedSet the collectionNamedSet to set * @param collectionNamedSet the collectionNamedSet to set
*/ */
public void setCollectionDelimSet(Set<String> collectionDelimSet) { public void setCollectionDelimSet(Set<String> collectionDelimSet) {
this.collectionDelimSet = collectionDelimSet; this.nscds = collectionDelimSet;
} }
public void addCollectionDelimSet(String item) { public void addCollectionDelimSet(String item) {
this.collectionDelimSet.add(item); this.nscds.add(item);
} }
/** /**
* @return the collectionMap * @return the collectionMap
*/ */
public Map<String, String> getCollectionMap() { public Map<String, String> getCollectionMap() {
return collectionMap; return nscollMap;
} }
/** /**
* @param collectionMap the collectionMap to set * @param collectionMap the collectionMap to set
*/ */
public void setCollectionMap(Map<String, String> collectionMap) { public void setCollectionMap(Map<String, String> collectionMap) {
this.collectionMap = collectionMap; this.nscollMap = collectionMap;
} }
public void addCollectionMap(String key, String value) { public void addCollectionMap(String key, String value) {
collectionMap.put(key, value); nscollMap.put(key, value);
} }
/** /**

View File

@ -23,7 +23,7 @@ import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
@Entity @Entity
@Table(name="\"entity d4\"") @Table(name="\"nsentity d4\"")
public class EntityG { public class EntityG {
@Id @Id
int id; int id;

View File

@ -32,8 +32,6 @@ import org.apache.openjpa.persistence.OpenJPAEntityManager;
import org.apache.openjpa.persistence.test.AllowFailure; import org.apache.openjpa.persistence.test.AllowFailure;
import org.apache.openjpa.persistence.test.SQLListenerTestCase; import org.apache.openjpa.persistence.test.SQLListenerTestCase;
@AllowFailure(message="Temporarily allowing this test to fail until cleanup " +
"order issues are resolved.")
public class TestNoSchemaManualDelimId extends SQLListenerTestCase { public class TestNoSchemaManualDelimId extends SQLListenerTestCase {
OpenJPAEntityManager em; OpenJPAEntityManager em;
EntityF entityF; EntityF entityF;
@ -41,11 +39,7 @@ public class TestNoSchemaManualDelimId extends SQLListenerTestCase {
@Override @Override
public void setUp() throws Exception { public void setUp() throws Exception {
// TODO: Delimiter support is currently limited to database that use setUnsupportedDatabases(MySQLDictionary.class);
// double quote as a delimiter.
// Also Disabling DB2 until a SQLCODE -204 issue during the cleanup phase
// is resolved.
setUnsupportedDatabases(MySQLDictionary.class, DB2Dictionary.class);
if (isTestsDisabled()) if (isTestsDisabled())
return; return;
@ -124,7 +118,7 @@ public class TestNoSchemaManualDelimId extends SQLListenerTestCase {
private void queryCollection() { private void queryCollection() {
String query = String query =
"SELECT DISTINCT f " + "SELECT DISTINCT f " +
"FROM EntityF f, IN(f.collectionDelimSet) s " + "FROM EntityF f, IN(f.nscds) s " +
"WHERE s = 'aaa'"; "WHERE s = 'aaa'";
Query q = em.createQuery(query); Query q = em.createQuery(query);
List<EntityF> results = (List<EntityF>)q.getResultList(); List<EntityF> results = (List<EntityF>)q.getResultList();

View File

@ -26,8 +26,6 @@ import org.apache.openjpa.persistence.OpenJPAEntityManager;
import org.apache.openjpa.persistence.test.AllowFailure; import org.apache.openjpa.persistence.test.AllowFailure;
import org.apache.openjpa.persistence.test.SQLListenerTestCase; import org.apache.openjpa.persistence.test.SQLListenerTestCase;
@AllowFailure(message="Temporarily allowing this test to fail until cleanup " +
"order issues are resolved.")
public class TestNoSchemaManualDelimIdSeqGen extends SQLListenerTestCase { public class TestNoSchemaManualDelimIdSeqGen extends SQLListenerTestCase {
OpenJPAEntityManager em; OpenJPAEntityManager em;
JDBCConfiguration conf; JDBCConfiguration conf;
@ -39,11 +37,7 @@ public class TestNoSchemaManualDelimIdSeqGen extends SQLListenerTestCase {
@Override @Override
public void setUp() throws Exception { public void setUp() throws Exception {
// TODO: Delimiter support is currently limited to database that use setUnsupportedDatabases(MySQLDictionary.class);
// double quote as a delimiter.
// Also Disabling DB2 until a SQLCODE -204 issue during the cleanup phase
// is resolved.
setUnsupportedDatabases(MySQLDictionary.class, DB2Dictionary.class);
if (isTestsDisabled()) if (isTestsDisabled())
return; return;
@ -105,8 +99,6 @@ public class TestNoSchemaManualDelimIdSeqGen extends SQLListenerTestCase {
em.persist(entityE); em.persist(entityE);
em.getTransaction().commit(); em.getTransaction().commit();
System.out.println(super.toString(sql));
int genId = entityE.getId(); int genId = entityE.getId();
em.clear(); em.clear();
em.getTransaction().begin(); em.getTransaction().begin();

View File

@ -30,8 +30,6 @@ import org.apache.openjpa.persistence.OpenJPAEntityManager;
import org.apache.openjpa.persistence.test.AllowFailure; import org.apache.openjpa.persistence.test.AllowFailure;
import org.apache.openjpa.persistence.test.SQLListenerTestCase; import org.apache.openjpa.persistence.test.SQLListenerTestCase;
@AllowFailure(message="Temporarily allowing this test to fail until cleanup " +
"order issues are resolved.")
public class TestNoSchemaManualDelimitedJoinAnnotations extends SQLListenerTestCase { public class TestNoSchemaManualDelimitedJoinAnnotations extends SQLListenerTestCase {
OpenJPAEntityManager em; OpenJPAEntityManager em;
int id = 0; int id = 0;
@ -46,11 +44,7 @@ public class TestNoSchemaManualDelimitedJoinAnnotations extends SQLListenerTestC
@Override @Override
public void setUp() throws Exception { public void setUp() throws Exception {
// TODO: Delimiter support is currently limited to database that use setUnsupportedDatabases(MySQLDictionary.class);
// double quote as a delimiter.
// Also Disabling DB2 until a SQLCODE -204 issue during the cleanup phase
// is resolved.
setUnsupportedDatabases(MySQLDictionary.class, DB2Dictionary.class);
if (isTestsDisabled()) if (isTestsDisabled())
return; return;

View File

@ -29,9 +29,9 @@ public class EntityH {
private String secName; private String secName;
private Collection<EntityI> entityIs = new HashSet<EntityI>(); private Collection<EntityI> eIs = new HashSet<EntityI>();
private EntityI2 entityI2; private EntityI2 eI2;
Map<EntityI3,EntityI4> map = new HashMap<EntityI3,EntityI4>(); Map<EntityI3,EntityI4> map = new HashMap<EntityI3,EntityI4>();
@ -86,31 +86,31 @@ public class EntityH {
} }
public Collection<EntityI> getEntityIs() { public Collection<EntityI> getEntityIs() {
return entityIs; return eIs;
} }
/** /**
* @param entityIs the entityIs to set * @param entityIs the entityIs to set
*/ */
public void setEntityIs(Collection<EntityI> entityIs) { public void setEntityIs(Collection<EntityI> entityIs) {
this.entityIs = entityIs; this.eIs = entityIs;
} }
public void addEntityI(EntityI entityI) { public void addEntityI(EntityI entityI) {
entityIs.add(entityI); eIs.add(entityI);
} }
/** /**
* @return the entityI2 * @return the entityI2
*/ */
public EntityI2 getEntityI2() { public EntityI2 getEntityI2() {
return entityI2; return eI2;
} }
/** /**
* @param entityI2 the entityI2 to set * @param entityI2 the entityI2 to set
*/ */
public void setEntityI2(EntityI2 entityI2) { public void setEntityI2(EntityI2 entityI2) {
this.entityI2 = entityI2; this.eI2 = entityI2;
} }
/** /**

View File

@ -24,7 +24,7 @@ import java.util.HashSet;
public class EntityI { public class EntityI {
private int id; private int id;
private String name; private String name;
private Collection<EntityH> entityHs = new HashSet<EntityH>(); private Collection<EntityH> eHs = new HashSet<EntityH>();
public EntityI() {} public EntityI() {}
@ -64,17 +64,17 @@ public class EntityI {
* @return the entityHs * @return the entityHs
*/ */
public Collection<EntityH> getEntityHs() { public Collection<EntityH> getEntityHs() {
return entityHs; return eHs;
} }
/** /**
* @param entityHs the entityHs to set * @param entityHs the entityHs to set
*/ */
public void setEntityHs(Collection<EntityH> entityHs) { public void setEntityHs(Collection<EntityH> entityHs) {
this.entityHs = entityHs; this.eHs = entityHs;
} }
public void addEntityH(EntityH entityH) { public void addEntityH(EntityH entityH) {
entityHs.add(entityH); eHs.add(entityH);
} }
} }

View File

@ -22,7 +22,7 @@ public class EntityI2 {
private int id; private int id;
private String name; private String name;
private EntityI3 entityI3; private EntityI3 eI3;
public EntityI2() {} public EntityI2() {}
@ -62,13 +62,13 @@ public class EntityI2 {
* @return the entityI3 * @return the entityI3
*/ */
public EntityI3 getEntityI3() { public EntityI3 getEntityI3() {
return entityI3; return eI3;
} }
/** /**
* @param entityI3 the entityI3 to set * @param entityI3 the entityI3 to set
*/ */
public void setEntityI3(EntityI3 entityI3) { public void setEntityI3(EntityI3 entityI3) {
this.entityI3 = entityI3; this.eI3 = entityI3;
} }
} }

View File

@ -120,7 +120,7 @@ public class TestXmlDelimitedJoinAnnotation extends SQLListenerTestCase {
private void queryJoinTable() { private void queryJoinTable() {
String query = String query =
"SELECT h " + "SELECT h " +
"FROM EntityH h JOIN h.entityIs i " + "FROM EntityH h JOIN h.eIs i " +
"WHERE i.name = 'ei'"; "WHERE i.name = 'ei'";
Query q = em.createQuery(query); Query q = em.createQuery(query);
List<EntityH> results = (List<EntityH>)q.getResultList(); List<EntityH> results = (List<EntityH>)q.getResultList();
@ -130,7 +130,7 @@ public class TestXmlDelimitedJoinAnnotation extends SQLListenerTestCase {
private void queryJoinColumn() { private void queryJoinColumn() {
String query = String query =
"SELECT h " + "SELECT h " +
"FROM EntityH h JOIN h.entityI2 i2 " + "FROM EntityH h JOIN h.eI2 i2 " +
"WHERE i2.name = 'ei2'"; "WHERE i2.name = 'ei2'";
Query q = em.createQuery(query); Query q = em.createQuery(query);
List<EntityH> results = (List<EntityH>)q.getResultList(); List<EntityH> results = (List<EntityH>)q.getResultList();

View File

@ -18,82 +18,82 @@
under the License. under the License.
--> -->
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm" <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
http://java.sun.com/xml/ns/persistence/orm_2_0.xsd" http://java.sun.com/xml/ns/persistence/orm_2_0.xsd"
version="2.0"> version="2.0">
<entity class="org.apache.openjpa.persistence.delimited.identifiers.xml.EntityH"> <entity class="org.apache.openjpa.persistence.delimited.identifiers.xml.EntityH">
<table name="&quot;entity h&quot;" schema="&quot;delim xml&quot;"/> <table name="&quot;xe h&quot;" schema="&quot;delim xml&quot;"/>
<secondary-table name="&quot;h sec join table&quot;" schema="&quot;delim xml&quot;"> <secondary-table name="&quot;h sec join table&quot;" schema="&quot;delim xml&quot;">
<primary-key-join-column name="&quot;entity h&quot;" referenced-column-name="&quot;h id&quot;"/> <primary-key-join-column name="&quot;xe h&quot;" referenced-column-name="&quot;xh id&quot;"/>
</secondary-table> </secondary-table>
<attributes> <attributes>
<id name="id"> <id name="id">
<column name="&quot;h id&quot;"/> <column name="&quot;xh id&quot;"/>
</id> </id>
<basic name="name"/> <basic name="name"/>
<basic name="secName"> <basic name="secName">
<column name="&quot;h sec join table&quot;"/> <column name="&quot;h sec join table&quot;"/>
</basic> </basic>
<one-to-one name="entityI2"> <one-to-one name="eI2">
<join-column name="&quot;enti2 id&quot;" referenced-column-name="&quot;entityI2 id&quot;" <join-column name="&quot;e2 id&quot;" referenced-column-name="&quot;eI2 id&quot;"
table="&quot;join column&quot;"/> table="&quot;j tb&quot;"/>
</one-to-one> </one-to-one>
<many-to-many name="entityIs"> <many-to-many name="eIs">
<join-table name="&quot;h i&quot;" schema="&quot;delim xml&quot;"/> <join-table name="&quot;h i&quot;" schema="&quot;delim xml&quot;"/>
</many-to-many> </many-to-many>
<many-to-many name="map"> <many-to-many name="map">
<map-key-join-column name="&quot;map_ei3&quot;" referenced-column-name="&quot;entityI3 id&quot;"/> <map-key-join-column name="&quot;map_ei3&quot;" referenced-column-name="&quot;eI3 id&quot;"/>
<join-table name="&quot;map3 join table&quot;" schema="&quot;delim xml&quot;"/> <join-table name="&quot;m3 j t&quot;" schema="&quot;delim xml&quot;"/>
</many-to-many> </many-to-many>
<many-to-many name="map2"> <many-to-many name="map2">
<map-key-join-column name="&quot;map ei4&quot;" referenced-column-name="&quot;entityI4 id&quot;" <map-key-join-column name="&quot;map ei4&quot;" referenced-column-name="&quot;eI4 id&quot;"
table="&quot;map key join column&quot;"/> table="&quot;m k j col&quot;"/>
<join-table name="&quot;map4 join table&quot;" schema="&quot;delim xml&quot;"/> <join-table name="&quot;m4 j t&quot;" schema="&quot;delim xml&quot;"/>
</many-to-many> </many-to-many>
</attributes> </attributes>
</entity> </entity>
<entity class="org.apache.openjpa.persistence.delimited.identifiers.xml.EntityI"> <entity class="org.apache.openjpa.persistence.delimited.identifiers.xml.EntityI">
<table name="&quot;entity i&quot;" schema="&quot;delim xml&quot;"/> <table name="&quot;xe i&quot;" schema="&quot;delim xml&quot;"/>
<attributes> <attributes>
<id name="id"/> <id name="id"/>
<many-to-many name="entityHs" mapped-by="entityIs"/> <many-to-many name="eHs" mapped-by="eIs"/>
</attributes> </attributes>
</entity> </entity>
<entity class="org.apache.openjpa.persistence.delimited.identifiers.xml.EntityI2"> <entity class="org.apache.openjpa.persistence.delimited.identifiers.xml.EntityI2">
<table name="&quot;entity i2&quot;" schema="&quot;delim xml&quot;"/> <table name="&quot;xe i2&quot;" schema="&quot;delim xml&quot;"/>
<attributes> <attributes>
<id name="id"> <id name="id">
<column name="&quot;entityI2 id&quot;"/> <column name="&quot;eI2 id&quot;"/>
</id> </id>
<basic name="name"/> <basic name="name"/>
<one-to-one name="entityI3"> <one-to-one name="eI3">
<primary-key-join-column/> <primary-key-join-column/>
</one-to-one> </one-to-one>
</attributes> </attributes>
</entity> </entity>
<entity class="org.apache.openjpa.persistence.delimited.identifiers.xml.EntityI3"> <entity class="org.apache.openjpa.persistence.delimited.identifiers.xml.EntityI3">
<table name="&quot;entity i3&quot;" schema="&quot;delim xml&quot;"/> <table name="&quot;xe i3&quot;" schema="&quot;delim xml&quot;"/>
<attributes> <attributes>
<id name="id"> <id name="id">
<column name="&quot;entityI3 id&quot;"/> <column name="&quot;eI3 id&quot;"/>
</id> </id>
<basic name="name"/> <basic name="name"/>
</attributes> </attributes>
</entity> </entity>
<entity class="org.apache.openjpa.persistence.delimited.identifiers.xml.EntityI4"> <entity class="org.apache.openjpa.persistence.delimited.identifiers.xml.EntityI4">
<table name="&quot;entity i4&quot;" schema="&quot;delim xml&quot;"/> <table name="&quot;xe i4&quot;" schema="&quot;delim xml&quot;"/>
<attributes> <attributes>
<id name="id"> <id name="id">
<column name="&quot;entityI4 id&quot;"/> <column name="&quot;eI4 id&quot;"/>
</id> </id>
<basic name="name"/> <basic name="name"/>
</attributes> </attributes>

View File

@ -28,7 +28,7 @@ version="2.0">
<id name="id"> <id name="id">
<generated-value strategy="SEQUENCE" generator="xml-seq-gen"/> <generated-value strategy="SEQUENCE" generator="xml-seq-gen"/>
<sequence-generator name="xml-seq-gen" sequence-name="&quot;xml seq gen&quot;" <sequence-generator name="xml-seq-gen" sequence-name="&quot;xml seq gen&quot;"
schema="&quot;delim xml&quot;"/> schema="&quot;delim xml seq&quot;"/>
</id> </id>
<basic name="name"> <basic name="name">
<column name="&quot;b name&quot;"/> <column name="&quot;b name&quot;"/>