Index: /applications/editors/josm/plugins/rasterfilters/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- /applications/editors/josm/plugins/rasterfilters/.settings/org.eclipse.jdt.core.prefs	(revision 32502)
+++ /applications/editors/josm/plugins/rasterfilters/.settings/org.eclipse.jdt.core.prefs	(revision 32503)
@@ -1,7 +1,101 @@
 eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
 org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.7
Index: /applications/editors/josm/plugins/rasterfilters/src/org/openstreetmap/josm/plugins/rasterfilters/RasterFiltersPlugin.java
===================================================================
--- /applications/editors/josm/plugins/rasterfilters/src/org/openstreetmap/josm/plugins/rasterfilters/RasterFiltersPlugin.java	(revision 32502)
+++ /applications/editors/josm/plugins/rasterfilters/src/org/openstreetmap/josm/plugins/rasterfilters/RasterFiltersPlugin.java	(revision 32503)
@@ -9,10 +9,13 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.MapFrame;
-import org.openstreetmap.josm.gui.MapView;
-import org.openstreetmap.josm.gui.MapView.LayerChangeListener;
 import org.openstreetmap.josm.gui.SideButton;
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
 import org.openstreetmap.josm.gui.layer.ImageryLayer;
-import org.openstreetmap.josm.gui.layer.Layer;
+import org.openstreetmap.josm.gui.layer.LayerManager.LayerAddEvent;
+import org.openstreetmap.josm.gui.layer.LayerManager.LayerChangeListener;
+import org.openstreetmap.josm.gui.layer.LayerManager.LayerOrderChangeEvent;
+import org.openstreetmap.josm.gui.layer.LayerManager.LayerRemoveEvent;
+import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent;
+import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener;
 import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
 import org.openstreetmap.josm.plugins.Plugin;
@@ -22,4 +25,5 @@
 import org.openstreetmap.josm.plugins.rasterfilters.preferences.FiltersDownloader;
 import org.openstreetmap.josm.plugins.rasterfilters.preferences.RasterFiltersPreferences;
+
 /**
  * Main Plugin class. This class embed new plugin button for adding filter and
@@ -29,5 +33,5 @@
  *
  */
-public class RasterFiltersPlugin extends Plugin implements LayerChangeListener {
+public class RasterFiltersPlugin extends Plugin implements LayerChangeListener, ActiveLayerChangeListener {
 
 	private SideButton filterButton;
@@ -59,25 +63,24 @@
 	public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
 		if (Main.isDisplayingMapView()) {
-			MapView.addLayerChangeListener(this);
+			Main.getLayerManager().addLayerChangeListener(this);
+            Main.getLayerManager().addActiveLayerChangeListener(this);
 		}
 	}
 
 	@Override
-	public void activeLayerChange(Layer oldLayer, Layer newLayer) {
-		if (!(newLayer instanceof ImageryLayer)) {
+	public void activeOrEditLayerChanged(ActiveLayerChangeEvent e) {
+		if (!(Main.getLayerManager().getActiveLayer() instanceof ImageryLayer)) {
 			filterButton.setEnabled(false);
 		} else {
 			filterButton.setEnabled(true);
 		}
-
 	}
 
 	@Override
-	public void layerAdded(Layer newLayer) {
+	public void layerAdded(LayerAddEvent e) {
 
 		if (filterButton == null) {
 
-			// filter reading and adding to the collections of
-			// FilterDownloader
+			// filter reading and adding to the collections of FilterDownloader
 			FiltersDownloader.downloadFiltersInfoList();
 			FiltersDownloader.initFilters();
@@ -87,5 +90,5 @@
 			}
 
-			if (newLayer instanceof ImageryLayer) {
+			if (e.getAddedLayer() instanceof ImageryLayer) {
 				filterButton = new SideButton(action, false);
 				filterButton.setEnabled(true);
@@ -97,11 +100,10 @@
 			LayerListDialog dialog = LayerListDialog.getInstance();
 
-			JPanel buttonRowPanel = (JPanel) ((JPanel) dialog.getComponent(2))
-					.getComponent(0);
+			JPanel buttonRowPanel = (JPanel) ((JPanel) dialog.getComponent(2)).getComponent(0);
 			buttonRowPanel.add(filterButton);
 		}
 
-		if (newLayer instanceof ImageryLayer) {
-			FiltersDialog dialog = new FiltersDialog((ImageryLayer) newLayer);
+		if (e.getAddedLayer() instanceof ImageryLayer) {
+			FiltersDialog dialog = new FiltersDialog((ImageryLayer) e.getAddedLayer());
 			action.addFiltersDialog(dialog);
 		}
@@ -110,9 +112,9 @@
 
 	@Override
-	public void layerRemoved(Layer oldLayer) {
+	public void layerRemoving(LayerRemoveEvent e) {
 
-		if (oldLayer instanceof ImageryLayer) {
-			FiltersDialog dialog = action.getDialogByLayer(oldLayer);
-			((ImageryLayer) oldLayer).removeImageProcessor(dialog.getFiltersManager());
+		if (e.getRemovedLayer() instanceof ImageryLayer) {
+			FiltersDialog dialog = action.getDialogByLayer(e.getRemovedLayer());
+			((ImageryLayer) e.getRemovedLayer()).removeImageProcessor(dialog.getFiltersManager());
 			dialog.closeFrame();
 			action.removeFiltersDialog(dialog);
@@ -132,4 +134,9 @@
 
 	@Override
+    public void layerOrderChanged(LayerOrderChangeEvent e) {
+        // Do nothing
+    }
+
+    @Override
 	public PreferenceSetting getPreferenceSetting() {
 		if (setting == null) {
@@ -139,4 +146,3 @@
 		return setting;
 	}
-
 }
Index: /applications/editors/josm/plugins/rasterfilters/src/org/openstreetmap/josm/plugins/rasterfilters/actions/ShowLayerFiltersDialog.java
===================================================================
--- /applications/editors/josm/plugins/rasterfilters/src/org/openstreetmap/josm/plugins/rasterfilters/actions/ShowLayerFiltersDialog.java	(revision 32502)
+++ /applications/editors/josm/plugins/rasterfilters/src/org/openstreetmap/josm/plugins/rasterfilters/actions/ShowLayerFiltersDialog.java	(revision 32503)
@@ -29,5 +29,5 @@
 public final class ShowLayerFiltersDialog extends AbstractAction implements LayerAction {
 
-	private List<FiltersDialog> dialogs = new ArrayList<FiltersDialog>();
+	private List<FiltersDialog> dialogs = new ArrayList<>();
 
 	/**
Index: /applications/editors/josm/plugins/rasterfilters/src/org/openstreetmap/josm/plugins/rasterfilters/gui/FiltersDialog.java
===================================================================
--- /applications/editors/josm/plugins/rasterfilters/src/org/openstreetmap/josm/plugins/rasterfilters/gui/FiltersDialog.java	(revision 32502)
+++ /applications/editors/josm/plugins/rasterfilters/src/org/openstreetmap/josm/plugins/rasterfilters/gui/FiltersDialog.java	(revision 32503)
@@ -39,5 +39,5 @@
 	private JPanel pane;
 	private JButton addButton;
-	private DefaultComboBoxModel<String> listModel = new DefaultComboBoxModel<String>();
+	private DefaultComboBoxModel<String> listModel = new DefaultComboBoxModel<>();
 	private Set<String> showedFiltersTitles = new HashSet<>();
 	private JPanel filterContainer;
Index: /applications/editors/josm/plugins/rasterfilters/src/org/openstreetmap/josm/plugins/rasterfilters/preferences/RasterFiltersPreferences.java
===================================================================
--- /applications/editors/josm/plugins/rasterfilters/src/org/openstreetmap/josm/plugins/rasterfilters/preferences/RasterFiltersPreferences.java	(revision 32502)
+++ /applications/editors/josm/plugins/rasterfilters/src/org/openstreetmap/josm/plugins/rasterfilters/preferences/RasterFiltersPreferences.java	(revision 32503)
@@ -111,5 +111,5 @@
 
 		String[] columnNames = { "Filter Name", "Author", "Description", "" };
-		Class[] columnClasses = { String.class, String.class, String.class, Boolean.class };
+		Class<?>[] columnClasses = { String.class, String.class, String.class, Boolean.class };
 		List<FilterInfo> filtersInfoList;
 		Object[][] data;
@@ -161,5 +161,5 @@
 
 		@Override
-		public Class getColumnClass(int col) {
+		public Class<?> getColumnClass(int col) {
 			return columnClasses[col];
 		}
