package org.hivedb.util.database.test; import org.hivedb.Schema; import org.hivedb.meta.persistence.TableInfo; import java.util.Arrays; import java.util.Collection; public class WeatherSchema extends Schema { private static WeatherSchema INSTANCE = new WeatherSchema(); private WeatherSchema(){ super("WeatherReport"); } @Override public Collection<TableInfo> getTables(String uri) { return Arrays.asList(new TableInfo("WEATHER_REPORT", "CREATE TABLE WEATHER_REPORT (" + "REPORT_ID VARCHAR(50) NOT NULL PRIMARY KEY," + "CONTINENT VARCHAR(50)," + "REGION_CODE INT," + "LATITUDE DOUBLE," + "LONGITUDE DOUBLE," + "TEMPERATURE INT," + "TYPE VARCHAR(255)," + "REPORT_TIME TIMESTAMP);"), // Demonstrates a primitive indexed collection new TableInfo("WEATHER_REPORT_SOURCE", "CREATE TABLE WEATHER_REPORT_SOURCE (" + "REPORT_ID INT NOT NULL ," + "SOURCE INT);"), // Demonstrates a complex indexed collection (one-to-many) new TableInfo("WEATHER_EVENT", "CREATE TABLE WEATHER_EVENT (" + "EVENT_ID INT NOT NULL ," + "REPORT_ID INT NOT NULL ," + "TYPE VARCHAR(255) ," + "NAME VARCHAR(50));"), // Demonstrates an unindexed data table of an non-entity class (WeatherEvent) new TableInfo("EVENT_STATISTIC", "CREATE TABLE EVENT_STATISTIC (" + "EVENT_ID INT NOT NULL," + "STAT INT);")); } public static WeatherSchema getInstance() { return INSTANCE; } }