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]