Package org.apache.cayenne.jpa.itest.ch2

Source Code of org.apache.cayenne.jpa.itest.ch2._2_1_6_MappingDefaultsNonRelationshipTest

/*****************************************************************
*   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.jpa.itest.ch2;

import java.io.ByteArrayInputStream;
import java.io.ObjectInputStream;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.GregorianCalendar;

import org.apache.cayenne.itest.jpa.EntityManagerCase;
import org.apache.cayenne.jpa.itest.ch2.entity.Embeddable1;
import org.apache.cayenne.jpa.itest.ch2.entity.EmbeddedImpliedEntity;
import org.apache.cayenne.jpa.itest.ch2.entity.EnumType;
import org.apache.cayenne.jpa.itest.ch2.entity.PropertyDefaultsDatesEntity;
import org.apache.cayenne.jpa.itest.ch2.entity.PropertyDefaultsOtherEntity;
import org.apache.cayenne.jpa.itest.ch2.entity.PropertyDefaultsPrimitiveEntity;
import org.apache.cayenne.jpa.itest.ch2.entity.PropertyDefaultsWrapperEntity;
import org.apache.cayenne.jpa.itest.ch2.entity.SerializableType;

public class _2_1_6_MappingDefaultsNonRelationshipTest extends EntityManagerCase {

    // TODO: andrus 8/10/2006 - fails
    public void _testEmbeddedDefault() throws Exception {
        getDbHelper().deleteAll("EmbeddedImpliedEntity");

        EmbeddedImpliedEntity o1 = new EmbeddedImpliedEntity();
        Embeddable1 o2 = new Embeddable1();
        o2.setProperty1("p1");
        o1.setEmbeddable(o2);

        getEntityManager().persist(o1);
        getEntityManager().getTransaction().commit();

        assertEquals("p1", getDbHelper().getObject("EmbeddedImpliedEntity", "property1"));
    }

    public void testPrimitiveWrapperDefaults() throws Exception {
        getDbHelper().deleteAll("PropertyDefaultsWrapperEntity");

        PropertyDefaultsWrapperEntity o1 = new PropertyDefaultsWrapperEntity();

        o1.setBooleanWrapper(Boolean.TRUE);
        o1.setByteWrapper(new Byte("3"));
        o1.setShortWrapper(new Short("2"));
        o1.setIntWrapper(new Integer("4"));
        o1.setCharWrapper(new Character('a'));
        o1.setLongWrapper(new Long(1234567890l));
        o1.setFloatWrapper(new Float("5.5"));
        o1.setDoubleWrapper(new Double("6.5"));

        getEntityManager().persist(o1);
        getEntityManager().getTransaction().commit();

        assertTrue(getDbHelper().getBoolean(
                "PropertyDefaultsWrapperEntity",
                "booleanWrapper"));
        assertEquals(2, getDbHelper().getInt(
                "PropertyDefaultsWrapperEntity",
                "shortWrapper"));
        assertEquals(3, getDbHelper().getInt(
                "PropertyDefaultsWrapperEntity",
                "byteWrapper"));
        assertEquals(4, getDbHelper().getInt(
                "PropertyDefaultsWrapperEntity",
                "intWrapper"));
        assertEquals("a", getDbHelper().getObject(
                "PropertyDefaultsWrapperEntity",
                "charWrapper"));
        assertEquals(1234567890l, getDbHelper().getLong(
                "PropertyDefaultsWrapperEntity",
                "longWrapper"));
        assertEquals(5.5d, getDbHelper().getDouble(
                "PropertyDefaultsWrapperEntity",
                "floatWrapper"));
        assertEquals(6.5d, getDbHelper().getDouble(
                "PropertyDefaultsWrapperEntity",
                "doubleWrapper"));
    }

    public void testPrimitiveDefaults() throws Exception {
        getDbHelper().deleteAll("PropertyDefaultsPrimitiveEntity");

        PropertyDefaultsPrimitiveEntity o1 = new PropertyDefaultsPrimitiveEntity();
        o1.setPrimitiveBoolean(true);

        o1.setPrimitiveByte((byte) 3);
        o1.setPrimitiveShort((short) 2);
        o1.setPrimitiveInt(4);
        o1.setPrimitiveChar('a');
        o1.setPrimitiveLong(1234567890l);
        o1.setPrimitiveFloat(5.5f);
        o1.setPrimitiveDouble(6.5d);

        getEntityManager().persist(o1);
        getEntityManager().getTransaction().commit();

        assertTrue(getDbHelper().getBoolean(
                "PropertyDefaultsPrimitiveEntity",
                "primitiveBoolean"));
        assertEquals(2, getDbHelper().getInt(
                "PropertyDefaultsPrimitiveEntity",
                "primitiveShort"));
        assertEquals(3, getDbHelper().getInt(
                "PropertyDefaultsPrimitiveEntity",
                "primitiveByte"));
        assertEquals(4, getDbHelper().getInt(
                "PropertyDefaultsPrimitiveEntity",
                "primitiveInt"));
        assertEquals("a", getDbHelper().getObject(
                "PropertyDefaultsPrimitiveEntity",
                "primitiveChar"));
        assertEquals(1234567890l, getDbHelper().getLong(
                "PropertyDefaultsPrimitiveEntity",
                "primitiveLong"));
        assertEquals(5.5d, getDbHelper().getDouble(
                "PropertyDefaultsPrimitiveEntity",
                "primitiveFloat"));
        assertEquals(6.5d, getDbHelper().getDouble(
                "PropertyDefaultsPrimitiveEntity",
                "primitiveDouble"));
    }

    public void testDatesDefaults() throws Exception {
        getDbHelper().deleteAll("PropertyDefaultsDatesEntity");

        java.util.Date utilDate = new java.util.Date(System.currentTimeMillis() - 1000);
        java.util.Calendar calendar = new java.util.GregorianCalendar();

        java.sql.Date sqlDate = new java.sql.Date(new GregorianCalendar(2005, 4, 3)
                .getTimeInMillis());

        Calendar timeCal = new GregorianCalendar();
        timeCal.clear();
        timeCal.set(Calendar.HOUR_OF_DAY, 4);
        timeCal.set(Calendar.MINUTE, 44);
        timeCal.set(Calendar.SECOND, 32);
        Time time = new Time(timeCal.getTimeInMillis());
        Timestamp timestamp = new Timestamp(utilDate.getTime() - 50);

        PropertyDefaultsDatesEntity o1 = new PropertyDefaultsDatesEntity();
        o1.setUtilDate(utilDate);
        o1.setCalendar(calendar);
        o1.setSqlDate(sqlDate);
        o1.setSqlTime(time);
        o1.setSqlTimestamp(timestamp);

        getEntityManager().persist(o1);
        getEntityManager().getTransaction().commit();

        assertEquals(utilDate, getDbHelper().getUtilDate(
                "PropertyDefaultsDatesEntity",
                "utilDate"));
        assertEquals(calendar.getTimeInMillis(), getDbHelper().getTimestamp(
                "PropertyDefaultsDatesEntity",
                "calendar").getTime());
        assertEquals(sqlDate, getDbHelper().getSqlDate(
                "PropertyDefaultsDatesEntity",
                "sqlDate"));
        assertEquals(time, getDbHelper()
                .getTime("PropertyDefaultsDatesEntity", "sqlTime"));
        assertEquals(timestamp, getDbHelper().getTimestamp(
                "PropertyDefaultsDatesEntity",
                "sqlTimestamp"));
    }

    public void testOtherDefaults() throws Exception {
        getDbHelper().deleteAll("PropertyDefaultsOtherEntity");

        PropertyDefaultsOtherEntity o1 = new PropertyDefaultsOtherEntity();
        o1.setString("abc");
        o1.setBigInt(new BigInteger("2"));
        o1.setBigDecimal(new BigDecimal("3.5"));
        o1.setByteArray(new byte[] {
                1, 2
        });
        o1.setByteWrapperArray(new Byte[] {
                new Byte("1"), new Byte("2")
        });

        o1.setCharArray(new char[] {
                'a', 'b'
        });
        o1.setCharWrapperArray(new Character[] {
                new Character('a'), new Character('b')
        });

        o1.setEnumType(EnumType.b);
        o1.setSerializableType(new SerializableType("c"));

        getEntityManager().persist(o1);
        getEntityManager().getTransaction().commit();

        assertEquals("abc", getDbHelper().getObject(
                "PropertyDefaultsOtherEntity",
                "string"));
        assertEquals(2, getDbHelper().getInt("PropertyDefaultsOtherEntity", "bigInt"));
        assertEquals(3.5d, getDbHelper().getDouble(
                "PropertyDefaultsOtherEntity",
                "bigDecimal"));

        byte[] b1 = getDbHelper().getBytes("PropertyDefaultsOtherEntity", "byteArray");
        assertNotNull(b1);
        assertEquals(2, b1.length);
        assertEquals((byte) 1, b1[0]);
        assertEquals((byte) 2, b1[1]);

        byte[] b2 = getDbHelper().getBytes(
                "PropertyDefaultsOtherEntity",
                "byteWrapperArray");
        assertNotNull(b2);
        assertEquals(2, b2.length);
        assertEquals((byte) 1, b2[0]);
        assertEquals((byte) 2, b2[1]);

        assertEquals("ab", getDbHelper().getObject(
                "PropertyDefaultsOtherEntity",
                "charArray"));

        assertEquals("ab", getDbHelper().getObject(
                "PropertyDefaultsOtherEntity",
                "charWrapperArray"));
        assertEquals(1, getDbHelper().getInt("PropertyDefaultsOtherEntity", "enumType"));

        byte[] ser = getDbHelper().getBytes(
                "PropertyDefaultsOtherEntity",
                "serializableType");
        assertNotNull(ser);
        SerializableType so = (SerializableType) new ObjectInputStream(
                new ByteArrayInputStream(ser)).readObject();
        assertNotNull(so);
        assertEquals("c", so.getKey());
    }
}
TOP

Related Classes of org.apache.cayenne.jpa.itest.ch2._2_1_6_MappingDefaultsNonRelationshipTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.