-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
added support for changing the buffer size via the preferences page
- Loading branch information
Showing
10 changed files
with
221 additions
and
119 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
28 changes: 28 additions & 0 deletions
28
ch.qos.logback.beagle/src/ch/qos/logback/beagle/preferences/BeaglePreferenceInitializer.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
/** | ||
* Logback-beagle: The logback Console Plugin for Eclipse | ||
* Copyright (C) 2006-2012, QOS.ch. All rights reserved. | ||
* | ||
* This program and the accompanying materials are licensed under | ||
* either the terms of the Eclipse Public License v1.0 as published by | ||
* the Eclipse Foundation. | ||
*/ | ||
package ch.qos.logback.beagle.preferences; | ||
|
||
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; | ||
import org.eclipse.jface.preference.IPreferenceStore; | ||
|
||
import ch.qos.logback.beagle.Activator; | ||
|
||
public class BeaglePreferenceInitializer extends AbstractPreferenceInitializer { | ||
|
||
@Override | ||
public void initializeDefaultPreferences() { | ||
IPreferenceStore store = Activator.getDefault().getPreferenceStore(); | ||
store.setDefault(BeaglePreferencesPage.PATTERN_PREFERENCE, | ||
BeaglePreferencesPage.PATTERN_PREFERENCE_DEFAULT_VALUE); | ||
store.setDefault(BeaglePreferencesPage.BUFFER_SIZE_PREFERENCE, | ||
BeaglePreferencesPage.BUFFER_SIZE_PREFERENCE_DEFAULT_VALUE); | ||
|
||
} | ||
|
||
} |
59 changes: 59 additions & 0 deletions
59
...ogback.beagle/src/ch/qos/logback/beagle/preferences/BeaglePreferencesChangeListenter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
/** | ||
* Logback-beagle: The logback Console Plugin for Eclipse | ||
* Copyright (C) 2006-2012, QOS.ch. All rights reserved. | ||
* | ||
* This program and the accompanying materials are licensed under | ||
* either the terms of the Eclipse Public License v1.0 as published by | ||
* the Eclipse Foundation. | ||
*/ | ||
package ch.qos.logback.beagle.preferences; | ||
|
||
import org.eclipse.jface.util.IPropertyChangeListener; | ||
import org.eclipse.jface.util.PropertyChangeEvent; | ||
|
||
import ch.qos.logback.beagle.visual.ClassicTISBuffer; | ||
import ch.qos.logback.classic.PatternLayout; | ||
|
||
/** | ||
* This IPropertyChangeListener reacts to preference changes and updates BeagleView accordingly. | ||
* | ||
* @author ceki | ||
* @since 1.0.0 | ||
*/ | ||
public class BeaglePreferencesChangeListenter implements IPropertyChangeListener { | ||
|
||
final ClassicTISBuffer classicTISBuffer; | ||
final PatternLayout layout; | ||
|
||
public BeaglePreferencesChangeListenter(PatternLayout layout, ClassicTISBuffer classicTISBuffer) { | ||
this.layout = layout; | ||
this.classicTISBuffer = classicTISBuffer; | ||
} | ||
|
||
@Override | ||
public void propertyChange(PropertyChangeEvent event) { | ||
String changedProperty = event.getProperty(); | ||
if (BeaglePreferencesPage.PATTERN_PREFERENCE.equals(changedProperty)) { | ||
updateLayoutPattern(event); | ||
} else if (BeaglePreferencesPage.BUFFER_SIZE_PREFERENCE.equals(changedProperty)) { | ||
updateBufferSize(event); | ||
} | ||
|
||
} | ||
|
||
private void updateBufferSize(PropertyChangeEvent event) { | ||
int newBufferSize = (Integer) event.getNewValue(); | ||
classicTISBuffer.setBufferSize(newBufferSize); | ||
System.out.println("new buffer size = "+newBufferSize); | ||
} | ||
|
||
private void updateLayoutPattern(PropertyChangeEvent event) { | ||
String newPattern = (String) event.getNewValue(); | ||
if(newPattern != null) { | ||
layout.setPattern(newPattern); | ||
layout.start(); | ||
classicTISBuffer.resetTable(); | ||
} | ||
} | ||
|
||
} |
85 changes: 85 additions & 0 deletions
85
ch.qos.logback.beagle/src/ch/qos/logback/beagle/preferences/BeaglePreferencesPage.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
/** | ||
* Logback-beagle: The logback Console Plugin for Eclipse | ||
* Copyright (C) 2006-2012, QOS.ch. All rights reserved. | ||
* | ||
* This program and the accompanying materials are licensed under | ||
* either the terms of the Eclipse Public License v1.0 as published by | ||
* the Eclipse Foundation. | ||
*/ | ||
package ch.qos.logback.beagle.preferences; | ||
|
||
import org.eclipse.jface.preference.FieldEditor; | ||
import org.eclipse.jface.preference.FieldEditorPreferencePage; | ||
import org.eclipse.jface.preference.IntegerFieldEditor; | ||
import org.eclipse.jface.preference.StringFieldEditor; | ||
import org.eclipse.jface.util.PropertyChangeEvent; | ||
import org.eclipse.ui.IWorkbench; | ||
import org.eclipse.ui.IWorkbenchPreferencePage; | ||
|
||
import ch.qos.logback.beagle.Activator; | ||
|
||
/** | ||
* | ||
* @author ceki | ||
* | ||
*/ | ||
public class BeaglePreferencesPage extends FieldEditorPreferencePage implements | ||
IWorkbenchPreferencePage { | ||
|
||
public static final String PATTERN_PREFERENCE = "ch.qos.logback.beagle.Pattern"; | ||
public static final String PATTERN_PREFERENCE_DEFAULT_VALUE = "%date %-5level %-20([%thread]) %logger{32} %message"; | ||
|
||
public static final String BUFFER_SIZE_PREFERENCE = "ch.qos.logback.beagle.BufferSize"; | ||
public static final int BUFFER_SIZE_PREFERENCE_DEFAULT_VALUE = 20000; | ||
static final int MIN_BUFFER_SIZE = 100; | ||
static final int MAX_BUFFER_SIZE = 100*1000; | ||
|
||
private StringFieldEditor patternEditor; | ||
private IntegerFieldEditor bufferSizeEditor; | ||
|
||
|
||
public BeaglePreferencesPage() { | ||
super(GRID); | ||
setPreferenceStore(Activator.INSTANCE.getPreferenceStore()); | ||
setDescription("Beagle (logback console) settings:"); | ||
} | ||
|
||
|
||
|
||
@Override | ||
public void init(IWorkbench workbench) { | ||
} | ||
|
||
|
||
@Override protected void checkState() { | ||
super.checkState(); | ||
if(!isValid()) return; | ||
int val = bufferSizeEditor.getIntValue(); | ||
if(val <= MIN_BUFFER_SIZE) { | ||
setErrorMessage("Buffer size must be greater than "+MIN_BUFFER_SIZE); | ||
setValid(false); | ||
} else if(val > MAX_BUFFER_SIZE) { | ||
setErrorMessage("Buffer size must be less than "+MAX_BUFFER_SIZE); | ||
setValid(false); | ||
} | ||
} | ||
|
||
public void propertyChange(PropertyChangeEvent event) { | ||
super.propertyChange(event); | ||
if(FieldEditor.VALUE.equals(event.getProperty())) { | ||
if(event.getSource() == bufferSizeEditor) { | ||
checkState(); | ||
} | ||
} | ||
} | ||
|
||
@Override | ||
protected void createFieldEditors() { | ||
patternEditor = new StringFieldEditor(PATTERN_PREFERENCE, "Log line pattern:", getFieldEditorParent()); | ||
addField(patternEditor); | ||
|
||
bufferSizeEditor = new IntegerFieldEditor(BUFFER_SIZE_PREFERENCE, "Buffer size (lines):", getFieldEditorParent()); | ||
addField(bufferSizeEditor); | ||
} | ||
|
||
} |
18 changes: 0 additions & 18 deletions
18
ch.qos.logback.beagle/src/ch/qos/logback/beagle/preferences/PreferenceInitializer.java
This file was deleted.
Oops, something went wrong.
33 changes: 0 additions & 33 deletions
33
ch.qos.logback.beagle/src/ch/qos/logback/beagle/preferences/PreferencesChangeListenter.java
This file was deleted.
Oops, something went wrong.
37 changes: 0 additions & 37 deletions
37
ch.qos.logback.beagle/src/ch/qos/logback/beagle/preferences/WorkbenchPreferences.java
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.