r1776 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish: datastore ui/input ui/simulator ui/widget/editor util
Author: chatellier Date: 2009-02-03 10:40:26 +0000 (Tue, 03 Feb 2009) New Revision: 1776 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputAction.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/ParameterColumnEditor.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/TopiaEntityConverter.java Log: Toujours fermer les TopiaContext apr?\195?\168s les avoir ouvert !!! Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java 2009-02-03 10:39:29 UTC (rev 1775) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java 2009-02-03 10:40:26 UTC (rev 1776) @@ -496,27 +496,6 @@ } /** - * - * @return - * @throws fr.ifremer.isisfish.datastore.StorageException - * @deprecated ne plus utiliser car le context n'est jamais ferme, plutot - * utiliser {@link #getFisheryRegion(TopiaContext)} - */ - @Deprecated - public FisheryRegion getFisheryRegion() throws StorageException { - // FIXME voir si la methode est vraiment utilisée car le context n'est - // jamais fermé, ce qui est dérangeant - try { - TopiaContext tx = getStorage().beginTransaction(); - FisheryRegion result = getFisheryRegion(tx); - tx.commitTransaction(); - return result; - } catch (TopiaException eee) { - throw new StorageException(_("isisfish.error.get.fisheryRegion"), eee); - } - } - - /** * Retourne la {@link FisheryRegion} associee a cette simulation * @param context * @return @@ -651,8 +630,9 @@ try { - String oldRegionName = getFisheryRegion().getName(); - + TopiaContext tx = getStorage().beginTransaction(); + String oldRegionName = getFisheryRegion(tx).getName(); + // create a pseudo oldRegionName region tmpDir = FileUtil.createTempDirectory("extractRegionFromSimulation", ""); List<File> forZip = new ArrayList<File>(2); @@ -672,8 +652,13 @@ // import region with regionName as new name RegionStorage.importAndRenameZip(zipRegion, regionName); + + tx.commitTransaction(); + tx.closeContext(); } catch (IOException e) { throw new StorageException(e); + } catch (TopiaException e) { + throw new StorageException(e); } finally { if (tmpDir != null && !FileUtil.deleteRecursively(tmpDir)) { log.warn(_("isisfish.error.delete.file", tmpDir)); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputAction.java 2009-02-03 10:39:29 UTC (rev 1775) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputAction.java 2009-02-03 10:40:26 UTC (rev 1776) @@ -336,6 +336,8 @@ ui.setContextValue(regionStorage); ui.setContextValue(isisContext); ui.setContextValue(fisheryRegion); + isisContext.rollbackTransaction(); + isisContext.closeContext(); } } catch (Exception eee) { log.error("Can't load region", eee); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-02-03 10:39:29 UTC (rev 1775) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-02-03 10:40:26 UTC (rev 1776) @@ -40,6 +40,29 @@ package fr.ifremer.isisfish.ui.simulator; import static org.codelutin.i18n.I18n._; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.lang.reflect.Field; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.logging.Level; +import java.util.logging.Logger; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.codelutin.log.UserLog; +import org.codelutin.topia.TopiaContext; + import fr.ifremer.isisfish.IsisFish; import fr.ifremer.isisfish.IsisFishException; import fr.ifremer.isisfish.datastore.AnalysePlanStorage; @@ -60,30 +83,9 @@ import fr.ifremer.isisfish.simulator.launcher.SimulationJob; import fr.ifremer.isisfish.simulator.launcher.SimulationService; import fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher; -import fr.ifremer.isisfish.ui.Common; import fr.ifremer.isisfish.ui.simulator.filter.SimulationFilterUtil; import fr.ifremer.isisfish.ui.widget.ErrorDialogUI; import fr.ifremer.isisfish.ui.widget.filter.FilterModel; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.lang.reflect.Field; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.logging.Level; -import java.util.logging.Logger; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.codelutin.log.UserLog; public class SimulAction { @@ -352,7 +354,10 @@ public List<Strategy> getStrategies() { List<Strategy> result = new ArrayList<Strategy>(); try { - result = RegionStorage.getFisheryRegion(param.getRegion().getStorage().beginTransaction()).getStrategy(); + TopiaContext tx = param.getRegion().getStorage().beginTransaction(); + result = RegionStorage.getFisheryRegion(tx).getStrategy(); + tx.rollbackTransaction(); + tx.closeContext(); } catch (Exception ex) { Logger.getLogger(SimulAction.class.getName()).log(Level.SEVERE, null, ex); showMsgBox(ex); @@ -371,13 +376,24 @@ // Population public List<Population> getPopulations() { - List<Species> species; + List<Population> result = new ArrayList<Population>(); try { - species = RegionStorage.getFisheryRegion(param.getRegion().getStorage().beginTransaction()).getSpecies(); + TopiaContext tx = param.getRegion().getStorage().beginTransaction(); + List<Species> species = RegionStorage.getFisheryRegion(tx).getSpecies(); for (Species s : species) { - result.addAll(s.getPopulation()); + Collection<Population> populations = s.getPopulation(); + + // FIXME initialiaze lazy hibernate collection + for(Population p : populations) { + p.getPopulationGroup().size(); + p.getPopulationZone().size(); + } + + result.addAll(populations); } + tx.rollbackTransaction(); + tx.closeContext(); } catch (Exception ex) { Logger.getLogger(SimulAction.class.getName()).log(Level.SEVERE, null, ex); showMsgBox(ex); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/ParameterColumnEditor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/ParameterColumnEditor.java 2009-02-03 10:39:29 UTC (rev 1775) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/ParameterColumnEditor.java 2009-02-03 10:40:26 UTC (rev 1776) @@ -168,7 +168,9 @@ case Topia: // on a un bean comme parametre try { - if (region==null) return null; + if (region==null) { + return null; + } TopiaContext context = region.getStorage().beginTransaction(); if (context != null) { List list = context.find("from " + type.getName()); @@ -177,6 +179,7 @@ editor = c; context.closeContext(); } + } catch (Exception eee) { log.warn("Can't get entity object for combobox", eee); } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/TopiaEntityConverter.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/TopiaEntityConverter.java 2009-02-03 10:39:29 UTC (rev 1775) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/TopiaEntityConverter.java 2009-02-03 10:40:26 UTC (rev 1776) @@ -95,6 +95,7 @@ result = tx.findByTopiaId(topiaId); // FIXME when after tx.closeContext we can continu to load object, call it here tx.commitTransaction(); + tx.closeContext(); } catch (TopiaException eee) { if (log.isWarnEnabled()) { log.warn("Can't find Entity from TopiaId " + topiaId, eee);
participants (1)
-
chatellier@users.labs.libre-entreprise.org