Author: bleny Date: 2011-01-14 15:46:02 +0000 (Fri, 14 Jan 2011) New Revision: 920 Log: start adding TerrestrialLocation reference Added: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/LocationType.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java trunk/wao-business/src/main/xmi/wao.zargo Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-01-14 08:45:45 UTC (rev 919) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-01-14 15:46:02 UTC (rev 920) @@ -703,4 +703,40 @@ queries.add("ALTER TABLE Contact ADD completeSampling BOOLEAN;"); } + + @Override + protected void addTerrestrialLocationOnSampleRowAndContact_2_0(List<String> queries) { + queries.add("CREATE TABLE TerrestrialLocation (" + + "topiaId CHARACTER VARYING(255) PRIMARY KEY," + + "topiaVersion BIGINT NOT NULL," + + "topiaCreateDate TIMESTAMP WITHOUT TIME ZONE NOT NULL," + + "locationTypeOrdinal SMALLINT," + + "code CHARACTER VARYING(255)," + + "name CHARACTER VARYING(255)," + + "portCode CHARACTER VARYING(255)," + + "portName CHARACTER VARYING(255)," + + "districtCode CHARACTER VARYING(255)," + + "districtName CHARACTER VARYING(255)," + + "departmentCode CHARACTER VARYING(255)," + + "departmentName CHARACTER VARYING(255)," + + "subRegionIfremerCode CHARACTER VARYING(255)," + + "subRegionIfremerName CHARACTER VARYING(255)," + + "regionIfremerCode CHARACTER VARYING(255)," + + "regionIfremerName CHARACTER VARYING(255)," + + "regionCode CHARACTER VARYING(255)," + + "regionName CHARACTER VARYING(255)," + + "regionTypeCode CHARACTER VARYING(255)," + + "regionTypeName CHARACTER VARYING(255)," + + "countryCode CHARACTER VARYING(255)," + + "countryName CHARACTER VARYING(255)," + + "seaboardCode CHARACTER VARYING(255)," + + "seaboardName CHARACTER VARYING(255)," + + "coastFAOCode CHARACTER VARYING(255)," + + "coastFAOName CHARACTER VARYING(255))"); + + queries.add("ALTER TABLE SampleRow ADD terrestrialLocation CHARACTER VARYING(255) NOT NULL;"); + queries.add("ALTER TABLE SampleRow ADD CONSTRAINT TerrestrialLocation_fkey FOREIGN KEY (terrestrialLocation) REFERENCES TerrestrialLocation(topiaId);"); + queries.add("ALTER TABLE Contact ADD terrestrialLocation CHARACTER VARYING(255) NOT NULL;"); + queries.add("ALTER TABLE Contact ADD CONSTRAINT TerrestrialLocation_fkey FOREIGN KEY (terrestrialLocation) REFERENCES TerrestrialLocation(topiaId);"); + } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-01-14 08:45:45 UTC (rev 919) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-01-14 15:46:02 UTC (rev 920) @@ -121,6 +121,8 @@ protected abstract void addSampleRowAndContactsObsVenteColumns_2_0(List<String> queries); + protected abstract void addTerrestrialLocationOnSampleRowAndContact_2_0(List<String> queries); + protected static final Version[] VERSIONS = new Version[] { VersionUtil.valueOf("1.0"), VersionUtil.valueOf("1.1"), @@ -427,6 +429,8 @@ addSampleRowAndContactsObsVenteColumns_2_0(queries); + addTerrestrialLocationOnSampleRowAndContact_2_0(queries); + String[] strings = queries.toArray(new String[queries.size()]); executeSQL(tx, true, true, strings); } Added: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/LocationType.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/LocationType.java (rev 0) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/LocationType.java 2011-01-14 15:46:02 UTC (rev 920) @@ -0,0 +1,26 @@ +package fr.ifremer.wao.bean; + +import static org.nuiton.i18n.I18n.n_; + +public enum LocationType { + + PORT(n_("LocationType.PORT")), + AUCTION(n_("LocationType.AUCTION")); + + protected String i18nKey; + + LocationType(String i18nKey) { + this.i18nKey = i18nKey; + } + + public static LocationType valueOf(Integer locationTypeOrdinal) { + if (locationTypeOrdinal != null) { + for (LocationType locationType : LocationType.values()) { + if (locationType.ordinal() == locationTypeOrdinal) { + return locationType; + } + } + } + return null; + } +} Added: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java (rev 0) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java 2011-01-14 15:46:02 UTC (rev 920) @@ -0,0 +1,20 @@ +package fr.ifremer.wao.entity; + +import fr.ifremer.wao.bean.LocationType; + +public class TerrestrialLocationImpl extends TerrestrialLocationAbstract { + + @Override + public LocationType getLocationType() { + return LocationType.valueOf(getLocationTypeOrdinal()); + } + + @Override + public void setLocationType(LocationType locationType) { + if (locationType == null) { + setLocationTypeOrdinal(null); + } else { + setLocationTypeOrdinal(locationType.ordinal()); + } + } +} Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ)