r1165 - in trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase: . command
Author: tchemit Date: 2014-03-24 10:23:51 +0100 (Mon, 24 Mar 2014) New Revision: 1165 Url: http://forge.codelutin.com/projects/coser/repository/revisions/1165 Log: fix echobase requests Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/EchoBasePredicates.java trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/EchoBaseResultRepository.java trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/command/AbstractEchoBaseCommand.java trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/command/GetCommunityIndicatorResultDataCommand.java trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/command/GetSpeciesListForCommunityIndicatorResultCommand.java Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/EchoBasePredicates.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/EchoBasePredicates.java 2014-03-23 16:18:56 UTC (rev 1164) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/EchoBasePredicates.java 2014-03-24 09:23:51 UTC (rev 1165) @@ -83,7 +83,7 @@ @Override public boolean apply(String[] input) { - String speciesCode = input[3]; + String speciesCode = input[2]; boolean result = species.contains(speciesCode); return result; } @@ -117,7 +117,7 @@ @Override public boolean apply(String[] input) { - String speciesCode = input[3]; + String speciesCode = input[2]; boolean result = species.contains(speciesCode); return result; } Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/EchoBaseResultRepository.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/EchoBaseResultRepository.java 2014-03-23 16:18:56 UTC (rev 1164) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/EchoBaseResultRepository.java 2014-03-24 09:23:51 UTC (rev 1165) @@ -195,15 +195,18 @@ public boolean matchExtractTypeList(CoserRequestExtractTypeListAware request) { boolean result = false; - if (isMapsResult()) { - result = request.getExtractTypeList().contains(DataType.MAP); - } else if (isIndicatorsResult()) { - result = request.getExtractTypeList().contains(DataType.POPULATION) || - request.getExtractTypeList().contains(DataType.COMMUNITY); + List<DataType> extractTypeList = request.getExtractTypeList(); + if (extractTypeList.contains(DataType.MAP)) { + result = isMapsResult(); } - if (!result && isDataResult()) { - result = request.getExtractTypeList().contains(DataType.SOURCE); + + if (!result && (extractTypeList.contains(DataType.POPULATION) || + extractTypeList.contains(DataType.COMMUNITY))) { + result = isIndicatorsResult(); } + if (!result && extractTypeList.contains(DataType.SOURCE)) { + result = isDataResult(); + } return result; } @@ -264,14 +267,14 @@ public DataStorage getPopulationIndicatorStorage() { File file = project.getPopulationIndicatorsFile(); - // Campagne Indicateur Liste Espece Strate Annee Estimation EcartType CV + // Campagne;Indicateur;Espece;Strate;Annee;Estimation;EcartType;CV DataStorage result = DataStorages.load(file); return result; } public DataStorage getCommunityIndicatorStorage() { File file = project.getCommunityIndicatorsFile(); - // Campagne Indicateur Liste Espece Strate Annee Estimation EcartType CV + // Campagne;Indicateur;Espece;Strate;Annee;Estimation;EcartType;CV DataStorage result = DataStorages.load(file); return result; } Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/command/AbstractEchoBaseCommand.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/command/AbstractEchoBaseCommand.java 2014-03-23 16:18:56 UTC (rev 1164) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/command/AbstractEchoBaseCommand.java 2014-03-24 09:23:51 UTC (rev 1165) @@ -118,7 +118,8 @@ return result; } - protected ExtractRawDataAndResultsResult newExtractRawDataAndResultsResult(MultiKeyMap<String, File> pdfMaps, MultiKeyMap<String, Pair<File, String>> pdfCharts) { + protected ExtractRawDataAndResultsResult newExtractRawDataAndResultsResult(MultiKeyMap<String, File> pdfMaps, + MultiKeyMap<String, Pair<File, String>> pdfCharts) { ExtractRawDataAndResultsResult result = new ExtractRawDataAndResultsResult( repository.getId(), pdfMaps, pdfCharts); return result; @@ -134,7 +135,7 @@ DataStorageWalker walker = new DataStorageWalker() { @Override public void onRow(String... tuple) { - String speciesCode = tuple[3]; + String speciesCode = tuple[2]; result.add(speciesCode); } }; @@ -148,7 +149,7 @@ DataStorageWalker walker = new DataStorageWalker() { @Override public void onRow(String... tuple) { - String speciesCode = tuple[3]; + String speciesCode = tuple[2]; speciesList.add(speciesCode); } }; @@ -163,7 +164,7 @@ DataStorageWalker walker = new DataStorageWalker() { @Override public void onRow(String... tuple) { - String speciesCode = tuple[3]; + String speciesCode = tuple[2]; speciesList.add(speciesCode); } }; @@ -172,6 +173,21 @@ return result; } + protected Map<String, String> getCommunitySpeciesMap(String indicator) { + final Set<String> speciesList = Sets.newHashSet(); + + DataStorageWalker walker = new DataStorageWalker() { + @Override + public void onRow(String... tuple) { + String speciesCode = tuple[2]; + speciesList.add(speciesCode); + } + }; + walkOnCommunity(EchoBasePredicates.communityIndicatorPredicate(indicator),walker); + Map<String, String> result = repository.getSpeciesMap().getSpeciesSubMap(speciesList); + return result; + } + protected Map<String, String> getMapSpeciesMap() { Map<String, String> result = repository.getMapSpecies(); return result; @@ -300,6 +316,11 @@ Charts.ExtractGraphDataWalker walker = new Charts.ExtractGraphDataWalker() { @Override + protected String getYearData(String... tuple) { + return tuple[4]; + } + + @Override protected String getEstimationData(String... tuple) { return tuple[5]; } @@ -308,11 +329,6 @@ protected String getEcartData(String... tuple) { return tuple[6]; } - - @Override - protected String getYearData(String... tuple) { - return tuple[4]; - } }; walkOnCommunity(predicate, walker); @@ -344,18 +360,18 @@ Charts.ExtractGraphDataWalker walker = new Charts.ExtractGraphDataWalker() { @Override - protected String getEstimationData(String... tuple) { - return tuple[6]; + protected String getYearData(String... tuple) { + return tuple[4]; } @Override - protected String getEcartData(String... tuple) { - return tuple[7]; + protected String getEstimationData(String... tuple) { + return tuple[5]; } @Override - protected String getYearData(String... tuple) { - return tuple[5]; + protected String getEcartData(String... tuple) { + return tuple[6]; } }; walkOnPopulation(predicate, walker); Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/command/GetCommunityIndicatorResultDataCommand.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/command/GetCommunityIndicatorResultDataCommand.java 2014-03-23 16:18:56 UTC (rev 1164) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/command/GetCommunityIndicatorResultDataCommand.java 2014-03-24 09:23:51 UTC (rev 1165) @@ -85,21 +85,6 @@ FileUtils.copyFile(csvFile, csvFileCopied); FileUtils.forceDelete(csvFile); - //TODO See what to generate here (we don't have any selection in echobase results). -// // ajout du fichier d'information sur les espèces incluses dans -// // les calculs des indicateurs de communautés -// // load project (without data to get reftax data) -// Project project = path.getProject(); -// Selection selection = path.getSelection(); -// File metaFile = webService.generateMetaFilePDF(project, -// selection, -// resultDirectory, -// rSufiResult, -// indicator, -// locale); -// File metaFileCopied = new File(baseDir, "Information.pdf"); -// FileUtils.copyFile(metaFile, metaFileCopied); - // make zip File result = File.createTempFile("coser-chart-community-indicator", ".zip"); result.deleteOnExit(); Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/command/GetSpeciesListForCommunityIndicatorResultCommand.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/command/GetSpeciesListForCommunityIndicatorResultCommand.java 2014-03-23 16:18:56 UTC (rev 1164) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/result/repository/echobase/command/GetSpeciesListForCommunityIndicatorResultCommand.java 2014-03-24 09:23:51 UTC (rev 1165) @@ -53,7 +53,7 @@ @Override public MapResult execute(GetSpeciesListForCommunityIndicatorResultRequest request) { - Map<String, String> map = getCommunitySpeciesMap(); + Map<String, String> map = getCommunitySpeciesMap(request.getIndicator()); MapResult result = newMapResult(map); return result;
participants (1)
-
tchemit@users.forge.codelutin.com