Author: bleny Date: 2010-12-21 09:50:46 +0000 (Tue, 21 Dec 2010) New Revision: 841 Log: migrate code to 2.0 as next version Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContext.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 2010-12-20 16:38:59 UTC (rev 840) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2010-12-21 09:50:46 UTC (rev 841) @@ -580,7 +580,7 @@ } @Override - protected void addColumnsForObsProgram_1_7(List<String> queries) { + protected void addColumnsForObsProgram_2_0(List<String> queries) { queries.add("ALTER TABLE Contact ADD obsProgramOrdinal SMALLINT;"); queries.add("ALTER TABLE SampleRow ADD obsProgramOrdinal SMALLINT;"); @@ -592,7 +592,7 @@ } @Override - protected void createTableUserProfile_1_7(List<String> queries) { + protected void createTableUserProfile_2_0(List<String> queries) { queries.add("CREATE TABLE UserProfile (" + "topiaId CHARACTER VARYING(255) PRIMARY KEY," + "topiaVersion BIGINT NOT NULL," + @@ -606,7 +606,7 @@ } @Override - protected void migrateFromUserRoleToUserProfile_1_7(TopiaContextImplementor tx, List<String> queries) throws TopiaException { + protected void migrateFromUserRoleToUserProfile_2_0(TopiaContextImplementor tx, List<String> queries) throws TopiaException { SQLQuery query = tx.getHibernate(). createSQLQuery("SELECT topiaId, role, roleReadOnly FROM WaoUser;"); @@ -645,13 +645,13 @@ } @Override - protected void removeUserRolesColumns_1_7(List<String> queries) { + protected void removeUserRolesColumns_2_0(List<String> queries) { queries.add("ALTER TABLE WaoUser DROP COLUMN role;"); queries.add("ALTER TABLE WaoUser DROP COLUMN roleReadOnly;"); } @Override - protected void addMultipleObserversInContact_1_7(List<String> queries) { + protected void addMultipleObserversInContact_2_0(List<String> queries) { queries.add("ALTER TABLE Contact RENAME observer TO mainObserver"); queries.add("CREATE TABLE Contact_SecondaryObservers (" + "Contact character varying(255) NOT NULL," + @@ -661,4 +661,27 @@ "CONSTRAINT SecondaryObservers_fkey FOREIGN KEY (SecondaryObservers) " + "REFERENCES WaoUser (topiaid));"); } + + @Override + protected void addAdminRolesToAdmin_2_0(TopiaContextImplementor tx, List<String> queries) throws TopiaException { + SQLQuery query = tx.getHibernate(). + createSQLQuery("SELECT topiaId FROM WaoUser WHERE login='admin';"); + + Object result = query.uniqueResult(); + String adminTopiaId = (String) result; + + String topiaCreateDateValue = "DATE '2010-12-20'"; + + String sql = String.format("INSERT INTO UserProfile (topiaId, topiaVersion, topiaCreateDate, waoUser, obsProgramOrdinal, userRoleOrdinal, canWrite) " + + "VALUES ('%s', %s, %s, '%s', %s, %s, %s);", + "fr.ifremer.wao.entities.UserProfile#1292868645000#1042143857", + 0, + topiaCreateDateValue, + adminTopiaId, + ObsProgram.OBSVENTE.ordinal(), + UserRole.ADMIN.ordinal(), + true); + + queries.add(sql); + } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContext.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContext.java 2010-12-20 16:38:59 UTC (rev 840) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContext.java 2010-12-21 09:50:46 UTC (rev 841) @@ -117,7 +117,6 @@ * @param entity * @return boolean */ - @Deprecated <E extends TopiaEntity> boolean prepareTopiaId(Class<E> entityClass, E entity); Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2010-12-20 16:38:59 UTC (rev 840) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2010-12-21 09:50:46 UTC (rev 841) @@ -105,16 +105,18 @@ protected abstract void removeCodeDCF5columnFromProfession_1_6(List<String> queries); - protected abstract void addColumnsForObsProgram_1_7(List<String> queries); + protected abstract void addColumnsForObsProgram_2_0(List<String> queries); - protected abstract void createTableUserProfile_1_7(List<String> queries); + protected abstract void createTableUserProfile_2_0(List<String> queries); - protected abstract void migrateFromUserRoleToUserProfile_1_7(TopiaContextImplementor tx, List<String> queries) throws TopiaException; + protected abstract void migrateFromUserRoleToUserProfile_2_0(TopiaContextImplementor tx, List<String> queries) throws TopiaException; - protected abstract void removeUserRolesColumns_1_7(List<String> queries); + protected abstract void removeUserRolesColumns_2_0(List<String> queries); - protected abstract void addMultipleObserversInContact_1_7(List<String> queries); + protected abstract void addMultipleObserversInContact_2_0(List<String> queries); + protected abstract void addAdminRolesToAdmin_2_0(TopiaContextImplementor tx, List<String> queries) throws TopiaException; + protected static final Version[] VERSIONS = new Version[] { VersionUtil.valueOf("1.0"), VersionUtil.valueOf("1.1"), @@ -123,7 +125,7 @@ VersionUtil.valueOf("1.4"), VersionUtil.valueOf("1.5"), VersionUtil.valueOf("1.6"), - VersionUtil.valueOf("1.7") + VersionUtil.valueOf("2.0") }; @Override @@ -399,22 +401,24 @@ return result; } - public void migrateTo_1_7(TopiaContextImplementor tx, + public void migrateTo_2_0(TopiaContextImplementor tx, boolean showSql, boolean showProgression) throws TopiaException { List<String> queries = new LinkedList<String>(); - addColumnsForObsProgram_1_7(queries); + addColumnsForObsProgram_2_0(queries); - createTableUserProfile_1_7(queries); + createTableUserProfile_2_0(queries); - migrateFromUserRoleToUserProfile_1_7(tx, queries); + migrateFromUserRoleToUserProfile_2_0(tx, queries); - removeUserRolesColumns_1_7(queries); + removeUserRolesColumns_2_0(queries); - addMultipleObserversInContact_1_7(queries); + addMultipleObserversInContact_2_0(queries); + addAdminRolesToAdmin_2_0(tx, queries); + String[] strings = queries.toArray(new String[queries.size()]); executeSQL(tx, true, true, strings); } Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ)