Bug 483803 - Move core.jobs back to requiring Java 7

Change-Id: If7bd3e5b7dd860a342181587064c9306c4e32a17
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
diff --git a/bundles/org.eclipse.core.jobs/.classpath b/bundles/org.eclipse.core.jobs/.classpath
index 4f83b23..e8ea977 100644
--- a/bundles/org.eclipse.core.jobs/.classpath
+++ b/bundles/org.eclipse.core.jobs/.classpath
@@ -2,6 +2,6 @@
 <classpath>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/bundles/org.eclipse.core.jobs/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.core.jobs/.settings/org.eclipse.jdt.core.prefs
index b72538a..739b00f 100644
--- a/bundles/org.eclipse.core.jobs/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.core.jobs/.settings/org.eclipse.jdt.core.prefs
@@ -7,9 +7,9 @@
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=1.7
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -110,7 +110,7 @@
 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.8
+org.eclipse.jdt.core.compiler.source=1.7
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/bundles/org.eclipse.core.jobs/META-INF/MANIFEST.MF b/bundles/org.eclipse.core.jobs/META-INF/MANIFEST.MF
index 326c94f..6e10c87 100644
--- a/bundles/org.eclipse.core.jobs/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.core.jobs/META-INF/MANIFEST.MF
@@ -9,7 +9,7 @@
  org.eclipse.core.runtime.jobs
 Bundle-Activator: org.eclipse.core.internal.jobs.JobActivator
 Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.8.0,4.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.osgi.service.debug,
  org.eclipse.osgi.util,
diff --git a/bundles/org.eclipse.core.jobs/build.properties b/bundles/org.eclipse.core.jobs/build.properties
index 670e76e..87ec7df 100644
--- a/bundles/org.eclipse.core.jobs/build.properties
+++ b/bundles/org.eclipse.core.jobs/build.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2005, 2015 IBM Corporation and others.
+# Copyright (c) 2005, 2014 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -16,4 +16,5 @@
                .options,\
                about.html,\
                plugin.xml
-src.includes = about.html
\ No newline at end of file
+src.includes = about.html
+jre.compilation.profile = JavaSE-1.7
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobListeners.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobListeners.java
index 13b807c..9b6d157 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobListeners.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobListeners.java
@@ -20,18 +20,46 @@
  * specialized iterator to ensure the complex iteration logic is contained in one place.
  */
 class JobListeners {
-
-	@FunctionalInterface
 	interface IListenerDoit {
 		public void notify(IJobChangeListener listener, IJobChangeEvent event);
 	}
 
-	private final IListenerDoit aboutToRun = (listener, event) -> listener.aboutToRun(event);
-	private final IListenerDoit awake = (listener, event) -> listener.awake(event);
-	private final IListenerDoit done = (listener, event) -> listener.done(event);
-	private final IListenerDoit running = (listener, event) -> listener.running(event);
-	private final IListenerDoit scheduled = (listener, event) -> listener.scheduled(event);
-	private final IListenerDoit sleeping = (listener, event) -> listener.sleeping(event);
+	private final IListenerDoit aboutToRun = new IListenerDoit() {
+		@Override
+		public void notify(IJobChangeListener listener, IJobChangeEvent event) {
+			listener.aboutToRun(event);
+		}
+	};
+	private final IListenerDoit awake = new IListenerDoit() {
+		@Override
+		public void notify(IJobChangeListener listener, IJobChangeEvent event) {
+			listener.awake(event);
+		}
+	};
+	private final IListenerDoit done = new IListenerDoit() {
+		@Override
+		public void notify(IJobChangeListener listener, IJobChangeEvent event) {
+			listener.done(event);
+		}
+	};
+	private final IListenerDoit running = new IListenerDoit() {
+		@Override
+		public void notify(IJobChangeListener listener, IJobChangeEvent event) {
+			listener.running(event);
+		}
+	};
+	private final IListenerDoit scheduled = new IListenerDoit() {
+		@Override
+		public void notify(IJobChangeListener listener, IJobChangeEvent event) {
+			listener.scheduled(event);
+		}
+	};
+	private final IListenerDoit sleeping = new IListenerDoit() {
+		@Override
+		public void notify(IJobChangeListener listener, IJobChangeEvent event) {
+			listener.sleeping(event);
+		}
+	};
 	/**
 	 * The global job listeners.
 	 */
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobFunction.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobFunction.java
index e9d6ed3..0cadd6b 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobFunction.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobFunction.java
@@ -20,7 +20,6 @@
  * @see Job#create(String, IJobFunction)
  * @since 3.6
  */
-@FunctionalInterface
 public interface IJobFunction {
 	/**
 	 * Executes this job. Returns the result of the execution.