import java.util.HashMap; | import java.util.HashMap; | ||||
import java.util.List; | import java.util.List; | ||||
import java.util.Map; | import java.util.Map; | ||||
import java.util.UUID; | |||||
import java.util.regex.Pattern; | import java.util.regex.Pattern; | ||||
import com.iciql.TableDefinition.FieldDefinition; | import com.iciql.TableDefinition.FieldDefinition; | ||||
m.put(java.sql.Date.class, "DATE"); | m.put(java.sql.Date.class, "DATE"); | ||||
m.put(java.sql.Time.class, "TIME"); | m.put(java.sql.Time.class, "TIME"); | ||||
m.put(byte[].class, "BLOB"); | m.put(byte[].class, "BLOB"); | ||||
m.put(UUID.class, "UUID"); | |||||
// map primitives | // map primitives | ||||
m.put(boolean.class, m.get(Boolean.class)); | m.put(boolean.class, m.get(Boolean.class)); |
sb.append("// unsupported type " + col.type); | sb.append("// unsupported type " + col.type); | ||||
} else { | } else { | ||||
// Imports | // Imports | ||||
// don't import byte [] | |||||
if (!clazz.equals(byte[].class)) { | |||||
// don't import primitives, java.lang classes, or byte [] | |||||
if (clazz.getPackage() == null) { | |||||
} else if (clazz.getPackage().getName().equals("java.lang")) { | |||||
} else if (clazz.equals(byte[].class)) { | |||||
} else { | |||||
imports.add(clazz.getCanonicalName()); | imports.add(clazz.getCanonicalName()); | ||||
} | } | ||||
// @IQColumn | // @IQColumn |
import java.util.IdentityHashMap; | import java.util.IdentityHashMap; | ||||
import java.util.List; | import java.util.List; | ||||
import java.util.Map; | import java.util.Map; | ||||
import java.util.UUID; | |||||
import java.util.concurrent.atomic.AtomicLong; | import java.util.concurrent.atomic.AtomicLong; | ||||
import com.iciql.Iciql.EnumId; | import com.iciql.Iciql.EnumId; | ||||
// enums can not be instantiated reflectively | // enums can not be instantiated reflectively | ||||
// return first constant as reference | // return first constant as reference | ||||
return clazz.getEnumConstants()[0]; | return clazz.getEnumConstants()[0]; | ||||
} else if (clazz == java.util.UUID.class) { | |||||
return (T) UUID.randomUUID(); | |||||
} else if (clazz == List.class) { | } else if (clazz == List.class) { | ||||
return (T) new ArrayList(); | return (T) new ArrayList(); | ||||
} | } |
*/ | */ | ||||
@RunWith(Suite.class) | @RunWith(Suite.class) | ||||
@SuiteClasses({ AliasMapTest.class, AnnotationsTest.class, BooleanModelTest.class, ClobTest.class, | @SuiteClasses({ AliasMapTest.class, AnnotationsTest.class, BooleanModelTest.class, ClobTest.class, | ||||
ConcurrencyTest.class, ModelsTest.class, SamplesTest.class, UpdateTest.class, RuntimeQueryTest.class, | |||||
StatementLoggerTest.class }) | |||||
ConcurrencyTest.class, ModelsTest.class, PrimitivesTest.class, RuntimeQueryTest.class, | |||||
SamplesTest.class, StatementLoggerTest.class, UpdateTest.class, UUIDTest.class }) | |||||
public class IciqlSuite { | public class IciqlSuite { | ||||
public static void assertStartsWith(String a, String b) { | public static void assertStartsWith(String a, String b) { |
true); | true); | ||||
assertEquals(1, models.size()); | assertEquals(1, models.size()); | ||||
// a poor test, but a start | // a poor test, but a start | ||||
assertEquals(1893, models.get(0).length()); | |||||
assertEquals(1697, models.get(0).length()); | |||||
} | } | ||||
@Test | @Test |
/* | |||||
* Copyright 2011 James Moger. | |||||
* | |||||
* Licensed 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 com.iciql.test; | |||||
import static org.junit.Assert.assertEquals; | |||||
import static org.junit.Assert.assertTrue; | |||||
import java.util.ArrayList; | |||||
import java.util.List; | |||||
import java.util.UUID; | |||||
import org.junit.After; | |||||
import org.junit.Before; | |||||
import org.junit.Test; | |||||
import com.iciql.Db; | |||||
import com.iciql.Iciql.IQColumn; | |||||
import com.iciql.Iciql.IQTable; | |||||
/** | |||||
* Tests if UUID type. | |||||
*/ | |||||
public class UUIDTest { | |||||
Db db; | |||||
@Before | |||||
public void setup() { | |||||
db = Db.open("jdbc:h2:mem:", "sa", "sa"); | |||||
} | |||||
@After | |||||
public void tearDown() { | |||||
db.close(); | |||||
} | |||||
@Test | |||||
public void testUUIDs() throws Exception { | |||||
List<UUIDRecord> originals = UUIDRecord.getList(); | |||||
db.insertAll(originals); | |||||
UUIDRecord u = new UUIDRecord(); | |||||
List<UUIDRecord> retrieved = db.from(u).orderBy(u.id).select(); | |||||
assertEquals(originals.size(), retrieved.size()); | |||||
for (int i = 0; i < originals.size(); i++) { | |||||
UUIDRecord a = originals.get(i); | |||||
UUIDRecord b = retrieved.get(i); | |||||
assertTrue(a.equivalentTo(b)); | |||||
} | |||||
UUIDRecord second = db.from(u).where(u.uuid).is(originals.get(1).uuid).selectFirst(); | |||||
assertTrue(originals.get(1).equivalentTo(second)); | |||||
} | |||||
/** | |||||
* A simple class used in this test. | |||||
*/ | |||||
@IQTable(name = "UUID_TEST") | |||||
public static class UUIDRecord { | |||||
@IQColumn(primaryKey = true) | |||||
public Integer id; | |||||
@IQColumn() | |||||
public UUID uuid; | |||||
public UUIDRecord() { | |||||
// public constructor | |||||
} | |||||
private UUIDRecord(int id) { | |||||
this.id = id; | |||||
this.uuid = UUID.randomUUID(); | |||||
} | |||||
public boolean equivalentTo(UUIDRecord b) { | |||||
boolean same = true; | |||||
same &= id == b.id; | |||||
same &= uuid.equals(b.uuid); | |||||
return same; | |||||
} | |||||
public String toString() { | |||||
return id + ": " + uuid; | |||||
} | |||||
public static List<UUIDRecord> getList() { | |||||
List<UUIDRecord> list = new ArrayList<UUIDRecord>(); | |||||
for (int i = 0; i < 10; i++) { | |||||
list.add(new UUIDRecord(i + 1)); | |||||
} | |||||
return list; | |||||
} | |||||
} | |||||
} |