r3419 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher
Author: chatellier Date: 2011-06-17 12:13:36 +0000 (Fri, 17 Jun 2011) New Revision: 3419 Log: Fix preparation zip creation (including community scripts) Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2011-06-17 09:41:30 UTC (rev 3418) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2011-06-17 12:13:36 UTC (rev 3419) @@ -74,6 +74,7 @@ import fr.ifremer.isisfish.datastore.RuleStorage; import fr.ifremer.isisfish.datastore.ScriptStorage; import fr.ifremer.isisfish.datastore.SensitivityExportStorage; +import fr.ifremer.isisfish.datastore.SensitivityStorage; import fr.ifremer.isisfish.datastore.SimulationStorage; import fr.ifremer.isisfish.datastore.SimulatorStorage; import fr.ifremer.isisfish.export.SensitivityExport; @@ -1115,16 +1116,21 @@ List<Rule> rules = param.getRules(); for (Rule rule : rules) { String name = RuleStorage.getName(rule); - FileUtil.copy(new File(RuleStorage.getRuleDirectory(), name - + ".java"), - new File(tmpDirectory, RuleStorage.RULE_PATH + File ruleFile = new File(RuleStorage.getRuleDirectory(), name + ".java"); + if (!ruleFile.isFile()) { + ruleFile = new File(RuleStorage.getCommunityRuleDirectory(), name + ".java"); + } + FileUtil.copy(ruleFile, new File(tmpDirectory, RuleStorage.RULE_PATH + File.separator + name + ".java")); } + // copie des regles reclamées par les plans d'analyse for (String name : param.getExtraRules()) { - FileUtil.copy(new File(RuleStorage.getRuleDirectory(), name - + ".java"), - new File(tmpDirectory, RuleStorage.RULE_PATH + File ruleFile = new File(RuleStorage.getRuleDirectory(), name + ".java"); + if (!ruleFile.isFile()) { + ruleFile = new File(RuleStorage.getCommunityRuleDirectory(), name + ".java"); + } + FileUtil.copy(ruleFile, new File(tmpDirectory, RuleStorage.RULE_PATH + File.separator + name + ".java")); } @@ -1132,17 +1138,22 @@ List<AnalysePlan> plans = param.getAnalysePlans(); for (AnalysePlan plan : plans) { String name = AnalysePlanStorage.getName(plan); - FileUtil.copy(new File(AnalysePlanStorage - .getAnalysePlanDirectory(), name + ".java"), new File( - tmpDirectory, AnalysePlanStorage.ANALYSE_PLAN_PATH + File planFile = new File(AnalysePlanStorage.getAnalysePlanDirectory(), name + ".java"); + if (!planFile.isFile()) { + planFile = new File(AnalysePlanStorage.getCommunityAnalysePlanDirectory(), name + ".java"); + } + FileUtil.copy(planFile, new File(tmpDirectory, AnalysePlanStorage.ANALYSE_PLAN_PATH + File.separator + name + ".java")); } // copie de tous les exports a utiliser for (String name : param.getExportNames()) { name = name.endsWith(".java") ? name : name + ".java"; - FileUtil.copy( - new File(ExportStorage.getExportDirectory(), name), + File exportFile = new File(ExportStorage.getExportDirectory(), name); + if (!exportFile.isFile()) { + exportFile = new File(ExportStorage.getCommunityExportDirectory(), name); + } + FileUtil.copy(exportFile, new File(tmpDirectory, ExportStorage.EXPORT_PATH + File.separator + name)); } @@ -1151,24 +1162,33 @@ for (SensitivityExport sensitivity : param.getSensitivityExport()) { String name = SensitivityExportStorage.getName(sensitivity); name = name.endsWith(".java") ? name : name + ".java"; - FileUtil.copy( - new File(SensitivityExportStorage.getSensitivityExportDirectory(), name), + File sensitivityFile = new File(SensitivityExportStorage.getSensitivityExportDirectory(), name); + if (!sensitivityFile.isFile()) { + sensitivityFile = new File(SensitivityExportStorage.getCommunitySensitivityExportDirectory(), name); + } + FileUtil.copy(sensitivityFile, new File(tmpDirectory, SensitivityExportStorage.SENSITIVITY_EXPORT_PATH + File.separator + name)); } // copie de tous les scripts a utiliser + // les script officiel prevalent sur les scripts communautés + FileUtil.copyRecursively(ScriptStorage.getCommunityScriptDirectory(), + tmpDirectory, ".*\\.java$"); FileUtil.copyRecursively(ScriptStorage.getScriptDirectory(), tmpDirectory, ".*\\.java$"); // copie de tous les simulateurs a utiliser - FileUtil.copy(new File(SimulatorStorage.getSimulatorDirectory(), - param.getSimulatorName()), new File(tmpDirectory, + File simulatorFile = new File(SimulatorStorage.getSimulatorDirectory(), param.getSimulatorName()); + if (!simulatorFile.isFile()) { + simulatorFile = new File(SimulatorStorage.getCommunitySimulatorDirectory(), param.getSimulatorName()); + } + FileUtil.copy(simulatorFile, new File(tmpDirectory, SimulatorStorage.SIMULATOR_PATH + File.separator + param.getSimulatorName())); // convert all file to UTF-8 - convertAllFile(control, tmpDirectory); + //convertAllFile(control, tmpDirectory); if (compile) { compileAllFile(control, tmpDirectory); @@ -1201,14 +1221,14 @@ } - /** + /* * Convertit tous les fichiers du répertoire directory en UTF-8, * pour eviter les erreurs d'encodage du la compilation * sur un autre systeme ne supportant pas l'encodage courant. * * @param control le controleur * @param directory le répertoire a convertir - */ + * protected void convertAllFile(SimulationControl control, File directory) { control.setText("Converting file to unicode"); @@ -1240,9 +1260,8 @@ // Convertion // //CompileHelper.convertToUnicode(fileToConvert); + }*/ - } - /** * Compile les fichiers présent dans le répertoire passé en * parametre, ce répertoire est hiérarchisé en: rules, exports, simulators @@ -1268,27 +1287,21 @@ List<File> fileToCompile = new ArrayList<File>(); - List<File> tmp = FileUtil.find(new File(directory, - ExportStorage.EXPORT_PATH), ".*\\.java$", true); - fileToCompile.addAll(tmp); - - tmp = FileUtil.find(new File(directory, - SensitivityExportStorage.SENSITIVITY_EXPORT_PATH), ".*\\.java$", true); - fileToCompile.addAll(tmp); + String[] modules = { + AnalysePlanStorage.ANALYSE_PLAN_PATH, + ExportStorage.EXPORT_PATH, + RuleStorage.RULE_PATH, + SensitivityExportStorage.SENSITIVITY_EXPORT_PATH, + SensitivityStorage.SENSITIVITY_PATH, + ScriptStorage.SCRIPT_PATH, + SimulatorStorage.SIMULATOR_PATH + }; - tmp = FileUtil.find(new File(directory, RuleStorage.RULE_PATH), - ".*\\.java$", true); - fileToCompile.addAll(tmp); + for (String module : modules) { + List<File> tmp = FileUtil.find(new File(directory, module), ".*\\.java$", true); + fileToCompile.addAll(tmp); + } - tmp = FileUtil.find(new File(directory, - AnalysePlanStorage.ANALYSE_PLAN_PATH), ".*\\.java$", true); - fileToCompile.addAll(tmp); - - tmp = FileUtil.find( - new File(directory, SimulatorStorage.SIMULATOR_PATH), - ".*\\.java$", true); - fileToCompile.addAll(tmp); - // // Compilation //
participants (1)
-
chatellier@users.labs.libre-entreprise.org