/*
 * TestAbstractMappedAppIdSuper.java
 *
 * Created on October 16, 2006, 2:00 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

/*
 * 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.kernel;





public class TestAbstractMappedAppIdSuper extends BaseKernelTest {

    /**
     * Creates a new instance of TestAbstractMappedAppIdSuper
     */
    public TestAbstractMappedAppIdSuper(String name) {
        super(name);
    }

    /* Fix Me - aokeke - Takes so much time to run */
//    public void testQuerySubclassWithDifferentIdClass()
//    throws Exception {
//        ConcreteMappedAppIdSub pc = new ConcreteMappedAppIdSub();
//        String pk = String.valueOf(System.currentTimeMillis());
//        pc.setPk(pk);
//        pc.setName("name");
//        
//        OpenJPAEntityManager pm = getPM();
//        pm.begin();
//        pm.persist(pc);
//        pm.commit();
//        String pkd = pc.getPk();
//        Object oid = pm.getObjectId(pc);
//        endEm(pm,());
//        
//        pm = getPM();
//        String query = "SELECT DISTINCT o FROM ConcreteMappedAppIdSub o "
//                + "WHERE o.pk = :p ";
//        OpenJPAQuery q = pm.createQuery(query);
//        
//        OpenJPAQuery q = pm.createNativeQuery(
//                "pk == :p", ConcreteMappedAppIdSub.class);
//        //FIXME jthomas
//        
//        try 
//        {
//            pc = (ConcreteMappedAppIdSub) q.setParameter("p", pkd)
//                    .getSingleResult();
//        } 
//        catch (RuntimeException re) 
//        {
////            bug(1170, re, "Cannot query subclass of abstract mapped "
////                    + "appid type.");
////            return;
//        }
//         
//        assertNotNull(pc);
//        assertEquals(pk, pc.getPk());
//        
//        pm.begin();
//        pm.remove(pc);
//        pm.commit();
//        endEm(pm,());
//    }
}
