Search in sources :

Example 41 with DataRow

use of org.apache.cayenne.DataRow in project cayenne by apache.

the class ReturnTypesMappingIT method testCLOB.

@Test
public void testCLOB() throws Exception {
    if (unitDbAdapter.supportsLobs()) {
        String columnName = "CLOB_COLUMN";
        ReturnTypesMapLobs1 test = context.newObject(ReturnTypesMapLobs1.class);
        StringBuffer buffer = new StringBuffer();
        for (int i = 0; i < 10000; i++) {
            buffer.append("CLOB very large string for tests!!!!\n");
        }
        String clobValue = buffer.toString();
        test.setClobColumn(clobValue);
        context.commitChanges();
        DataRow testRead = (DataRow) context.performQuery(MappedSelect.query("SelectReturnTypesLobsMap1")).get(0);
        Object columnValue = testRead.get(columnName);
        if (columnValue == null && testRead.containsKey(columnName.toLowerCase())) {
            columnValue = testRead.get(columnName.toLowerCase());
        }
        assertNotNull(columnValue);
        assertEquals(String.class, columnValue.getClass());
        assertEquals(clobValue, columnValue);
    }
}
Also used : ReturnTypesMapLobs1(org.apache.cayenne.testdo.return_types.ReturnTypesMapLobs1) DataRow(org.apache.cayenne.DataRow) Test(org.junit.Test)

Example 42 with DataRow

use of org.apache.cayenne.DataRow in project cayenne by apache.

the class ReturnTypesMappingIT method testBIT.

@Test
public void testBIT() throws Exception {
    String columnName = "BIT_COLUMN";
    ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
    Boolean bitValue = true;
    test.setBitColumn(bitValue);
    context.commitChanges();
    DataRow testRead = (DataRow) context.performQuery(MappedSelect.query("SelectReturnTypesMap1")).get(0);
    Object columnValue = testRead.get(columnName);
    assertNotNull(columnValue);
    assertTrue(Boolean.class.equals(columnValue.getClass()) || Short.class.equals(columnValue.getClass()) || Integer.class.equals(columnValue.getClass()));
    assertTrue(bitValue.equals(columnValue) || ((Number) columnValue).intValue() == 1);
}
Also used : ReturnTypesMap1(org.apache.cayenne.testdo.return_types.ReturnTypesMap1) DataRow(org.apache.cayenne.DataRow) Test(org.junit.Test)

Example 43 with DataRow

use of org.apache.cayenne.DataRow in project cayenne by apache.

the class ReturnTypesMappingIT method testNCLOB.

@Test
public void testNCLOB() throws Exception {
    if (unitDbAdapter.supportsLobs()) {
        String columnName = "NCLOB_COLUMN";
        ReturnTypesMapLobs1 test = context.newObject(ReturnTypesMapLobs1.class);
        StringBuilder buffer = new StringBuilder();
        for (int i = 0; i < 1000; i++) {
            buffer.append("رودالف بیر و دد مک‌کرِیت درخت بی را زمانی که در شرکت بوئینگ [۱]، مشغول به کار بودند ابداع نمودند، اما حرف B واقعاً\" از کجا آمده؟ داگلاس کامر یک سری از احتمالات را پیشنهاد کرد:\n" + "\"Balanced,\" \"Broad,\" یا \"Bushy\" ممکن است استفاده شده‌باشند [چون همهٔ برگ‌ها در یک سطح قرار دارند]. دیگران اظهار داشتند که حرف \"B\" از کلمهٔ بوئینگ گرفته شده است [به این دلیل که پدیدآوردنده درسال 1972 در آزمایشگاه‌های تحقیقاتی علمی شرکت بوئینگ کار می‌کرد]. با این وجود پنداشتن درخت بی به عنوان درخت \"بِیِر\" نیز درخور است.[۲]");
        }
        String clobValue = buffer.toString();
        test.setNclobColumn(clobValue);
        context.commitChanges();
        DataRow testRead = (DataRow) context.performQuery(MappedSelect.query("SelectReturnTypesLobsMap1")).get(0);
        Object columnValue = testRead.get(columnName);
        if (columnValue == null && testRead.containsKey(columnName.toLowerCase())) {
            columnValue = testRead.get(columnName.toLowerCase());
        }
        assertNotNull(columnValue);
        assertEquals(String.class, columnValue.getClass());
        assertEquals(clobValue, columnValue);
    }
}
Also used : ReturnTypesMapLobs1(org.apache.cayenne.testdo.return_types.ReturnTypesMapLobs1) DataRow(org.apache.cayenne.DataRow) Test(org.junit.Test)

Example 44 with DataRow

use of org.apache.cayenne.DataRow in project cayenne by apache.

the class ReturnTypesMappingIT method testNUMERIC.

@Test
public void testNUMERIC() throws Exception {
    String columnName = "NUMERIC_COLUMN";
    ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
    BigDecimal numericValue = new BigDecimal("578438.57843");
    test.setNumericColumn(numericValue);
    context.commitChanges();
    DataRow testRead = (DataRow) context.performQuery(MappedSelect.query("SelectReturnTypesMap1")).get(0);
    Object columnValue = testRead.get(columnName);
    assertNotNull(columnValue);
    assertEquals(BigDecimal.class, columnValue.getClass());
    assertEquals(numericValue, columnValue);
}
Also used : ReturnTypesMap1(org.apache.cayenne.testdo.return_types.ReturnTypesMap1) DataRow(org.apache.cayenne.DataRow) BigDecimal(java.math.BigDecimal) Test(org.junit.Test)

Example 45 with DataRow

use of org.apache.cayenne.DataRow in project cayenne by apache.

the class ReturnTypesMappingIT method testDOUBLE.

@Test
public void testDOUBLE() throws Exception {
    String columnName = "DOUBLE_COLUMN";
    ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
    Double doubleValue = 3298.4349783d;
    test.setDoubleColumn(doubleValue);
    context.commitChanges();
    DataRow testRead = (DataRow) context.performQuery(MappedSelect.query("SelectReturnTypesMap1")).get(0);
    Object columnValue = testRead.get(columnName);
    assertNotNull(columnValue);
    if (unitDbAdapter.onlyGenericNumberType()) {
        assertEquals(BigDecimal.class, columnValue.getClass());
        assertEquals(BigDecimal.valueOf(doubleValue), columnValue);
    } else {
        assertEquals(Double.class, columnValue.getClass());
        assertEquals(doubleValue, columnValue);
    }
}
Also used : ReturnTypesMap1(org.apache.cayenne.testdo.return_types.ReturnTypesMap1) DataRow(org.apache.cayenne.DataRow) Test(org.junit.Test)

Aggregations

DataRow (org.apache.cayenne.DataRow)152 Test (org.junit.Test)113 Artist (org.apache.cayenne.testdo.testmap.Artist)31 ObjectId (org.apache.cayenne.ObjectId)25 DataObject (org.apache.cayenne.DataObject)20 ReturnTypesMap1 (org.apache.cayenne.testdo.return_types.ReturnTypesMap1)20 SQLTemplate (org.apache.cayenne.query.SQLTemplate)18 Date (java.util.Date)14 HashMap (java.util.HashMap)14 CayenneRuntimeException (org.apache.cayenne.CayenneRuntimeException)14 ClassDescriptor (org.apache.cayenne.reflect.ClassDescriptor)12 ArrayList (java.util.ArrayList)9 List (java.util.List)8 Persistent (org.apache.cayenne.Persistent)8 Painting (org.apache.cayenne.testdo.testmap.Painting)8 Connection (java.sql.Connection)6 Calendar (java.util.Calendar)5 Map (java.util.Map)5 QueryResponse (org.apache.cayenne.QueryResponse)5 DataMap (org.apache.cayenne.map.DataMap)5