psmith      2003/12/16 01:28:13

  Modified:    src/java/org/apache/log4j/chainsaw LogPanel.java
  Log:
  LogPanelPreferenceModel now saves via the Profileable interface
  using the LogPanel's identifier as it's namespace.
  
  Still need to move the Column and Colour rules over.  These still
  use serialisation for saving.
  
  Revision  Changes    Path
  1.37      +16 -61    jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogPanel.java
  
  Index: LogPanel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogPanel.java,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- LogPanel.java     15 Dec 2003 04:55:12 -0000      1.36
  +++ LogPanel.java     16 Dec 2003 09:28:13 -0000      1.37
  @@ -148,8 +148,8 @@
   import org.apache.log4j.chainsaw.layout.EventDetailLayout;
   import org.apache.log4j.chainsaw.layout.LayoutEditorPane;
   import org.apache.log4j.chainsaw.prefs.LoadSettingsEvent;
  +import org.apache.log4j.chainsaw.prefs.Profileable;
   import org.apache.log4j.chainsaw.prefs.SaveSettingsEvent;
  -import org.apache.log4j.chainsaw.prefs.SettingsListener;
   import org.apache.log4j.chainsaw.prefs.SettingsManager;
   import org.apache.log4j.helpers.ISO8601DateFormat;
   import org.apache.log4j.helpers.LogLog;
  @@ -166,7 +166,7 @@
      *
      * This is where most of the Swing components are constructed and laid out.
      */
  -public class LogPanel extends DockablePanel implements SettingsListener,
  +public class LogPanel extends DockablePanel implements Profileable,
     EventBatchListener {
     private final JFrame preferencesFrame = new JFrame();
     private final JFrame colorFrame = new JFrame();
  @@ -1429,34 +1429,10 @@
     }
   
     public void saveSettings(SaveSettingsEvent event) {
  -    ObjectOutputStream o = null;
   
  -    try {
  -      File f =
  -      new File(
  -          SettingsManager.getInstance().getSettingsDirectory()
  -          + File.separator + getIdentifier()+ ".prefs");
  -      o = new ObjectOutputStream(
  -          new BufferedOutputStream(new FileOutputStream(f)));
  -      
  -      o.writeObject(getPreferenceModel());
  -    }
  -    catch(IOException e)
  -    {
  -      LogLog.error("Error ocurred saving the Preferences",e);
  -    }finally
  -    {
  -      if(o!=null)
  -      {
  -        try
  -        {
  -            o.close();
  -        }
  -        catch (Exception e)
  -        {
  -        }
  -      }
  -    }
  +    event.saveSetting("levelIcons", getPreferenceModel().isLevelIcons());
  +    event.saveSetting("dateFormatPattern", 
getPreferenceModel().getDateFormatPattern());
  +    event.saveSetting("loggerPrecision",getPreferenceModel().getLoggerPrecision());
       saveColumnSettings();
       saveColorSettings();
     }
  @@ -1536,39 +1512,10 @@
      * @see 
org.apache.log4j.chainsaw.prefs.Profileable#loadSettings(org.apache.log4j.chainsaw.prefs.LoadSettingsEvent)
      */
     public void loadSettings(LoadSettingsEvent event) {
  -    ObjectInputStream o = null;
  -
  -    try {
  -      File f =
  -      new File(
  -          SettingsManager.getInstance().getSettingsDirectory()
  -          + File.separator + getIdentifier()+ ".prefs");
  -      if (f.exists()) {
  -             o = new ObjectInputStream(
  -                             new BufferedInputStream(new FileInputStream(f)));
  -             
  -             LogPanelPreferenceModel model = (LogPanelPreferenceModel) 
o.readObject();
  -             getPreferenceModel().apply(model);
  -      }
  -    }
  -    catch(Exception e)
  -    {
  -      LogLog.error("Error ocurred loading the Preferences for ident '" + 
getIdentifier() + "'",e);
  -    }finally
  -    {
  -      if(o!=null)
  -       {
  -        try
  -        {
  -          o.close();
  -        }
  -        catch (Exception e)
  -        {
  -          LogLog.error("Error occurred closing a stream", e);
  -        }
  -      }
  -    }
       
  +    getPreferenceModel().setLevelIcons(event.asBoolean("levelIcons"));
  +    
getPreferenceModel().setDateFormatPattern(event.getSetting("dateFormatPattern"));
  +    getPreferenceModel().setLoggerPrecision(event.getSetting("loggerPrecision"));
       
       File f =
         new File(
  @@ -2206,4 +2153,12 @@
         return bypassed;
       }
     }
  +
  +  /* (non-Javadoc)
  +   * @see org.apache.log4j.chainsaw.prefs.Profileable#getNamespace()
  +   */
  +  public String getNamespace() {
  +    return getIdentifier();
  +  }
  +
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to