From b0672730c13c23777fc95307e181bfb3e98903ba Mon Sep 17 00:00:00 2001 From: Falilou Thiam <falilou.thiam@synchrotron-soleil.fr> Date: Wed, 25 Jan 2017 15:28:45 +0000 Subject: [PATCH] - Some code refactoring/cleaning - Better error management (includes TANGOARCH-576) --- .../java/fr/soleil/bensikin/Bensikin.java | 7 ++- .../lifecycle/DefaultLifeCycleManager.java | 33 ++++++------ .../options/manager/DummyOptionsManager.java | 50 ++++++++++--------- .../options/manager/IOptionsManager.java | 42 ++++++++-------- .../options/manager/XMLOptionsManager.java | 10 ++-- 5 files changed, 75 insertions(+), 67 deletions(-) diff --git a/src/main/java/fr/soleil/bensikin/Bensikin.java b/src/main/java/fr/soleil/bensikin/Bensikin.java index 9d2d7ec..4b290bb 100644 --- a/src/main/java/fr/soleil/bensikin/Bensikin.java +++ b/src/main/java/fr/soleil/bensikin/Bensikin.java @@ -208,8 +208,7 @@ public class Bensikin { LOGGER.debug(msg); } catch (final Exception e) { final String msg = Messages.getLogMessage("APPLICATION_WILL_START_LOAD_OPTIONS_KO"); - LOGGER.error(msg, e); - treatError(e, splash); + treatError(e, msg, splash); } } @@ -237,8 +236,8 @@ public class Bensikin { private static void initResolutionMode() { final Toolkit toolkit = Toolkit.getDefaultToolkit(); final Dimension dim = toolkit.getScreenSize(); - System.out.println("Resolution-------------------------------------------------------------"); - System.out.println("Resolution: " + dim.width + "*" + dim.height); +// System.out.println("Resolution-------------------------------------------------------------"); +// System.out.println("Resolution: " + dim.width + "*" + dim.height); hires = !(dim.width <= 1024); } diff --git a/src/main/java/fr/soleil/bensikin/lifecycle/DefaultLifeCycleManager.java b/src/main/java/fr/soleil/bensikin/lifecycle/DefaultLifeCycleManager.java index d2139be..ca5ed5f 100644 --- a/src/main/java/fr/soleil/bensikin/lifecycle/DefaultLifeCycleManager.java +++ b/src/main/java/fr/soleil/bensikin/lifecycle/DefaultLifeCycleManager.java @@ -54,6 +54,7 @@ package fr.soleil.bensikin.lifecycle; import java.io.File; +import java.io.FileNotFoundException; import java.util.Locale; import org.slf4j.Logger; @@ -124,10 +125,10 @@ public class DefaultLifeCycleManager implements LifeCycleManager { } catch (final Exception e) { throw ArchivingException.toArchivingException(e); } - - // No exception can be raised + // treatError is already done in this method loadOptions(splash); - // No exception can be raised + + // treatError is already done in this method loadFavorites(splash); if (hasHistorySave) { @@ -193,7 +194,7 @@ public class DefaultLifeCycleManager implements LifeCycleManager { // } catch (final FileNotFoundException fnfe) { // final String msg = Messages.getLogMessage("APPLICATION_WILL_START_LOAD_FAVORITES_WARNING"); // LOGGER.warn(msg, fnfe); - } catch (final ArchivingException e) { + } catch (final Exception e) { final String msg = Messages.getLogMessage("APPLICATION_WILL_START_LOAD_FAVORITES_KO"); Bensikin.treatError(e, msg, splash); } @@ -252,23 +253,25 @@ public class DefaultLifeCycleManager implements LifeCycleManager { splash.progress(12); splash.setMessage("loading history..."); final History history = historyManager.loadHistory(historyPath); + if (history != null) { + splash.progress(13); + splash.setMessage("applying history"); + History.setHistory(history); + splash.progress(14); + history.setLoadProperties(loadProperties); - splash.progress(13); - splash.setMessage("applying history"); - History.setHistory(history); - splash.progress(14); - history.setLoadProperties(loadProperties); + } splash.progress(15); splash.setMessage("history fully loaded"); final String msg = Messages.getLogMessage("APPLICATION_WILL_START_LOAD_HISTORY_OK"); LOGGER.debug(msg); -// } catch (final FileNotFoundException fnfe) { -// final String msg = Messages.getLogMessage("APPLICATION_WILL_START_LOAD_HISTORY_WARNING"); -// splash.progress(15); -// splash.setMessage(msg); -// LOGGER.warn(msg, fnfe); -// return; + } catch (final FileNotFoundException fnfe) { + final String msg = Messages.getLogMessage("APPLICATION_WILL_START_LOAD_HISTORY_WARNING"); + splash.progress(15); + splash.setMessage(msg); + LOGGER.warn(msg, fnfe); + Bensikin.treatError(fnfe, msg, splash); } catch (final Exception e) { final String msg = Messages.getLogMessage("APPLICATION_WILL_START_LOAD_HISTORY_KO"); splash.progress(15); diff --git a/src/main/java/fr/soleil/bensikin/options/manager/DummyOptionsManager.java b/src/main/java/fr/soleil/bensikin/options/manager/DummyOptionsManager.java index 76fd96e..667c54e 100644 --- a/src/main/java/fr/soleil/bensikin/options/manager/DummyOptionsManager.java +++ b/src/main/java/fr/soleil/bensikin/options/manager/DummyOptionsManager.java @@ -1,4 +1,4 @@ -//+====================================================================== +// +====================================================================== // $Source: /cvsroot/tango-cs/tango/tools/bensikin/bensikin/options/manager/DummyOptionsManager.java,v $ // // Project: Tango Archiving Service @@ -29,6 +29,7 @@ //-====================================================================== package fr.soleil.bensikin.options.manager; +import fr.soleil.archiving.common.api.exception.ArchivingException; import fr.soleil.bensikin.options.Options; /** @@ -38,31 +39,32 @@ import fr.soleil.bensikin.options.Options; */ public class DummyOptionsManager implements IOptionsManager { - /* - * (non-Javadoc) - * - * @see - * bensikin.bensikin.options.manager.IOptionsManager#saveOptions(bensikin - * .bensikin.options.Options, java.lang.String) - */ - public void saveOptions(Options options, String optionsResourceLocation) - throws Exception { - // TODO Auto-generated method stub + /* + * (non-Javadoc) + * + * @see + * bensikin.bensikin.options.manager.IOptionsManager#saveOptions(bensikin + * .bensikin.options.Options, java.lang.String) + */ + @Override + public void saveOptions(Options options, String optionsResourceLocation) throws ArchivingException { + // TODO Auto-generated method stub - } + } - /* - * (non-Javadoc) - * - * @see - * bensikin.bensikin.options.manager.IOptionsManager#loadOptions(java.lang - * .String) - */ - public Options loadOptions(String optionsResourceLocation) throws Exception { - // TODO Auto-generated method stub - // Options ret = Options.getInstance(); + /* + * (non-Javadoc) + * + * @see + * bensikin.bensikin.options.manager.IOptionsManager#loadOptions(java.lang + * .String) + */ + @Override + public Options loadOptions(String optionsResourceLocation) throws ArchivingException { + // TODO Auto-generated method stub + // Options ret = Options.getInstance(); - return null; - } + return null; + } } diff --git a/src/main/java/fr/soleil/bensikin/options/manager/IOptionsManager.java b/src/main/java/fr/soleil/bensikin/options/manager/IOptionsManager.java index 9429ede..6678e64 100644 --- a/src/main/java/fr/soleil/bensikin/options/manager/IOptionsManager.java +++ b/src/main/java/fr/soleil/bensikin/options/manager/IOptionsManager.java @@ -1,4 +1,4 @@ -//+====================================================================== +// +====================================================================== // $Source: /cvsroot/tango-cs/tango/tools/bensikin/bensikin/options/manager/IOptionsManager.java,v $ // // Project: Tango Archiving Service @@ -26,6 +26,7 @@ //-====================================================================== package fr.soleil.bensikin.options.manager; +import fr.soleil.archiving.common.api.exception.ArchivingException; import fr.soleil.bensikin.options.Options; /** @@ -34,25 +35,24 @@ import fr.soleil.bensikin.options.Options; * @author CLAISSE */ public interface IOptionsManager { - /** - * Saves options to the desired location. - * - * @param options - * The Options to save - * @param optionsResourceLocation - * The Options save location - * @throws Exception - */ - public void saveOptions(Options options, String optionsResourceLocation) - throws Exception; + /** + * Saves options to the desired location. + * + * @param options + * The Options to save + * @param optionsResourceLocation + * The Options save location + * @throws Exception + */ + public void saveOptions(Options options, String optionsResourceLocation) throws ArchivingException; - /** - * Loads options from the desired location. - * - * @param optionsResourceLocation - * The Options load location - * @return The loaded Options - * @throws Exception - */ - public Options loadOptions(String optionsResourceLocation) throws Exception; + /** + * Loads options from the desired location. + * + * @param optionsResourceLocation + * The Options load location + * @return The loaded Options + * @throws Exception + */ + public Options loadOptions(String optionsResourceLocation) throws ArchivingException; } diff --git a/src/main/java/fr/soleil/bensikin/options/manager/XMLOptionsManager.java b/src/main/java/fr/soleil/bensikin/options/manager/XMLOptionsManager.java index 476ec9c..d6210a2 100644 --- a/src/main/java/fr/soleil/bensikin/options/manager/XMLOptionsManager.java +++ b/src/main/java/fr/soleil/bensikin/options/manager/XMLOptionsManager.java @@ -70,8 +70,12 @@ public class XMLOptionsManager extends XMLDataManager<Options, Map<String, List< * .bensikin.options.Options, java.lang.String) */ @Override - public void saveOptions(Options options, String optionsResourceLocation) throws Exception { - XMLUtils.save(options.toString(), optionsResourceLocation); + public void saveOptions(Options options, String optionsResourceLocation) throws ArchivingException { + try { + XMLUtils.save(options.toString(), optionsResourceLocation); + } catch (Exception e) { + throw ArchivingException.toArchivingException(e); + } } /* @@ -82,7 +86,7 @@ public class XMLOptionsManager extends XMLDataManager<Options, Map<String, List< * .String) */ @Override - public Options loadOptions(String optionsResourceLocation) throws Exception { + public Options loadOptions(String optionsResourceLocation) throws ArchivingException { Options ret = Options.getInstance(); Map<String, List<Map<String, String>>> optionsHt = loadDataIntoHash(optionsResourceLocation); -- GitLab