Author: tchemit Date: 2012-01-12 19:00:45 +0100 (Thu, 12 Jan 2012) New Revision: 267 Url: http://forge.codelutin.com/repositories/revision/echobase/267 Log: Anomalie #722: L'import gloabale de la base ne charge pas les associations *-* Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-01-12 16:44:40 UTC (rev 266) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-01-12 18:00:45 UTC (rev 267) @@ -244,6 +244,16 @@ } } + protected String getNormalizedTableName(String table1, String table2) { + String result; + if (table1.compareTo(table2) > 0) { + result = table2 + "_" + table1; + } else { + result = table1 + "_" + table2; + } + return result; + } + protected void importAssociationfile(AssociationMeta meta, ImportToMap importer, CsvImportResult csvResult) throws TopiaException { @@ -258,12 +268,11 @@ String sourceTableName = source.getContract().getSimpleName(); String table = targetTableName; if (source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Echotype || - source == EchoBaseEntityEnum.Echotype && target == EchoBaseEntityEnum.Species) { - table = sourceTableName + "_" + targetTableName; - updateString = "UPDATE " + table + " SET " + sourceTableName + " = '%s' WHERE " + meta.getName() + " ='%s';"; - } else if (source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Strata) { - table = targetTableName + "_" + source.getContract().getSimpleName(); - updateString = "UPDATE " + table + " SET " + sourceTableName + " = '%s' WHERE " + meta.getName() + " ='%s';"; + source == EchoBaseEntityEnum.Echotype && target == EchoBaseEntityEnum.Species || + source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Strata) { + // relation *-* + table = getNormalizedTableName(sourceTableName, targetTableName); + updateString = "INSERT INTO " + table + " (" + sourceTableName + "," + targetTableName + ") VALUES('%s','%s');"; } else { updateString = "UPDATE " + table + " SET " + sourceTableName + " = '%s' WHERE topiaId ='%s';"; }
participants (1)
-
tchemit@users.forge.codelutin.com