Merge "[422573] Issue in IndexManager.getIndexer()"
diff --git a/core/plugins/org.eclipse.dltk.core.index.sql.h2/src/org/eclipse/dltk/internal/core/index/sql/h2/H2DbFactory.java b/core/plugins/org.eclipse.dltk.core.index.sql.h2/src/org/eclipse/dltk/internal/core/index/sql/h2/H2DbFactory.java
index 2f609a5..3453d9e 100644
--- a/core/plugins/org.eclipse.dltk.core.index.sql.h2/src/org/eclipse/dltk/internal/core/index/sql/h2/H2DbFactory.java
+++ b/core/plugins/org.eclipse.dltk.core.index.sql.h2/src/org/eclipse/dltk/internal/core/index/sql/h2/H2DbFactory.java
@@ -11,6 +11,7 @@
  *******************************************************************************/
 package org.eclipse.dltk.internal.core.index.sql.h2;
 
+import java.io.File;
 import java.sql.Connection;
 import java.sql.SQLException;
 import java.sql.Statement;
@@ -98,7 +99,18 @@
 
 				// remove corrupted DB
 				try {
-					DeleteDbFiles.execute(dbPath.toOSString(), DB_NAME, true);
+					if (tries == 1) { // try force delete
+						File folder = new File(dbPath.toOSString());
+						for (File f : folder.listFiles()) {
+							if (f.getName().startsWith(DB_NAME + ".")) { //$NON-NLS-1$
+								f.delete();
+							}
+						}
+						initializeSchema = true;
+					} else {
+						DeleteDbFiles.execute(dbPath.toOSString(), DB_NAME,
+								true);
+					}
 
 				} catch (Exception e1) {
 					SqlIndex.error(
@@ -107,7 +119,7 @@
 					throw e1;
 				}
 			}
-		} while (connection == null && --tries > 0);
+		} while (connection == null && --tries >= 0);
 	}
 
 	/**
diff --git a/core/tests/org.eclipse.dltk.debug.tests/.classpath b/core/tests/org.eclipse.dltk.debug.tests/.classpath
index 2fbb7a2..64c5e31 100644
--- a/core/tests/org.eclipse.dltk.debug.tests/.classpath
+++ b/core/tests/org.eclipse.dltk.debug.tests/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/core/tests/org.eclipse.dltk.debug.tests/.settings/org.eclipse.jdt.core.prefs b/core/tests/org.eclipse.dltk.debug.tests/.settings/org.eclipse.jdt.core.prefs
index 7ab962c..534eb0e 100644
--- a/core/tests/org.eclipse.dltk.debug.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/core/tests/org.eclipse.dltk.debug.tests/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,8 @@
-#Sat Sep 24 21:58:11 CEST 2011
 eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.source=1.3
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/core/tests/org.eclipse.dltk.debug.tests/META-INF/MANIFEST.MF b/core/tests/org.eclipse.dltk.debug.tests/META-INF/MANIFEST.MF
index f751b74..b79285f 100644
--- a/core/tests/org.eclipse.dltk.debug.tests/META-INF/MANIFEST.MF
+++ b/core/tests/org.eclipse.dltk.debug.tests/META-INF/MANIFEST.MF
@@ -15,4 +15,4 @@
  org.eclipse.dltk.core.tests
 Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.dltk.debug.tests
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/core/tests/org.eclipse.dltk.validators.core.tests/.classpath b/core/tests/org.eclipse.dltk.validators.core.tests/.classpath
index 2fbb7a2..64c5e31 100644
--- a/core/tests/org.eclipse.dltk.validators.core.tests/.classpath
+++ b/core/tests/org.eclipse.dltk.validators.core.tests/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/core/tests/org.eclipse.dltk.validators.core.tests/.settings/org.eclipse.jdt.core.prefs b/core/tests/org.eclipse.dltk.validators.core.tests/.settings/org.eclipse.jdt.core.prefs
index e1e6de9..eb58b41 100644
--- a/core/tests/org.eclipse.dltk.validators.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/core/tests/org.eclipse.dltk.validators.core.tests/.settings/org.eclipse.jdt.core.prefs
@@ -1,12 +1,12 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.compliance=1.5
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.source=1.3
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/core/tests/org.eclipse.dltk.validators.core.tests/META-INF/MANIFEST.MF b/core/tests/org.eclipse.dltk.validators.core.tests/META-INF/MANIFEST.MF
index 43ccd02..ae4e6ae 100644
--- a/core/tests/org.eclipse.dltk.validators.core.tests/META-INF/MANIFEST.MF
+++ b/core/tests/org.eclipse.dltk.validators.core.tests/META-INF/MANIFEST.MF
@@ -12,5 +12,5 @@
  org.eclipse.core.resources,
  org.junit
 Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Export-Package: org.eclipse.dltk.validators.core.tests
diff --git a/rse/plugins/org.eclipse.dltk.rse/META-INF/MANIFEST.MF b/rse/plugins/org.eclipse.dltk.rse/META-INF/MANIFEST.MF
index 89f3355..cea09f6 100644
--- a/rse/plugins/org.eclipse.dltk.rse/META-INF/MANIFEST.MF
+++ b/rse/plugins/org.eclipse.dltk.rse/META-INF/MANIFEST.MF
@@ -5,4 +5,3 @@
 Bundle-Version: 5.1.1.qualifier
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.4