Author: jgrassel
Date: Thu Sep 20 15:09:25 2012
New Revision: 1388061
URL: http://svn.apache.org/viewvc?rev=1388061&view=rev
Log:
OPENJPA-2233: Revert patch, test failures encountered
Modified:
openjpa/branches/2.0.x/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
openjpa/branches/2.0.x/openjpa-kernel/src/main/resources/org/apache/openjpa/enhance/localizer.properties
openjpa/branches/2.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/TestEmbeddableEntityWithIDAnnotation.java
openjpa/branches/2.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/common/apps/EmbeddableEntityWithIDAnnotation.java
openjpa/branches/2.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/common/apps/IDOwningClassTestEntity.java
Modified:
openjpa/branches/2.0.x/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
URL:
http://svn.apache.org/viewvc/openjpa/branches/2.0.x/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java?rev=1388061&r1=1388060&r2=1388061&view=diff
==============================================================================
---
openjpa/branches/2.0.x/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
(original)
+++
openjpa/branches/2.0.x/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
Thu Sep 20 15:09:25 2012
@@ -1150,11 +1150,6 @@ public class PCEnhancer {
if (_meta.hasAbstractPKField() == true) {
addGetIDOwningClass();
}
-
- if (_meta.isEmbeddedOnly() && _meta.getIdentityType() ==
ClassMetaData.ID_APPLICATION) {
- _log.error(_loc.get("ID-field-in-embeddable-unsupported",
_meta.toString()));
- }
-
addNewObjectIdInstanceMethod(true);
addNewObjectIdInstanceMethod(false);
}
@@ -2587,12 +2582,13 @@ public class PCEnhancer {
// new <oid class> ();
code.anew().setType(oidType);
code.dup();
- if (_meta.isOpenJPAIdentity() || (obj && usesClsString ==
Boolean.TRUE)) {
- if ((_meta.isEmbeddedOnly() && ! (_meta.getIdentityType() ==
ClassMetaData.ID_APPLICATION))
- || _meta.hasAbstractPKField() == true ) {
+ if (_meta.isOpenJPAIdentity() || (obj && usesClsString ==
+ Boolean.TRUE)) {
+ if(_meta.isEmbeddedOnly() || _meta.hasAbstractPKField() == true ) {
code.aload().setThis();
- code.invokevirtual().setMethod(PRE + "GetIDOwningClass",
Class.class, null);
- } else {
+ code.invokevirtual().setMethod(PRE + "GetIDOwningClass",
+ Class.class, null);
+ }else {
code.classconstant().setClass(getType(_meta));
}
}
Modified:
openjpa/branches/2.0.x/openjpa-kernel/src/main/resources/org/apache/openjpa/enhance/localizer.properties
URL:
http://svn.apache.org/viewvc/openjpa/branches/2.0.x/openjpa-kernel/src/main/resources/org/apache/openjpa/enhance/localizer.properties?rev=1388061&r1=1388060&r2=1388061&view=diff
==============================================================================
---
openjpa/branches/2.0.x/openjpa-kernel/src/main/resources/org/apache/openjpa/enhance/localizer.properties
(original)
+++
openjpa/branches/2.0.x/openjpa-kernel/src/main/resources/org/apache/openjpa/enhance/localizer.properties
Thu Sep 20 15:09:25 2012
@@ -214,5 +214,4 @@ temp-file-creation: The temporary file "
get-field: Error while getting value of field {1} from instance {0} by
reflection.
get-method: Error while getting value by getter method {1} on instance {0} by
reflection.
set-field: Error while setting value {2} of {3} on field {1} of instance {0}
by reflection.
-set-method: Error while setting value {2} of {3} by setter method {1} of
instance {0} by reflection.
-ID-field-in-embeddable-unsupported: The identity field defined in the
embeddable entity {0} is not supported.
+set-method: Error while setting value {2} of {3} by setter method {1} of
instance {0} by reflection.
Modified:
openjpa/branches/2.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/TestEmbeddableEntityWithIDAnnotation.java
URL:
http://svn.apache.org/viewvc/openjpa/branches/2.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/TestEmbeddableEntityWithIDAnnotation.java?rev=1388061&r1=1388060&r2=1388061&view=diff
==============================================================================
---
openjpa/branches/2.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/TestEmbeddableEntityWithIDAnnotation.java
(original)
+++
openjpa/branches/2.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/TestEmbeddableEntityWithIDAnnotation.java
Thu Sep 20 15:09:25 2012
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.openjpa.persistence.enhance;
-
-import javax.persistence.EntityManager;
-
-import
org.apache.openjpa.persistence.enhance.common.apps.EmbeddableEntityWithIDAnnotation;
-import
org.apache.openjpa.persistence.enhance.common.apps.IDOwningClassTestEntity;
-import org.apache.openjpa.persistence.test.SQLListenerTestCase;
-
-public class TestEmbeddableEntityWithIDAnnotation extends SQLListenerTestCase{
-
- public void setUp() {
- setUp(EmbeddableEntityWithIDAnnotation.class,
IDOwningClassTestEntity.class, CLEAR_TABLES);
- }
-
- //make sure no exception is thrown here.
- public void testpcNewObjectIdInstanceMethod(){
- EntityManager em = emf.createEntityManager();
- try{
- IDOwningClassTestEntity e = new IDOwningClassTestEntity();
- em.getTransaction().begin();
- em.persist(e);
- em.getTransaction().commit();
- assertTrue(em.createQuery("select count(c) from
IDOwningClassTestEntity c", Long.class)
- .getSingleResult().longValue() > 0);
- }finally{
- em.close();
- }
- }
-
-}
Modified:
openjpa/branches/2.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/common/apps/EmbeddableEntityWithIDAnnotation.java
URL:
http://svn.apache.org/viewvc/openjpa/branches/2.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/common/apps/EmbeddableEntityWithIDAnnotation.java?rev=1388061&r1=1388060&r2=1388061&view=diff
==============================================================================
---
openjpa/branches/2.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/common/apps/EmbeddableEntityWithIDAnnotation.java
(original)
+++
openjpa/branches/2.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/common/apps/EmbeddableEntityWithIDAnnotation.java
Thu Sep 20 15:09:25 2012
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.openjpa.persistence.enhance.common.apps;
-
-// default package
-
-import javax.persistence.Column;
-import javax.persistence.Embeddable;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.SequenceGenerator;
-
-/**
- * BillingNoteId entity. @author MyEclipse Persistence Tools
- */
-@Embeddable
-public class EmbeddableEntityWithIDAnnotation implements java.io.Serializable
-{
-
- private static final long serialVersionUID = 558333273831654654L;
-
- private Long id;
-
- private Long seqNo = new Long(2012);
-
- public EmbeddableEntityWithIDAnnotation( )
- {
- }
-
- public EmbeddableEntityWithIDAnnotation( Long id, Long seqNo )
- {
- this.id = id;
- this.seqNo = seqNo;
- }
-
- // Property accessors
- @Id
- @Column(unique=true, nullable=false, precision=12, scale=0)
- public Long getId()
- {
- return this.id;
- }
-
- public void setId( Long id )
- {
- this.id = id;
- }
-
- @Column( name = "EmbeddableEntitySeqNo", nullable = false, precision = 12,
scale = 0 )
- public Long getSeqNo()
- {
- return this.seqNo;
- }
-
- public void setSeqNo( Long seqNo )
- {
- this.seqNo = seqNo;
- }
-
- public boolean equals( Object other )
- {
- if ( ( this == other ) )
- return true;
- if ( ( other == null ) )
- return false;
- if ( !( other instanceof EmbeddableEntityWithIDAnnotation ) )
- return false;
- EmbeddableEntityWithIDAnnotation castOther = (
EmbeddableEntityWithIDAnnotation ) other;
-
- return ( ( this.getId( ) == castOther.getId( ) )
- || ( this.getId( ) != null && castOther.getId( ) !=
null
- && this.getId( ).equals( castOther.getId( ) ) ) )
- && ( ( this.getSeqNo( ) == castOther.getSeqNo( ) )
- || ( this.getSeqNo( ) != null &&
castOther.getSeqNo( ) != null
- && this.getSeqNo( ).equals( castOther.getSeqNo(
) ) ) );
- }
-
- public int hashCode()
- {
- int result = 17;
-
- result = 37 * result + ( getId( ) == null ? 0 : this.getId(
).hashCode( ) );
- result = 37 * result + ( getSeqNo( ) == null ? 0 : this.getSeqNo(
).hashCode( ) );
- return result;
- }
-
-}
Modified:
openjpa/branches/2.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/common/apps/IDOwningClassTestEntity.java
URL:
http://svn.apache.org/viewvc/openjpa/branches/2.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/common/apps/IDOwningClassTestEntity.java?rev=1388061&r1=1388060&r2=1388061&view=diff
==============================================================================
---
openjpa/branches/2.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/common/apps/IDOwningClassTestEntity.java
(original)
+++
openjpa/branches/2.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/common/apps/IDOwningClassTestEntity.java
Thu Sep 20 15:09:25 2012
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.openjpa.persistence.enhance.common.apps;
-
-import javax.persistence.EmbeddedId;
-import javax.persistence.Entity;
-
-@Entity
-public class IDOwningClassTestEntity {
- @EmbeddedId
- EmbeddableEntityWithIDAnnotation pk = new
EmbeddableEntityWithIDAnnotation(new Long(2012), new Long(2000));
-
- String name;
-
-}