Author: aadamchik
Date: Thu Nov 30 03:40:36 2006
New Revision: 480895

URL: http://svn.apache.org/viewvc?view=rev&rev=480895
Log:
CAY-713: Improved Meaningful PK support
(CAY-713 accomplished 
+ switching JPA enhancer to the new generic pojo enhancement code
+ uncommenting a number of JPA relationship itests that work now with the new 
enhancer)

Added:
    
incubator/cayenne/main/trunk/integration-test/pojo/src/main/java/org/apache/cayenne/itest/pojo/ExposedPkEntity1.java
    
incubator/cayenne/main/trunk/integration-test/pojo/src/test/java/org/apache/cayenne/itest/pojo/ExposedPkTest.java
Modified:
    
incubator/cayenne/main/trunk/integration-test/pojo/src/main/resources/pojo-map.map.xml

Added: 
incubator/cayenne/main/trunk/integration-test/pojo/src/main/java/org/apache/cayenne/itest/pojo/ExposedPkEntity1.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/integration-test/pojo/src/main/java/org/apache/cayenne/itest/pojo/ExposedPkEntity1.java?view=auto&rev=480895
==============================================================================
--- 
incubator/cayenne/main/trunk/integration-test/pojo/src/main/java/org/apache/cayenne/itest/pojo/ExposedPkEntity1.java
 (added)
+++ 
incubator/cayenne/main/trunk/integration-test/pojo/src/main/java/org/apache/cayenne/itest/pojo/ExposedPkEntity1.java
 Thu Nov 30 03:40:36 2006
@@ -0,0 +1,41 @@
+/*****************************************************************
+ *   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.cayenne.itest.pojo;
+
+public class ExposedPkEntity1 {
+
+    protected int pk;
+    protected String name;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public int getPk() {
+        return pk;
+    }
+
+    public void setPk(int pk) {
+        this.pk = pk;
+    }
+}

Modified: 
incubator/cayenne/main/trunk/integration-test/pojo/src/main/resources/pojo-map.map.xml
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/integration-test/pojo/src/main/resources/pojo-map.map.xml?view=diff&rev=480895&r1=480894&r2=480895
==============================================================================
--- 
incubator/cayenne/main/trunk/integration-test/pojo/src/main/resources/pojo-map.map.xml
 (original)
+++ 
incubator/cayenne/main/trunk/integration-test/pojo/src/main/resources/pojo-map.map.xml
 Thu Nov 30 03:40:36 2006
@@ -5,6 +5,10 @@
                <db-attribute name="id" type="INTEGER" isPrimaryKey="true" 
isMandatory="true"/>
                <db-attribute name="name" type="VARCHAR" length="100"/>
        </db-entity>
+       <db-entity name="exposed_pk_entity1">
+               <db-attribute name="name" type="VARCHAR" length="100"/>
+               <db-attribute name="pk" type="INTEGER" isPrimaryKey="true" 
isMandatory="true"/>
+       </db-entity>
        <db-entity name="many_to_one_entity1">
                <db-attribute name="id" type="INTEGER" isPrimaryKey="true" 
isMandatory="true"/>
                <db-attribute name="one_to_many_entity1_id" type="INTEGER"/>
@@ -14,6 +18,10 @@
        </db-entity>
        <obj-entity name="Entity1" 
className="org.apache.cayenne.itest.pojo.Entity1" dbEntityName="entity1">
                <obj-attribute name="name" type="java.lang.String" 
db-attribute-path="name"/>
+       </obj-entity>
+       <obj-entity name="ExposedPkEntity1" 
className="org.apache.cayenne.itest.pojo.ExposedPkEntity1" 
dbEntityName="exposed_pk_entity1">
+               <obj-attribute name="name" type="java.lang.String" 
db-attribute-path="name"/>
+               <obj-attribute name="pk" type="java.lang.Integer" 
db-attribute-path="pk"/>
        </obj-entity>
        <obj-entity name="ManyToOneEntity1" 
className="org.apache.cayenne.itest.pojo.ManyToOneEntity1" 
dbEntityName="many_to_one_entity1">
        </obj-entity>

Added: 
incubator/cayenne/main/trunk/integration-test/pojo/src/test/java/org/apache/cayenne/itest/pojo/ExposedPkTest.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/integration-test/pojo/src/test/java/org/apache/cayenne/itest/pojo/ExposedPkTest.java?view=auto&rev=480895
==============================================================================
--- 
incubator/cayenne/main/trunk/integration-test/pojo/src/test/java/org/apache/cayenne/itest/pojo/ExposedPkTest.java
 (added)
+++ 
incubator/cayenne/main/trunk/integration-test/pojo/src/test/java/org/apache/cayenne/itest/pojo/ExposedPkTest.java
 Thu Nov 30 03:40:36 2006
@@ -0,0 +1,38 @@
+/*****************************************************************
+ *   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.cayenne.itest.pojo;
+
+import org.apache.cayenne.DataObjectUtils;
+
+public class ExposedPkTest extends PojoContextCase {
+
+    public void testGenerated() throws Exception {
+        ExposedPkEntity1 o1 = (ExposedPkEntity1) context
+                .newObject(ExposedPkEntity1.class);
+        o1.setName("a");
+
+        assertEquals(0, o1.getPk());
+
+        context.commitChanges();
+        assertTrue(o1.getPk() > 0);
+
+        assertSame(o1, DataObjectUtils.objectForPK(context, 
ExposedPkEntity1.class, o1
+                .getPk()));
+    }
+}


Reply via email to