Author: chatellier Date: 2010-04-29 16:36:24 +0000 (Thu, 29 Apr 2010) New Revision: 3036 Log: Add documentation for previous commit (SimulationParameter cache) Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2010-04-29 16:19:05 UTC (rev 3035) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2010-04-29 16:36:24 UTC (rev 3036) @@ -18,7 +18,6 @@ package fr.ifremer.isisfish.simulator; -import java.io.File; import java.util.Collection; import java.util.List; import java.util.Map; @@ -36,12 +35,25 @@ import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator; /** - * TODO add comment here. + * Contains all parameters for one simulation. + * + * {@link SimulationParameter} must now be loaded from a {@link Properties} + * object. + * {@link #toProperties()} method, now return a new {@link Properties} object + * filled with : + * <ul> + * <li>non modified original properties + * <li>new properties if some objects has been instantiated by getters(). + * </ul> * + * Created: 10 janv. 2006 17:03:37 + * + * @author poussin * @author chatellier + * * @version $Revision$ - * - * Last update : $Date$ + * + * Last update: $Date$ * By : $Author$ */ public interface SimulationParameter { @@ -52,23 +64,23 @@ * * @return la liste d'erreur */ - public abstract List<String> check(); + public List<String> check(); /** * Get isis fish version for the simulation. * - * Defaut value to : {@link IsisConfig#getVersion()}. + * Default value to : {@link IsisConfig#getVersion()}. * * @return the isisFishVersion. */ - public abstract String getIsisFishVersion(); + public String getIsisFishVersion(); /** * Set isis fish Version. * * @param isisFishVersion The isisFishVersion to set. */ - public abstract void setIsisFishVersion(String isisFishVersion); + public void setIsisFishVersion(String isisFishVersion); /** * Get description property. @@ -87,7 +99,7 @@ public abstract void setDescription(String description); /** - * Load region conresponding to {@link #regionName}. + * Load region corresponding to {@link #getRegionName()}. * * @return the region */ @@ -552,7 +564,7 @@ * </ul> * * @return L'objet Properties representant les parametres - * @see #fromProperties(File, Properties) + * @see #fromProperties(Properties) */ public abstract Properties toProperties(); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java 2010-04-29 16:19:05 UTC (rev 3035) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java 2010-04-29 16:36:24 UTC (rev 3036) @@ -45,8 +45,17 @@ import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator; /** - * TODO add comment here. + * SimulationParameter soft reference implementation. * + * Store simulation file on disk, and a soft reference of delegate real + * SimulationParameter. + * + * If soft reference has been cleared by garbage collector, reload it from + * disk. + * + * Warning, use only this class for parameter reading. Using setters cause + * parameters to be written on disk. Use with caution. + * * @author chatellier * @version $Revision$ * @@ -54,8 +63,11 @@ * By : $Author$ */ public class SimulationParameterCache implements SimulationParameter { - + + /** Parameter file (disk storage). */ protected File paramFile; + + /** Parameter memory reference. */ protected SoftReference<SimulationParameter> ref; /** Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java 2010-04-29 16:19:05 UTC (rev 3035) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java 2010-04-29 16:36:24 UTC (rev 3036) @@ -20,7 +20,6 @@ import static org.nuiton.i18n.I18n._; -import java.io.File; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.ArrayList; @@ -66,25 +65,12 @@ import fr.ifremer.isisfish.util.ConverterUtil; /** - * Contains all parameters for one simulation. - * - * {@link SimulationParameter} must now be loaded from a {@link Properties} - * object. - * {@link #toProperties()} method, now return a new {@link Properties} object - * filled with : - * <ul> - * <li>non modified original properties - * <li>new properties if some objects has been instantiated by getters(). - * </ul> + * Real {@link SimulationParameter} implementation. * - * Created: 10 janv. 2006 17:03:37 - * - * @author poussin * @author chatellier - * * @version $Revision$ - * - * Last update: $Date$ + * + * Last update : $Date$ * By : $Author$ */ public class SimulationParameterImpl implements SimulationParameter { Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java 2010-04-29 16:19:05 UTC (rev 3035) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java 2010-04-29 16:36:24 UTC (rev 3036) @@ -102,6 +102,8 @@ */ public SimulationItem(SimulationControl control, SimulationParameter param) { this.control = control; + + // use soft reference to improve minimum memory usage this.parameter = new SimulationParameterCache(param); }