Isis-fish-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
March 2014
- 3 participants
- 25 discussions
r3904 - in branches/4.0.1/src/main: java/fr/ifremer/isisfish/simulator java/fr/ifremer/isisfish/ui/models java/fr/ifremer/isisfish/ui/models/optimization java/fr/ifremer/isisfish/ui/optimization java/fr/ifremer/isisfish/ui/simulator resources/i18n
by echatellier@users.forge.codelutin.com 21 Mar '14
by echatellier@users.forge.codelutin.com 21 Mar '14
21 Mar '14
Author: echatellier
Date: 2014-03-21 18:31:25 +0100 (Fri, 21 Mar 2014)
New Revision: 3904
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/3904
Log:
refs #4803: Saisit et parametrisation des scripts d'optimisation dans l'interface
Added:
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboModel.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboRenderer.java
Modified:
branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationHandler.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationMethodUI.jaxx
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2014-03-21 16:33:37 UTC (rev 3903)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2014-03-21 17:31:25 UTC (rev 3904)
@@ -340,10 +340,33 @@
/**
* @param sensitivityExport the sensitivityExportNames to set
*/
- public void setSensitivityExport(
- List<SensitivityExport> sensitivityExport);
+ public void setSensitivityExport(List<SensitivityExport> sensitivityExport);
/**
+ * Return used optimization script
+ */
+ public Optimization getOptimization();
+
+ /**
+ * Set simulation optimization.
+ *
+ * @param optimization optimization
+ */
+ public void setOptimization(Optimization optimization);
+
+ /**
+ * Return used objective.
+ *
+ * @return
+ */
+ public Objective getObjective();
+
+ /**
+ * Set objective.
+ */
+ public void setObjective(Objective objective);
+
+ /**
* Get use simulation plans property.
*
* @return use simulation plan.
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java 2014-03-21 16:33:37 UTC (rev 3903)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java 2014-03-21 17:31:25 UTC (rev 3904)
@@ -87,8 +87,7 @@
paramFile = File.createTempFile("isis-fish-param", ".properties");
paramFile.deleteOnExit();
store(param);
- }
- catch (IOException eee) {
+ } catch (IOException eee) {
throw new IsisFishRuntimeException("Can't cache param to disk", eee);
}
@@ -101,11 +100,9 @@
try {
writer = new BufferedWriter(new FileWriter(paramFile));
prop.store(writer, "Parameter cache");
- }
- catch (IOException eee) {
+ } catch (IOException eee) {
throw new IsisFishRuntimeException("Can't cache param to disk", eee);
- }
- finally {
+ } finally {
IOUtils.closeQuietly(writer);
}
}
@@ -122,11 +119,9 @@
result = new SimulationParameterImpl();
result.fromProperties(prop);
ref = new SoftReference<SimulationParameter>(result);
- }
- catch (IOException eee) {
+ } catch (IOException eee) {
throw new IsisFishRuntimeException("Can't cache param to disk", eee);
- }
- finally {
+ } finally {
IOUtils.closeQuietly(reader);
}
@@ -179,7 +174,6 @@
SimulationParameter param = getParam();
param.setDescription(description);
store(param);
-
}
/*
@@ -217,7 +211,6 @@
SimulationParameter param = getParam();
param.addExtraRules(extraRules);
store(param);
-
}
/*
@@ -237,7 +230,6 @@
SimulationParameter param = getParam();
param.setPopulations(populations);
store(param);
-
}
/*
@@ -257,7 +249,6 @@
SimulationParameter param = getParam();
param.setStrategies(strategies);
store(param);
-
}
/*
@@ -268,7 +259,6 @@
SimulationParameter param = getParam();
param.addSimulationPlan(plan);
store(param);
-
}
/*
@@ -299,7 +289,6 @@
SimulationParameter param = getParam();
param.setSimulationPlans(plans);
store(param);
-
}
/*
@@ -319,7 +308,6 @@
SimulationParameter param = getParam();
param.clearPlans();
store(param);
-
}
/*
@@ -330,7 +318,6 @@
SimulationParameter param = getParam();
param.addRule(rule);
store(param);
-
}
/*
@@ -361,7 +348,6 @@
SimulationParameter param = getParam();
param.setRules(rules);
store(param);
-
}
/*
@@ -372,7 +358,6 @@
SimulationParameter param = getParam();
param.clearRules();
store(param);
-
}
/*
@@ -392,7 +377,6 @@
SimulationParameter param = getParam();
param.setUseOptimization(useOptimization);
store(param);
-
}
/*
@@ -412,7 +396,6 @@
SimulationParameter param = getParam();
param.setUseStatistic(useStatistic);
store(param);
-
}
/*
@@ -432,7 +415,6 @@
SimulationParameter param = getParam();
param.setExportNames(exportNames);
store(param);
-
}
/*
@@ -453,7 +435,6 @@
SimulationParameter param = getParam();
param.setNumberOfSensitivitySimulation(numberOfSensitivitySimulation);
store(param);
-
}
/*
@@ -493,7 +474,6 @@
SimulationParameter param = getParam();
param.setSensitivityExport(sensitivityExport);
store(param);
-
}
/*
@@ -513,7 +493,6 @@
SimulationParameter param = getParam();
param.setUseSimulationPlan(useSimulationPlan);
store(param);
-
}
/*
@@ -900,7 +879,6 @@
SimulationParameter param = getParam();
param.fromProperties(props);
store(param);
-
}
/*
@@ -912,4 +890,32 @@
param.reloadContextParameters();
store(param);
}
+
+ @Override
+ public Optimization getOptimization() {
+ SimulationParameter param = getParam();
+ return param.getOptimization();
+ }
+
+ @Override
+ public Objective getObjective() {
+ SimulationParameter param = getParam();
+ return param.getObjective();
+ }
+
+ @Override
+ public void setOptimization(Optimization optimization) {
+ SimulationParameter param = getParam();
+ param.setOptimization(optimization);
+ store(param);
+ }
+
+ @Override
+ public void setObjective(Objective objective) {
+ SimulationParameter param = getParam();
+ param.setObjective(objective);
+ store(param);
+ }
+
+
}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java 2014-03-21 16:33:37 UTC (rev 3903)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java 2014-03-21 17:31:25 UTC (rev 3904)
@@ -54,6 +54,8 @@
import fr.ifremer.isisfish.IsisConfig;
import fr.ifremer.isisfish.IsisFishDAOHelper;
import fr.ifremer.isisfish.IsisFishException;
+import fr.ifremer.isisfish.datastore.ObjectiveStorage;
+import fr.ifremer.isisfish.datastore.OptimizationStorage;
import fr.ifremer.isisfish.datastore.RegionStorage;
import fr.ifremer.isisfish.datastore.RuleStorage;
import fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage;
@@ -171,6 +173,12 @@
/** Script utilisé pour les analyses de sensibilités. */
protected SensitivityAnalysis sensitivityAnalysis;
+ /** Script d'optimisation. */
+ protected Optimization optimization;
+
+ /** Fonction d'objectif. */
+ protected Objective objective;
+
/** La liste des resultats qui nous interesse. */
protected Collection<String> resultEnabled;
@@ -860,6 +868,65 @@
this.sensitivityExports = sensitivityExport;
}
+ @Override
+ public Optimization getOptimization() {
+ if (optimization == null) {
+ if (propertiesParameters != null) {
+ String optimizationName = propertiesParameters.getProperty("optimization");
+ if (!StringUtils.isEmpty(optimizationName)) {
+ try {
+ OptimizationStorage optimizationStorage = OptimizationStorage.getOptimization(optimizationName);
+ optimizationName = optimizationStorage.getNewInstance();
+ // 0 = only single sensitivity
+ StorageHelper.populateStorageParams(0, getRegion().getStorage(), optimization,
+ propertiesParameters, "optimization");
+ } catch (IsisFishException eee) {
+ optimization = null;
+ if (log.isWarnEnabled()) {
+ log.warn("Can't find optimization: " + optimization, eee);
+ }
+ }
+ }
+ }
+ }
+
+ return optimization;
+ }
+
+ @Override
+ public void setOptimization(Optimization optimization) {
+ this.optimization = optimization;
+ }
+
+ @Override
+ public Objective getObjective() {
+ if (objective == null) {
+ if (propertiesParameters != null) {
+ String objectiveName = propertiesParameters.getProperty("objective");
+ if (!StringUtils.isEmpty(objectiveName)) {
+ try {
+ ObjectiveStorage objectiveStorage = ObjectiveStorage.getObjective(objectiveName);
+ objective = objectiveStorage.getNewInstance();
+ // 0 = only single sensitivity
+ StorageHelper.populateStorageParams(0, getRegion().getStorage(), objective,
+ propertiesParameters, "objective");
+ } catch (IsisFishException eee) {
+ objective = null;
+ if (log.isWarnEnabled()) {
+ log.warn("Can't find objective: " + objective, eee);
+ }
+ }
+ }
+ }
+ }
+ return objective;
+ }
+
+ @Override
+ public void setObjective(Objective objective) {
+ this.objective = objective;
+ }
+
/*
* @see fr.ifremer.isisfish.simulator.SimulationParameter#getUseAnalysePlan()
*/
Added: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboModel.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboModel.java (rev 0)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboModel.java 2014-03-21 17:31:25 UTC (rev 3904)
@@ -0,0 +1,109 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.optimization;
+
+import java.util.List;
+
+import javax.swing.DefaultComboBoxModel;
+
+/**
+ * Model pour la liste des script d'optimization.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class OptimizationComboModel extends DefaultComboBoxModel<String> {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ /** SensitivityAnalysis names. */
+ protected List<String> optimizationNames;
+
+ /**
+ * Empty constructor.
+ */
+ public OptimizationComboModel() {
+ this(null);
+ }
+
+ /**
+ * Constructor with calculator list.
+ *
+ * @param sensitivityAnalysisNames sensitivity analysis Names
+ */
+ public OptimizationComboModel(List<String> optimizationNames) {
+ setOptimizationNames(optimizationNames);
+ }
+
+ /**
+ * Get sensitivity analysis plan names.
+ *
+ * @return the sensitivity analysis plan names
+ */
+ public List<String> getOptimizationNames() {
+ return optimizationNames;
+ }
+
+ /**
+ * Set sensitivity analysis names.
+ *
+ * @param sensitivityAnalysisNames the names to set
+ */
+ public void setOptimizationNames(List<String> optimizationNames) {
+ this.optimizationNames = optimizationNames;
+
+ // default first selected
+ /* disable default selection
+ if (!sensitivityAnalysisNames.isEmpty()) {
+ setSelectedItem(sensitivityAnalysisNames.get(0));
+ }*/
+ }
+
+ /*
+ * @see javax.swing.ListModel#getElementAt(int)
+ */
+ @Override
+ public String getElementAt(int index) {
+ return optimizationNames.get(index);
+ }
+
+ /*
+ * @see javax.swing.ListModel#getSize()
+ */
+ @Override
+ public int getSize() {
+ int size = 0;
+
+ if (optimizationNames != null) {
+ size = optimizationNames.size();
+ }
+ return size;
+ }
+}
Property changes on: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboModel.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboRenderer.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboRenderer.java (rev 0)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboRenderer.java 2014-03-21 17:31:25 UTC (rev 3904)
@@ -0,0 +1,101 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2010 Ifremer, Code Lutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.optimization;
+
+import static org.nuiton.i18n.I18n._;
+
+import java.awt.Component;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JLabel;
+import javax.swing.JList;
+
+import fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage;
+import fr.ifremer.isisfish.simulator.Optimization;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
+import fr.ifremer.isisfish.ui.util.TooltipHelper;
+
+/**
+ * Renderer pour la combo des script d'optimisation.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class OptimizationComboRenderer extends DefaultListCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ /** Optimization cache. */
+ protected Map<String, Optimization> optimizationCache;
+
+ /**
+ * Empty constructor.
+ */
+ public OptimizationComboRenderer() {
+ optimizationCache = new HashMap<String, Optimization>();
+ }
+
+ /*
+ * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
+ */
+ @Override
+ public Component getListCellRendererComponent(JList<?> list, Object value,
+ int index, boolean isSelected, boolean cellHasFocus) {
+
+ // this must be used to have alterned highlight rows and default
+ // selection color
+ JLabel c = (JLabel) super.getListCellRendererComponent(list, value,
+ index, isSelected, cellHasFocus);
+
+ String optimizationName = (String) value;
+ c.setText(optimizationName);
+
+ // c'est tres couteux d'avoir une instance
+ // on les met en cache
+ /*try {
+ Optimization optim = optimizationCache.get(optimizationName);
+ if (optim == null) {
+ SensitivityAnalysisStorage storage = SensitivityAnalysisStorage
+ .getSensitivityAnalysis(optimizationName);
+ optim = storage.getNewInstance();
+ optimizationCache.put(optimizationName, optim);
+ }
+
+ c.setToolTipText(optim.getDescription());
+ } catch (Exception e) {
+ String errorTooltip = TooltipHelper.getErrorTooltip(_("isisfish.error.compile.fileerror", sensitivityName));
+ c.setToolTipText(errorTooltip);
+ }*/
+
+ return c;
+ }
+}
Property changes on: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboRenderer.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationHandler.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationHandler.java 2014-03-21 16:33:37 UTC (rev 3903)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationHandler.java 2014-03-21 17:31:25 UTC (rev 3904)
@@ -22,15 +22,29 @@
*/
package fr.ifremer.isisfish.ui.optimization;
-import javax.swing.DefaultComboBoxModel;
-import javax.swing.DefaultListModel;
+import java.awt.CardLayout;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import fr.ifremer.isisfish.IsisFishException;
+import fr.ifremer.isisfish.datastore.OptimizationStorage;
+import fr.ifremer.isisfish.simulator.Optimization;
import fr.ifremer.isisfish.ui.input.InputHandler;
+import fr.ifremer.isisfish.ui.models.common.ScriptParametersTableCellEditor;
+import fr.ifremer.isisfish.ui.models.common.ScriptParametersTableCellRenderer;
+import fr.ifremer.isisfish.ui.models.common.ScriptParametersTableModel;
+import fr.ifremer.isisfish.ui.models.optimization.OptimizationComboModel;
+import fr.ifremer.isisfish.ui.simulator.SimulAction;
public class OptimizationHandler extends InputHandler {
+ private static final Log log = LogFactory.getLog(OptimizationHandler.class);
+
public void init(OptimizationMethodUI view) {
- DefaultComboBoxModel<String> methodModel = new DefaultComboBoxModel<String>();
+ /*DefaultComboBoxModel<String> methodModel = new DefaultComboBoxModel<String>();
methodModel.addElement("Simplex");
methodModel.addElement("ABC");
methodModel.addElement("Génétique");
@@ -46,6 +60,69 @@
criteriaModel.addElement("Max");
criteriaModel.addElement("Seuil à dépasser");
criteriaModel.addElement("Epsilon");
- view.getFieldOptimizationCriteriaSelect().setModel(criteriaModel);
+ view.getFieldOptimizationCriteriaSelect().setModel(criteriaModel);*/
}
+
+ /**
+ * Optimization model for combo box.
+ *
+ * @return model
+ */
+ public OptimizationComboModel getOptimizationComboModel() {
+ List<String> result = new ArrayList<String>();
+ for (String r : OptimizationStorage.getOptimizationNames()) {
+ // there is some non java files in sensitivity directory
+ if (r.endsWith(".java")) {
+ // Remove .java extention
+ // for example SensitivityStorage.getRuleName(String)
+ result.add(r.substring(0, r.length() - 5));
+ }
+ }
+
+ OptimizationComboModel model = new OptimizationComboModel(result);
+ return model;
+ }
+
+ /**
+ * Selection d'une méthode d'optimisation.
+ *
+ * @param view view
+ */
+ public void optimizationChanged(OptimizationMethodUI view) {
+ String optimizationName = (String)view.getFieldOptimizationMethodSelect().getSelectedItem();
+ SimulAction simulAction = view.getContextValue(SimulAction.class);
+
+ // creation new instance only when name change to not lose parameters value
+ Optimization optimization = simulAction.getOptimization();
+ if (optimization != null && optimization.getClass().getSimpleName().equals(optimizationName)) {
+ optimization = simulAction.getOptimization();
+ } else {
+ try {
+ OptimizationStorage optimizationStorage = OptimizationStorage.getOptimization(optimizationName);
+ optimization = optimizationStorage.getNewInstance();
+ } catch (IsisFishException e) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't set optimization", e);
+ }
+ }
+ }
+
+ // can be null for example if analysis can't be compiled
+ if (optimization != null) {
+ simulAction.setOptimization(optimization);
+
+ /*CardLayout factorPanelLayout = (CardLayout)view.getFactorCardinalityPanel().getLayout();
+ if (sensitivityAnalysis.canManageCardinality()) {
+ factorPanelLayout.show(factorCardinalityPanel, "factorCardinalitySupported");
+ } else {
+ factorPanelLayout.show(factorCardinalityPanel, "factorCardinalityNotSupported");
+ }*/
+
+ // update model
+ ScriptParametersTableModel parametersTableModel = new ScriptParametersTableModel(optimization);
+ view.getSimulOptimizationMethodParam().setModel(parametersTableModel);
+ view.getSimulOptimizationMethodParam().getColumnModel().getColumn(0).setCellRenderer(new ScriptParametersTableCellRenderer(optimization));
+ view.getSimulOptimizationMethodParam().getColumnModel().getColumn(1).setCellEditor(new ScriptParametersTableCellEditor(optimization));
+ }
+ }
}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationMethodUI.jaxx
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationMethodUI.jaxx 2014-03-21 16:33:37 UTC (rev 3903)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationMethodUI.jaxx 2014-03-21 17:31:25 UTC (rev 3904)
@@ -27,6 +27,7 @@
java.awt.CardLayout
javax.swing.ComboBoxModel
javax.swing.table.DefaultTableModel
+ fr.ifremer.isisfish.ui.models.optimization.OptimizationComboRenderer
</import>
<script><![CDATA[
@@ -34,12 +35,14 @@
getContextValue(OptimizationHandler.class).init(this);
}
]]></script>
+ <OptimizationHandler id="handler" />
<row>
<cell fill="horizontal">
<JLabel text="isisfish.optimization.select"/>
</cell>
<cell fill="horizontal" weightx="1.0">
- <JComboBox id="fieldOptimizationMethodSelect" />
+ <JComboBox id="fieldOptimizationMethodSelect" model='{handler.getOptimizationComboModel()}'
+ renderer='{new OptimizationComboRenderer()}' onActionPerformed='handler.optimizationChanged(this)'/>
</cell>
</row>
<row>
@@ -49,7 +52,8 @@
</JScrollPane>
</cell>
</row>
- <row>
+
+ <!-- <row>
<cell columns="2" fill="both" weightx="1.0" weighty="1.0">
<JPanel id="factorCardinalityPanel" layout="{new CardLayout()}">
<JLabel text="isisfish.optimization.methodfactorsupported" horizontalAlignment="center"
@@ -59,7 +63,7 @@
</JScrollPane>
</JPanel>
</cell>
- </row>
+ </row> -->
<row>
<cell fill="both" columns='3' weightx="1.0">
<JLabel text="isisfish.optimization.objectives"/>
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2014-03-21 16:33:37 UTC (rev 3903)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2014-03-21 17:31:25 UTC (rev 3904)
@@ -79,6 +79,7 @@
import fr.ifremer.isisfish.export.SensitivityExport;
import fr.ifremer.isisfish.mexico.MexicoHelper;
import fr.ifremer.isisfish.rule.Rule;
+import fr.ifremer.isisfish.simulator.Optimization;
import fr.ifremer.isisfish.simulator.SimulationParameter;
import fr.ifremer.isisfish.simulator.SimulationParameterImpl;
import fr.ifremer.isisfish.simulator.SimulationPlan;
@@ -129,7 +130,6 @@
protected SimulationStorage simulStorage = null;
protected List<String> oldSimulNames = null;
protected String simulName = null;
- protected SensitivityAnalysisStorage sensitivityStorage = null;
/**
* List de facteur sous forme d'arbre (factor group).
@@ -802,7 +802,7 @@
public SensitivityAnalysis getSensitivityAnalysisInstance(String name) {
SensitivityAnalysis sensitivityAnalysis = null;
try {
- sensitivityStorage = SensitivityAnalysisStorage.getSensitivityAnalysis(name);
+ SensitivityAnalysisStorage sensitivityStorage = SensitivityAnalysisStorage.getSensitivityAnalysis(name);
sensitivityAnalysis = sensitivityStorage.getNewInstance();
} catch (IsisFishException e) {
if (log.isErrorEnabled()) {
@@ -1328,4 +1328,12 @@
throw new IsisFishRuntimeException("Can't add factor on rule", ex);
}*/
}
+
+ public Optimization getOptimization() {
+ return param.getOptimization();
+ }
+
+ public void setOptimization(Optimization optimization) {
+ param.setOptimization(optimization);
+ }
}
Modified: branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties
===================================================================
--- branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2014-03-21 16:33:37 UTC (rev 3903)
+++ branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2014-03-21 17:31:25 UTC (rev 3904)
@@ -651,11 +651,11 @@
isisfish.month.november=novembre
isisfish.month.october=octobre
isisfish.month.september=septembre
-isisfish.optimization.methodfactorsupported=La méthode de calibration choisie gère les cardinalités des facteurs
+isisfish.optimization.methodfactorsupported=La méthode d'optimisation choisie gère les cardinalités des facteurs
isisfish.optimization.objectives=Fonctions d'objectif
isisfish.optimization.optimization=Critère d'optimisation
-isisfish.optimization.select=Méthode de calibration
-isisfish.optimization.title=Calibration
+isisfish.optimization.select=Méthode d'optimisation
+isisfish.optimization.title=Optimisation
isisfish.params.changeLogLev=Passe du niveau '%1$s' au niveau '%2$s'
isisfish.params.description=Description
isisfish.params.loadOldSimulation=Charger une ancienne simulation
1
0
r3903 - branches/4.0.1/src/main/resources/templates/script
by echatellier@users.forge.codelutin.com 21 Mar '14
by echatellier@users.forge.codelutin.com 21 Mar '14
21 Mar '14
Author: echatellier
Date: 2014-03-21 17:33:37 +0100 (Fri, 21 Mar 2014)
New Revision: 3903
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/3903
Log:
refs #4803: Fix script templates
Modified:
branches/4.0.1/src/main/resources/templates/script/objective.ftl
branches/4.0.1/src/main/resources/templates/script/optimization.ftl
Modified: branches/4.0.1/src/main/resources/templates/script/objective.ftl
===================================================================
--- branches/4.0.1/src/main/resources/templates/script/objective.ftl 2014-03-21 09:30:13 UTC (rev 3902)
+++ branches/4.0.1/src/main/resources/templates/script/objective.ftl 2014-03-21 16:33:37 UTC (rev 3903)
@@ -40,7 +40,7 @@
* <http://www.gnu.org/licenses/gpl-3.0.html>.
*/
-package rules;
+package objectives;
import static org.nuiton.i18n.I18n._;
Modified: branches/4.0.1/src/main/resources/templates/script/optimization.ftl
===================================================================
--- branches/4.0.1/src/main/resources/templates/script/optimization.ftl 2014-03-21 09:30:13 UTC (rev 3902)
+++ branches/4.0.1/src/main/resources/templates/script/optimization.ftl 2014-03-21 16:33:37 UTC (rev 3903)
@@ -40,7 +40,7 @@
* <http://www.gnu.org/licenses/gpl-3.0.html>.
*/
-package rules;
+package optimizations;
import static org.nuiton.i18n.I18n._;
1
0
r3902 - in branches/4.0.1/src/main: java/fr/ifremer/isisfish/ui java/fr/ifremer/isisfish/ui/optimization resources/i18n
by echatellier@users.forge.codelutin.com 21 Mar '14
by echatellier@users.forge.codelutin.com 21 Mar '14
21 Mar '14
Author: echatellier
Date: 2014-03-21 10:30:13 +0100 (Fri, 21 Mar 2014)
New Revision: 3902
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/3902
Log:
refs #4803: Refactoring des noms le package/classes
Added:
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationHandler.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationMethodUI.jaxx
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationUI.jaxx
Removed:
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/calibration/
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/CalibrationHandler.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/CalibrationMethodUI.jaxx
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/CalibrationUI.jaxx
Modified:
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx
branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties
branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx 2014-03-21 09:29:21 UTC (rev 3901)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx 2014-03-21 09:30:13 UTC (rev 3902)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2006 - 2010 Ifremer, Code Lutin
+ Copyright (C) 2006 - 2014 Ifremer, Code Lutin, Chatellier Eric
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as
@@ -30,7 +30,7 @@
fr.ifremer.isisfish.ui.input.InputSaveVerifier
fr.ifremer.isisfish.ui.sensitivity.SensitivitySaveVerifier
fr.ifremer.isisfish.ui.sensitivity.SensitivityInputHandler
- fr.ifremer.isisfish.ui.calibration.CalibrationHandler
+ fr.ifremer.isisfish.ui.optimization.OptimizationHandler
javax.swing.ImageIcon
</import>
@@ -60,8 +60,8 @@
constructorParams='new JAXXInitialContext().add(new InputAction()).add(new SensitivitySaveVerifier()).add(new SimulAction()).add(new SensitivityInputHandler()).add(this)' />
</tab>
<tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/SimulationLauncher.gif"))}'>
- <fr.ifremer.isisfish.ui.calibration.CalibrationUI id="calibrationUI"
- constructorParams='new JAXXInitialContext().add(new InputAction()).add(new SensitivitySaveVerifier()).add(new SimulAction()).add(new CalibrationHandler()).add(this)' />
+ <fr.ifremer.isisfish.ui.optimization.OptimizationUI id="optimizationUI"
+ constructorParams='new JAXXInitialContext().add(new InputAction()).add(new SensitivitySaveVerifier()).add(new SimulAction()).add(new OptimizationHandler()).add(this)' />
</tab>
<tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/calc.gif"))}'>
<fr.ifremer.isisfish.ui.result.ResultUI />
Deleted: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/CalibrationHandler.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/calibration/CalibrationHandler.java 2014-03-19 09:16:24 UTC (rev 3892)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/CalibrationHandler.java 2014-03-21 09:30:13 UTC (rev 3902)
@@ -1,51 +0,0 @@
-/*
- * #%L
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2013 Ifremer, Codelutin, Chatellier Eric
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * #L%
- */
-package fr.ifremer.isisfish.ui.calibration;
-
-import javax.swing.DefaultComboBoxModel;
-import javax.swing.DefaultListModel;
-
-import fr.ifremer.isisfish.ui.input.InputHandler;
-
-public class CalibrationHandler extends InputHandler {
-
- public void init(CalibrationMethodUI view) {
- DefaultComboBoxModel<String> methodModel = new DefaultComboBoxModel<String>();
- methodModel.addElement("Simplex");
- methodModel.addElement("ABC");
- methodModel.addElement("Génétique");
- view.getFieldCalibrationMethodSelect().setModel(methodModel);
-
- DefaultListModel<String> objectiveModel = new DefaultListModel<String>();
- objectiveModel.addElement("Moindres carrés indice abondance");
- objectiveModel.addElement("Moindres carrés debarquements par flottille");
- view.getAvailableCalibrationObjectives().setModel(objectiveModel);
-
- DefaultComboBoxModel<String> criteriaModel = new DefaultComboBoxModel<String>();
- criteriaModel.addElement("Min");
- criteriaModel.addElement("Max");
- criteriaModel.addElement("Seuil à dépasser");
- criteriaModel.addElement("Epsilon");
- view.getFieldCalibrationCriteriaSelect().setModel(criteriaModel);
- }
-}
Deleted: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/CalibrationMethodUI.jaxx
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/calibration/CalibrationMethodUI.jaxx 2014-03-19 09:16:24 UTC (rev 3892)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/CalibrationMethodUI.jaxx 2014-03-21 09:30:13 UTC (rev 3902)
@@ -1,120 +0,0 @@
-<!--
- #%L
- IsisFish
-
- $Id$
- $HeadURL$
- %%
- Copyright (C) 2013 Ifremer, CodeLutin, Chatellier Eric
- %%
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as
- published by the Free Software Foundation, either version 3 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public
- License along with this program. If not, see
- <http://www.gnu.org/licenses/gpl-3.0.html>.
- #L%
- -->
-<Table>
- <import>
- java.awt.CardLayout
- javax.swing.ComboBoxModel
- javax.swing.table.DefaultTableModel
- </import>
-
- <script><![CDATA[
- protected void $afterCompleteSetup() {
- getContextValue(CalibrationHandler.class).init(this);
- }
- ]]></script>
- <row>
- <cell fill="horizontal">
- <JLabel text="isisfish.calibration.select"/>
- </cell>
- <cell fill="horizontal" weightx="1.0">
- <JComboBox id="fieldCalibrationMethodSelect" />
- </cell>
- </row>
- <row>
- <cell columns="2" fill="both" weightx="1.0" weighty="1.0">
- <JScrollPane>
- <JTable id="simulCalibrationMethodParam" rowHeight='24' />
- </JScrollPane>
- </cell>
- </row>
- <row>
- <cell columns="2" fill="both" weightx="1.0" weighty="1.0">
- <JPanel id="factorCardinalityPanel" layout="{new CardLayout()}">
- <JLabel text="isisfish.calibration.methodfactorsupported" horizontalAlignment="center"
- border="{BorderFactory.createEtchedBorder()}" font-style="italic" constraints='"factorCardinalitySupported"'/>
- <JScrollPane id="factorCardinalityScrollPane" constraints='"factorCardinalityNotSupported"'>
- <JTable id="factorCardinality" rowHeight='24' />
- </JScrollPane>
- </JPanel>
- </cell>
- </row>
- <row>
- <cell fill="both" columns='3' weightx="1.0">
- <JLabel text="isisfish.calibration.objectives"/>
- </cell>
- </row>
- <row>
- <cell columns='2' fill="both" weightx="1.0" weighty="1.0">
- <Table>
- <row>
- <cell fill="both" weightx="0.5" weighty="1.0">
- <JScrollPane>
- <JList id="availableCalibrationObjectives" selectionMode="{javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}" />
- </JScrollPane>
- </cell>
- <cell fill="both" weighty="1.0">
- <Table>
- <row>
- <cell fill="both">
- <JButton id="addObjectiveButton" text="isisfish.common.add" enabled="false" />
- </cell>
- </row>
- <row>
- <cell fill="both">
- <JButton id="removeObjectiveButton" text="isisfish.common.remove" enabled="false" />
- </cell>
- </row>
- <row>
- <cell fill="both">
- <JButton id="clearObjectiveButton" text="isisfish.common.clear" enabled="false" />
- </cell>
- </row>
- </Table>
- </cell>
- <cell fill="both" weightx="0.5" weighty="1.0">
- <JScrollPane>
- <JList id="selectedCalibrationObjectives" selectionMode="{javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}" />
- </JScrollPane>
- </cell>
- </row>
- </Table>
- </cell>
- </row>
- <row>
- <cell fill="both" columns='2' weightx="1.0" weighty="1.0">
- <JScrollPane>
- <JTable id="objectiveParamsTable" rowHeight='24' />
- </JScrollPane>
- </cell>
- </row>
- <row>
- <cell fill="horizontal">
- <JLabel text="isisfish.calibration.optimization"/>
- </cell>
- <cell fill="horizontal" weightx="1.0">
- <JComboBox id="fieldCalibrationCriteriaSelect" />
- </cell>
- </row>
-</Table>
Deleted: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/CalibrationUI.jaxx
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/calibration/CalibrationUI.jaxx 2014-03-19 09:16:24 UTC (rev 3892)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/CalibrationUI.jaxx 2014-03-21 09:30:13 UTC (rev 3902)
@@ -1,98 +0,0 @@
-<!--
- #%L
- IsisFish
-
- $Id$
- $HeadURL$
- %%
- Copyright (C) 2013 Ifremer, CodeLutin, Chatellier Eric
- %%
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as
- published by the Free Software Foundation, either version 3 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public
- License along with this program. If not, see
- <http://www.gnu.org/licenses/gpl-3.0.html>.
- #L%
- -->
-<fr.ifremer.isisfish.ui.SimulationUI>
-
- <import>
- fr.ifremer.isisfish.ui.input.InputAction
- jaxx.runtime.JAXXContext
- jaxx.runtime.context.JAXXInitialContext
- jaxx.runtime.SwingUtil
- </import>
-
- <script><![CDATA[
- protected void $afterCompleteSetup() {
- SwingUtil.getLayer(bodyTabbedPane).setUI(dummyLayer);
- }
-
- /**
- * Refresh all simulation launch UI.
- */
- @Override
- protected void regionStorageChanged() {
-
- }
-
- @Override
- public void refresh() {
-
- }
-
- @Override
- public void selectParametersTab() {
-
- }
-
- @Override
- public void setEnabledPrescriptTab(boolean selected) {
- // no prescript in AS
- }
-
- @Override
- public void setEnabledSimulationPlanTab(boolean selected) {
- // no simulation plan in AS
- }
-
- @Override
- public void refreshFactorTree() {
-
- }
- ]]></script>
-
- <CalibrationHandler id="handler" />
-
- <fr.ifremer.isisfish.ui.widget.DummyLayerUI id="dummyLayer" />
- <JTabbedPane id="bodyTabbedPane">
- <tab title='isisfish.params.title'>
- <fr.ifremer.isisfish.ui.simulator.ParamsUI id='paramsUI' sensitivity='true' regionStorage="{getRegionStorage()}"
- constructorParams='new JAXXInitialContext().add(new InputAction()).add("SimulationUI", this).add(this)' />
- </tab>
- <tab title='isisfish.sensitivity.title'>
- <fr.ifremer.isisfish.ui.sensitivity.SensitivityTabUI id="sensitivityTabUI"
- constructorParams='new JAXXInitialContext().add(new InputAction()).add("SimulationUI", this).add(this)' />
- </tab>
- <tab title='isisfish.calibration.title'>
- <CalibrationMethodUI id="calibrationMethodUI" constructorParams='this'/>
- </tab>
- <tab title='isisfish.export.title'>
- <fr.ifremer.isisfish.ui.simulator.ExportUI id="exportUI" constructorParams='this'/>
- </tab>
- <tab title='isisfish.resultChoice.title'>
- <fr.ifremer.isisfish.ui.simulator.ResultChoiceUI id="resultChoiceUI" constructorParams='this'/>
- </tab>
- <tab title='isisfish.advancedParameters.title'>
- <fr.ifremer.isisfish.ui.simulator.AdvancedParamsUI id="advancedParamsUI" constructorParams='this'/>
- </tab>
- </JTabbedPane>
-</fr.ifremer.isisfish.ui.SimulationUI>
Copied: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationHandler.java (from rev 3892, branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/calibration/CalibrationHandler.java)
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationHandler.java (rev 0)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationHandler.java 2014-03-21 09:30:13 UTC (rev 3902)
@@ -0,0 +1,51 @@
+/*
+ * #%L
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2013 - 2014 Ifremer, Codelutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+package fr.ifremer.isisfish.ui.optimization;
+
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.DefaultListModel;
+
+import fr.ifremer.isisfish.ui.input.InputHandler;
+
+public class OptimizationHandler extends InputHandler {
+
+ public void init(OptimizationMethodUI view) {
+ DefaultComboBoxModel<String> methodModel = new DefaultComboBoxModel<String>();
+ methodModel.addElement("Simplex");
+ methodModel.addElement("ABC");
+ methodModel.addElement("Génétique");
+ view.getFieldOptimizationMethodSelect().setModel(methodModel);
+
+ DefaultListModel<String> objectiveModel = new DefaultListModel<String>();
+ objectiveModel.addElement("Moindres carrés indice abondance");
+ objectiveModel.addElement("Moindres carrés debarquements par flottille");
+ view.getAvailableOptimizationObjectives().setModel(objectiveModel);
+
+ DefaultComboBoxModel<String> criteriaModel = new DefaultComboBoxModel<String>();
+ criteriaModel.addElement("Min");
+ criteriaModel.addElement("Max");
+ criteriaModel.addElement("Seuil à dépasser");
+ criteriaModel.addElement("Epsilon");
+ view.getFieldOptimizationCriteriaSelect().setModel(criteriaModel);
+ }
+}
Copied: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationMethodUI.jaxx (from rev 3892, branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/calibration/CalibrationMethodUI.jaxx)
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationMethodUI.jaxx (rev 0)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationMethodUI.jaxx 2014-03-21 09:30:13 UTC (rev 3902)
@@ -0,0 +1,120 @@
+<!--
+ #%L
+ IsisFish
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2013 - 2014 Ifremer, CodeLutin, Chatellier Eric
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public
+ License along with this program. If not, see
+ <http://www.gnu.org/licenses/gpl-3.0.html>.
+ #L%
+ -->
+<Table>
+ <import>
+ java.awt.CardLayout
+ javax.swing.ComboBoxModel
+ javax.swing.table.DefaultTableModel
+ </import>
+
+ <script><![CDATA[
+ protected void $afterCompleteSetup() {
+ getContextValue(OptimizationHandler.class).init(this);
+ }
+ ]]></script>
+ <row>
+ <cell fill="horizontal">
+ <JLabel text="isisfish.optimization.select"/>
+ </cell>
+ <cell fill="horizontal" weightx="1.0">
+ <JComboBox id="fieldOptimizationMethodSelect" />
+ </cell>
+ </row>
+ <row>
+ <cell columns="2" fill="both" weightx="1.0" weighty="1.0">
+ <JScrollPane>
+ <JTable id="simulOptimizationMethodParam" rowHeight='24' />
+ </JScrollPane>
+ </cell>
+ </row>
+ <row>
+ <cell columns="2" fill="both" weightx="1.0" weighty="1.0">
+ <JPanel id="factorCardinalityPanel" layout="{new CardLayout()}">
+ <JLabel text="isisfish.optimization.methodfactorsupported" horizontalAlignment="center"
+ border="{BorderFactory.createEtchedBorder()}" font-style="italic" constraints='"factorCardinalitySupported"'/>
+ <JScrollPane id="factorCardinalityScrollPane" constraints='"factorCardinalityNotSupported"'>
+ <JTable id="factorCardinality" rowHeight='24' />
+ </JScrollPane>
+ </JPanel>
+ </cell>
+ </row>
+ <row>
+ <cell fill="both" columns='3' weightx="1.0">
+ <JLabel text="isisfish.optimization.objectives"/>
+ </cell>
+ </row>
+ <row>
+ <cell columns='2' fill="both" weightx="1.0" weighty="1.0">
+ <Table>
+ <row>
+ <cell fill="both" weightx="0.5" weighty="1.0">
+ <JScrollPane>
+ <JList id="availableOptimizationObjectives" selectionMode="{javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}" />
+ </JScrollPane>
+ </cell>
+ <cell fill="both" weighty="1.0">
+ <Table>
+ <row>
+ <cell fill="both">
+ <JButton id="addObjectiveButton" text="isisfish.common.add" enabled="false" />
+ </cell>
+ </row>
+ <row>
+ <cell fill="both">
+ <JButton id="removeObjectiveButton" text="isisfish.common.remove" enabled="false" />
+ </cell>
+ </row>
+ <row>
+ <cell fill="both">
+ <JButton id="clearObjectiveButton" text="isisfish.common.clear" enabled="false" />
+ </cell>
+ </row>
+ </Table>
+ </cell>
+ <cell fill="both" weightx="0.5" weighty="1.0">
+ <JScrollPane>
+ <JList id="selectedOptimizationObjectives" selectionMode="{javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}" />
+ </JScrollPane>
+ </cell>
+ </row>
+ </Table>
+ </cell>
+ </row>
+ <row>
+ <cell fill="both" columns='2' weightx="1.0" weighty="1.0">
+ <JScrollPane>
+ <JTable id="objectiveParamsTable" rowHeight='24' />
+ </JScrollPane>
+ </cell>
+ </row>
+ <row>
+ <cell fill="horizontal">
+ <JLabel text="isisfish.optimization.optimization"/>
+ </cell>
+ <cell fill="horizontal" weightx="1.0">
+ <JComboBox id="fieldOptimizationCriteriaSelect" />
+ </cell>
+ </row>
+</Table>
Copied: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationUI.jaxx (from rev 3892, branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/calibration/CalibrationUI.jaxx)
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationUI.jaxx (rev 0)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationUI.jaxx 2014-03-21 09:30:13 UTC (rev 3902)
@@ -0,0 +1,98 @@
+<!--
+ #%L
+ IsisFish
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2013 - 2014 Ifremer, CodeLutin, Chatellier Eric
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public
+ License along with this program. If not, see
+ <http://www.gnu.org/licenses/gpl-3.0.html>.
+ #L%
+ -->
+<fr.ifremer.isisfish.ui.SimulationUI>
+
+ <import>
+ fr.ifremer.isisfish.ui.input.InputAction
+ jaxx.runtime.JAXXContext
+ jaxx.runtime.context.JAXXInitialContext
+ jaxx.runtime.SwingUtil
+ </import>
+
+ <script><![CDATA[
+ protected void $afterCompleteSetup() {
+ SwingUtil.getLayer(bodyTabbedPane).setUI(dummyLayer);
+ }
+
+ /**
+ * Refresh all simulation launch UI.
+ */
+ @Override
+ protected void regionStorageChanged() {
+
+ }
+
+ @Override
+ public void refresh() {
+
+ }
+
+ @Override
+ public void selectParametersTab() {
+
+ }
+
+ @Override
+ public void setEnabledPrescriptTab(boolean selected) {
+ // no prescript in AS
+ }
+
+ @Override
+ public void setEnabledSimulationPlanTab(boolean selected) {
+ // no simulation plan in AS
+ }
+
+ @Override
+ public void refreshFactorTree() {
+
+ }
+ ]]></script>
+
+ <OptimizationHandler id="handler" />
+
+ <fr.ifremer.isisfish.ui.widget.DummyLayerUI id="dummyLayer" />
+ <JTabbedPane id="bodyTabbedPane">
+ <tab title='isisfish.params.title'>
+ <fr.ifremer.isisfish.ui.simulator.ParamsUI id='paramsUI' sensitivity='true' regionStorage="{getRegionStorage()}"
+ constructorParams='new JAXXInitialContext().add(new InputAction()).add("SimulationUI", this).add(this)' />
+ </tab>
+ <tab title='isisfish.sensitivity.title'>
+ <fr.ifremer.isisfish.ui.sensitivity.SensitivityTabUI id="sensitivityTabUI"
+ constructorParams='new JAXXInitialContext().add(new InputAction()).add("SimulationUI", this).add(this)' />
+ </tab>
+ <tab title='isisfish.optimization.title'>
+ <OptimizationMethodUI id="optimizationMethodUI" constructorParams='this'/>
+ </tab>
+ <tab title='isisfish.export.title'>
+ <fr.ifremer.isisfish.ui.simulator.ExportUI id="exportUI" constructorParams='this'/>
+ </tab>
+ <tab title='isisfish.resultChoice.title'>
+ <fr.ifremer.isisfish.ui.simulator.ResultChoiceUI id="resultChoiceUI" constructorParams='this'/>
+ </tab>
+ <tab title='isisfish.advancedParameters.title'>
+ <fr.ifremer.isisfish.ui.simulator.AdvancedParamsUI id="advancedParamsUI" constructorParams='this'/>
+ </tab>
+ </JTabbedPane>
+</fr.ifremer.isisfish.ui.SimulationUI>
Modified: branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties
===================================================================
--- branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties 2014-03-21 09:29:21 UTC (rev 3901)
+++ branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties 2014-03-21 09:30:13 UTC (rev 3902)
@@ -98,11 +98,6 @@
isisfish.advancedParams.simulationCache=Simulation cache
isisfish.advancedParams.simulationStatistique=Simulation statistics
isisfish.advancedParams.simulatorUse=Simulator to Use
-isisfish.calibration.methodfactorsupported=
-isisfish.calibration.objectives=
-isisfish.calibration.optimization=
-isisfish.calibration.select=
-isisfish.calibration.title=
isisfish.cell.comments=Comments
isisfish.cell.land=Land
isisfish.cell.latitude=Latitude
@@ -656,6 +651,11 @@
isisfish.month.november=november
isisfish.month.october=october
isisfish.month.september=september
+isisfish.optimization.methodfactorsupported=
+isisfish.optimization.objectives=
+isisfish.optimization.optimization=
+isisfish.optimization.select=
+isisfish.optimization.title=
isisfish.params.changeLogLev=Change from level '%1$s' to level '%2$s'
isisfish.params.description=Description
isisfish.params.loadOldSimulation=Load old simulation
Modified: branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties
===================================================================
--- branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2014-03-21 09:29:21 UTC (rev 3901)
+++ branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2014-03-21 09:30:13 UTC (rev 3902)
@@ -98,11 +98,6 @@
isisfish.advancedParams.simulationCache=Simulation cache
isisfish.advancedParams.simulationStatistique=Simulation statistique
isisfish.advancedParams.simulatorUse=Simulateur à utiliser
-isisfish.calibration.methodfactorsupported=La méthode de calibration choisie gère les cardinalités des facteurs
-isisfish.calibration.objectives=Fonctions d'objectif
-isisfish.calibration.optimization=Critère d'optimisation
-isisfish.calibration.select=Méthode de calibration
-isisfish.calibration.title=Calibration
isisfish.cell.comments=Commentaires
isisfish.cell.land=Terre
isisfish.cell.latitude=Latitude
@@ -656,6 +651,11 @@
isisfish.month.november=novembre
isisfish.month.october=octobre
isisfish.month.september=septembre
+isisfish.optimization.methodfactorsupported=La méthode de calibration choisie gère les cardinalités des facteurs
+isisfish.optimization.objectives=Fonctions d'objectif
+isisfish.optimization.optimization=Critère d'optimisation
+isisfish.optimization.select=Méthode de calibration
+isisfish.optimization.title=Calibration
isisfish.params.changeLogLev=Passe du niveau '%1$s' au niveau '%2$s'
isisfish.params.description=Description
isisfish.params.loadOldSimulation=Charger une ancienne simulation
1
0
r3901 - branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore
by echatellier@users.forge.codelutin.com 21 Mar '14
by echatellier@users.forge.codelutin.com 21 Mar '14
21 Mar '14
Author: echatellier
Date: 2014-03-21 10:29:21 +0100 (Fri, 21 Mar 2014)
New Revision: 3901
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/3901
Log:
jaxx can't handle java 7 code
Modified:
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ObjectiveStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/OptimizationStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ScriptStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulatorStorage.java
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java 2014-03-21 09:29:21 UTC (rev 3901)
@@ -63,7 +63,7 @@
public static final String EXPORT_TEMPLATE = "templates/script/export.ftl";
/** Instance cache. */
- private static Map<String, ExportStorage> exportCache = new ReferenceMap<>();
+ private static Map<String, ExportStorage> exportCache = new ReferenceMap<String, ExportStorage>();
/**
* Constructeur.
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ObjectiveStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ObjectiveStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ObjectiveStorage.java 2014-03-21 09:29:21 UTC (rev 3901)
@@ -52,7 +52,7 @@
public static final String OBJECTIVE_TEMPLATE = "templates/script/objective.ftl";
/** Instance cache. */
- private static Map<String, ObjectiveStorage> objectiveCache = new ReferenceMap<>();
+ private static Map<String, ObjectiveStorage> objectiveCache = new ReferenceMap<String, ObjectiveStorage>();
/**
* Contruit un nouveau storage
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/OptimizationStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/OptimizationStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/OptimizationStorage.java 2014-03-21 09:29:21 UTC (rev 3901)
@@ -52,7 +52,7 @@
public static final String OPTIMIZATION_TEMPLATE = "templates/script/optimization.ftl";
/** Instance cache. */
- private static Map<String, OptimizationStorage> objectiveCache = new ReferenceMap<>();
+ private static Map<String, OptimizationStorage> objectiveCache = new ReferenceMap<String, OptimizationStorage>();
/**
* Contruit un nouveau storage
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java 2014-03-21 09:29:21 UTC (rev 3901)
@@ -70,7 +70,7 @@
private static Log log = LogFactory.getLog(RegionStorage.class);
/** Instance cache. */
- protected static Map<String, RegionStorage> regions = new ReferenceMap<>();
+ protected static Map<String, RegionStorage> regions = new ReferenceMap<String, RegionStorage>();
/** File to use to store next commit region comment. */
protected File commentForNextCommitFile = null;
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java 2014-03-21 09:29:21 UTC (rev 3901)
@@ -68,7 +68,7 @@
public static final String RULE_TEMPLATE = "templates/script/rule.ftl";
/** Instance cache. */
- private static Map<String, RuleStorage> rulesCache = new ReferenceMap<>();
+ private static Map<String, RuleStorage> rulesCache = new ReferenceMap<String, RuleStorage>();
/**
* Contruit un nouveau rule storage
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ScriptStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ScriptStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ScriptStorage.java 2014-03-21 09:29:21 UTC (rev 3901)
@@ -54,7 +54,7 @@
public static final String SCRIPT_TEMPLATE = "templates/script/script.ftl";
/** Instance cache. */
- static private Map<String, ScriptStorage> scriptsCache = new ReferenceMap<>();
+ static private Map<String, ScriptStorage> scriptsCache = new ReferenceMap<String, ScriptStorage>();
/**
*
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java 2014-03-21 09:29:21 UTC (rev 3901)
@@ -56,7 +56,7 @@
public static final String SENSITIVITY_EXPORT_TEMPLATE = "templates/script/sensitivityexport.ftl";
/** Instance cache. */
- private static Map<String, SensitivityExportStorage> sensitivityExportsCache = new ReferenceMap<>();
+ private static Map<String, SensitivityExportStorage> sensitivityExportsCache = new ReferenceMap<String, SensitivityExportStorage>();
/**
* Constructeur.
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java 2014-03-21 09:29:21 UTC (rev 3901)
@@ -85,7 +85,7 @@
private static Log log = LogFactory.getLog(SimulationStorage.class);
/** Cache des simulation storage. */
- protected static Map<String, SimulationStorage> simulations = new ReferenceMap<>();
+ protected static Map<String, SimulationStorage> simulations = new ReferenceMap<String, SimulationStorage>();
/** some free information, that user can add during simulation */
protected SimulationInformation information = null;
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulatorStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulatorStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulatorStorage.java 2014-03-21 09:29:21 UTC (rev 3901)
@@ -55,7 +55,7 @@
public static final String SIMULATOR_TEMPLATE = "templates/script/simulator.ftl";
/** Simulators cache. */
- static private Map<String, SimulatorStorage> simulatorsCache = new ReferenceMap<>();
+ static private Map<String, SimulatorStorage> simulatorsCache = new ReferenceMap<String, SimulatorStorage>();
/**
* Constructeur.
1
0
r3900 - in branches/4.0.1/src: main/java/fr/ifremer/isisfish main/java/fr/ifremer/isisfish/datastore main/java/fr/ifremer/isisfish/rule main/java/fr/ifremer/isisfish/simulator main/java/fr/ifremer/isisfish/ui/script main/java/fr/ifremer/isisfish/ui/script/model main/java/fr/ifremer/isisfish/util main/resources/i18n main/resources/templates/script test/java/fr/ifremer/isisfish/datastore
by echatellier@users.forge.codelutin.com 20 Mar '14
by echatellier@users.forge.codelutin.com 20 Mar '14
20 Mar '14
Author: echatellier
Date: 2014-03-20 15:53:11 +0100 (Thu, 20 Mar 2014)
New Revision: 3900
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/3900
Log:
refs #4803: Gestion des nouveaux scripts dans les storages et dans l'UI script.
Added:
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ObjectiveStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/OptimizationStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimization.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimizationContext.java
branches/4.0.1/src/main/resources/templates/script/objective.ftl
branches/4.0.1/src/main/resources/templates/script/optimization.ftl
branches/4.0.1/src/test/java/fr/ifremer/isisfish/datastore/ObjectiveStorageTest.java
branches/4.0.1/src/test/java/fr/ifremer/isisfish/datastore/OptimizationStorageTest.java
Removed:
branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimisation.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimisationContext.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/util/Docable.java
Modified:
branches/4.0.1/src/main/java/fr/ifremer/isisfish/IsisConfig.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/IsisFish.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/FormuleStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/rule/Rule.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Objective.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/script/model/ScriptTreeModel.java
branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties
branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/IsisConfig.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -158,7 +158,7 @@
return apiVersion;
}
- static final public String COPYRIGHT_TEXT = "Version " + getVersion() + " IFREMER-MAERHA © 2000-2012";
+ static final public String COPYRIGHT_TEXT = "Version " + getVersion() + " IFREMER-MAERHA © 2000-2014";
static final public String CONFIG_FILENAME = "isis-config-" + majorVersion.toString();
/** separateur de liste */
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/IsisFish.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/IsisFish.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/IsisFish.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -66,6 +66,8 @@
import fr.ifremer.isisfish.cron.CronService;
import fr.ifremer.isisfish.datastore.ExportStorage;
import fr.ifremer.isisfish.datastore.FormuleStorage;
+import fr.ifremer.isisfish.datastore.ObjectiveStorage;
+import fr.ifremer.isisfish.datastore.OptimizationStorage;
import fr.ifremer.isisfish.datastore.RegionStorage;
import fr.ifremer.isisfish.datastore.RuleStorage;
import fr.ifremer.isisfish.datastore.ScriptStorage;
@@ -387,14 +389,17 @@
vcs.checkout(tag, false);
// ajoute les repertoires qu'il faut
- SimulationPlanStorage.checkout();
ExportStorage.checkout();
FormuleStorage.checkout();
+ ObjectiveStorage.checkout();
+ OptimizationStorage.checkout();
RuleStorage.checkout();
ScriptStorage.checkout();
- SimulatorStorage.checkout();
SensitivityAnalysisStorage.checkout();
SensitivityExportStorage.checkout();
+ SimulationPlanStorage.checkout();
+ SimulatorStorage.checkout();
+
// on ne prend pas toutes les simu ni toutes les regions
vcs.update(new File(local, SimulationStorage.SIMULATION_PATH), false);
@@ -536,7 +541,7 @@
// cleanup
communityVcs.cleanup(null);
-
+
// check protocol, user, host
communityVcs.checkProtocol();
@@ -547,7 +552,7 @@
warnFileListDialog(_("isisfish.error.warning.title"), _("isisfish.vcs.update.warningconflict"), filesInClonflict);
}
}
-
+
// fin de l'init on supprime le vetoable du vcs
communityVcs.remoteVetoableActionListener(asker);
}
@@ -595,7 +600,7 @@
comFile.renameTo(newFile);
}
}
-
+
if (log.isDebugEnabled()) {
long after = System.currentTimeMillis();
log.debug("Check corrumpted file in " + (after - before) + " ms");
@@ -614,7 +619,7 @@
// est illisible
String conflictFilesString = "";
String separator = "";
- for(File file : conflictFiles) {
+ for (File file : conflictFiles) {
conflictFilesString += separator + file.toString();
separator = "\n";
}
@@ -683,13 +688,13 @@
// init simulater manager
SimulationService.getService();
-
+
// init IsisTray
IsisTray.getInstance();
-
+
// OpenMap sysout
MapBean.suppressCopyright = true;
-
+
// configure swing session
// can't be in config ? getUserConfigDirectory() not static
File isisConfigDirectory = new File(config.getUserConfigDirectory(), "isis-fish");
@@ -715,7 +720,7 @@
quit();
}
});
-
+
try {
InputStream imageStream = WelcomeUI.class.getResourceAsStream("/images/simulation.gif");
Image image = ImageIO.read(imageStream);
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -38,7 +38,6 @@
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.export.Export;
import fr.ifremer.isisfish.util.Doc;
-import fr.ifremer.isisfish.util.Docable;
import fr.ifremer.isisfish.vcs.VCSException;
/**
@@ -153,12 +152,11 @@
}
/**
- * <b>Be ware this method require to instanciate a Export, so
+ * <b>Be ware this method require to instantiate a Export, so
* it would be better to call as often as possible.</b>
*
- * @return the description of the instanciate Export
+ * @return the description of the instantiate Export
* @see Doc
- * @see Docable
*/
public String getDescription() {
String result = null;
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/FormuleStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/FormuleStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/FormuleStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -184,8 +184,6 @@
all.addAll(getCategories());
try {
-
- @SuppressWarnings("unchecked")
List<String> contextCategory = (List<String>) context.findAll(
"SELECT DISTINCT category FROM Equation");
all.addAll(contextCategory);
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -42,7 +42,6 @@
import fr.ifremer.isisfish.IsisFishException;
import fr.ifremer.isisfish.util.CompileHelper;
import fr.ifremer.isisfish.util.Doc;
-import fr.ifremer.isisfish.util.Docable;
import fr.ifremer.isisfish.util.JavadocHelper;
/**
@@ -62,7 +61,7 @@
*
* Last update: $Date$ by : $Author$
*/
-public abstract class JavaSourceStorage extends CodeSourceStorage implements Docable {
+public abstract class JavaSourceStorage extends CodeSourceStorage {
/** Class logger. */
private static Log log = LogFactory.getLog(ExportStorage.class);
@@ -74,7 +73,8 @@
* Build a new java source storage.
*
* @param rootSrc sources root directory
- * @param directory class location directory (rootSrc subdirectory)
+ * @param directory class location directory (rootSrc subdirectory)
+ * @param storagePath storagePath
* @param name class name
*/
protected JavaSourceStorage(File rootSrc, File directory, String name) {
@@ -221,7 +221,6 @@
/**
* Get docable element description.
*/
- @Override
public String getDescription() {
return null;
}
Added: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ObjectiveStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ObjectiveStorage.java (rev 0)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ObjectiveStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -0,0 +1,183 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2014 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.datastore;
+
+import java.io.File;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.collections4.map.ReferenceMap;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import fr.ifremer.isisfish.IsisFish;
+import fr.ifremer.isisfish.vcs.VCSException;
+
+/**
+ * Class permettant de gérer les fonctions d'objectif des optimisations.
+ *
+ * @author Eric Chatellier
+ */
+public class ObjectiveStorage extends JavaSourceStorage { // RulesStorage
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ private static Log log = LogFactory.getLog(ObjectiveStorage.class);
+
+ public static final String OBJECTIVE_PATH = "objectives";
+
+ /** Template freemarker pour les regles. */
+ public static final String OBJECTIVE_TEMPLATE = "templates/script/objective.ftl";
+
+ /** Instance cache. */
+ private static Map<String, ObjectiveStorage> objectiveCache = new ReferenceMap<>();
+
+ /**
+ * Contruit un nouveau storage
+ *
+ * @param rootSrc La region auquelle est attaché la rule
+ * @param directory le repertoire ou devrait se trouver la rule
+ * @param name le nom de la rule
+ */
+ protected ObjectiveStorage(File rootSrc, File directory, String name) {
+ super(rootSrc, directory, name);
+ }
+
+ /**
+ * Get context (official VCS) rule directory.
+ *
+ * @return context rule directory
+ */
+ static public File getObjectiveDirectory() {
+ File result = new File(getContextDatabaseDirectory(), OBJECTIVE_PATH);
+ result.mkdirs();
+ return result;
+ }
+
+ /**
+ * Get community VCS rule directory.
+ *
+ * @return community rule directory
+ */
+ public static File getCommunityObjectiveDirectory() {
+ File result = new File(getCommunityDatabaseDirectory(), OBJECTIVE_PATH);
+ result.mkdirs();
+ return result;
+ }
+
+ /**
+ * Retourne le nom de toutes les regles existantes pour cette region
+ *
+ * @return all rule names found in local user database
+ */
+ static public List<String> getObjectiveNames() {
+ List<String> rules = getStorageNames(getObjectiveDirectory());
+ rules.addAll(getStorageNames(getCommunityObjectiveDirectory()));
+ return rules;
+ }
+
+ /**
+ * Retourne le storage pour la regle demandée
+ *
+ * @param name le nom de la regle souhaitée
+ * @param location location to open storage file
+ * @return Le storage pour la regle
+ */
+ static public ObjectiveStorage getObjective(String name, Location... location) {
+ ObjectiveStorage result = objectiveCache.get(name);
+ if (result == null) {
+ Location[] locs = nonEmptyLocation(location);
+ for (int i = 0; i < locs.length && result == null; i++) {
+ Location loc = locs[i];
+ for (File dir : loc.getDirectories()) {
+ ObjectiveStorage storage = new ObjectiveStorage(dir, new File(dir, OBJECTIVE_PATH), name);
+ File sFile = storage.getFile();
+ if (sFile.isFile()) {
+ result = storage;
+ objectiveCache.put(name, result);
+ }
+ }
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Create new rule.
+ *
+ * @param name new rule to create
+ * @param location location to rule storage file
+ * @return new rule storage
+ */
+ public static ObjectiveStorage createObjective(String name, Location location) {
+ File dir = location.getDirectories()[0];
+ ObjectiveStorage storage = new ObjectiveStorage(dir, new File(dir, OBJECTIVE_PATH), name);
+ return storage;
+ }
+
+
+ static public void checkout() throws VCSException {
+ checkout(IsisFish.config.getDatabaseDirectory(), OBJECTIVE_PATH);
+ }
+
+ /**
+ * Retourne la liste des noms de toutes les régions disponible en local qui
+ * ne sont pas encore sur le serveur VCS
+ *
+ * @return liste de noms de regions
+ */
+ static public List<String> getNewObjectiveNames() {
+ List<String> result = getObjectiveNames();
+ result.removeAll(getRemoteObjectiveNames());
+ return result;
+ }
+
+ /**
+ * Retourne la liste des noms de toutes les régions disponible sur le
+ * serveur VCS
+ *
+ * @return la liste des noms de toutes les régions disponible sur le serveur
+ * VCS. Si le serveur n'est pas disponible la liste retournée est
+ * vide.
+ */
+ static public List<String> getRemoteObjectiveNames() {
+ File dir = getObjectiveDirectory();
+ return getRemoteStorageNames(dir);
+ }
+
+ /**
+ * Retourne la liste des noms de toutes les régions disponible sur le
+ * serveur VCS qui ne sont pas encore en local
+ *
+ * @return liste de noms de regions
+ */
+ static public List<String> getNewRemoteObjectiveNames() {
+ List<String> result = getRemoteObjectiveNames();
+ result.removeAll(getObjectiveNames());
+ return result;
+ }
+
+} // ObjectiveStorage
+
Property changes on: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ObjectiveStorage.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/OptimizationStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/OptimizationStorage.java (rev 0)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/OptimizationStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -0,0 +1,183 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2014 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.datastore;
+
+import java.io.File;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.collections4.map.ReferenceMap;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import fr.ifremer.isisfish.IsisFish;
+import fr.ifremer.isisfish.vcs.VCSException;
+
+/**
+ * Class permettant de gérer les fonctions d'objectif des optimisations.
+ *
+ * @author Eric Chatellier
+ */
+public class OptimizationStorage extends JavaSourceStorage { // RulesStorage
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ private static Log log = LogFactory.getLog(OptimizationStorage.class);
+
+ public static final String OPTIMIZATION_PATH = "optimizations";
+
+ /** Template freemarker pour les regles. */
+ public static final String OPTIMIZATION_TEMPLATE = "templates/script/optimization.ftl";
+
+ /** Instance cache. */
+ private static Map<String, OptimizationStorage> objectiveCache = new ReferenceMap<>();
+
+ /**
+ * Contruit un nouveau storage
+ *
+ * @param rootSrc La region auquelle est attaché la rule
+ * @param directory le repertoire ou devrait se trouver la rule
+ * @param name le nom de la rule
+ */
+ protected OptimizationStorage(File rootSrc, File directory, String name) {
+ super(rootSrc, directory, name);
+ }
+
+ /**
+ * Get context (official VCS) rule directory.
+ *
+ * @return context rule directory
+ */
+ static public File getOptimizationDirectory() {
+ File result = new File(getContextDatabaseDirectory(), OPTIMIZATION_PATH);
+ result.mkdirs();
+ return result;
+ }
+
+ /**
+ * Get community VCS rule directory.
+ *
+ * @return community rule directory
+ */
+ public static File getCommunityOptimizationDirectory() {
+ File result = new File(getCommunityDatabaseDirectory(), OPTIMIZATION_PATH);
+ result.mkdirs();
+ return result;
+ }
+
+ /**
+ * Retourne le nom de toutes les regles existantes pour cette region
+ *
+ * @return all rule names found in local user database
+ */
+ static public List<String> getOptimizationNames() {
+ List<String> rules = getStorageNames(getOptimizationDirectory());
+ rules.addAll(getStorageNames(getCommunityOptimizationDirectory()));
+ return rules;
+ }
+
+ /**
+ * Retourne le storage pour la regle demandée
+ *
+ * @param name le nom de la regle souhaitée
+ * @param location location to open storage file
+ * @return Le storage pour la regle
+ */
+ static public OptimizationStorage getOptimization(String name, Location... location) {
+ OptimizationStorage result = objectiveCache.get(name);
+ if (result == null) {
+ Location[] locs = nonEmptyLocation(location);
+ for (int i = 0; i < locs.length && result == null; i++) {
+ Location loc = locs[i];
+ for (File dir : loc.getDirectories()) {
+ OptimizationStorage storage = new OptimizationStorage(dir, new File(dir, OPTIMIZATION_PATH), name);
+ File sFile = storage.getFile();
+ if (sFile.isFile()) {
+ result = storage;
+ objectiveCache.put(name, result);
+ }
+ }
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Create new rule.
+ *
+ * @param name new rule to create
+ * @param location location to rule storage file
+ * @return new rule storage
+ */
+ public static OptimizationStorage createOptimization(String name, Location location) {
+ File dir = location.getDirectories()[0];
+ OptimizationStorage storage = new OptimizationStorage(dir, new File(dir, OPTIMIZATION_PATH), name);
+ return storage;
+ }
+
+
+ static public void checkout() throws VCSException {
+ checkout(IsisFish.config.getDatabaseDirectory(), OPTIMIZATION_PATH);
+ }
+
+ /**
+ * Retourne la liste des noms de toutes les régions disponible en local qui
+ * ne sont pas encore sur le serveur VCS
+ *
+ * @return liste de noms de regions
+ */
+ static public List<String> getNewOptimisationNames() {
+ List<String> result = getOptimizationNames();
+ result.removeAll(getRemoteOptimizationNames());
+ return result;
+ }
+
+ /**
+ * Retourne la liste des noms de toutes les régions disponible sur le
+ * serveur VCS
+ *
+ * @return la liste des noms de toutes les régions disponible sur le serveur
+ * VCS. Si le serveur n'est pas disponible la liste retournée est
+ * vide.
+ */
+ static public List<String> getRemoteOptimizationNames() {
+ File dir = getOptimizationDirectory();
+ return getRemoteStorageNames(dir);
+ }
+
+ /**
+ * Retourne la liste des noms de toutes les régions disponible sur le
+ * serveur VCS qui ne sont pas encore en local
+ *
+ * @return liste de noms de regions
+ */
+ static public List<String> getNewRemoteOptimizationNames() {
+ List<String> result = getRemoteOptimizationNames();
+ result.removeAll(getOptimizationNames());
+ return result;
+ }
+
+} // OptimisationStorage
+
Property changes on: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/OptimizationStorage.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -36,10 +36,8 @@
import org.apache.commons.logging.LogFactory;
import fr.ifremer.isisfish.IsisFish;
-import fr.ifremer.isisfish.IsisFishException;
import fr.ifremer.isisfish.rule.Rule;
import fr.ifremer.isisfish.util.Doc;
-import fr.ifremer.isisfish.util.Docable;
import fr.ifremer.isisfish.vcs.VCSException;
/**
@@ -59,7 +57,7 @@
*
* Last update: $Date$ by : $Author$
*/
-public class RuleStorage extends JavaSourceStorage implements Docable { // RulesStorage
+public class RuleStorage extends JavaSourceStorage { // RulesStorage
/** to use log facility, just put in your code: log.info(\"...\"); */
private static Log log = LogFactory.getLog(RuleStorage.class);
@@ -201,9 +199,8 @@
* <b>Be ware this method require to instanciate a Rule, so
* it would be better to call as often as possible.</b>
*
- * @return the descript of the instanciate Rule
+ * @return the description of the instanciate Rule
* @see Doc
- * @see Docable
*/
public String getDescription() {
String result = null;
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -38,7 +38,6 @@
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
import fr.ifremer.isisfish.util.Doc;
-import fr.ifremer.isisfish.util.Docable;
import fr.ifremer.isisfish.vcs.VCSException;
/**
@@ -208,7 +207,6 @@
*
* @return the descript of the instanciate AnalysePlan
* @see Doc
- * @see Docable
*/
@Override
public String getDescription() {
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -34,7 +34,6 @@
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.IsisFishException;
import fr.ifremer.isisfish.export.SensitivityExport;
-import fr.ifremer.isisfish.util.Docable;
import fr.ifremer.isisfish.vcs.VCSException;
/**
@@ -49,7 +48,7 @@
* Last update: $Date$
* by : $Author: chatellier $
*/
-public class SensitivityExportStorage extends ExportStorage implements Docable {
+public class SensitivityExportStorage extends ExportStorage {
public static final String SENSITIVITY_EXPORT_PATH = "sensitivityexports";
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -39,7 +39,6 @@
import fr.ifremer.isisfish.IsisFishException;
import fr.ifremer.isisfish.simulator.SimulationPlan;
import fr.ifremer.isisfish.util.Doc;
-import fr.ifremer.isisfish.util.Docable;
import fr.ifremer.isisfish.vcs.VCSException;
/**
@@ -199,7 +198,6 @@
*
* @return the descript of the instanciate SimulationPlan
* @see Doc
- * @see Docable
*/
public String getDescription() {
String result = null;
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/rule/Rule.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/rule/Rule.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/rule/Rule.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -84,7 +84,7 @@
/**
* La condition qui doit etre vrai pour faire les actions.
*
- * Si la confition return vrai alors les methodes
+ * Si la condition return vrai alors les methodes
* {@link #preAction(SimulationContext, TimeStep, Metier)} et
* {@link #postAction(SimulationContext, TimeStep, Metier)} seront appelée.
*
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Objective.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Objective.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Objective.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -44,5 +44,5 @@
* @param observation observation
* @return double value
*/
- double eval(OptimisationContext context, List<MatrixND> exports, List<MatrixND> observations);
+ double eval(OptimizationContext context, List<MatrixND> exports, List<MatrixND> observations);
}
Deleted: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimisation.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimisation.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimisation.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -1,49 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2014 Ifremer, Code Lutin, Chatellier Eric
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * #L%
- */
-package fr.ifremer.isisfish.simulator;
-
-import java.util.List;
-
-import fr.ifremer.isisfish.datastore.SimulationStorage;
-import fr.ifremer.isisfish.entities.FisheryRegion;
-
-/**
- * Script d'optimisation.
- *
- * @author Eric Chatellier
- * @since 4.3.0.0
- */
-public interface Optimisation {
-
- /**
- * Génère une nouvelle série de simulation suivant le context d'optimisation.
- *
- * @param context context
- * @param region region
- * @return simulations serie
- */
- List<SimulationStorage> getNextGeneration(OptimisationContext context, FisheryRegion region);
-
-}
Deleted: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimisationContext.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimisationContext.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimisationContext.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -1,63 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2014 Ifremer, Code Lutin, Chatellier Eric
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * #L%
- */
-package fr.ifremer.isisfish.simulator;
-
-import java.util.List;
-
-import fr.ifremer.isisfish.datastore.SimulationStorage;
-import fr.ifremer.isisfish.entities.FisheryRegion;
-
-/**
- * Context utilisé pour gérer les différentes simulation lancées par un script d'optimisation.
- *
- * @author Eric Chatellier
- * @since 4.3.0.0
- */
-public class OptimisationContext {
-
- public FisheryRegion copyRegion(FisheryRegion region) {
- return null;
- }
-
- public void createSimulation(FisheryRegion region) {
-
- }
-
- public int getCurrentGenerationNumber() {
- return 0;
- }
-
- public List<SimulationStorage> getLastGeneration() {
- return null;
- }
-
- public List<SimulationStorage> getGeneration(int n) {
- return null;
- }
-
- public int getGenerationNumber() {
- return 0;
- }
-}
Copied: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimization.java (from rev 3899, branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimisation.java)
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimization.java (rev 0)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimization.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -0,0 +1,49 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2014 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+package fr.ifremer.isisfish.simulator;
+
+import java.util.List;
+
+import fr.ifremer.isisfish.datastore.SimulationStorage;
+import fr.ifremer.isisfish.entities.FisheryRegion;
+
+/**
+ * Script d'optimisation.
+ *
+ * @author Eric Chatellier
+ * @since 4.3.0.0
+ */
+public interface Optimization {
+
+ /**
+ * Génère une nouvelle série de simulation suivant le context d'optimisation.
+ *
+ * @param context context
+ * @param region region
+ * @return simulations serie
+ */
+ List<SimulationStorage> getNextGeneration(OptimizationContext context, FisheryRegion region);
+
+}
Copied: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimizationContext.java (from rev 3899, branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimisationContext.java)
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimizationContext.java (rev 0)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimizationContext.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -0,0 +1,63 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2014 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+package fr.ifremer.isisfish.simulator;
+
+import java.util.List;
+
+import fr.ifremer.isisfish.datastore.SimulationStorage;
+import fr.ifremer.isisfish.entities.FisheryRegion;
+
+/**
+ * Context utilisé pour gérer les différentes simulation lancées par un script d'optimisation.
+ *
+ * @author Eric Chatellier
+ * @since 4.3.0.0
+ */
+public class OptimizationContext {
+
+ public FisheryRegion copyRegion(FisheryRegion region) {
+ return null;
+ }
+
+ public void createSimulation(FisheryRegion region) {
+
+ }
+
+ public int getCurrentGenerationNumber() {
+ return 0;
+ }
+
+ public List<SimulationStorage> getLastGeneration() {
+ return null;
+ }
+
+ public List<SimulationStorage> getGeneration(int n) {
+ return null;
+ }
+
+ public int getGenerationNumber() {
+ return 0;
+ }
+}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -28,7 +28,10 @@
import static org.nuiton.i18n.I18n._;
import java.awt.Color;
+import java.awt.Component;
import java.awt.Desktop;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseEvent;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileFilter;
@@ -46,7 +49,10 @@
import java.util.List;
import java.util.Map;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
+import javax.swing.JPopupMenu;
import javax.swing.SwingUtilities;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;
@@ -62,6 +68,7 @@
import org.nuiton.util.FileUtil;
import org.nuiton.util.ZipUtil;
import org.nuiton.widget.SwingUtil;
+import org.nuiton.widget.editor.RSyntaxEditor;
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.IsisFishRuntimeException;
@@ -70,6 +77,8 @@
import fr.ifremer.isisfish.datastore.ExportStorage;
import fr.ifremer.isisfish.datastore.FormuleStorage;
import fr.ifremer.isisfish.datastore.JavaSourceStorage;
+import fr.ifremer.isisfish.datastore.ObjectiveStorage;
+import fr.ifremer.isisfish.datastore.OptimizationStorage;
import fr.ifremer.isisfish.datastore.RuleStorage;
import fr.ifremer.isisfish.datastore.ScriptStorage;
import fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage;
@@ -183,13 +192,27 @@
WelcomePanelUI parentUI = scriptUI.getParentContainer(WelcomePanelUI.class);
parentUI.setStatusMessage(msg, running);
}
-
+
/**
* Make new script, and select it on tree.
*/
- public void newScript() {
- ScriptMapping selectedType = (ScriptMapping) scriptUI.getScriptTypeChoice().getSelectedItem();
- newScript(selectedType);
+ public void newScript(ScriptUI view, MouseEvent event) {
+ JPopupMenu menu = new JPopupMenu();
+
+ // make a basic copy of already existing menu
+ JMenu oldMenu = view.getScriptNewMenu();
+ for (int i = 0; i < oldMenu.getItemCount(); i++) {
+ JMenuItem oldMenuItem = (JMenuItem)oldMenu.getMenuComponent(i);
+ JMenuItem miCopy = new JMenuItem();
+ miCopy.setText(oldMenuItem.getText());
+ miCopy.setIcon(oldMenuItem.getIcon());
+ for (ActionListener l : oldMenuItem.getActionListeners()) {
+ miCopy.addActionListener(l);
+ }
+ menu.add(miCopy);
+ }
+
+ menu.show((Component)event.getSource(), event.getX(), event.getY());
}
/**
@@ -297,6 +320,12 @@
case CommunityExport:
script = ExportStorage.createExport(fileName, Location.COMMUNITY);
break;
+ case CommunityObjective:
+ script = ObjectiveStorage.createObjective(fileName, Location.COMMUNITY);
+ break;
+ case CommunityOptimization:
+ script = OptimizationStorage.createOptimization(fileName, Location.COMMUNITY);
+ break;
case CommunityRule:
script = RuleStorage.createRule(fileName, Location.COMMUNITY);
break;
@@ -438,6 +467,12 @@
case Rule:
script = RuleStorage.getRule(file.getName(), Location.OFFICIAL);
break;
+ case Objective:
+ script = ObjectiveStorage.getObjective(file.getName(), Location.OFFICIAL);
+ break;
+ case Optimization:
+ script = OptimizationStorage.getOptimization(file.getName(), Location.OFFICIAL);
+ break;
case SimulationPlan:
script = SimulationPlanStorage.getSimulationPlan(file.getName(), Location.OFFICIAL);
break;
@@ -456,6 +491,12 @@
case SensitivityExport:
script = SensitivityExportStorage.getSensitivityExport(file.getName(), Location.OFFICIAL);
break;
+ case CommunityObjective:
+ script = ObjectiveStorage.getObjective(file.getName(), Location.COMMUNITY);
+ break;
+ case CommunityOptimization:
+ script = OptimizationStorage.getOptimization(file.getName(), Location.COMMUNITY);
+ break;
case CommunityRule:
script = RuleStorage.getRule(file.getName(), Location.COMMUNITY);
break;
@@ -1093,6 +1134,12 @@
Rule(
RuleStorage.getRuleDirectory(),
RuleStorage.RULE_TEMPLATE, true),
+ Objective(
+ ObjectiveStorage.getObjectiveDirectory(),
+ ObjectiveStorage.OBJECTIVE_TEMPLATE, true),
+ Optimization(
+ OptimizationStorage.getOptimizationDirectory(),
+ OptimizationStorage.OPTIMIZATION_TEMPLATE, true),
Script(
ScriptStorage.getScriptDirectory(),
ScriptStorage.SCRIPT_TEMPLATE, true),
@@ -1115,6 +1162,12 @@
CommunityExport(
ExportStorage.getCommunityExportDirectory(),
ExportStorage.EXPORT_TEMPLATE),
+ CommunityObjective(
+ ObjectiveStorage.getCommunityObjectiveDirectory(),
+ ObjectiveStorage.OBJECTIVE_TEMPLATE, true),
+ CommunityOptimization(
+ OptimizationStorage.getCommunityOptimizationDirectory(),
+ OptimizationStorage.OPTIMIZATION_TEMPLATE, true),
CommunityRule(
RuleStorage.getCommunityRuleDirectory(),
RuleStorage.RULE_TEMPLATE),
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx 2014-03-20 14:53:11 UTC (rev 3900)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2011 Ifremer, CodeLutin, Chatellier Eric
+ Copyright (C) 2009 - 2014 Ifremer, CodeLutin, Chatellier Eric
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as
@@ -59,6 +59,10 @@
onActionPerformed='getScriptAction().newScript(ScriptAction.ScriptMapping.CommunitySensitivity)' icon="script.png" />
<JMenuItem id="miNewSensitivityExport" text="isisfish.script.menu.txtNewSensitivityExport"
onActionPerformed='getScriptAction().newScript(ScriptAction.ScriptMapping.CommunitySensitivityExport)' icon="script.png" />
+ <JMenuItem text="isisfish.script.menu.txtNewObjective"
+ onActionPerformed='getScriptAction().newScript(ScriptAction.ScriptMapping.CommunityObjective)' icon="script.png" />
+ <JMenuItem text="isisfish.script.menu.txtNewOptimization"
+ onActionPerformed='getScriptAction().newScript(ScriptAction.ScriptMapping.CommunityOptimization)' icon="script.png" />
<JMenuItem id="miNewEquationModel" text="isisfish.script.menu.txtNewEquationModel"
onActionPerformed='getScriptAction().newScript(ScriptAction.ScriptMapping.CommunityFormule)' icon="script.png" />
</JMenu>
@@ -110,9 +114,8 @@
<!-- Toolbar -->
<JPanel layout='{new BorderLayout()}' constraints='BorderLayout.CENTER'>
<JPanel id="buttonBar" layout='{new GridLayout()}' constraints='BorderLayout.NORTH'>
- <JComboBox id="scriptTypeChoice" model='{new ScriptTypesComboModel()}'/>
- <JButton id="buttonScriptNew" text="isisfish.script.new" toolTipText='isisfish.script.new.tooltip'
- onActionPerformed='getScriptAction().newScript()' icon="script.png" />
+ <JButton id="buttonScriptNew" text="isisfish.script.newplus" toolTipText='isisfish.script.new.tooltip'
+ onMousePressed='getScriptAction().newScript(this, event)' icon="script.png" />
<JButton id="buttonScriptSave" text="isisfish.script.save" toolTipText="isisfish.script.save.tooltip"
enabled='{isSingleFileSelected()}' onActionPerformed='getScriptAction().saveScript()' icon="script_save.png" />
<JButton id="buttonScriptExport" text="isisfish.script.export" toolTipText="isisfish.script.export.tooltip" enabled='false'
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/script/model/ScriptTreeModel.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/script/model/ScriptTreeModel.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/script/model/ScriptTreeModel.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -41,6 +41,8 @@
import org.jdesktop.swingx.tree.TreeModelSupport;
import fr.ifremer.isisfish.IsisFish;
+import fr.ifremer.isisfish.datastore.ObjectiveStorage;
+import fr.ifremer.isisfish.datastore.OptimizationStorage;
import fr.ifremer.isisfish.datastore.SimulationPlanStorage;
import fr.ifremer.isisfish.datastore.ExportStorage;
import fr.ifremer.isisfish.datastore.FormuleStorage;
@@ -93,23 +95,27 @@
rootFiles = new HashMap<VCS, List<File>>();
List<File> offFiles = new ArrayList<File>();
- offFiles.add(SimulationPlanStorage.getSimulationPlanDirectory());
offFiles.add(ExportStorage.getExportDirectory());
offFiles.add(FormuleStorage.getFormuleDirectory());
+ offFiles.add(ObjectiveStorage.getObjectiveDirectory());
+ offFiles.add(OptimizationStorage.getOptimizationDirectory());
offFiles.add(RuleStorage.getRuleDirectory());
offFiles.add(ScriptStorage.getScriptDirectory());
offFiles.add(SensitivityExportStorage.getSensitivityExportDirectory());
offFiles.add(SensitivityAnalysisStorage.getSensitivityAnalysisDirectory());
+ offFiles.add(SimulationPlanStorage.getSimulationPlanDirectory());
offFiles.add(SimulatorStorage.getSimulatorDirectory());
List<File> comFiles = new ArrayList<File>();
- comFiles.add(SimulationPlanStorage.getCommunitySimulationPlanDirectory());
comFiles.add(ExportStorage.getCommunityExportDirectory());
comFiles.add(FormuleStorage.getCommunityFormuleDirectory());
+ comFiles.add(ObjectiveStorage.getCommunityObjectiveDirectory());
+ comFiles.add(OptimizationStorage.getCommunityOptimizationDirectory());
comFiles.add(RuleStorage.getCommunityRuleDirectory());
comFiles.add(ScriptStorage.getCommunityScriptDirectory());
comFiles.add(SensitivityExportStorage.getCommunitySensitivityExportDirectory());
comFiles.add(SensitivityAnalysisStorage.getCommunitySensitivityAnalysisDirectory());
+ comFiles.add(SimulationPlanStorage.getCommunitySimulationPlanDirectory());
comFiles.add(SimulatorStorage.getCommunitySimulatorDirectory());
rootFiles.put(IsisFish.vcs, offFiles);
Deleted: branches/4.0.1/src/main/java/fr/ifremer/isisfish/util/Docable.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/util/Docable.java 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/util/Docable.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -1,54 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.util;
-
-/**
- * This is the contract to be realize by any class which wanted to have a @Doc support.
- *
- * @author chemit
- * @see Doc
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public interface Docable {
-
- /**
- * Field documentation (if any).
- *
- * @param fieldName name of the field to use
- * @return the @Doc of the field, or null if none
- */
- Doc getFieldDoc(String fieldName);
-
- /**
- * Class documentation (if any).
- *
- * @return the description of the class, or null if none
- */
- String getDescription();
-}
Modified: branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties
===================================================================
--- branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties 2014-03-20 14:53:11 UTC (rev 3900)
@@ -859,6 +859,8 @@
isisfish.script.menu.txtImport=Import
isisfish.script.menu.txtNewEquationModel=New equation model
isisfish.script.menu.txtNewExport=New export
+isisfish.script.menu.txtNewObjective=New objective function
+isisfish.script.menu.txtNewOptimization=New optimization script
isisfish.script.menu.txtNewRule=New rule
isisfish.script.menu.txtNewScript=New script
isisfish.script.menu.txtNewSensitivity=New sensitivity calculator
@@ -869,6 +871,7 @@
isisfish.script.menu.update=Update from server
isisfish.script.new=New
isisfish.script.new.tooltip=Create new script
+isisfish.script.newplus=New ►
isisfish.script.paste=Paste
isisfish.script.paste.tooltip=Paste current selection (Ctrl-v)
isisfish.script.save=Save
Modified: branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties
===================================================================
--- branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2014-03-19 16:59:03 UTC (rev 3899)
+++ branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2014-03-20 14:53:11 UTC (rev 3900)
@@ -859,6 +859,8 @@
isisfish.script.menu.txtImport=Importer
isisfish.script.menu.txtNewEquationModel=Nouvelle formule
isisfish.script.menu.txtNewExport=Nouveau script d'export
+isisfish.script.menu.txtNewObjective=Nouvelle fonction d'objectif
+isisfish.script.menu.txtNewOptimization=Nouveau script d'optimisation
isisfish.script.menu.txtNewRule=Nouvelle règle
isisfish.script.menu.txtNewScript=Nouveau script
isisfish.script.menu.txtNewSensitivity=Nouveau calculateur de sensibilité
@@ -869,6 +871,7 @@
isisfish.script.menu.update=Synchronisation
isisfish.script.new=Nouveau
isisfish.script.new.tooltip=Crée un nouveau script
+isisfish.script.newplus=Nouveau ►
isisfish.script.paste=Coller
isisfish.script.paste.tooltip=Colle la sélection courante (Ctrl-v)
isisfish.script.save=Sauver
Added: branches/4.0.1/src/main/resources/templates/script/objective.ftl
===================================================================
--- branches/4.0.1/src/main/resources/templates/script/objective.ftl (rev 0)
+++ branches/4.0.1/src/main/resources/templates/script/objective.ftl 2014-03-20 14:53:11 UTC (rev 3900)
@@ -0,0 +1,90 @@
+<#--
+ #%L
+ IsisFish
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2014 Ifremer, CodeLutin, Chatellier Eric
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public
+ License along with this program. If not, see
+ <http://www.gnu.org/licenses/gpl-3.0.html>.
+ #L%
+-->
+/*
+ * Copyright (C) ${date?date?string("yyyy")} ${author}
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ */
+
+package rules;
+
+import static org.nuiton.i18n.I18n._;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.util.List;
+
+import org.nuiton.math.matrix.*;
+
+import fr.ifremer.isisfish.util.Doc;
+import fr.ifremer.isisfish.simulator.SimulationContext;
+import fr.ifremer.isisfish.types.TimeStep;
+import fr.ifremer.isisfish.entities.*;
+import fr.ifremer.isisfish.simulator.Objective;
+import fr.ifremer.isisfish.simulator.OptimizationContext;
+import fr.ifremer.isisfish.datastore.SimulationStorage;
+import fr.ifremer.isisfish.datastore.ResultStorage;
+
+/**
+ * ${name}.java
+ *
+ * Created: ${date?date?string.long}
+ *
+ * @author ${author} <${email}>
+ * @version $Revision: 1545 $
+ * Last update: $Date: ${date?date?string.long} $
+ * by : $Author: ${author} $
+ */
+public class ${name} implements Objective {
+
+ /** to use log facility, just put in your code: log.info("..."); */
+ private static Log log = LogFactory.getLog(${name}.class);
+
+ /**
+ * Effectue une evaluation entre les exports et les observations.
+ *
+ * @param context optimization context
+ * @param exports exports
+ * @param observation observation
+ * @return double value
+ */
+ public double eval(OptimizationContext context, List<MatrixND> exports, List<MatrixND> observations) {
+ // TODO put your code here
+ return 0;
+ }
+}
Added: branches/4.0.1/src/main/resources/templates/script/optimization.ftl
===================================================================
--- branches/4.0.1/src/main/resources/templates/script/optimization.ftl (rev 0)
+++ branches/4.0.1/src/main/resources/templates/script/optimization.ftl 2014-03-20 14:53:11 UTC (rev 3900)
@@ -0,0 +1,89 @@
+<#--
+ #%L
+ IsisFish
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2014 Ifremer, CodeLutin, Chatellier Eric
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public
+ License along with this program. If not, see
+ <http://www.gnu.org/licenses/gpl-3.0.html>.
+ #L%
+-->
+/*
+ * Copyright (C) ${date?date?string("yyyy")} ${author}
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ */
+
+package rules;
+
+import static org.nuiton.i18n.I18n._;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.util.List;
+
+import org.nuiton.math.matrix.*;
+
+import fr.ifremer.isisfish.util.Doc;
+import fr.ifremer.isisfish.simulator.SimulationContext;
+import fr.ifremer.isisfish.types.TimeStep;
+import fr.ifremer.isisfish.entities.*;
+import fr.ifremer.isisfish.simulator.Optimization;
+import fr.ifremer.isisfish.simulator.OptimizationContext;
+import fr.ifremer.isisfish.datastore.SimulationStorage;
+import fr.ifremer.isisfish.datastore.ResultStorage;
+
+/**
+ * ${name}.java
+ *
+ * Created: ${date?date?string.long}
+ *
+ * @author ${author} <${email}>
+ * @version $Revision: 1545 $
+ * Last update: $Date: ${date?date?string.long} $
+ * by : $Author: ${author} $
+ */
+public class ${name} implements Optimization {
+
+ /** to use log facility, just put in your code: log.info("..."); */
+ private static Log log = LogFactory.getLog(${name}.class);
+
+ /**
+ * Génère une nouvelle série de simulation suivant le context d'optimisation.
+ *
+ * @param context context
+ * @param region region
+ * @return simulations serie
+ */
+ public List<SimulationStorage> getNextGeneration(OptimizationContext context, FisheryRegion region) {
+ // TODO
+ return null;
+ }
+}
Added: branches/4.0.1/src/test/java/fr/ifremer/isisfish/datastore/ObjectiveStorageTest.java
===================================================================
--- branches/4.0.1/src/test/java/fr/ifremer/isisfish/datastore/ObjectiveStorageTest.java (rev 0)
+++ branches/4.0.1/src/test/java/fr/ifremer/isisfish/datastore/ObjectiveStorageTest.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -0,0 +1,97 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 Ifremer, CodeLutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.datastore;
+
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import fr.ifremer.isisfish.AbstractIsisFishTest;
+import fr.ifremer.isisfish.IsisFish;
+import fr.ifremer.isisfish.datastore.CodeSourceStorage.Location;
+import freemarker.template.Configuration;
+import freemarker.template.Template;
+
+/**
+ * RuleStorageTest.
+ *
+ * Created: 7 août 2006 11:07:57
+ *
+ * @author poussin
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
+ */
+public class ObjectiveStorageTest extends AbstractIsisFishTest {
+
+ protected Configuration freemarkerConfiguration;
+
+ @Before
+ public void setUp() throws Exception {
+ freemarkerConfiguration = getFreemarkerConfiguration();
+ }
+
+ @Test
+ public void testNewObjectiveWithCompilation() throws Exception {
+
+ String fileName = "TestObjective1";
+
+ ObjectiveStorage objectiveStorage = ObjectiveStorage.createObjective(fileName, Location.OFFICIAL);
+
+ // get template
+ Template template = freemarkerConfiguration
+ .getTemplate(ObjectiveStorage.OBJECTIVE_TEMPLATE);
+
+ // context values
+ Map<String, Object> root = new HashMap<String, Object>();
+ // FIXME what is category ?
+ root.put("category", "");
+ root.put("name", fileName);
+ root.put("date", new Date());
+ root.put("author", IsisFish.config.getUserName());
+ root.put("email", IsisFish.config.getUserMail());
+
+ // process template
+ Writer out = new StringWriter();
+ template.process(root, out);
+ out.flush();
+ String content = out.toString();
+
+ objectiveStorage.setContent(content);
+
+ // 0 = compile success
+ int compileResult = objectiveStorage.compile(false, null);
+ Assert.assertEquals(0, compileResult);
+ }
+
+}
Property changes on: branches/4.0.1/src/test/java/fr/ifremer/isisfish/datastore/ObjectiveStorageTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/4.0.1/src/test/java/fr/ifremer/isisfish/datastore/OptimizationStorageTest.java
===================================================================
--- branches/4.0.1/src/test/java/fr/ifremer/isisfish/datastore/OptimizationStorageTest.java (rev 0)
+++ branches/4.0.1/src/test/java/fr/ifremer/isisfish/datastore/OptimizationStorageTest.java 2014-03-20 14:53:11 UTC (rev 3900)
@@ -0,0 +1,97 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 Ifremer, CodeLutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.datastore;
+
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import fr.ifremer.isisfish.AbstractIsisFishTest;
+import fr.ifremer.isisfish.IsisFish;
+import fr.ifremer.isisfish.datastore.CodeSourceStorage.Location;
+import freemarker.template.Configuration;
+import freemarker.template.Template;
+
+/**
+ * RuleStorageTest.
+ *
+ * Created: 7 août 2006 11:07:57
+ *
+ * @author poussin
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
+ */
+public class OptimizationStorageTest extends AbstractIsisFishTest {
+
+ protected Configuration freemarkerConfiguration;
+
+ @Before
+ public void setUp() throws Exception {
+ freemarkerConfiguration = getFreemarkerConfiguration();
+ }
+
+ @Test
+ public void testNewOptimizationWithCompilation() throws Exception {
+
+ String fileName = "TestOptimization1";
+
+ OptimizationStorage optimizationStorage = OptimizationStorage.createOptimization(fileName, Location.OFFICIAL);
+
+ // get template
+ Template template = freemarkerConfiguration
+ .getTemplate(OptimizationStorage.OPTIMIZATION_TEMPLATE);
+
+ // context values
+ Map<String, Object> root = new HashMap<String, Object>();
+ // FIXME what is category ?
+ root.put("category", "");
+ root.put("name", fileName);
+ root.put("date", new Date());
+ root.put("author", IsisFish.config.getUserName());
+ root.put("email", IsisFish.config.getUserMail());
+
+ // process template
+ Writer out = new StringWriter();
+ template.process(root, out);
+ out.flush();
+ String content = out.toString();
+
+ optimizationStorage.setContent(content);
+
+ // 0 = compile success
+ int compileResult = optimizationStorage.compile(false, null);
+ Assert.assertEquals(0, compileResult);
+ }
+
+}
Property changes on: branches/4.0.1/src/test/java/fr/ifremer/isisfish/datastore/OptimizationStorageTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
1
0
19 Mar '14
Author: echatellier
Date: 2014-03-19 17:59:03 +0100 (Wed, 19 Mar 2014)
New Revision: 3899
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/3899
Log:
Make newInstance generic
Added:
branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Objective.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimisation.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimisationContext.java
Modified:
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultDatabaseStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultMappedStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultStorageInMemory.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ScriptStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulatorStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/ResultManager.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationExportResultWrapper.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/export/ExportNameListRenderer.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleNamesListRenderer.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisComboRenderer.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityexport/SensitivityExportNameListRenderer.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanComboRenderer.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/result/ResultHandler.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooserHandler.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
branches/4.0.1/src/test/java/fr/ifremer/isisfish/datastore/SimulatorStorageTest.java
branches/4.0.1/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java
branches/4.0.1/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java
branches/4.0.1/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityAnalysisTest.java
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -36,7 +36,6 @@
import org.apache.commons.logging.LogFactory;
import fr.ifremer.isisfish.IsisFish;
-import fr.ifremer.isisfish.IsisFishException;
import fr.ifremer.isisfish.export.Export;
import fr.ifremer.isisfish.util.Doc;
import fr.ifremer.isisfish.util.Docable;
@@ -101,17 +100,6 @@
}
/**
- * Retourne une nouvelle instance de la regle. Compile le fichier si besoin
- *
- * @return une nouvelle instance de la classe d'export
- * @throws IsisFishException
- */
- public Export getNewExportInstance() throws IsisFishException {
- Object result = getNewInstance();
- return (Export) result;
- }
-
- /**
* Retourne le storage pour l'export demandée
*
* @param name le nom de l'export souhaitée
@@ -175,7 +163,7 @@
public String getDescription() {
String result = null;
try {
- Export export = getNewExportInstance();
+ Export export = getNewInstance();
if (export != null) {
result = export.getDescription();
}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -148,13 +148,10 @@
* @return la class
* @throws IsisFishException
*/
- public Class<?> getCodeClass() throws IsisFishException {
+ public <E> Class<E> getCodeClass() throws IsisFishException {
String fqn = getFQN();
- // Class result = CompileHelper.loadClass(fqn);
- // if (result == null) {
compile(false, null);
- Class<?> result = CompileHelper.loadClass(fqn);
- // }
+ Class<E> result = (Class<E>)CompileHelper.loadClass(fqn);
if (result == null) {
throw new IsisFishException(_("isisfish.error.load.class", fqn));
}
@@ -167,9 +164,9 @@
* @return une nouvelle instance de la class
* @throws IsisFishException if can't make new instance
*/
- public Object getNewInstance() throws IsisFishException {
- Class<?> clazz = getCodeClass();
- Object result;
+ public <E> E getNewInstance() throws IsisFishException {
+ Class<E> clazz = getCodeClass();
+ E result;
try {
result = clazz.newInstance();
} catch (InstantiationException eee) {
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultDatabaseStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultDatabaseStorage.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultDatabaseStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -256,7 +256,7 @@
for (String exportName : exportNames) {
ExportStorage storage = ExportStorage.getExport(exportName);
try {
- Export export = storage.getNewExportInstance();
+ Export export = storage.getNewInstance();
for (String resultName : export.getNecessaryResult()) {
enabledResult.add(resultName);
}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultMappedStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultMappedStorage.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultMappedStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -610,7 +610,7 @@
for (String exportName : exportNames) {
ExportStorage storage = ExportStorage.getExport(exportName);
try {
- Export export = storage.getNewExportInstance();
+ Export export = storage.getNewInstance();
for (String resultName : export.getNecessaryResult()) {
enabledResult.add(resultName);
}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultStorageInMemory.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultStorageInMemory.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultStorageInMemory.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -141,7 +141,7 @@
for (String exportName : exportNames) {
ExportStorage storage = ExportStorage.getExport(exportName);
try {
- Export export = storage.getNewExportInstance();
+ Export export = storage.getNewInstance();
for (String resultName : export.getNecessaryResult()) {
enabledResult.add(resultName);
}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -155,16 +155,6 @@
return storage;
}
- /**
- * Retourne une nouvelle instance de la regle. Compile le fichier si besoin
- *
- * @return a new rule instance
- * @throws IsisFishException if any exception while instanciation
- */
- public Rule getNewRuleInstance() throws IsisFishException {
- Object result = getNewInstance();
- return (Rule) result;
- }
static public void checkout() throws VCSException {
checkout(IsisFish.config.getDatabaseDirectory(), RULE_PATH);
@@ -218,7 +208,7 @@
public String getDescription() {
String result = null;
try {
- Rule rule = getNewRuleInstance();
+ Rule rule = getNewInstance();
result = rule == null ? null : rule.getDescription();
} catch (Exception e) {
log.warn(_("isisfish.error.not.found.description",this));
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ScriptStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ScriptStorage.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ScriptStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -89,16 +89,6 @@
result.mkdirs();
return result;
}
-
- /**
- * Retourne une nouvelle instance de la regle. Compile le fichier si besoin
- *
- * @return une nouvelle instance
- * @throws IsisFishException
- */
- public Object getNewScriptInstance() throws IsisFishException {
- return getNewInstance();
- }
/**
* Retourne le storage pour la regle demandée
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -36,7 +36,6 @@
import org.apache.commons.logging.LogFactory;
import fr.ifremer.isisfish.IsisFish;
-import fr.ifremer.isisfish.IsisFishException;
import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
import fr.ifremer.isisfish.util.Doc;
import fr.ifremer.isisfish.util.Docable;
@@ -152,17 +151,6 @@
}
/**
- * Retourne une nouvelle instance du calculateur. Compile le fichier si besoin
- *
- * @return retourne une nouvelle instance du calculateur
- * @throws IsisFishException s'il y a un problème d'instanciation
- */
- public SensitivityAnalysis getNewSensitivityAnalysisInstance() throws IsisFishException {
- Object result = getNewInstance();
- return (SensitivityAnalysis) result;
- }
-
- /**
* Effectue un chekout VCS sur le répertoire des calculateurs.
*
* @see VersionStorage#checkout(File, String)
@@ -226,7 +214,7 @@
public String getDescription() {
String result = null;
try {
- SensitivityAnalysis sensitivityAnalysis = getNewSensitivityAnalysisInstance();
+ SensitivityAnalysis sensitivityAnalysis = getNewInstance();
result = sensitivityAnalysis == null ? null : sensitivityAnalysis.getDescription();
} catch (Exception e) {
log.warn(_("isisfish.error.not.found.description", this));
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -93,17 +93,6 @@
}
/**
- * Retourne une nouvelle instance de l'export. Compile le fichier si besoin.
- *
- * @return une nouvelle instance de la classe d'export
- * @throws IsisFishException
- */
- public SensitivityExport getNewSensitivityExportInstance() throws IsisFishException {
- Object result = getNewInstance();
- return (SensitivityExport) result;
- }
-
- /**
* Retourne le storage pour l'export demandé.
*
* @param name le nom de la export souhaitée
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -151,17 +151,6 @@
return storage;
}
- /**
- * Retourne une nouvelle instance du plan. Compile le fichier si besoin
- *
- * @return retourne une nouvelle instance du plan
- * @throws IsisFishException s'il y a un probleme d'instanciation
- */
- public SimulationPlan getNewSimulationPlanInstance() throws IsisFishException {
- Object result = getNewInstance();
- return (SimulationPlan) result;
- }
-
static public void checkout() throws VCSException {
checkout(IsisFish.config.getDatabaseDirectory(), SIMULATION_PLAN_PATH);
}
@@ -215,7 +204,7 @@
public String getDescription() {
String result = null;
try {
- SimulationPlan simulationPlan = getNewSimulationPlanInstance();
+ SimulationPlan simulationPlan = getNewInstance();
result = simulationPlan == null ? null : simulationPlan.getDescription();
} catch (Exception e) {
log.warn(_("isisfish.error.not.found.description", this));
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulatorStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulatorStorage.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulatorStorage.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -87,17 +87,6 @@
result.mkdirs();
return result;
}
-
- /**
- * Retourne une nouvelle instance du simulateur. Compile le fichier si besoin.
- *
- * @return new simulator instance
- * @throws IsisFishException
- */
- public Simulator getNewSimulatorInstance() throws IsisFishException {
- Simulator result = (Simulator)getNewInstance();
- return result;
- }
/**
* Retourne le storage pour le simulateur demandée.
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -451,7 +451,7 @@
for (Element ruleElement : ruleElements) {
String name = ruleElement.attributeValue("name");
try {
- Rule rule = RuleStorage.getRule(name).getNewRuleInstance();
+ Rule rule = RuleStorage.getRule(name).getNewInstance();
// get properties
Properties props = new Properties();
Added: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Objective.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Objective.java (rev 0)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Objective.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -0,0 +1,48 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2014 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+package fr.ifremer.isisfish.simulator;
+
+import java.util.List;
+
+import org.nuiton.math.matrix.MatrixND;
+
+/**
+ * Interface des fonctions d'objectifs.
+ *
+ * @author Eric Chatellier
+ * @since 4.3.0.0
+ */
+public interface Objective {
+
+ /**
+ * Effectue une evaluation entre les exports et les observations.
+ *
+ * @param context optimisation context
+ * @param exports exports
+ * @param observation observation
+ * @return double value
+ */
+ double eval(OptimisationContext context, List<MatrixND> exports, List<MatrixND> observations);
+}
Property changes on: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Objective.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimisation.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimisation.java (rev 0)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimisation.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -0,0 +1,49 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2014 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+package fr.ifremer.isisfish.simulator;
+
+import java.util.List;
+
+import fr.ifremer.isisfish.datastore.SimulationStorage;
+import fr.ifremer.isisfish.entities.FisheryRegion;
+
+/**
+ * Script d'optimisation.
+ *
+ * @author Eric Chatellier
+ * @since 4.3.0.0
+ */
+public interface Optimisation {
+
+ /**
+ * Génère une nouvelle série de simulation suivant le context d'optimisation.
+ *
+ * @param context context
+ * @param region region
+ * @return simulations serie
+ */
+ List<SimulationStorage> getNextGeneration(OptimisationContext context, FisheryRegion region);
+
+}
Property changes on: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimisation.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimisationContext.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimisationContext.java (rev 0)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimisationContext.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -0,0 +1,63 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2014 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+package fr.ifremer.isisfish.simulator;
+
+import java.util.List;
+
+import fr.ifremer.isisfish.datastore.SimulationStorage;
+import fr.ifremer.isisfish.entities.FisheryRegion;
+
+/**
+ * Context utilisé pour gérer les différentes simulation lancées par un script d'optimisation.
+ *
+ * @author Eric Chatellier
+ * @since 4.3.0.0
+ */
+public class OptimisationContext {
+
+ public FisheryRegion copyRegion(FisheryRegion region) {
+ return null;
+ }
+
+ public void createSimulation(FisheryRegion region) {
+
+ }
+
+ public int getCurrentGenerationNumber() {
+ return 0;
+ }
+
+ public List<SimulationStorage> getLastGeneration() {
+ return null;
+ }
+
+ public List<SimulationStorage> getGeneration(int n) {
+ return null;
+ }
+
+ public int getGenerationNumber() {
+ return 0;
+ }
+}
Property changes on: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimisationContext.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/ResultManager.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/ResultManager.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/ResultManager.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -123,7 +123,7 @@
for (String exportName : exportNames) {
ExportStorage storage = ExportStorage.getExport(exportName);
try {
- Export export = storage.getNewExportInstance();
+ Export export = storage.getNewInstance();
for (String resultName : export.getNecessaryResult()) {
enabledResult.add(resultName);
}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationExportResultWrapper.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationExportResultWrapper.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationExportResultWrapper.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -78,7 +78,7 @@
for (String exportName : parameters.getExportNames()) {
try {
ExportStorage storage = ExportStorage.getExport(exportName);
- Export export = storage.getNewExportInstance();
+ Export export = storage.getNewInstance();
allExports.add(export);
} catch (IsisFishException e) {
if (log.isErrorEnabled()) {
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -498,7 +498,7 @@
try {
SimulationPlanStorage planStorage = SimulationPlanStorage.getSimulationPlan(name);
if (planStorage != null) { // since 4.0.0.3 can return null
- SimulationPlan plan = planStorage.getNewSimulationPlanInstance();
+ SimulationPlan plan = planStorage.getNewInstance();
StorageHelper.populateStorageParams(planIndex++,
getRegion().getStorage(), plan, propertiesParameters, "plan");
simulationPlans.add(plan);
@@ -596,7 +596,7 @@
for (String name : ruleList) {
if (name != null && !"".equals(name)) {
try {
- Rule rule = RuleStorage.getRule(name).getNewRuleInstance();
+ Rule rule = RuleStorage.getRule(name).getNewInstance();
RuleHelper.populateRule(ruleIndex++, tx, rule, propertiesParameters);
rules.add(rule);
} catch (IsisFishException eee) {
@@ -762,7 +762,7 @@
if (!StringUtils.isEmpty(analysisName)) {
try {
SensitivityAnalysisStorage sensitivityStorage = SensitivityAnalysisStorage.getSensitivityAnalysis(analysisName);
- sensitivityAnalysis = sensitivityStorage.getNewSensitivityAnalysisInstance();
+ sensitivityAnalysis = sensitivityStorage.getNewInstance();
// 0 = only single sensitivity
StorageHelper.populateStorageParams(0, getRegion().getStorage(), sensitivityAnalysis,
propertiesParameters, "sensitivity");
@@ -819,7 +819,7 @@
if (!StringUtils.isEmpty(name)) {
SensitivityExport sensitivityExport = SensitivityExportStorage
.getSensitivityExport(name)
- .getNewSensitivityExportInstance();
+ .getNewInstance();
ExportHelper.populateSensitivityExport(
sensitivityExportIndex++, tx,
sensitivityExport,
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -368,7 +368,7 @@
String simulatorName = parameters.getSimulatorName();
SimulatorStorage simulator = SimulatorStorage
.getSimulator(simulatorName);
- Simulator simulatorObject = simulator.getNewSimulatorInstance();
+ Simulator simulatorObject = simulator.getNewInstance();
// on se met listener sur tc pour connaitre tous les nouveaux objets
ObjectCreationListener objectCreationListener = new ObjectCreationListener();
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/export/ExportNameListRenderer.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/export/ExportNameListRenderer.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/export/ExportNameListRenderer.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -84,7 +84,7 @@
Export export = exportCache.get(exportName);
if (export == null) {
ExportStorage storage = ExportStorage.getExport(exportName);
- export = storage.getNewExportInstance();
+ export = storage.getNewInstance();
exportCache.put(exportName, export);
}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleNamesListRenderer.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleNamesListRenderer.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleNamesListRenderer.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -83,7 +83,7 @@
Rule rule = ruleCache.get(ruleName);
if (rule == null) {
RuleStorage storage = RuleStorage.getRule(ruleName);
- rule = storage.getNewRuleInstance();
+ rule = storage.getNewInstance();
ruleCache.put(ruleName, rule);
}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisComboRenderer.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisComboRenderer.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisComboRenderer.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -85,7 +85,7 @@
if (plan == null) {
SensitivityAnalysisStorage storage = SensitivityAnalysisStorage
.getSensitivityAnalysis(sensitivityName);
- plan = storage.getNewSensitivityAnalysisInstance();
+ plan = storage.getNewInstance();
sensitivityAnalysisCache.put(sensitivityName, plan);
}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityexport/SensitivityExportNameListRenderer.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityexport/SensitivityExportNameListRenderer.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityexport/SensitivityExportNameListRenderer.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -84,7 +84,7 @@
SensitivityExport export = sensitivityExportCache.get(exportName);
if (export == null) {
SensitivityExportStorage storage = SensitivityExportStorage.getSensitivityExport(exportName);
- export = storage.getNewSensitivityExportInstance();
+ export = storage.getNewInstance();
sensitivityExportCache.put(exportName, export);
}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanComboRenderer.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanComboRenderer.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanComboRenderer.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -85,7 +85,7 @@
if (plan == null) {
SimulationPlanStorage storage = SimulationPlanStorage
.getSimulationPlan(simulationPlanName);
- plan = storage.getNewSimulationPlanInstance();
+ plan = storage.getNewInstance();
simulationPlanCache.put(simulationPlanName, plan);
}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/result/ResultHandler.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/result/ResultHandler.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/result/ResultHandler.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -250,7 +250,7 @@
try {
out = new BufferedWriter(new FileWriter(file));
ExportStorage storage = ExportStorage.getExport(exportName);
- Export export = storage.getNewExportInstance();
+ Export export = storage.getNewInstance();
export.export(simulationStorage, out);
}
finally {
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooserHandler.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooserHandler.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooserHandler.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -57,7 +57,7 @@
String availableRuleName = (String)availableRuleValue;
try {
RuleStorage ruleStorage = RuleStorage.getRule(availableRuleName);
- Rule ruleTmp = ruleStorage.getNewRuleInstance();
+ Rule ruleTmp = ruleStorage.getNewInstance();
// add it after autoconfiguration (if enabled)
ruleTmp = (Rule)ScriptParameterDialog.displayConfigurationFrame(ruleChooser, ruleTmp);
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -637,7 +637,7 @@
public void addSimulationPlan(SensUI sensUI, String name) {
try {
- SimulationPlan sp = SimulationPlanStorage.getSimulationPlan(name).getNewSimulationPlanInstance();
+ SimulationPlan sp = SimulationPlanStorage.getSimulationPlan(name).getNewInstance();
// add it after autoconfiguration (if enabled)
sp = (SimulationPlan)ScriptParameterDialog.displayConfigurationFrame(sensUI, sp);
@@ -710,7 +710,7 @@
public void addSensitivityExport(SensitivityChooserUI sensitivityChooserUI, String name) {
try {
SensitivityExportStorage storage = SensitivityExportStorage.getSensitivityExport(name);
- SensitivityExport sensitivityExport = storage.getNewSensitivityExportInstance();
+ SensitivityExport sensitivityExport = storage.getNewInstance();
// add it after autoconfiguration (if enabled)
sensitivityExport = (SensitivityExport)ScriptParameterDialog.displayConfigurationFrame(sensitivityChooserUI, sensitivityExport);
@@ -803,8 +803,7 @@
SensitivityAnalysis sensitivityAnalysis = null;
try {
sensitivityStorage = SensitivityAnalysisStorage.getSensitivityAnalysis(name);
- sensitivityAnalysis = sensitivityStorage
- .getNewSensitivityAnalysisInstance();
+ sensitivityAnalysis = sensitivityStorage.getNewInstance();
} catch (IsisFishException e) {
if (log.isErrorEnabled()) {
log.error("Can't set sensitivity analysis", e);
Modified: branches/4.0.1/src/test/java/fr/ifremer/isisfish/datastore/SimulatorStorageTest.java
===================================================================
--- branches/4.0.1/src/test/java/fr/ifremer/isisfish/datastore/SimulatorStorageTest.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/test/java/fr/ifremer/isisfish/datastore/SimulatorStorageTest.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -125,7 +125,7 @@
}
SimulatorStorage simulatorStorage = SimulatorStorage.getSimulator("DefaultSimulator");
- Simulator simulator = simulatorStorage.getNewSimulatorInstance();
+ Simulator simulator = simulatorStorage.getNewInstance();
Assert.assertNotNull(simulator);
Assert.assertTrue(f.exists());
}
Modified: branches/4.0.1/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java
===================================================================
--- branches/4.0.1/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -122,13 +122,13 @@
matrix1.setValue(new int[] { 2, 1 }, -1);
// rule 1, species = c'est une des especes de la base BaseMotosICA
- Rule ruleTacPoids = RuleStorage.getRule("TACpoids").getNewRuleInstance();
+ Rule ruleTacPoids = RuleStorage.getRule("TACpoids").getNewInstance();
Properties props = new Properties();
props.setProperty("rule.0.parameter.species", "fr.ifremer.isisfish.entities.Species#1169028645830#0.022262364425031378");
RuleHelper.populateRule(0, regionContext, ruleTacPoids, props);
// rule 2, species = c'est une des especes de la base BaseMotosICA
- Rule ruleTailleMin = RuleStorage.getRule("TailleMin").getNewRuleInstance();
+ Rule ruleTailleMin = RuleStorage.getRule("TailleMin").getNewInstance();
props = new Properties();
props.setProperty("rule.0.parameter.species", "fr.ifremer.isisfish.entities.Species#1169028645830#0.022262364425031378");
props.setProperty("rule.0.parameter.propSurvie", "42");
Modified: branches/4.0.1/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java
===================================================================
--- branches/4.0.1/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -380,11 +380,11 @@
factorPop.setValue(mat);
// factor rule, species = c'est une des especes de la base BaseMotosICA
- Rule ruleTacPoids = RuleStorage.getRule("TACpoids").getNewRuleInstance();
+ Rule ruleTacPoids = RuleStorage.getRule("TACpoids").getNewInstance();
Properties props = new Properties();
props.setProperty("rule.0.parameter.species", "fr.ifremer.isisfish.entities.Species#1169028645830#0.022262364425031378");
RuleHelper.populateRule(0, regionContext, ruleTacPoids, props);
- Rule ruleTailleMin = RuleStorage.getRule("TailleMin").getNewRuleInstance();
+ Rule ruleTailleMin = RuleStorage.getRule("TailleMin").getNewInstance();
props = new Properties();
props.setProperty("rule.0.parameter.species", "fr.ifremer.isisfish.entities.Species#1169028645830#0.022262364425031378");
props.setProperty("rule.0.parameter.propSurvie", "42");
Modified: branches/4.0.1/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityAnalysisTest.java
===================================================================
--- branches/4.0.1/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityAnalysisTest.java 2014-03-19 16:05:54 UTC (rev 3898)
+++ branches/4.0.1/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityAnalysisTest.java 2014-03-19 16:59:03 UTC (rev 3899)
@@ -210,7 +210,7 @@
*/
@Test
public void testMorris() throws IsisFishException, SensitivityException {
- SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("Morris").getNewSensitivityAnalysisInstance();
+ SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("Morris").getNewInstance();
Assert.assertNotNull("Morris script not found in test data", script);
// uniform min/max
@@ -268,7 +268,7 @@
@Test
@Ignore
public void testDOptimal() throws IsisFishException, SensitivityException {
- SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("DOptimal").getNewSensitivityAnalysisInstance();
+ SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("DOptimal").getNewInstance();
Assert.assertNotNull("DOptimal script not found in test data", script);
DesignPlan designPlan = getDesignPlan(getContinuousDoubleUniformMMFactor(), getContinuousDoubleUniformMMFactor());
@@ -294,7 +294,7 @@
*/
@Test
public void testFast() throws IsisFishException, SensitivityException {
- SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("Fast").getNewSensitivityAnalysisInstance();
+ SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("Fast").getNewInstance();
Assert.assertNotNull("Fast script not found in test data", script);
// uniform min/max
@@ -334,7 +334,7 @@
*/
@Test
public void testOptimumLHS() throws IsisFishException, SensitivityException {
- SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("OptimumLHS").getNewSensitivityAnalysisInstance();
+ SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("OptimumLHS").getNewInstance();
Assert.assertNotNull("OptimumLHS script not found in test data", script);
// uniform min/max
@@ -373,7 +373,7 @@
*/
@Test
public void testRandomLHS() throws IsisFishException, SensitivityException {
- SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("RandomLHS").getNewSensitivityAnalysisInstance();
+ SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("RandomLHS").getNewInstance();
Assert.assertNotNull("RandomLHS script not found in test data", script);
// uniform min/max
@@ -415,7 +415,7 @@
@Test
@Ignore
public void testRegularExpandGrid() throws IsisFishException, SensitivityException {
- SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("RegularExpandGrid").getNewSensitivityAnalysisInstance();
+ SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("RegularExpandGrid").getNewInstance();
Assert.assertNotNull("RegularExpandGrid script not found in test data", script);
DesignPlan designPlan = getDesignPlan(getContinuousDoubleUniformMMFactor(), getContinuousDoubleUniformMMFactor());
@@ -441,7 +441,7 @@
*/
@Test
public void testRegularFractions() throws IsisFishException, SensitivityException {
- SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("RegularFractions").getNewSensitivityAnalysisInstance();
+ SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("RegularFractions").getNewInstance();
// this script need pathToFunction parameter to find R script in current directory
SensitivityAnalysisStorage.setParameterValue(script,"pathToFunction",
IsisFish.config.getDatabaseDirectory().getAbsolutePath() + File.separator + "sensitivityanalysis");
@@ -462,7 +462,7 @@
*/
@Test
public void testSobol() throws IsisFishException, SensitivityException {
- SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("Sobol").getNewSensitivityAnalysisInstance();
+ SensitivityAnalysis script = SensitivityAnalysisStorage.getSensitivityAnalysis("Sobol").getNewInstance();
Assert.assertNotNull("Sobol script not found in test data", script);
// sobol avec uniform MM
1
0
r3898 - in branches/4.0.1: . src/main/java/fr/ifremer/isisfish/util src/main/resources/i18n
by echatellier@users.forge.codelutin.com 19 Mar '14
by echatellier@users.forge.codelutin.com 19 Mar '14
19 Mar '14
Author: echatellier
Date: 2014-03-19 17:05:54 +0100 (Wed, 19 Mar 2014)
New Revision: 3898
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/3898
Log:
fixes #2119: Replace tools.jar compiler by ecj compiler
Call javadoc using introspection.
Remove tools.jar
Modified:
branches/4.0.1/pom.xml
branches/4.0.1/src/main/java/fr/ifremer/isisfish/util/CompileHelper.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/util/JavadocHelper.java
branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties
branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties
Modified: branches/4.0.1/pom.xml
===================================================================
--- branches/4.0.1/pom.xml 2014-03-19 12:52:39 UTC (rev 3897)
+++ branches/4.0.1/pom.xml 2014-03-19 16:05:54 UTC (rev 3898)
@@ -283,11 +283,11 @@
<artifactId>aspectjweaver</artifactId>
<version>1.7.4</version>
</dependency>
- <dependency>
+ <!-- <dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>1.7.4</version>
- </dependency>
+ </dependency> -->
<dependency>
<groupId>net.sourceforge</groupId>
@@ -321,10 +321,9 @@
</dependency>
<dependency>
- <groupId>com.sun</groupId>
- <artifactId>tools</artifactId>
- <version>1.7.0.13</version>
- <scope>compile</scope>
+ <groupId>org.eclipse.jdt.core.compiler</groupId>
+ <artifactId>ecj</artifactId>
+ <version>4.3.1</version>
</dependency>
<dependency>
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/util/CompileHelper.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/util/CompileHelper.java 2014-03-19 12:52:39 UTC (rev 3897)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/util/CompileHelper.java 2014-03-19 16:05:54 UTC (rev 3898)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2006 - 2012 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin, Chatellier Eric
+ * Copyright (C) 2006 - 2014 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -41,16 +41,14 @@
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
-import javax.tools.ToolProvider;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.eclipse.jdt.internal.compiler.tool.EclipseCompiler;
import org.nuiton.util.FileUtil;
-import com.sun.tools.javac.api.JavacTool;
-
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.datastore.CodeSourceStorage.Location;
import fr.ifremer.isisfish.datastore.JavaSourceStorage;
@@ -218,14 +216,10 @@
int result = -1000;
try {
- // look for best available Java compiler (if none, use provided)
- JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
- if (compiler == null) {
- compiler = JavacTool.create();
- }
+ // use eclipse ecj compiler
+ JavaCompiler compiler = new EclipseCompiler();
- // Use system compiler
- // JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
+ // Get compilation units
StandardJavaFileManager fileManager = compiler
.getStandardFileManager(null, null, null);
Iterable<? extends JavaFileObject> compilationUnits = fileManager
@@ -234,9 +228,10 @@
// Options de compilations
String classpathAsString = getClassPathAsString(classpath);
List<String> args = new ArrayList<String>();
+ args.add("-1.7");
args.add("-g");
// Show a description of each use or override of a deprecated member or class.
- args.add("-deprecation");
+ args.add("-warn:deprecation"); // non standard option
args.add("-encoding");
args.add("utf-8");
args.add("-classpath");
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/util/JavadocHelper.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/util/JavadocHelper.java 2014-03-19 12:52:39 UTC (rev 3897)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/util/JavadocHelper.java 2014-03-19 16:05:54 UTC (rev 3898)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2012 Ifremer, Code Lutin, Chatellier Eric
+ * Copyright (C) 2009 - 2014 Ifremer, Code Lutin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -25,22 +25,25 @@
package fr.ifremer.isisfish.util;
+import static org.nuiton.i18n.I18n._;
+
import java.io.File;
import java.io.FileFilter;
import java.io.PrintWriter;
+import java.lang.reflect.Method;
+import java.net.URL;
+import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang3.reflect.MethodUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.FileUtil;
-import com.sun.tools.doclets.standard.Standard;
-import com.sun.tools.javadoc.Main;
-
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.datastore.FormuleStorage;
import fr.ifremer.isisfish.datastore.JavaSourceStorage;
@@ -64,9 +67,6 @@
/** Logger for this class. */
private static final Log log = LogFactory.getLog(JavadocHelper.class);
-
- /** Nom du programme dans les outils JDK. */
- protected static final String JAVADOC_TOOL_NAME = "javadoc";
/**
* Generate javadoc of current.
@@ -173,6 +173,7 @@
dest.mkdirs();
try {
+
// Options de compilations
String classpathAsString = CompileHelper.getClassPathAsString(classpath);
@@ -183,25 +184,51 @@
args.add(dest.getAbsolutePath());
args.add("-link");
- args.add("http://docs.oracle.com/javase/6/docs/api/");
+ args.add("http://docs.oracle.com/javase/7/docs/api/");
args.add("-link");
args.add(IsisFish.config.getJavadocURL());
// also add author and version
args.add("-author");
args.add("-version");
-
+
for (File srcFile : filesSrc) {
args.add(srcFile.getAbsolutePath());
}
- //result = Main.execute(JAVADOC_TOOL_NAME, args.toArray(new String[0]));
- result = Main.execute(JAVADOC_TOOL_NAME, out, out, out,
- Standard.class.getName(), args.toArray(new String[0]));
-
+
+ // can throw error in not run with JDK
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ try {
+ // TODO echatellier 20140319 : replace with DocumentationTool from java 8
+
+ // on est obligé de changer le classloader, sinon il ne trouve pas la class
+ // com.sun.tools.doclets.standard.Standard
+ File jreHome = new File(System.getProperty("java.home"));
+ File jreLib = new File(jreHome.getParent(), "lib");
+ File toolsJar = new File(jreLib, "tools.jar");
+ URLClassLoader toolsJarLoader = new URLClassLoader(new URL[] { toolsJar.toURI().toURL() });
+ Thread.currentThread().setContextClassLoader(toolsJarLoader);
+
+ // invocation dynamique pour ne pas embarqué le jar
+ Class<?> mainTool = toolsJarLoader.loadClass("com.sun.tools.javadoc.Main");
+ Method method = mainTool.getMethod("execute", String.class, PrintWriter.class, PrintWriter.class,
+ PrintWriter.class, String.class, String[].class);
+ method.invoke(null, "javadoc", out, out, out,
+ "com.sun.tools.doclets.standard.Standard", args.toArray(new String[0]));
+ toolsJarLoader.close();
+ } catch (Exception ex) {
+ out.println(_("This function is only available with JDK (not JRE)"));
+ ex.printStackTrace(out);
+ result = -1;
+ } finally {
+ Thread.currentThread().setContextClassLoader(cl);
+ }
+
} catch (Exception eee) {
if (log.isWarnEnabled()) {
log.warn("Can't generate javadoc", eee);
}
+ result = -1;
}
return result;
}
Modified: branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties
===================================================================
--- branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties 2014-03-19 12:52:39 UTC (rev 3897)
+++ branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties 2014-03-19 16:05:54 UTC (rev 3898)
@@ -62,6 +62,7 @@
Stop\ simulation\ plan,\ because\ can't\ call\ afterSimulation\ correctly\ on\ plan\ %s=
SubProcess\ start\:\ %s\ %s=
Switch\ repository\ type\ to\ none=
+This\ function\ is\ only\ available\ with\ JDK\ (not\ JRE)=
Try\ to\ log\ on\ %s@%s\:%d=
Use\ branches,\ switch\ not\ needed=
User\ restart\ simulation\ %s=
Modified: branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties
===================================================================
--- branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2014-03-19 12:52:39 UTC (rev 3897)
+++ branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2014-03-19 16:05:54 UTC (rev 3898)
@@ -62,6 +62,7 @@
Stop\ simulation\ plan,\ because\ can't\ call\ afterSimulation\ correctly\ on\ plan\ %s=
SubProcess\ start\:\ %s\ %s=
Switch\ repository\ type\ to\ none=
+This\ function\ is\ only\ available\ with\ JDK\ (not\ JRE)=
Try\ to\ log\ on\ %s@%s\:%d=
Use\ branches,\ switch\ not\ needed=
User\ restart\ simulation\ %s=
1
0
r3897 - branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore
by echatellier@users.forge.codelutin.com 19 Mar '14
by echatellier@users.forge.codelutin.com 19 Mar '14
19 Mar '14
Author: echatellier
Date: 2014-03-19 13:52:39 +0100 (Wed, 19 Mar 2014)
New Revision: 3897
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/3897
Log:
Fix generics with commons collections 4
Modified:
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/FormuleStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultDatabaseStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ScriptStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulatorStorage.java
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java 2014-03-19 10:22:46 UTC (rev 3896)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java 2014-03-19 12:52:39 UTC (rev 3897)
@@ -64,8 +64,8 @@
/** Template freemarker pour les scripts d'export . */
public static final String EXPORT_TEMPLATE = "templates/script/export.ftl";
- @SuppressWarnings("unchecked")
- private static Map<String, ExportStorage> exportCache = (Map<String, ExportStorage>) new ReferenceMap();
+ /** Instance cache. */
+ private static Map<String, ExportStorage> exportCache = new ReferenceMap<>();
/**
* Constructeur.
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/FormuleStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/FormuleStorage.java 2014-03-19 10:22:46 UTC (rev 3896)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/FormuleStorage.java 2014-03-19 12:52:39 UTC (rev 3897)
@@ -59,12 +59,20 @@
* by : $Author$
*/
public class FormuleStorage extends CodeSourceStorage implements Formule {
-
+
+ /**
+ * Logger for this class
+ */
+ private static final Log log = LogFactory.getLog(FormuleStorage.class);
+
public static final String FORMULE_PATH = "formules";
-
+
/** Template freemarker pour les formules. */
public static final String FORMULE_TEMPLATE = "templates/script/equation.ftl";
-
+
+ /** Instance cache. */
+ static private Map<String, FormuleStorage> formulesCache = new ReferenceMap<>();
+
/**
* la categorie de la formule
*/
@@ -306,15 +314,4 @@
static public void checkout() throws VCSException {
checkout(IsisFish.config.getDatabaseDirectory(), FORMULE_PATH);
}
-
- /**
- * Logger for this class
- */
- private static final Log log = LogFactory.getLog(FormuleStorage.class);
-
- @SuppressWarnings("unchecked")
- static private Map<String, FormuleStorage> formulesCache = (Map<String, FormuleStorage>) new ReferenceMap();
-
}
-
-
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java 2014-03-19 10:22:46 UTC (rev 3896)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java 2014-03-19 12:52:39 UTC (rev 3897)
@@ -68,10 +68,10 @@
/** to use log facility, just put in your code: log.info(\"...\"); */
private static Log log = LogFactory.getLog(RegionStorage.class);
-
- @SuppressWarnings("unchecked")
- protected static Map<String, RegionStorage> regions = (Map<String, RegionStorage>) new ReferenceMap();
+ /** Instance cache. */
+ protected static Map<String, RegionStorage> regions = new ReferenceMap<>();
+
/** File to use to store next commit region comment. */
protected File commentForNextCommitFile = null;
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultDatabaseStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultDatabaseStorage.java 2014-03-19 10:22:46 UTC (rev 3896)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultDatabaseStorage.java 2014-03-19 12:52:39 UTC (rev 3897)
@@ -82,11 +82,11 @@
protected SimulationStorage simulation = null;
// transient protected HashMap<String, MatrixND> globalMatrix = new HashMap<String, MatrixND>();
- transient protected ReferenceMap cacheContext = new ReferenceMap(ReferenceStrength.HARD, ReferenceStrength.WEAK);
+ transient protected ReferenceMap<String, TopiaContext> cacheContext = new ReferenceMap<>(ReferenceStrength.HARD, ReferenceStrength.WEAK);
/** cache to maintains some result. key: String(date + ':' + name), value: matrix
* TODO: cache will be more efficient if it keep at min the number of result by year */
- transient protected ReferenceMap cache = new ReferenceMap(ReferenceStrength.HARD, ReferenceStrength.SOFT);
+ transient protected ReferenceMap<String, MatrixND> cache = new ReferenceMap<>(ReferenceStrength.HARD, ReferenceStrength.SOFT);
/** contains all available result as string: String(date + ':' + name) */
transient protected Set<String> availableResult = null;
/** result enabled */
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java 2014-03-19 10:22:46 UTC (rev 3896)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java 2014-03-19 12:52:39 UTC (rev 3897)
@@ -69,9 +69,8 @@
/** Template freemarker pour les regles. */
public static final String RULE_TEMPLATE = "templates/script/rule.ftl";
- @SuppressWarnings("unchecked")
- private static Map<String, RuleStorage> rulesCache =
- (Map<String, RuleStorage>) new ReferenceMap();
+ /** Instance cache. */
+ private static Map<String, RuleStorage> rulesCache = new ReferenceMap<>();
/**
* Contruit un nouveau rule storage
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ScriptStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ScriptStorage.java 2014-03-19 10:22:46 UTC (rev 3896)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ScriptStorage.java 2014-03-19 12:52:39 UTC (rev 3897)
@@ -52,11 +52,10 @@
/** Template freemarker pour les scripts. */
public static final String SCRIPT_TEMPLATE = "templates/script/script.ftl";
-
- @SuppressWarnings("unchecked")
- static private Map<String, ScriptStorage> scriptsCache =
- (Map<String, ScriptStorage>) new ReferenceMap();
+ /** Instance cache. */
+ static private Map<String, ScriptStorage> scriptsCache = new ReferenceMap<>();
+
/**
*
* Constructeur
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java 2014-03-19 10:22:46 UTC (rev 3896)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java 2014-03-19 12:52:39 UTC (rev 3897)
@@ -64,8 +64,8 @@
/** Template freemarker pour les scripts de sensibilité. */
public static final String SENSITIVITY_ANALYSIS_TEMPLATE = "templates/script/sensitivityanalysis.ftl";
- /** Cache. */
- protected static Map<String, SensitivityAnalysisStorage> sensitivityCache = new ReferenceMap();
+ /** Instance cache. */
+ protected static Map<String, SensitivityAnalysisStorage> sensitivityCache = new ReferenceMap<>();
/**
* Build new {@link SensitivityAnalysisStorage}.
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java 2014-03-19 10:22:46 UTC (rev 3896)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java 2014-03-19 12:52:39 UTC (rev 3897)
@@ -56,8 +56,8 @@
/** Template freemarker pour les scripts d'export . */
public static final String SENSITIVITY_EXPORT_TEMPLATE = "templates/script/sensitivityexport.ftl";
- @SuppressWarnings("unchecked")
- private static Map<String, SensitivityExportStorage> sensitivityExportsCache = (Map<String, SensitivityExportStorage>) new ReferenceMap();
+ /** Instance cache. */
+ private static Map<String, SensitivityExportStorage> sensitivityExportsCache = new ReferenceMap<>();
/**
* Constructeur.
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java 2014-03-19 10:22:46 UTC (rev 3896)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java 2014-03-19 12:52:39 UTC (rev 3897)
@@ -66,9 +66,8 @@
/** Template freemarker pour les plans de simulation . */
public static final String SIMULATION_PLAN_TEMPLATE = "templates/script/simulationplan.ftl";
- @SuppressWarnings("unchecked")
- static private Map<String, SimulationPlanStorage> plansCache =
- (Map<String, SimulationPlanStorage>) new ReferenceMap();
+ /** Instance cache. */
+ static private Map<String, SimulationPlanStorage> plansCache = new ReferenceMap<>();
/**
* Construit un nouveau SimulationPlan storage.
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java 2014-03-19 10:22:46 UTC (rev 3896)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java 2014-03-19 12:52:39 UTC (rev 3897)
@@ -85,7 +85,7 @@
private static Log log = LogFactory.getLog(SimulationStorage.class);
/** Cache des simulation storage. */
- protected static Map<String, SimulationStorage> simulations = (Map<String, SimulationStorage>) new ReferenceMap();
+ protected static Map<String, SimulationStorage> simulations = new ReferenceMap<>();
/** some free information, that user can add during simulation */
protected SimulationInformation information = null;
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulatorStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulatorStorage.java 2014-03-19 10:22:46 UTC (rev 3896)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/SimulatorStorage.java 2014-03-19 12:52:39 UTC (rev 3897)
@@ -55,7 +55,7 @@
public static final String SIMULATOR_TEMPLATE = "templates/script/simulator.ftl";
/** Simulators cache. */
- static private Map<String, SimulatorStorage> simulatorsCache = (Map<String, SimulatorStorage>) new ReferenceMap();
+ static private Map<String, SimulatorStorage> simulatorsCache = new ReferenceMap<>();
/**
* Constructeur.
1
0
r3896 - in branches/4.0.1/src/main/java/fr/ifremer/isisfish: datastore mexico/xml ui/simulator/filter ui/util ui/widget/filter
by echatellier@users.forge.codelutin.com 19 Mar '14
by echatellier@users.forge.codelutin.com 19 Mar '14
19 Mar '14
Author: echatellier
Date: 2014-03-19 11:22:46 +0100 (Wed, 19 Mar 2014)
New Revision: 3896
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/3896
Log:
Remove some deprecated/invalid code
Modified:
branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultMappedStorage.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/mexico/xml/EquationDiscreteDomainXMLVisitor.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/filter/SimulationFilterDialog.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/util/JaxxUtil.java
branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/widget/filter/FilterDialogUI.jaxx
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultMappedStorage.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultMappedStorage.java 2014-03-19 10:13:29 UTC (rev 3895)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/datastore/ResultMappedStorage.java 2014-03-19 10:22:46 UTC (rev 3896)
@@ -119,7 +119,7 @@
protected TopiaContext tx;
/** en cle les representation interne (get) en valeur les valeurs decoree (getKey) */
- protected BidiMap cache = new DualHashBidiMap();
+ protected BidiMap<Object, Object> cache = new DualHashBidiMap<>();
public EntitySemanticsDecorator() {
}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/mexico/xml/EquationDiscreteDomainXMLVisitor.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/mexico/xml/EquationDiscreteDomainXMLVisitor.java 2014-03-19 10:13:29 UTC (rev 3895)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/mexico/xml/EquationDiscreteDomainXMLVisitor.java 2014-03-19 10:22:46 UTC (rev 3896)
@@ -54,7 +54,7 @@
public void visit(Domain domain, Object label, Object value) {
String content = (String)value;
xmlBuffer.append("<level>");
- xmlBuffer.append(StringEscapeUtils.escapeXml(content));
+ xmlBuffer.append(StringEscapeUtils.escapeXml11(content));
xmlBuffer.append("</level>");
}
}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/filter/SimulationFilterDialog.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/filter/SimulationFilterDialog.java 2014-03-19 10:13:29 UTC (rev 3895)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/filter/SimulationFilterDialog.java 2014-03-19 10:22:46 UTC (rev 3896)
@@ -66,7 +66,6 @@
// ----------------- Add this code since jaxx compilator don't generate
// some code for binding, bug ? TODO Fix me
- @SuppressWarnings({"unchecked"})
public void applyDataBinding(String $binding) {
if ($binding.equals("reset.enabled")) {
if (comboResult != null) {
@@ -85,7 +84,6 @@
} else super.removeDataBinding($binding);
}
- @SuppressWarnings({"unchecked"})
public void processDataBinding(String $dest, boolean $force) {
if (!$dest.equals("reset.enabled")) {
super.processDataBinding($dest, $force);
@@ -103,7 +101,6 @@
private java.beans.PropertyChangeListener $DataSource410 = new jaxx.runtime.DataBindingListener(this, "reset.enabled");
- @SuppressWarnings({"UnusedDeclaration"})
public void $pr$u10(java.awt.event.ItemEvent event) {
$DataSource410.propertyChange(null);
}
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/util/JaxxUtil.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/util/JaxxUtil.java 2014-03-19 10:13:29 UTC (rev 3895)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/util/JaxxUtil.java 2014-03-19 10:22:46 UTC (rev 3896)
@@ -34,7 +34,6 @@
/** some util generic algorithm for jaxx objects */
public class JaxxUtil {
- @SuppressWarnings({"unchecked"})
public static void doReset(Map<String, ?> $objectMap) {
if ($objectMap == null) return;
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/widget/filter/FilterDialogUI.jaxx
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/widget/filter/FilterDialogUI.jaxx 2014-03-19 10:13:29 UTC (rev 3895)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/widget/filter/FilterDialogUI.jaxx 2014-03-19 10:22:46 UTC (rev 3896)
@@ -48,17 +48,15 @@
public FilterParamModel getParamModel(String paramKey) {
return model.getParamModel(paramKey);
}
- @SuppressWarnings({"unchecked"})
+
public java.util.List getOriginal() {
return model.getOriginal();
}
/** @return list of last filter list obtain */
- @SuppressWarnings({"unchecked"})
protected List getFilterResult() {
// obtain list filtered
return model.getFiltered();
}
- @SuppressWarnings({"unchecked"})
public List obtainFilterResult() {
// compact dialog
setSize(getMinimumSize());
@@ -87,7 +85,6 @@
*
* @see FilterModel#reset()
*/
- @SuppressWarnings({"unchecked"})
public void doReset() {
content.doReset();
model.reset();
1
0
r3895 - in branches/4.0.1: . src/main/java/fr/ifremer/isisfish src/main/resources
by echatellier@users.forge.codelutin.com 19 Mar '14
by echatellier@users.forge.codelutin.com 19 Mar '14
19 Mar '14
Author: echatellier
Date: 2014-03-19 11:13:29 +0100 (Wed, 19 Mar 2014)
New Revision: 3895
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/3895
Log:
fixes #4752: Suppression du code d'import des bases V2
Removed:
branches/4.0.1/src/main/resources/v2xsl/
Modified:
branches/4.0.1/pom.xml
branches/4.0.1/src/main/java/fr/ifremer/isisfish/IsisFish.java
Modified: branches/4.0.1/pom.xml
===================================================================
--- branches/4.0.1/pom.xml 2014-03-19 10:10:07 UTC (rev 3894)
+++ branches/4.0.1/pom.xml 2014-03-19 10:13:29 UTC (rev 3895)
@@ -265,24 +265,6 @@
<scope>compile</scope>
</dependency>
- <!-- Utilisé lors de l'import xml v2 (entre autre) -->
- <dependency>
- <groupId>jaxen</groupId>
- <artifactId>jaxen</artifactId>
- <version>1.1.4</version>
- <scope>runtime</scope>
- <exclusions>
- <exclusion>
- <artifactId>xml-apis</artifactId>
- <groupId>xml-apis</groupId>
- </exclusion>
- <exclusion>
- <artifactId>xmlParserAPIs</artifactId>
- <groupId>xerces</groupId>
- </exclusion>
- </exclusions>
- </dependency>
-
<!-- Change this dependence if you change database -->
<dependency>
<groupId>com.h2database</groupId>
Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/IsisFish.java
===================================================================
--- branches/4.0.1/src/main/java/fr/ifremer/isisfish/IsisFish.java 2014-03-19 10:10:07 UTC (rev 3894)
+++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/IsisFish.java 2014-03-19 10:13:29 UTC (rev 3895)
@@ -655,9 +655,10 @@
// remove isis build directory
try {
FileUtils.deleteDirectory(IsisFish.config.getCompileDirectory());
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+ } catch (IOException ex) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't clear build directory", ex);
+ }
}
ErrorHelper.showErrorDialog(null, _("isisfish.error.linkageerror.message"), cause);
1
0