Reactivate oev.web.test with simple OSGi Web Application

Note: All "old" web tests are currently @Ignore(d)

Also

* Rework oev.web.test to httpclient 4.3
* Sync with kernel.test
* @Ignore all old web.tests
* Reduce dependencies in oev.test.launcher (This reduces the
number of visible classes when running OSGi based tests.)
diff --git a/build.gradle b/build.gradle
index ae5197d..c404f2a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -36,6 +36,8 @@
             project(':kernel:org.eclipse.virgo.kernel.deployer.test'),
             project(':kernel:org.eclipse.virgo.kernel.test'),
 
+            project(':web:org.eclipse.virgo.web.test'),
+
             project(':util:org.eclipse.virgo.util.integrationtest'),
             //	project(':medic:org.eclipse.virgo.medic.integrationtest'),
 
diff --git a/kernel/org.eclipse.virgo.kernel.deployer.test/src/test/resources/META-INF/test.config.properties b/kernel/org.eclipse.virgo.kernel.deployer.test/src/test/resources/META-INF/test.config.properties
index 85997a8..d744206 100644
--- a/kernel/org.eclipse.virgo.kernel.deployer.test/src/test/resources/META-INF/test.config.properties
+++ b/kernel/org.eclipse.virgo.kernel.deployer.test/src/test/resources/META-INF/test.config.properties
@@ -1,5 +1,5 @@
 launcher.bundles =\
- file:../org.eclipse.virgo.kernel.equinox.extensions/build/libs/org.eclipse.virgo.kernel.equinox.extensions-${version}.jar,\
+ file:../../kernel/org.eclipse.virgo.kernel.equinox.extensions/build/libs/org.eclipse.virgo.kernel.equinox.extensions-${version}.jar,\
  file:${gradle.cache}/org.eclipse.virgo.mirrored/org.eclipse.equinox.region/${equinoxRegionVersion}/${equinoxRegionHash}/org.eclipse.equinox.region-${equinoxRegionVersion}.jar@start,\
  file:${gradle.cache}/org.slf4j/slf4j-api/${slf4jVersion}/${slf4jApiHash}/slf4j-api-${slf4jVersion}.jar,\
  file:${gradle.cache}/org.slf4j/jcl-over-slf4j/${slf4jVersion}/${slf4jJclOverSlf4jHash}/jcl-over-slf4j-${slf4jVersion}.jar@start,\
@@ -37,8 +37,8 @@
  file:../../3rd-party/build/plugins/oevm.org.springframework.context_${springframeworkVersion}.jar,\
  file:../../3rd-party/build/plugins/oevm.org.springframework.core_${springframeworkVersion}.jar,\
  file:../../3rd-party/build/plugins/oevm.org.springframework.expression_${springframeworkVersion}.jar,\
- file:../org.eclipse.virgo.kernel.agent.dm/build/libs/org.eclipse.virgo.kernel.agent.dm-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.kerneldmfragment/build/libs/org.eclipse.virgo.kernel.kerneldmfragment-${version}.jar,\
+ file:../../kernel/org.eclipse.virgo.kernel.agent.dm/build/libs/org.eclipse.virgo.kernel.agent.dm-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.kerneldmfragment/build/libs/org.eclipse.virgo.kernel.kerneldmfragment-${version}.jar,\
  file:${gradle.cache}/org.eclipse.gemini.blueprint/gemini-blueprint-io/${geminiBlueprintVersion}/${blueprintIoHash}/gemini-blueprint-io-${geminiBlueprintVersion}.jar@start,\
  file:${gradle.cache}/org.eclipse.gemini.blueprint/gemini-blueprint-core/${geminiBlueprintVersion}/${blueprintCoreHash}/gemini-blueprint-core-${geminiBlueprintVersion}.jar@start,\
  file:${gradle.cache}/org.eclipse.gemini.blueprint/gemini-blueprint-extender/${geminiBlueprintVersion}/${blueprintExtenderHash}/gemini-blueprint-extender-${geminiBlueprintVersion}.jar@start,\
@@ -46,12 +46,12 @@
  file:../../3rd-party/build/plugins/oevm.org.apache.httpcomponents.httpclient_${httpclientVersion}.jar@start,\
  file:${gradle.cache}/commons-codec/commons-codec/${commonsCodecVersion}/${commonsCodecHash}/commons-codec-${commonsCodecVersion}.jar@start,\
  file:../../repository/org.eclipse.virgo.repository/build/libs/org.eclipse.virgo.repository-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.artifact/build/libs/org.eclipse.virgo.kernel.artifact-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.osgi/build/libs/org.eclipse.virgo.kernel.osgi-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.services/build/libs/org.eclipse.virgo.kernel.services-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.deployer/build/libs/org.eclipse.virgo.kernel.deployer-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.model/build/libs/org.eclipse.virgo.kernel.model-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.userregionfactory/build/libs/org.eclipse.virgo.kernel.userregionfactory-${version}.jar@start
+ file:../../kernel/org.eclipse.virgo.kernel.artifact/build/libs/org.eclipse.virgo.kernel.artifact-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.osgi/build/libs/org.eclipse.virgo.kernel.osgi-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.services/build/libs/org.eclipse.virgo.kernel.services-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.deployer/build/libs/org.eclipse.virgo.kernel.deployer-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.model/build/libs/org.eclipse.virgo.kernel.model-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.userregionfactory/build/libs/org.eclipse.virgo.kernel.userregionfactory-${version}.jar@start
 
 # not sure if those are needed
 # file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.osgi/${org.eclipse.virgo.util}/org.eclipse.virgo.util.osgi-${org.eclipse.virgo.util}.jar@start,\
diff --git a/kernel/org.eclipse.virgo.kernel.deployer.test/src/test/resources/config/org.eclipse.virgo.kernel.userregion.properties b/kernel/org.eclipse.virgo.kernel.deployer.test/src/test/resources/config/org.eclipse.virgo.kernel.userregion.properties
index a79cba9..5294282 100644
--- a/kernel/org.eclipse.virgo.kernel.deployer.test/src/test/resources/config/org.eclipse.virgo.kernel.userregion.properties
+++ b/kernel/org.eclipse.virgo.kernel.deployer.test/src/test/resources/config/org.eclipse.virgo.kernel.userregion.properties
@@ -42,7 +42,7 @@
  file:${gradle.cache}/org.apache.felix/org.apache.felix.gogo.shell/${gogoShellVersion}/${gogoShellHash}/org.apache.felix.gogo.shell-${gogoShellVersion}.jar@start,\
  file:${gradle.cache}/org.apache.felix/org.apache.felix.gogo.command/${gogoCommandVersion}/${gogoCommandHash}/org.apache.felix.gogo.command-${gogoCommandVersion}.jar@start,\
  file:${gradle.cache}/org.eclipse.virgo.mirrored/org.eclipse.equinox.console/${equinoxConsoleVersion}/${equinoxConsoleHash}/org.eclipse.equinox.console-${equinoxConsoleVersion}.jar@start,\
- file:../org.eclipse.virgo.shell.command/build/libs/org.eclipse.virgo.shell.command-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.shell.command/build/libs/org.eclipse.virgo.shell.command-${version}.jar@start,\
  file:../org.eclipse.virgo.kernel.osgi/build/libs/org.eclipse.virgo.kernel.osgi-${version}.jar@start,\
  file:../org.eclipse.virgo.kernel.agent.dm/build/libs/org.eclipse.virgo.kernel.agent.dm-${version}.jar@start,\
  file:../org.eclipse.virgo.kernel.dmfragment/build/libs/org.eclipse.virgo.kernel.dmfragment-${version}.jar,\
diff --git a/kernel/org.eclipse.virgo.kernel.test/src/test/resources/META-INF/test.config.properties b/kernel/org.eclipse.virgo.kernel.test/src/test/resources/META-INF/test.config.properties
index e450bd7..075bd16 100644
--- a/kernel/org.eclipse.virgo.kernel.test/src/test/resources/META-INF/test.config.properties
+++ b/kernel/org.eclipse.virgo.kernel.test/src/test/resources/META-INF/test.config.properties
@@ -1,5 +1,5 @@
 launcher.bundles =\
- file:../org.eclipse.virgo.kernel.equinox.extensions/build/libs/org.eclipse.virgo.kernel.equinox.extensions-${version}.jar,\
+ file:../../kernel/org.eclipse.virgo.kernel.equinox.extensions/build/libs/org.eclipse.virgo.kernel.equinox.extensions-${version}.jar,\
  file:${gradle.cache}/org.eclipse.virgo.mirrored/org.eclipse.equinox.region/${equinoxRegionVersion}/${equinoxRegionHash}/org.eclipse.equinox.region-${equinoxRegionVersion}.jar@start,\
  file:${gradle.cache}/org.slf4j/slf4j-api/${slf4jVersion}/${slf4jApiHash}/slf4j-api-${slf4jVersion}.jar,\
  file:${gradle.cache}/org.slf4j/jcl-over-slf4j/${slf4jVersion}/${slf4jJclOverSlf4jHash}/jcl-over-slf4j-${slf4jVersion}.jar@start,\
@@ -37,8 +37,8 @@
  file:../../3rd-party/build/plugins/oevm.org.springframework.context_${springframeworkVersion}.jar,\
  file:../../3rd-party/build/plugins/oevm.org.springframework.core_${springframeworkVersion}.jar,\
  file:../../3rd-party/build/plugins/oevm.org.springframework.expression_${springframeworkVersion}.jar,\
- file:../org.eclipse.virgo.kernel.agent.dm/build/libs/org.eclipse.virgo.kernel.agent.dm-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.kerneldmfragment/build/libs/org.eclipse.virgo.kernel.kerneldmfragment-${version}.jar,\
+ file:../../kernel/org.eclipse.virgo.kernel.agent.dm/build/libs/org.eclipse.virgo.kernel.agent.dm-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.kerneldmfragment/build/libs/org.eclipse.virgo.kernel.kerneldmfragment-${version}.jar,\
  file:${gradle.cache}/org.eclipse.gemini.blueprint/gemini-blueprint-io/${geminiBlueprintVersion}/${blueprintIoHash}/gemini-blueprint-io-${geminiBlueprintVersion}.jar@start,\
  file:${gradle.cache}/org.eclipse.gemini.blueprint/gemini-blueprint-core/${geminiBlueprintVersion}/${blueprintCoreHash}/gemini-blueprint-core-${geminiBlueprintVersion}.jar@start,\
  file:${gradle.cache}/org.eclipse.gemini.blueprint/gemini-blueprint-extender/${geminiBlueprintVersion}/${blueprintExtenderHash}/gemini-blueprint-extender-${geminiBlueprintVersion}.jar@start,\
@@ -46,12 +46,12 @@
  file:../../3rd-party/build/plugins/oevm.org.apache.httpcomponents.httpclient_${httpclientVersion}.jar@start,\
  file:${gradle.cache}/commons-codec/commons-codec/${commonsCodecVersion}/${commonsCodecHash}/commons-codec-${commonsCodecVersion}.jar@start,\
  file:../../repository/org.eclipse.virgo.repository/build/libs/org.eclipse.virgo.repository-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.artifact/build/libs/org.eclipse.virgo.kernel.artifact-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.osgi/build/libs/org.eclipse.virgo.kernel.osgi-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.services/build/libs/org.eclipse.virgo.kernel.services-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.deployer/build/libs/org.eclipse.virgo.kernel.deployer-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.model/build/libs/org.eclipse.virgo.kernel.model-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.userregionfactory/build/libs/org.eclipse.virgo.kernel.userregionfactory-${version}.jar@start
+ file:../../kernel/org.eclipse.virgo.kernel.artifact/build/libs/org.eclipse.virgo.kernel.artifact-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.osgi/build/libs/org.eclipse.virgo.kernel.osgi-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.services/build/libs/org.eclipse.virgo.kernel.services-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.deployer/build/libs/org.eclipse.virgo.kernel.deployer-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.model/build/libs/org.eclipse.virgo.kernel.model-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.userregionfactory/build/libs/org.eclipse.virgo.kernel.userregionfactory-${version}.jar@start
 
 org.eclipse.virgo.test.properties.include=file:../../gradle.properties
 
diff --git a/kernel/org.eclipse.virgo.kernel.test/src/test/resources/config/org.eclipse.virgo.kernel.userregion.properties b/kernel/org.eclipse.virgo.kernel.test/src/test/resources/config/org.eclipse.virgo.kernel.userregion.properties
index 7712b55..9a777e9 100644
--- a/kernel/org.eclipse.virgo.kernel.test/src/test/resources/config/org.eclipse.virgo.kernel.userregion.properties
+++ b/kernel/org.eclipse.virgo.kernel.test/src/test/resources/config/org.eclipse.virgo.kernel.userregion.properties
@@ -40,10 +40,10 @@
  file:${gradle.cache}/org.apache.felix/org.apache.felix.gogo.shell/${gogoShellVersion}/${gogoShellHash}/org.apache.felix.gogo.shell-${gogoShellVersion}.jar@start,\
  file:${gradle.cache}/org.apache.felix/org.apache.felix.gogo.command/${gogoCommandVersion}/${gogoCommandHash}/org.apache.felix.gogo.command-${gogoCommandVersion}.jar@start,\
  file:${gradle.cache}/org.eclipse.virgo.mirrored/org.eclipse.equinox.console/${equinoxConsoleVersion}/${equinoxConsoleHash}/org.eclipse.equinox.console-${equinoxConsoleVersion}.jar@start,\
- file:../org.eclipse.virgo.shell.command/build/libs/org.eclipse.virgo.shell.command-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.osgi/build/libs/org.eclipse.virgo.kernel.osgi-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.agent.dm/build/libs/org.eclipse.virgo.kernel.agent.dm-${version}.jar@start,\
- file:../org.eclipse.virgo.kernel.dmfragment/build/libs/org.eclipse.virgo.kernel.dmfragment-${version}.jar,\
+ file:../../kernel/org.eclipse.virgo.shell.command/build/libs/org.eclipse.virgo.shell.command-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.osgi/build/libs/org.eclipse.virgo.kernel.osgi-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.agent.dm/build/libs/org.eclipse.virgo.kernel.agent.dm-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.dmfragment/build/libs/org.eclipse.virgo.kernel.dmfragment-${version}.jar,\
  file:../../3rd-party/build/plugins/oevm.aopalliance.aopalliance_${aopallianceVersion}.jar,\
  file:../../3rd-party/build/plugins/oevm.org.springframework.aop_${springframeworkVersion}.jar@start,\
  file:../../3rd-party/build/plugins/oevm.org.springframework.expression_${springframeworkVersion}.jar@start,\
@@ -53,7 +53,7 @@
  file:${gradle.cache}/org.eclipse.gemini.blueprint/gemini-blueprint-io/${geminiBlueprintVersion}/${blueprintIoHash}/gemini-blueprint-io-${geminiBlueprintVersion}.jar@start,\
  file:${gradle.cache}/org.eclipse.gemini.blueprint/gemini-blueprint-core/${geminiBlueprintVersion}/${blueprintCoreHash}/gemini-blueprint-core-${geminiBlueprintVersion}.jar@start,\
  file:${gradle.cache}/org.eclipse.gemini.blueprint/gemini-blueprint-extender/${geminiBlueprintVersion}/${blueprintExtenderHash}/gemini-blueprint-extender-${geminiBlueprintVersion}.jar@start,\
- file:../org.eclipse.virgo.kernel.userregion/build/libs/org.eclipse.virgo.kernel.userregion-${version}.jar@start
+ file:../../kernel/org.eclipse.virgo.kernel.userregion/build/libs/org.eclipse.virgo.kernel.userregion-${version}.jar@start
 
 bundleImports = org.eclipse.osgi;bundle-version="0"
 
diff --git a/settings.gradle b/settings.gradle
index 706c8ca..116f015 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -103,6 +103,8 @@
 include ':web:test-apps:osgi-webapp'
 include ':web:test-apps:spring-capability-tests'
 
+include ':web:org.eclipse.virgo.web.test'
+
 // 3rd party bundles
 include ':3rd-party'
 
diff --git a/test/org.eclipse.virgo.test.launcher/build.gradle b/test/org.eclipse.virgo.test.launcher/build.gradle
index 050a1d5..ec3c34c 100644
--- a/test/org.eclipse.virgo.test.launcher/build.gradle
+++ b/test/org.eclipse.virgo.test.launcher/build.gradle
@@ -1,8 +1,7 @@
 dependencies {
     compile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi", version: equinoxVersion, configuration: "compile", ext: "jar"
 
-    implementation 'ch.qos.logback:logback-core'
-    implementation 'ch.qos.logback:logback-classic'
+    implementation 'org.slf4j:slf4j-api'
 
     implementation project(':util:org.eclipse.virgo.util.common')
     implementation project(':util:org.eclipse.virgo.util.osgi')
diff --git a/web/org.eclipse.virgo.web.test/.springBeans b/web/org.eclipse.virgo.web.test/.springBeans
deleted file mode 100644
index d079ca1..0000000
--- a/web/org.eclipse.virgo.web.test/.springBeans
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beansProjectDescription>
-	<version>1</version>
-	<pluginVersion><![CDATA[2.2.4.RELEASE]]></pluginVersion>
-	<configSuffixes>
-		<configSuffix><![CDATA[xml]]></configSuffix>
-	</configSuffixes>
-	<enableImports><![CDATA[false]]></enableImports>
-	<configs>
-	</configs>
-	<configSets>
-	</configSets>
-</beansProjectDescription>
diff --git a/web/org.eclipse.virgo.web.test/build.gradle b/web/org.eclipse.virgo.web.test/build.gradle
new file mode 100644
index 0000000..a31f60d
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/build.gradle
@@ -0,0 +1,201 @@
+import aQute.bnd.gradle.Bundle
+
+apply plugin: 'idea'
+idea {
+    module {
+        inheritOutputDirs = true
+    }
+}
+
+task bundle(type: Bundle) {
+    bndfile = 'bundle.bnd'
+    from sourceSets.test.output
+    sourceSet = sourceSets.test
+}
+
+task copyTestResources(type: Copy) {
+    from "${projectDir}/src/test/resources"
+    into "${buildDir}/classes/java/test"
+}
+processTestResources.dependsOn copyTestResources
+
+configurations {
+    repositoryExt.extendsFrom(runtime, testRuntimeOnly)
+    repositoryExt {
+        transitive = false
+        description = "Dependencies to be packaged in repository/test"
+    }
+}
+
+def packageConfiguration(configurationName, configuration, target) {
+    println "Copy the ${configurationName} artifacts:"
+    configuration.each { File file -> println file.name }
+    println "to '${target}'."
+    copy {
+        from configuration into target
+        // TODO - gradle-build remove backward compatibility? Why an underscore?
+        // replace first hyphen with underscore
+        rename(/(.+?)-(.+)/, '$1_$2')
+    }
+}
+
+dependencies {
+    testCompile group: 'org.easymock', name: 'easymock', version: easymockVersion
+    testCompile project(':test:org.eclipse.virgo.test.framework')
+
+    testImplementation 'org.springframework:spring-context'
+    testImplementation 'org.apache.httpcomponents:httpclient'
+
+    testRuntimeOnly "org.aspectj:aspectjrt:${project.aspectjVersion}"
+
+    testCompile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi", version: equinoxVersion, configuration: "compile", ext: "jar"
+    testCompile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi.services", version: osgiServicesVersion, configuration: "compile", ext: "jar"
+    testCompile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.region", version: equinoxRegionVersion, configuration: "compile", ext: "jar"
+
+    testCompile project(':util:org.eclipse.virgo.util.parser.launcher')
+    testCompile project(':util:org.eclipse.virgo.util.osgi')
+    testCompile project(':util:org.eclipse.virgo.util.osgi.manifest')
+    testCompile project(':util:org.eclipse.virgo.util.parser.manifest')
+    testCompile project(':medic:org.eclipse.virgo.medic')
+    testCompile project(':nano:org.eclipse.virgo.nano.core')
+    testCompile project(':nano:org.eclipse.virgo.nano.management')
+    testCompile project(':kernel:org.eclipse.virgo.kernel.deployer.dm')
+    testCompile project(':kernel:org.eclipse.virgo.kernel.dmfragment')
+    testCompile project(':kernel:org.eclipse.virgo.kernel.kerneldmfragment')
+    testCompile project(':kernel:org.eclipse.virgo.kernel.equinox.extensions')
+    testCompile project(':kernel:org.eclipse.virgo.kernel.userregion')
+    testCompile project(':kernel:org.eclipse.virgo.kernel.userregionfactory')
+    testCompile project(':kernel:org.eclipse.virgo.shell.command')
+
+    testCompile project(':web:org.eclipse.virgo.web.core')
+    testCompile project(':web:org.eclipse.virgo.web.tomcat.support')
+    testCompile project(':web:org.eclipse.virgo.web.servlet.adapter')
+    testCompile project(':web:org.eclipse.virgo.web.spring.integration')
+    testCompile project(':web:org.eclipse.virgo.web.war.deployer')
+
+    repositoryExt 'org.slf4j:slf4j-api'
+    repositoryExt 'org.slf4j:jul-to-slf4j'
+    repositoryExt 'org.slf4j:jcl-over-slf4j'
+    repositoryExt 'org.slf4j:log4j-over-slf4j'
+
+    repositoryExt 'javax.annotation:javax.annotation-api'
+    repositoryExt 'javax.ejb:javax.ejb-api:3.2.2'
+    repositoryExt 'javax.el:javax.el-api'
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "javax.jms", version: javaxJmsVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "com.sun.mail", name: "javax.mail", version: javaxMailVersion
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "javax.persistence", version: javaxPersistenceVersion, configuration: "compile", ext: "jar"
+    repositoryExt 'javax.portlet:portlet-api:3.0.1'
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "javax.security.auth.message", version: javaxSecurityAuthMessageVersion, configuration: "compile", ext: "jar"
+    repositoryExt 'javax.servlet:javax.servlet-api'
+    repositoryExt 'javax.servlet.jsp:javax.servlet.jsp-api'
+    repositoryExt group: "org.glassfish.web", name: "javax.servlet.jsp.jstl", version: javaxServletJspJstlImplVersion
+    repositoryExt 'javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api'
+    // TODO - think about removing portlet-api from standard VTS
+
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "javax.websocket", version: javaxWebsocketVersion, configuration: "compile", ext: "jar"
+    repositoryExt 'javax.xml.rpc:javax.xml.rpc-api'
+
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.eclipse.jdt.core.compiler.batch", version: eclipseJdtCoreCompilerBatchVersion, configuration: "compile", ext: "jar"
+
+    repositoryExt 'commons-codec:commons-codec'
+    repositoryExt group: "commons-io", name: "commons-io", version: commonsIoVersion, ext: "jar"
+    repositoryExt group: "commons-fileupload", name: "commons-fileupload", version: commonsFileuploadVersion, ext: "jar"
+
+    repositoryExt files("../../3rd-party/build/plugins/oevm.com.squareup.okio_${okioVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.com.squareup.okhttp3_${okhttp3Version}.jar")
+
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi.services", version: osgiServicesVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "osgi.enterprise", version: osgiEnterpriseVersion, configuration: "compile", ext: "jar"
+    // contains org.osgi.jmx
+
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.cm", version: equinoxCmVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.ds", version: equinoxDsVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.util", version: equinoxUtilVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.eclipse.equinox.region", version: equinoxRegionVersion, configuration: "compile", ext: "jar"
+
+//    repositoryExt files("../../3rd-party/build/plugins/oevm.aopalliance.aopalliance_${aopallianceVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.aspectj.weaver_${aspectjVersion}.jar")
+
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.aop_${springframeworkVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.beans_${springframeworkVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.context_${springframeworkVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.core_${springframeworkVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.expression_${springframeworkVersion}.jar")
+
+    repositoryExt group: "org.eclipse.gemini.blueprint", name: "gemini-blueprint-io", version: geminiBlueprintVersion, ext: "jar"
+    repositoryExt group: "org.eclipse.gemini.blueprint", name: "gemini-blueprint-core", version: geminiBlueprintVersion, ext: "jar"
+    repositoryExt group: "org.eclipse.gemini.blueprint", name: "gemini-blueprint-extender", version: geminiBlueprintVersion, ext: "jar"
+    repositoryExt group: "org.eclipse.gemini.blueprint", name: "gemini-blueprint-extensions", version: geminiBlueprintVersion, ext: "jar"
+
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.eclipse.gemini.management", version: geminiManagementVersion, configuration: "compile", ext: "jar"
+    repositoryExt project(':kernel:org.eclipse.virgo.management.fragment')
+
+    repositoryExt project(':kernel:org.eclipse.virgo.kernel.agent.dm')
+    repositoryExt project(':kernel:org.eclipse.virgo.kernel.deployer.dm')
+    repositoryExt project(':kernel:org.eclipse.virgo.kernel.dmfragment')
+
+    repositoryExt group: "org.jolokia", name: "jolokia-osgi", version: jolokiaVersion, ext: "jar"
+
+    repositoryExt project(':medic:org.eclipse.virgo.medic')
+    repositoryExt project(':medic:org.eclipse.virgo.medic.core')
+    repositoryExt project(':medic:org.eclipse.virgo.medic.core')
+    repositoryExt project(':medic:org.eclipse.virgo.medic.logbackcorefragment')
+    repositoryExt project(':medic:org.eclipse.virgo.medic.logbackclassicfragment')
+    repositoryExt project(':web:org.eclipse.virgo.web.dm')
+
+    // missing Spring Framework dependencies
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.aspects_${springframeworkVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.context.support_${springframeworkVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.jdbc_${springframeworkVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.messaging_${springframeworkVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.jms_${springframeworkVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.orm_${springframeworkVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.oxm_${springframeworkVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.transaction_${springframeworkVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.web_${springframeworkVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.webflux_${springframeworkVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.webmvc_${springframeworkVersion}.jar")
+    repositoryExt files("../../3rd-party/build/plugins/oevm.org.springframework.websocket_${springframeworkVersion}.jar")
+
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.apache.catalina", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.apache.catalina.ha", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.apache.catalina.tribes", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.apache.coyote", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.apache.el", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.apache.jasper", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.apache.juli", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.apache.tomcat.api", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.apache.tomcat.util", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.apache.tomcat.util.scan", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.apache.tomcat.jni", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.virgo.mirrored", name: "org.apache.tomcat.websocket", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+
+    repositoryExt group: "org.eclipse.gemini", name: "org.eclipse.gemini.web.core", version: geminiWebVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.gemini", name: "org.eclipse.gemini.web.tomcat", version: geminiWebVersion, configuration: "compile", ext: "jar"
+    repositoryExt group: "org.eclipse.gemini", name: "org.eclipse.gemini.web.jaspic.fragment", version: geminiWebVersion, configuration: "compile", ext: "jar"
+
+    repositoryExt project(':web:org.eclipse.virgo.web.core')
+    repositoryExt project(':web:org.eclipse.virgo.web.tomcat.support')
+    repositoryExt project(':web:org.eclipse.virgo.web.servlet.adapter')
+    repositoryExt project(':web:org.eclipse.virgo.web.spring.integration')
+
+    // usually pickup
+    repositoryExt project(':apps:org.eclipse.virgo.apps.splash')
+}
+
+task prepareRepositoryExt {
+    doLast {
+        packageConfiguration('repository/ext', configurations.repositoryExt, file("${buildDir}/repository/ext/"))
+    }
+}
+prepareRepositoryExt.dependsOn ':3rd-party:bundles'
+prepareRepositoryExt.dependsOn ':web:org.eclipse.virgo.web.tomcat.support:jar'
+
+prepareRepositoryExt.dependsOn ':medic:org.eclipse.virgo.medic:jar'
+prepareRepositoryExt.dependsOn ':medic:org.eclipse.virgo.medic.core:jar'
+prepareRepositoryExt.dependsOn ':medic:org.eclipse.virgo.medic.core:jar'
+prepareRepositoryExt.dependsOn ':medic:org.eclipse.virgo.medic.logbackcorefragment:jar'
+prepareRepositoryExt.dependsOn ':medic:org.eclipse.virgo.medic.logbackclassicfragment:jar'
+prepareRepositoryExt.dependsOn ':web:org.eclipse.virgo.web.dm:jar'
+
+test.dependsOn prepareRepositoryExt
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/classpath-context-config-locations.war b/web/org.eclipse.virgo.web.test/src/test/apps-static/classpath-context-config-locations.war
deleted file mode 100644
index 6404efa..0000000
--- a/web/org.eclipse.virgo.web.test/src/test/apps-static/classpath-context-config-locations.war
+++ /dev/null
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/HELLOWEB2.WAR b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/HELLOWEB2.WAR
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/HELLOWEB2.WAR
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/HELLOWEB2.WAR
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/app1.par b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/app1.par
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/app1.par
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/app1.par
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/app2.par b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/app2.par
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/app2.par
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/app2.par
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/app3.par b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/app3.par
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/app3.par
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/app3.par
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/classpath-context-config-locations.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/classpath-context-config-locations.war
new file mode 100644
index 0000000..a963237
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/classpath-context-config-locations.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/core_taglibs_root_context_path.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/core_taglibs_root_context_path.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/core_taglibs_root_context_path.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/core_taglibs_root_context_path.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/custom_context_path.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/custom_context_path.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/custom_context_path.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/custom_context_path.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/default_web_xml.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/default_web_xml.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/default_web_xml.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/default_web_xml.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/duplicate-context-path-1.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/duplicate-context-path-1.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/duplicate-context-path-1.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/duplicate-context-path-1.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/duplicate-context-path-2.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/duplicate-context-path-2.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/duplicate-context-path-2.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/duplicate-context-path-2.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/explicit_bundle_imports.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/explicit_bundle_imports.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/explicit_bundle_imports.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/explicit_bundle_imports.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/explicit_package_imports.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/explicit_package_imports.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/explicit_package_imports.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/explicit_package_imports.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/helloweb.jar b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/helloweb.jar
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/helloweb.jar
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/helloweb.jar
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/helloweb.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/helloweb.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/helloweb.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/helloweb.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/hellowebdir.war/META-INF/MANIFEST.MF b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/hellowebdir.war/META-INF/MANIFEST.MF
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/hellowebdir.war/META-INF/MANIFEST.MF
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/hellowebdir.war/META-INF/MANIFEST.MF
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/hellowebdir.war/WEB-INF/web.xml b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/hellowebdir.war/WEB-INF/web.xml
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/hellowebdir.war/WEB-INF/web.xml
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/hellowebdir.war/WEB-INF/web.xml
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/hellowebdir.war/index.jsp b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/hellowebdir.war/index.jsp
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/hellowebdir.war/index.jsp
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/hellowebdir.war/index.jsp
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/jndi-url-handling.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/jndi-url-handling.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/jndi-url-handling.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/jndi-url-handling.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/no_manifest.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/no_manifest.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/no_manifest.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/no_manifest.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/per-app-logging.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/per-app-logging.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/per-app-logging.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/per-app-logging.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/resource-bundle/META-INF/MANIFEST.MF b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/resource-bundle/META-INF/MANIFEST.MF
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/resource-bundle/META-INF/MANIFEST.MF
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/resource-bundle/META-INF/MANIFEST.MF
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/resource-bundle/resource-2.xml b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/resource-bundle/resource-2.xml
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/resource-bundle/resource-2.xml
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/resource-bundle/resource-2.xml
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/service-bundle-redeploy-bundles/formtags.jar b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/service-bundle-redeploy-bundles/formtags.jar
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/service-bundle-redeploy-bundles/formtags.jar
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/service-bundle-redeploy-bundles/formtags.jar
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/service-bundle-redeploy-bundles/formtags.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/service-bundle-redeploy-bundles/formtags.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/service-bundle-redeploy-bundles/formtags.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/service-bundle-redeploy-bundles/formtags.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/service-bundle-redeploy-bundles/standard.jar b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/service-bundle-redeploy-bundles/standard.jar
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/service-bundle-redeploy-bundles/standard.jar
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/service-bundle-redeploy-bundles/standard.jar
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/servletjsp.war/WEB-INF/classes/a/A.class b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/servletjsp.war/WEB-INF/classes/a/A.class
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/servletjsp.war/WEB-INF/classes/a/A.class
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/servletjsp.war/WEB-INF/classes/a/A.class
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/servletjsp.war/WEB-INF/classes/a/A.java b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/servletjsp.war/WEB-INF/classes/a/A.java
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/servletjsp.war/WEB-INF/classes/a/A.java
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/servletjsp.war/WEB-INF/classes/a/A.java
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps-static/servletjsp.war/index.jsp b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/servletjsp.war/index.jsp
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps-static/servletjsp.war/index.jsp
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps-static/servletjsp.war/index.jsp
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/email_shared_libs_war.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/email_shared_libs_war.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/email_shared_libs_war.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/email_shared_libs_war.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/email_standard_war.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/email_standard_war.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/email_standard_war.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/email_standard_war.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/email_web_module.jar b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/email_web_module.jar
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/email_web_module.jar
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/email_web_module.jar
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/jstl.tests.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/jstl.tests.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/jstl.tests.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/jstl.tests.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/listener-test.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/listener-test.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/listener-test.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/listener-test.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/listeners.tests.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/listeners.tests.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/listeners.tests.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/listeners.tests.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/ltw-web-bundle.jar b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/ltw-web-bundle.jar
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/ltw-web-bundle.jar
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/ltw-web-bundle.jar
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/spring.capability.tests.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/spring.capability.tests.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/spring.capability.tests.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/spring.capability.tests.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/stand_alone_web_module.jar b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/stand_alone_web_module.jar
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/stand_alone_web_module.jar
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/stand_alone_web_module.jar
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/tld.bundle.jar b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/tld.bundle.jar
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/tld.bundle.jar
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/tld.bundle.jar
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/tld.listeners.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/tld.listeners.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/tld.listeners.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/tld.listeners.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/tld.web.bundle.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/tld.web.bundle.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/tld.web.bundle.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/tld.web.bundle.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/war-load-resource-from-tcc.bundle.jar b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/war-load-resource-from-tcc.bundle.jar
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/war-load-resource-from-tcc.bundle.jar
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/war-load-resource-from-tcc.bundle.jar
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/war-load-resource-from-tcc.web.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/war-load-resource-from-tcc.web.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/war-load-resource-from-tcc.web.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/war-load-resource-from-tcc.web.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/war_resource_loading.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/war_resource_loading.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/war_resource_loading.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/war_resource_loading.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/web_module_resource_loading.par b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/web_module_resource_loading.par
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/web_module_resource_loading.par
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/web_module_resource_loading.par
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/apps/webfeature.tests.war b/web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/webfeature.tests.war
similarity index 100%
rename from web/org.eclipse.virgo.web.test/src/test/apps/webfeature.tests.war
rename to web/org.eclipse.virgo.web.test/src/test/archived-apps/apps/webfeature.tests.war
Binary files differ
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/AbstractKernelIntegrationTest.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/AbstractKernelIntegrationTest.java
new file mode 100644
index 0000000..920fec0
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/AbstractKernelIntegrationTest.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   VMware Inc. - initial contribution
+ *******************************************************************************/
+
+package org.eclipse.virgo.web.test;
+
+import org.eclipse.virgo.test.framework.dmkernel.DmKernelTestRunner;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.runner.RunWith;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import java.lang.management.ManagementFactory;
+
+import static org.junit.Assert.assertNotEquals;
+
+@RunWith(DmKernelTestRunner.class)
+public abstract class AbstractKernelIntegrationTest {
+
+    protected volatile BundleContext kernelContext;
+
+    protected final BundleContext context = FrameworkUtil.getBundle(getClass()).getBundleContext();
+
+    @Before
+    public void setup() throws Exception {
+        this.kernelContext = getKernelContext();
+    }
+
+    @BeforeClass
+    public static void awaitKernelStartup() throws Exception {
+        if (System.getProperty("await.kernel.startup", "true").equals("true")) {
+            MBeanServer platformMBeanServer = ManagementFactory.getPlatformMBeanServer();
+            int sleepCount = 1000;
+            while (!"STARTED".equals(platformMBeanServer.getAttribute(new ObjectName("org.eclipse.virgo.kernel:type=KernelStatus"), "Status"))) {
+                Thread.sleep(60);
+                if (--sleepCount == 0)
+                    break;
+            }
+            assertNotEquals("Waited for Kernel too long.", 0, sleepCount);
+        }
+    }
+
+    private BundleContext getKernelContext() {
+        return this.context.getBundle(0L).getBundleContext();
+    }
+
+}
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/AbstractTomcatServerIntegrationTest.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/AbstractTomcatServerIntegrationTest.java
new file mode 100644
index 0000000..5f920d3
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/AbstractTomcatServerIntegrationTest.java
@@ -0,0 +1,105 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   VMware Inc. - initial contribution
+ *******************************************************************************/
+
+package org.eclipse.virgo.web.test;
+
+import org.eclipse.virgo.test.framework.dmkernel.DmKernelTestRunner;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.runner.RunWith;
+
+import javax.management.*;
+import java.lang.management.ManagementFactory;
+
+@RunWith(DmKernelTestRunner.class)
+public abstract class AbstractTomcatServerIntegrationTest extends AbstractKernelIntegrationTest {
+
+    private static final String CURRENT_VERSION = "3.8.0";
+
+    private static final long PLAN_DEPLOY_TIMEOUT = 5*60*1000; // 1 minutes
+
+    @BeforeClass
+    public static void awaitKernelStartup() throws Exception {
+        AbstractKernelIntegrationTest.awaitKernelStartup();
+    }
+
+    @Before
+    public void setup() throws Exception {
+        super.setup();
+
+        // Add asserts like assertThat(state, is("ACTIVE")) 3 times - see above, too!
+        awaitGeminiBlueprintPlanStartup();
+        // Add asserts like assertThat(state, is("ACTIVE")) 3 times - see above, too!
+        awaitTomcatPlanStartup();
+        // Add asserts like assertThat(state, is("ACTIVE")) 3 times - see above, too!
+        awaitShellPlanStartup();
+    }
+
+    private void awaitGeminiBlueprintPlanStartup() throws MalformedObjectNameException, MBeanException, AttributeNotFoundException, ReflectionException, InterruptedException {
+        MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
+        ObjectName objectName = new ObjectName("org.eclipse.virgo.kernel:type=ArtifactModel,artifact-type=plan,name=org.eclipse.virgo.kernel.userregion.blueprint,version=" + CURRENT_VERSION + ",region=global");
+
+        Object state = null;
+        long startTime = System.currentTimeMillis();
+
+        while (!"ACTIVE".equals(state)) {
+            try {
+                state = mBeanServer.getAttribute(objectName, "State");
+                System.out.println("Waiting for plan 'org.eclipse.virgo.kernel.userregion.blueprint'...");
+                Thread.sleep(100);
+            } catch (InstanceNotFoundException ignored) {
+            }
+            if (System.currentTimeMillis() - startTime > PLAN_DEPLOY_TIMEOUT) {
+                throw new RuntimeException("Plan 'org.eclipse.virgo.kernel.userregion.blueprint' did not start within " + (PLAN_DEPLOY_TIMEOUT / 1000) + " seconds.");
+            }
+        }
+    }
+
+    private void awaitTomcatPlanStartup() throws MalformedObjectNameException, MBeanException, AttributeNotFoundException, ReflectionException, InterruptedException {
+        MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
+        ObjectName objectName = new ObjectName("org.eclipse.virgo.kernel:type=ArtifactModel,artifact-type=plan,name=org.eclipse.virgo.web.tomcat,version=" + CURRENT_VERSION + ",region=global");
+
+        Object state = null;
+        long startTime = System.currentTimeMillis();
+
+        while (!"ACTIVE".equals(state)) {
+            try {
+                state = mBeanServer.getAttribute(objectName, "State");
+                System.out.println("Waiting for 'web.plan'...");
+                Thread.sleep(100);
+            } catch (InstanceNotFoundException ignored) {
+            }
+            if (System.currentTimeMillis() - startTime > PLAN_DEPLOY_TIMEOUT) {
+                throw new RuntimeException("Web plan did not start within " + (PLAN_DEPLOY_TIMEOUT / 1000) + " seconds.");
+            }
+        }
+    }
+
+    private void awaitShellPlanStartup() throws MalformedObjectNameException, MBeanException, AttributeNotFoundException, ReflectionException, InterruptedException {
+        MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
+        ObjectName objectName = new ObjectName("org.eclipse.virgo.kernel:type=ArtifactModel,artifact-type=plan,name=org.eclipse.virgo.shell,version=" + CURRENT_VERSION + ",region=global");
+
+        Object state = null;
+        long startTime = System.currentTimeMillis();
+
+        while (!"ACTIVE".equals(state)) {
+            try {
+                state = mBeanServer.getAttribute(objectName, "State");
+                System.out.println("Waiting for 'shell.plan'...");
+                Thread.sleep(100);
+            } catch (InstanceNotFoundException ignored) {
+            }
+            if (System.currentTimeMillis() - startTime > PLAN_DEPLOY_TIMEOUT) {
+                throw new RuntimeException("Web plan did not start within " + (PLAN_DEPLOY_TIMEOUT / 1000) + " seconds.");
+            }
+        }
+    }
+}
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/AbstractWebIntegrationTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/AbstractWebIntegrationTests.java
index 51971de..8f1fb50 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/AbstractWebIntegrationTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/AbstractWebIntegrationTests.java
@@ -11,84 +11,80 @@
 
 package org.eclipse.virgo.web.test;
 
-import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
-import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND;
-import static javax.servlet.http.HttpServletResponse.SC_FOUND;
-import static javax.servlet.http.HttpServletResponse.SC_OK;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.lang.management.ManagementFactory;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.management.InstanceNotFoundException;
-import javax.management.JMException;
-import javax.management.JMX;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.junit.AfterClass;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicNameValuePair;
+import org.eclipse.virgo.kernel.model.management.ManageableArtifact;
+import org.eclipse.virgo.nano.deployer.api.core.ApplicationDeployer;
+import org.eclipse.virgo.nano.deployer.api.core.DeploymentIdentity;
+import org.eclipse.virgo.nano.deployer.api.core.DeploymentOptions;
+import org.eclipse.virgo.test.framework.dmkernel.DmKernelTestRunner;
+import org.eclipse.virgo.util.io.PathReference;
 import org.junit.Before;
 import org.junit.runner.RunWith;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.framework.ServiceReference;
+import org.springframework.util.StreamUtils;
 
-import org.eclipse.virgo.nano.deployer.api.core.ApplicationDeployer;
-import org.eclipse.virgo.nano.deployer.api.core.DeploymentIdentity;
-import org.eclipse.virgo.nano.deployer.api.core.DeploymentOptions;
-import org.eclipse.virgo.kernel.model.management.ManageableArtifact;
-import org.eclipse.virgo.kernel.osgi.framework.OsgiFramework;
-import org.eclipse.virgo.test.framework.dmkernel.DmKernelTestRunner;
-import org.eclipse.virgo.util.io.PathReference;
+import javax.management.JMException;
+import javax.management.JMX;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import java.io.File;
+import java.lang.management.ManagementFactory;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Arrays.asList;
+import static java.util.stream.Collectors.toList;
+import static org.apache.http.HttpHeaders.LOCATION;
+import static org.apache.http.HttpStatus.*;
+import static org.junit.Assert.*;
 
 /**
  * Abstract base class for all web integration tests. Transparently retrieves the {@link ApplicationDeployer} from the
  * OSGi service registry and provides support for subclasses to deploy web applications (i.e., WARs, hybrid WARs, and
  * PARs which contain a web module). In addition, simple assertion facilities are provided for verifying that a
  * particular web resource is available (e.g., via an HTTP GET or POST request).
- * 
  */
 @RunWith(DmKernelTestRunner.class)
-public abstract class AbstractWebIntegrationTests {
+public abstract class AbstractWebIntegrationTests extends AbstractTomcatServerIntegrationTest {
 
     private static final long HOT_DEPLOY_TIMEOUT = 30000;
 
-    private static final long WEB_PLAN_DEPLOY_TIMEOUT = 5*60*1000; // 5 minutes
+//    private static final long WEB_PLAN_DEPLOY_TIMEOUT = 5*60*1000; // 5 minutes
 
-	private static final String CURRENT_VERSION = "3.7.0";
+//	private static final String CURRENT_VERSION = "3.7.0";
 
     private static final String USER_REGION_NAME = "org.eclipse.virgo.region.user";
 
-    protected final List<String> deployedWebApps = new ArrayList<String>();
-
-    protected OsgiFramework osgiFramework;
+    final List<String> deployedWebApps = new ArrayList<>();
 
     protected ApplicationDeployer appDeployer;
 
-    protected boolean reuseHttpClient = true;
+    boolean reuseHttpClient = true;
 
-    private final HttpClient httpClient = new HttpClient();
+    private final CloseableHttpClient httpClient = HttpClients.createDefault();
 
-    protected boolean followRedirects = true;
+    boolean followRedirects = true;
 
     /**
-     * Gets the {@link HttpClient} to use for the current request. If {@link #reuseHttpClient} is set to
+     * Gets the {@link CloseableHttpClient} to use for the current request. If {@link #reuseHttpClient} is set to
      * <code>true</code>, this method will return the same, pre-instantiated client; otherwise, this method will
      * instantiate and return a new client.
      */
-    protected HttpClient getHttpClient() {
-        return reuseHttpClient ? this.httpClient : new HttpClient();
+    private CloseableHttpClient getHttpClient() {
+        return reuseHttpClient ? this.httpClient : HttpClientBuilder.create().build();
     }
 
     /**
@@ -97,7 +93,7 @@
      * @param expectedResponseCode the expected HTTP response code
      */
     protected void assertGetRequest(String context, String resource, int expectedResponseCode) throws Exception {
-        assertGetRequest(context, resource, expectedResponseCode, (List<String>) null);
+        assertGetRequest(context, resource, expectedResponseCode, null);
     }
 
     /**
@@ -141,14 +137,20 @@
     protected void assertGetRequest(String address, boolean followRedirects, int expectedResponseCode, List<String> expectedContents)
         throws Exception {
         System.out.println("AbstractWebIntegrationTests: executing GET request for [" + address + "].");
-        GetMethod get = new GetMethod(address);
-        get.setFollowRedirects(followRedirects);
-        int responseCode = getHttpClient().executeMethod(get);
-        System.out.println(get.getResponseBodyAsString());
+        HttpGet get = new HttpGet(address);
+        // FIXME - this is set in the HttpClient now
+        // HttpClient instance = HttpClientBuilder.create().disableRedirectHandling().build()
+        // get.setFollowRedirects(followRedirects);
+        if (!followRedirects) {
+            throw new UnsupportedOperationException("Currently the HttpClient always follows redirects!");
+        }
+        CloseableHttpResponse response = httpClient.execute(get);
+        int responseCode = response.getStatusLine().getStatusCode();
+        String body = StreamUtils.copyToString(response.getEntity().getContent(), UTF_8);
+        System.out.println(body);
         assertEquals("Verifying HTTP response code for URL [" + address + "]", expectedResponseCode, responseCode);
 
         if (responseCode / 100 == 2 && expectedContents != null) {
-            String body = get.getResponseBodyAsString();
             System.out.println(body);
             assertNotNull("The response body for URL [" + address + "] should not be null.", body);
             // System.err.println(body);
@@ -168,27 +170,29 @@
      * @param expectedGetAfterPostResponseCode the expected HTTP response code for the subsequent GET request
      * @param expectedContents text expected to exist in the returned resource
      */
-    protected void assertPostRequest(String context, String resource, Map<String, String> params, boolean followRedirectsForGet,
-        int expectedPostResponseCode, int expectedGetAfterPostResponseCode, String expectedContents) throws Exception {
+    void assertPostRequest(String context, String resource, Map<String, String> params, boolean followRedirectsForGet,
+                           int expectedPostResponseCode, int expectedGetAfterPostResponseCode, String expectedContents) throws Exception {
 
         final String address = "http://localhost:8080/" + (context == null ? "" : context + "/") + resource;
         System.out.println("AbstractWebIntegrationTests: executing POST request for [" + address + "].");
-        final PostMethod post = new PostMethod(address);
-        for (String name : params.keySet()) {
-            post.setParameter(name, params.get(name));
-        }
+        HttpPost post = new HttpPost(address);
 
-        int responseCode = getHttpClient().executeMethod(post);
+        List<BasicNameValuePair> valuePairs = params.entrySet().stream().map(e -> new BasicNameValuePair(e.getKey(), e.getValue())).collect(toList());
+        post.setEntity(new UrlEncodedFormEntity(valuePairs));
+
+        CloseableHttpResponse response = getHttpClient().execute(post);
+
+        int responseCode = response.getStatusLine().getStatusCode();
         assertEquals("Verifying HTTP POST response code for URL [" + address + "]", expectedPostResponseCode, responseCode);
 
         if (responseCode / 100 == 2 && expectedContents != null) {
-            String body = post.getResponseBodyAsString();
+            String body = StreamUtils.copyToString(response.getEntity().getContent(), UTF_8);
             assertNotNull("The response body for URL [" + address + "] should not be null.", body);
             // System.err.println(body);
             assertTrue("The response body for URL [" + address + "] should contain [" + expectedContents + "].", body.contains(expectedContents));
-        } else if (responseCode == SC_FOUND && expectedContents != null) {
-            String location = post.getResponseHeader("Location").getValue();
-            assertGetRequest(location, followRedirectsForGet, expectedGetAfterPostResponseCode, Arrays.asList(expectedContents));
+        } else if (responseCode == SC_MOVED_TEMPORARILY && expectedContents != null) {
+            String location = post.getFirstHeader(LOCATION).getValue();
+            assertGetRequest(location, followRedirectsForGet, expectedGetAfterPostResponseCode, asList(expectedContents));
         }
     }
 
@@ -269,8 +273,8 @@
      * @param file the file from which to deploy the web-app
      * @return the {@link DeploymentIdentity} of the deployed application
      */
-    protected DeploymentIdentity assertDeployBehavior(String context, File file) throws Exception {
-        return assertDeployBehavior(context, file, new HashMap<String, List<String>>());
+    DeploymentIdentity assertDeployBehavior(String context, File file) throws Exception {
+        return assertDeployBehavior(context, file, new HashMap<>());
     }
 
     /**
@@ -279,7 +283,7 @@
      * @param expectations a map of expected contents per resource, keyed by resource path.
      * @return the {@link DeploymentIdentity} of the deployed application
      */
-    protected DeploymentIdentity assertDeployBehavior(String context, File file, Map<String, List<String>> expectations) throws Exception {
+    DeploymentIdentity assertDeployBehavior(String context, File file, Map<String, List<String>> expectations) throws Exception {
         final URI uri = file.toURI();
         // Deploy non-recoverably and not owned by the deployer. Non-recoverable should speed up the tests.
         DeploymentIdentity deploymentIdentity = this.appDeployer.deploy(uri, new DeploymentOptions(false, false, true));
@@ -319,8 +323,8 @@
      * @param context the context path of the web-app
      * @param deploymentIdentity the {@link DeploymentIdentity} of the deployed web-app
      */
-    protected void assertUndeployBehavior(String context, DeploymentIdentity deploymentIdentity) throws Exception {
-        assertUndeployBehavior(context, deploymentIdentity, new HashMap<String, List<String>>());
+    void assertUndeployBehavior(String context, DeploymentIdentity deploymentIdentity) throws Exception {
+        assertUndeployBehavior(context, deploymentIdentity, new HashMap<>());
     }
 
     /**
@@ -328,7 +332,7 @@
      * @param deploymentIdentity the {@link DeploymentIdentity} of the deployed web-app
      * @param expectations a map of expected contents per resource, keyed by resource path.
      */
-    protected void assertUndeployBehavior(String context, DeploymentIdentity deploymentIdentity, Map<String, List<String>> expectations)
+    private void assertUndeployBehavior(String context, DeploymentIdentity deploymentIdentity, Map<String, List<String>> expectations)
         throws Exception {
         this.appDeployer.undeploy(deploymentIdentity);
         for (String resource : expectations.keySet()) {
@@ -336,9 +340,10 @@
         }
     }
 
+    // move to super class?
     @Before
-    public void setUp() throws Exception {
-        awaitInitialArtifactDeployment();
+    public void setup() throws Exception {
+        super.setup();
 
         BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
 
@@ -348,38 +353,38 @@
         assertNotNull("ApplicationDeployer service not found", this.appDeployer);
     }
 
-    @AfterClass
-    public static void cleanup() throws Exception {
-        MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
-        ObjectName objectName = new ObjectName("org.eclipse.virgo.kernel:type=ArtifactModel,artifact-type=plan,name=org.eclipse.virgo.web.tomcat,version=" + CURRENT_VERSION + ",region=global");
+//    @AfterClass
+//    public static void cleanup() throws Exception {
+//        MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
+//        ObjectName objectName = new ObjectName("org.eclipse.virgo.kernel:type=ArtifactModel,artifact-type=plan,name=org.eclipse.virgo.web.tomcat,version=" + CURRENT_VERSION + ",region=global");
+//
+//        try {
+//            mBeanServer.invoke(objectName, "stop", null, null);
+//            mBeanServer.invoke(objectName, "uninstall", null, null);
+//        } catch (JMException ignored) {
+//        }
+//    }
 
-        try {
-            mBeanServer.invoke(objectName, "stop", null, null);
-            mBeanServer.invoke(objectName, "uninstall", null, null);
-        } catch (JMException _) {
-        }
-    }
+//    private void awaitInitialArtifactDeployment() throws JMException, InterruptedException {
+//        MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
+//        ObjectName objectName = new ObjectName("org.eclipse.virgo.kernel:type=ArtifactModel,artifact-type=plan,name=org.eclipse.virgo.web.tomcat,version=" + CURRENT_VERSION + ",region=global");
+//
+//        Object state = null;
+//        long startTime = System.currentTimeMillis();
+//
+//        while (!"ACTIVE".equals(state)) {
+//            try {
+//                state = mBeanServer.getAttribute(objectName, "State");
+//                Thread.sleep(100);
+//            } catch (InstanceNotFoundException ignored) {
+//            }
+//            if (System.currentTimeMillis() - startTime > WEB_PLAN_DEPLOY_TIMEOUT) {
+//                throw new RuntimeException("Web plan did not start within " + (WEB_PLAN_DEPLOY_TIMEOUT / 1000) + " seconds.");
+//            }
+//        }
+//    }
 
-    private void awaitInitialArtifactDeployment() throws JMException, InterruptedException {
-        MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
-        ObjectName objectName = new ObjectName("org.eclipse.virgo.kernel:type=ArtifactModel,artifact-type=plan,name=org.eclipse.virgo.web.tomcat,version=" + CURRENT_VERSION + ",region=global");
-
-        Object state = null;
-        long startTime = System.currentTimeMillis();
-
-        while (!"ACTIVE".equals(state)) {
-            try {
-                state = mBeanServer.getAttribute(objectName, "State");
-                Thread.sleep(100);
-            } catch (InstanceNotFoundException _) {
-            }
-            if (System.currentTimeMillis() - startTime > WEB_PLAN_DEPLOY_TIMEOUT) {
-                throw new RuntimeException("Web plan did not start within " + (WEB_PLAN_DEPLOY_TIMEOUT / 1000) + " seconds.");
-            }
-        }
-    }
-
-    protected PathReference hotDeploy(PathReference toDeploy, String name, String version) throws InterruptedException {
+    PathReference hotDeploy(PathReference toDeploy, String name, String version) throws InterruptedException {
         PathReference deployed = toDeploy.copy(new PathReference("build/pickup"), true);
 
         awaitDeployment(toDeploy, deployed);
@@ -419,7 +424,7 @@
         }
     }
 
-    protected void hotUnDeploy(PathReference deployed) throws InterruptedException {
+    void hotUnDeploy(PathReference deployed) throws InterruptedException {
         URI uri = deployed.toURI();
         assertTrue(this.appDeployer.isDeployed(uri));
 
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ContextConfigLocationTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ContextConfigLocationTests.java
index 327054f..953a406 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ContextConfigLocationTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ContextConfigLocationTests.java
@@ -14,12 +14,12 @@
 import java.io.File;
 import java.net.URI;
 
+import org.junit.Ignore;
 import org.junit.Test;
 
-/**
- */
+@Ignore
 public class ContextConfigLocationTests extends AbstractWebIntegrationTests {
-    
+
     @Test
     public void applicationContextsInRootOfClasspath() throws Exception {
         URI testApp = new File("src/test/apps-static/classpath-context-config-locations.war").toURI();
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/CoreTagLibsWithRootContextPathTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/CoreTagLibsWithRootContextPathTests.java
index eac0dec..3207060 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/CoreTagLibsWithRootContextPathTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/CoreTagLibsWithRootContextPathTests.java
@@ -17,6 +17,7 @@
 import java.util.List;
 import java.util.Map;
 
+import org.junit.Ignore;
 import org.junit.Test;
 
 /**
@@ -24,6 +25,7 @@
  * "/") functions as expected.
  * 
  */
+@Ignore
 public class CoreTagLibsWithRootContextPathTests extends AbstractWebIntegrationTests {
 
     @Test
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/DependentBundleTldTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/DependentBundleTldTests.java
index a760cd2..907e7bc 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/DependentBundleTldTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/DependentBundleTldTests.java
@@ -11,39 +11,39 @@
 
 package org.eclipse.virgo.web.test;
 
-import static javax.servlet.http.HttpServletResponse.SC_OK;
-
 import java.io.File;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
 import org.eclipse.virgo.nano.deployer.api.core.DeploymentIdentity;
+import org.junit.Ignore;
 import org.junit.Test;
 
+import static java.util.Collections.singletonList;
+import static org.apache.http.HttpStatus.SC_OK;
+
+@Ignore
 public class DependentBundleTldTests extends AbstractWebIntegrationTests {
 
-	final CountDownLatch latch = new CountDownLatch(1);
-	final Map<String, List<String>> expectations = new HashMap<String, List<String>>();
+	private final CountDownLatch latch = new CountDownLatch(1);
+	private final Map<String, List<String>> expectations = new HashMap<>();
 
 	@Test
 	public void testTldsInDependentBundle() throws Exception {
-		expectations.put("index.jsp", Arrays.asList("OODMO"));
+		expectations.put("index.jsp", singletonList("OODMO"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity jardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity jarDeploymentIdentity = assertDeployBehavior(
 				"tldbundletest", new File("src/test/apps/tld.bundle.jar"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"tldbundletest", new File("src/test/apps/tld.web.bundle.war"));
 		for (String resource : expectations.keySet()) {
 			List<String> expectedContents = expectations.get(resource);
 			assertGetRequest("tldbundletest", resource, SC_OK, expectedContents);
 		}
-		this.appDeployer.undeploy(jardeploymentIdentity);
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(jarDeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 
 }
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/FilterCapabilityTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/FilterCapabilityTests.java
index 98e16c6..ec9933f 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/FilterCapabilityTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/FilterCapabilityTests.java
@@ -11,33 +11,31 @@
 
 package org.eclipse.virgo.web.test;
 
-import static javax.servlet.http.HttpServletResponse.SC_OK;
+import static java.util.Collections.singletonList;
+import static org.apache.http.HttpStatus.SC_OK;
 
 import java.io.File;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
 import org.eclipse.virgo.nano.deployer.api.core.DeploymentIdentity;
+import org.junit.Ignore;
 import org.junit.Test;
 
+@Ignore
 public class FilterCapabilityTests extends AbstractWebIntegrationTests {
 
-	final Map<String, List<String>> expectations = new HashMap<String, List<String>>();
-	final CountDownLatch latch = new CountDownLatch(1);
+	private final Map<String, List<String>> expectations = new HashMap<>();
+	private final CountDownLatch latch = new CountDownLatch(1);
 	
 	@Test
 	public void requestFilterWithMultipleUrlPatternsSpecifiedInTheSameFilterMapping() throws Exception{
-		expectations.put("testFilterOne", Arrays
-				.asList("fooTest Servlet"));
-		expectations.put("testFilterTwo", Arrays
-				.asList("fooTest Servlet"));
+		expectations.put("testFilterOne", singletonList("fooTest Servlet"));
+		expectations.put("testFilterTwo", singletonList("fooTest Servlet"));
 		
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"webtest", new File("src/test/apps/webfeature.tests.war"),
 				expectations);
 
@@ -46,16 +44,15 @@
 			assertGetRequest("webtest", resource, SC_OK, expectedContents);
 		}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 
 	@Test
 	public void forwardFilter() throws Exception {
-		expectations.put("/rd?test=forward-filter-servlet", Arrays
-				.asList("barTest Servlet"));
+		expectations.put("/rd?test=forward-filter-servlet", singletonList("barTest Servlet"));
 		
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"webtest", new File("src/test/apps/webfeature.tests.war"),
 				expectations);
 
@@ -64,16 +61,15 @@
 			assertGetRequest("webtest", resource, SC_OK, expectedContents);
 		}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 	
 	@Test
 	public void includeFilter() throws Exception {
-		expectations.put("/rd?test=include-filter-servlet", Arrays
-				.asList("bazTest Servlet"));
+		expectations.put("/rd?test=include-filter-servlet", singletonList("bazTest Servlet"));
 		
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"webtest", new File("src/test/apps/webfeature.tests.war"),
 				expectations);
 
@@ -82,6 +78,6 @@
 			assertGetRequest("webtest", resource, SC_OK, expectedContents);
 		}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 }
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/JSTLCapabilityTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/JSTLCapabilityTests.java
index 98b14f0..96944e4 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/JSTLCapabilityTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/JSTLCapabilityTests.java
@@ -11,29 +11,29 @@
 
 package org.eclipse.virgo.web.test;
 
-import static javax.servlet.http.HttpServletResponse.SC_OK;
-
 import java.io.File;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
 import org.eclipse.virgo.nano.deployer.api.core.DeploymentIdentity;
+import org.junit.Ignore;
 import org.junit.Test;
 
+import static java.util.Collections.singletonList;
+import static org.apache.http.HttpStatus.SC_OK;
+
+@Ignore
 public class JSTLCapabilityTests extends AbstractWebIntegrationTests {
 
-	final Map<String, String> params = new HashMap<String, String>();
-	final CountDownLatch latch = new CountDownLatch(1);
-	final Map<String, List<String>> expectations = new HashMap<String, List<String>>();
+	private final Map<String, String> params = new HashMap<>();
+	private final CountDownLatch latch = new CountDownLatch(1);
+	private final Map<String, List<String>> expectations = new HashMap<>();
 
 	@Test
 	public void testCout() throws Exception {
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"jstltest", new File("src/test/apps/jstl.tests.war"));
 
 		assertGetRequest("jstltest", "jstltest1.jsp", SC_OK);
@@ -44,13 +44,13 @@
 		assertPostRequest("jstltest", "jstltest1.jsp", params, false, SC_OK,
 				SC_OK, "PLACE:xyz");
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 
 	@Test
 	public void testJspUseBean() throws Exception {
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"jstltest", new File("src/test/apps/jstl.tests.war"));
 
 		assertGetRequest("jstltest", "jstltest2.jsp", SC_OK);
@@ -64,13 +64,13 @@
 		assertPostRequest("jstltest", "jstltest2.jsp", params, false, SC_OK,
 				SC_OK, "Game: lmn");
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 
 	@Test
 	public void testCif() throws Exception {
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"jstltest", new File("src/test/apps/jstl.tests.war"));
 
 		assertGetRequest("jstltest", "jstltest3.jsp", SC_OK);
@@ -81,13 +81,13 @@
 		assertPostRequest("jstltest", "jstltest3.jsp", params, false, SC_OK,
 				SC_OK, "Good Morning...FOO!");
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 
 	@Test
 	public void testCChoose() throws Exception {
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"jstltest", new File("src/test/apps/jstl.tests.war"));
 
 		assertGetRequest("jstltest", "jstltest4.jsp", SC_OK);
@@ -104,7 +104,7 @@
 		assertPostRequest("jstltest", "jstltest4.jsp", params, false, SC_OK,
 				SC_OK, "select between 1 & 5");
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 
 	@Test
@@ -113,77 +113,77 @@
 				"1","2", "false", "false", "green", "2","3", "false", "false", "blue",
 				"3", "4" ,"false", "false", "orange", "4", "5", "false", "true" ,"black"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"jstltest", new File("src/test/apps/jstl.tests.war"));
 		for (String resource : expectations.keySet()) {
 			List<String> expectedContents = expectations.get(resource);
 			assertGetRequest("jstltest",resource, SC_OK, expectedContents);
 		}
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 	
 	@Test
 	public void testForTokens() throws Exception{
 		expectations.put("jstltest6.jsp", Arrays.asList("SAM","DELHI","MCA","24","90"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"jstltest", new File("src/test/apps/jstl.tests.war"));
 		for (String resource : expectations.keySet()) {
 			List<String> expectedContents = expectations.get(resource);
 			assertGetRequest("jstltest", resource, SC_OK, expectedContents);
 		}
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 	
 	@Test
 	public void testCImport() throws Exception{
 		expectations.put("jstltest7.jsp", Arrays.asList("WELCOME","to our web-site!"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"jstltest", new File("src/test/apps/jstl.tests.war"));
 		for (String resource : expectations.keySet()) {
 			List<String> expectedContents = expectations.get(resource);
 			assertGetRequest("jstltest", resource, SC_OK, expectedContents);
 		}
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 	
 	@Test
 	public void testCRedirect() throws Exception{
-		expectations.put("jstltest9.jsp", Arrays.asList("NAME:SAM"));
+		expectations.put("jstltest9.jsp", singletonList("NAME:SAM"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"jstltest", new File("src/test/apps/jstl.tests.war"));
 		for (String resource : expectations.keySet()) {
 			List<String> expectedContents = expectations.get(resource);
 			assertGetRequest("jstltest", resource, SC_OK, expectedContents);
 		}
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 	
 	@Test
 	public void testJspForward() throws Exception{
 		expectations.put("jstltest10.jsp", Arrays.asList("NAME:","PLACE:"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"jstltest", new File("src/test/apps/jstl.tests.war"));
 		for (String resource : expectations.keySet()) {
 			List<String> expectedContents = expectations.get(resource);
 			assertGetRequest("jstltest", resource, SC_OK, expectedContents);
 		}
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 	
 	@Test
 	public void testJspInclude() throws Exception{
 		expectations.put("jstltest11.jsp", Arrays.asList("Before forwarded to another jsp","Name:","Place:","Game:","After forwarded to another jsp"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"jstltest", new File("src/test/apps/jstl.tests.war"));
 		for (String resource : expectations.keySet()) {
 			List<String> expectedContents = expectations.get(resource);
 			assertGetRequest("jstltest", resource, SC_OK, expectedContents);
 		}
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 }
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ListenerCapabilityTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ListenerCapabilityTests.java
index 0d067d1..5028656 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ListenerCapabilityTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ListenerCapabilityTests.java
@@ -11,39 +11,37 @@
 
 package org.eclipse.virgo.web.test;
 
-import static javax.servlet.http.HttpServletResponse.SC_OK;
-import static org.junit.Assert.assertEquals;
-
-import java.io.File;
-import java.lang.management.ManagementFactory;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
+import org.eclipse.virgo.nano.deployer.api.core.DeploymentIdentity;
+import org.junit.Ignore;
+import org.junit.Test;
 
 import javax.management.MBeanServer;
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
+import java.io.File;
+import java.lang.management.ManagementFactory;
+import java.util.*;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
 
-import org.eclipse.virgo.nano.deployer.api.core.DeploymentIdentity;
-import org.junit.Test;
+import static java.util.Collections.singletonList;
+import static org.apache.http.HttpStatus.SC_OK;
+import static org.junit.Assert.assertEquals;
 
+@Ignore
 public class ListenerCapabilityTests extends AbstractWebIntegrationTests {
 
-	final Map<String, List<String>> expectations = new HashMap<String, List<String>>();
-	final CountDownLatch latch = new CountDownLatch(1);
+	private final Map<String, List<String>> expectations = new HashMap<>();
+	private final CountDownLatch latch = new CountDownLatch(1);
 	private final MBeanServer server = ManagementFactory.getPlatformMBeanServer();
 
-
 	@Test
 	public void servletRequestListener() throws Exception {
 		expectations.put("requestlistenertest", Arrays.asList(
 				"Request Listener Test Servlet", "Product Name: virgo"));
 
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"listenertest", new File(
 						"src/test/apps/listeners.tests.war"), expectations);
 
@@ -52,7 +50,7 @@
 			assertGetRequest("listenertest", resource, SC_OK, expectedContents);
 		}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 		server.unregisterMBean(getObjectName());
 	}
 
@@ -64,7 +62,7 @@
 				"Password: springsource"));
 
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"listenertest", new File(
 						"src/test/apps/listeners.tests.war"), expectations);
 
@@ -73,21 +71,21 @@
 			assertGetRequest("listenertest", resource, SC_OK, expectedContents);
 		}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 		server.unregisterMBean(getObjectName());
 	}
 
 
 	@Test
 	public void sessionListener() throws Exception {
-		expectations.put("session.jsp", Arrays.asList("Session Id:"));
+		expectations.put("session.jsp", singletonList("Session Id:"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"listenertest", new File(
 						"src/test/apps/listeners.tests.war"), expectations);
 		assertGetRequest("listenertest", "session.jsp", SC_OK);
 		assertEquals(1,getSessionCount());
-		expectations.put("session.jsp", Arrays.asList(getSessionId()));
+		expectations.put("session.jsp", singletonList(getSessionId()));
 
 		for (String resource : expectations.keySet()) {
 			List<String> expectedContents = expectations.get(resource);
@@ -97,7 +95,7 @@
 	     server.invoke(getObjectName(), "awaitNextDecrement", null, null);
 	     assertEquals(0, getSessionCount());
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 		server.unregisterMBean(getObjectName());
 	}
 	
@@ -108,7 +106,7 @@
 				"foo1: bar1", "foo2: bar2"));
 
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"listenertest", new File(
 						"src/test/apps/listeners.tests.war"), expectations);
 	
@@ -128,41 +126,36 @@
 			assertEquals("bar1",getReplacedSessionAttribute().get("foo1"));
 			}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 		server.unregisterMBean(getObjectName());
 	}
 
 	private int getSessionCount() throws Exception {
-		ObjectName oname = getObjectName();
-		int count = (Integer) server.getAttribute(oname, "SessionCount");
-		return count;
+		ObjectName objectName = getObjectName();
+		return (int) (Integer) server.getAttribute(objectName, "SessionCount");
 	}
 	
 	public String getSessionId() throws Exception{
-		ObjectName oname = getObjectName();
-		String id = server.getAttribute(oname, "SessionId").toString();
-		return id;
+		ObjectName objectName = getObjectName();
+		return server.getAttribute(objectName, "SessionId").toString();
 	}
 	
 	@SuppressWarnings("unchecked")
 	public Map<String,Object> getAddedSessionAttribute() throws Exception{
-		ObjectName oname = getObjectName();
-		Map<String,Object> attList = (Map<String, Object>) server.getAttribute(oname, "AddedSessionAttribute");
-		return attList;
+		ObjectName objectName = getObjectName();
+		return (Map<String, Object>) server.getAttribute(objectName, "AddedSessionAttribute");
 	}
 	
 	@SuppressWarnings("unchecked")
 	public Map<String,Object> getRemovedSessionAttribute() throws Exception{
-		ObjectName oname = getObjectName();
-		Map<String,Object> attList = (Map<String, Object>) server.getAttribute(oname, "RemovedSessionAttribute");
-		return attList;
+		ObjectName objectName = getObjectName();
+		return (Map<String, Object>) server.getAttribute(objectName, "RemovedSessionAttribute");
 	}
 	
 	@SuppressWarnings("unchecked")
 	public Map<String,Object> getReplacedSessionAttribute() throws Exception{
-		ObjectName oname = getObjectName();
-		Map<String,Object> attList = (Map<String, Object>) server.getAttribute(oname, "ReplacedSessionAttribute");
-		return attList;
+		ObjectName objectName = getObjectName();
+		return (Map<String, Object>) server.getAttribute(objectName, "ReplacedSessionAttribute");
 	}
 
 	private ObjectName getObjectName() throws MalformedObjectNameException {
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/LoadTimeWeavingInWebModuleTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/LoadTimeWeavingInWebModuleTests.java
index 4f66d16..e702c6c 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/LoadTimeWeavingInWebModuleTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/LoadTimeWeavingInWebModuleTests.java
@@ -13,8 +13,10 @@
 
 import java.io.File;
 
+import org.junit.Ignore;
 import org.junit.Test;
 
+@Ignore
 public class LoadTimeWeavingInWebModuleTests extends AbstractWebIntegrationTests {
     
     @Test
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ResourceLoadingTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ResourceLoadingTests.java
index 2fa40f9..9feb9ee 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ResourceLoadingTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ResourceLoadingTests.java
@@ -18,6 +18,7 @@
 import java.util.List;
 import java.util.Map;
 
+import org.junit.Ignore;
 import org.junit.Test;
 
 /**
@@ -25,6 +26,7 @@
  * may be <em>Spring-DM powered</em>) and via the <code>ServletContext</code>.
  * 
  */
+@Ignore
 public class ResourceLoadingTests extends AbstractWebIntegrationTests {
 
     protected static String encode(String str) throws Exception {
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServiceBundleRedeploymentTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServiceBundleRedeploymentTests.java
index 00ee944..8e122ea 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServiceBundleRedeploymentTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServiceBundleRedeploymentTests.java
@@ -11,13 +11,8 @@
 
 package org.eclipse.virgo.web.test;
 
-import static javax.servlet.http.HttpServletResponse.SC_OK;
-
 import java.io.File;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import org.eclipse.virgo.nano.deployer.api.core.DeploymentIdentity;
 import org.eclipse.virgo.nano.deployer.api.core.DeploymentOptions;
@@ -25,21 +20,22 @@
 import org.junit.Ignore;
 import org.junit.Test;
 
-/**
- */
+import static java.util.Collections.singletonList;
+import static org.apache.http.HttpStatus.SC_OK;
+
 @Ignore("[DMS-2876] comment this out until the failure can be debugged")
 public class ServiceBundleRedeploymentTests extends AbstractWebIntegrationTests {
 
     private static final DeploymentOptions DEPLOYMENT_OPTIONS = new DeploymentOptions(false, false, true);
 
-    private final Map<String, List<String>> expectations = new HashMap<String, List<String>>();
+    private final Map<String, List<String>> expectations = new HashMap<>();
 
     @Before 
     public void setUpExpectations() {
-        expectations.put("", Arrays.asList("Choose an apprentice magician"));
+        expectations.put("", singletonList("Choose an apprentice magician"));
         expectations.put("form.htm?id=1", Arrays.asList("Harry Potter", "Promising Wizard..."));
-        expectations.put("form.htm?id=2", Arrays.asList("Ronald Weasly"));
-        expectations.put("form.htm?id=3", Arrays.asList("Hermione Granger"));
+        expectations.put("form.htm?id=2", singletonList("Ronald Weasly"));
+        expectations.put("form.htm?id=3", singletonList("Hermione Granger"));
     }
 
     @Test 
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServletCapabilityTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServletCapabilityTests.java
index d985639..099025a 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServletCapabilityTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServletCapabilityTests.java
@@ -11,26 +11,24 @@
 
 package org.eclipse.virgo.web.test;
 
-import static javax.servlet.http.HttpServletResponse.SC_OK;
-
 import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
 import org.eclipse.virgo.nano.deployer.api.core.DeploymentIdentity;
+import org.junit.Ignore;
 import org.junit.Test;
 
+import static java.util.Collections.singletonList;
+import static org.apache.http.HttpStatus.SC_OK;
 
+@Ignore
 public class ServletCapabilityTests extends AbstractWebIntegrationTests {
 
-	final Map<String, List<String>> expectations = new HashMap<String, List<String>>();
-	final List<String> expectedContent = new ArrayList<String>();
-	final CountDownLatch latch = new CountDownLatch(1);
+	private final Map<String, List<String>> expectations = new HashMap<>();
+	private final List<String> expectedContent = new ArrayList<>();
+	private final CountDownLatch latch = new CountDownLatch(1);
 
 	@Test
 	public void directJspRequest() throws Exception {
@@ -42,9 +40,9 @@
 
 	@Test
 	public void directServletRequest() throws Exception {
-		expectations.put("test", Arrays.asList("Test Servlet"));
+		expectations.put("test", singletonList("Test Servlet"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"webtest", new File("src/test/apps/webfeature.tests.war"),
 				expectations);
 
@@ -53,7 +51,7 @@
 			assertGetRequest("webtest", resource, SC_OK, expectedContents);
 		}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 
 	}
 
@@ -68,7 +66,7 @@
 				"requestURI:/webtest/fa", "ContextPath:/webtest",
 				"ServletPath:/fa", "PathInfo:null", "QueryString:foo=bar"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"webtest", new File("src/test/apps/webfeature.tests.war"),
 				expectations);
 
@@ -77,7 +75,7 @@
 			assertGetRequest("webtest", resource, SC_OK, expectedContents);
 		}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 
 	@Test
@@ -93,7 +91,7 @@
 				"ServletPath:/fa", "PathInfo:null",
 				"QueryString:test=forward-servlet"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"webtest", new File("src/test/apps/webfeature.tests.war"),
 				expectations);
 
@@ -102,7 +100,7 @@
 			assertGetRequest("webtest", resource, SC_OK, expectedContents);
 		}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 
 	@Test
@@ -123,7 +121,7 @@
 										"QueryString:test=forward-path-translation"));
 
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"webtest", new File("src/test/apps/webfeature.tests.war"),
 				expectations);
 
@@ -132,7 +130,7 @@
 			assertGetRequest("webtest", resource, SC_OK, expectedContents);
 		}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 
 	@Test
@@ -149,7 +147,7 @@
 				"QueryString:test=include-servlet",
 				"After forwarding the request to /ia in DispatcherServlet"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"webtest", new File("src/test/apps/webfeature.tests.war"),
 				expectations);
 
@@ -158,7 +156,7 @@
 			assertGetRequest("webtest", resource, SC_OK, expectedContents);
 		}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 
 	@Test
@@ -173,7 +171,7 @@
 				"ServletPath:/rd", "PathInfo:null",
 				"QueryString:test=include-path-translation"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"webtest", new File("src/test/apps/webfeature.tests.war"),
 				expectations);
 
@@ -182,14 +180,14 @@
 			assertGetRequest("webtest", resource, SC_OK, expectedContents);
 		}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 
 	@Test
 	public void requestDispatcherForwardJspRequest() throws Exception {
-		expectations.put("rd?test=forward-jsp", Arrays.asList("index"));
+		expectations.put("rd?test=forward-jsp", singletonList("index"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"webtest", new File("src/test/apps/webfeature.tests.war"),
 				expectations);
 
@@ -198,14 +196,14 @@
 			assertGetRequest("webtest", resource, SC_OK, expectedContents);
 		}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 
 	@Test
 	public void requestDispatcherIncludeJspRequest() throws Exception {
-		expectations.put("rd?test=include-jsp", Arrays.asList("index"));
+		expectations.put("rd?test=include-jsp", singletonList("index"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"webtest", new File("src/test/apps/webfeature.tests.war"),
 				expectations);
 
@@ -214,7 +212,7 @@
 			assertGetRequest("webtest", resource, SC_OK, expectedContents);
 		}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 
 	@Test
@@ -223,7 +221,7 @@
 				"RequestUri=/webtest/path/1", "ContextPath=/webtest",
 				"ServletPath=/path", "PathInfo=/1"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"webtest", new File("src/test/apps/webfeature.tests.war"),
 				expectations);
 
@@ -232,7 +230,7 @@
 			assertGetRequest("webtest", resource, SC_OK, expectedContents);
 		}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 
 	@Test
@@ -241,7 +239,7 @@
 				"RequestUri=/webtest/exact", "ContextPath=/webtest",
 				"ServletPath=/exact", "PathInfo=null"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"webtest", new File("src/test/apps/webfeature.tests.war"),
 				expectations);
 
@@ -250,6 +248,6 @@
 			assertGetRequest("webtest", resource, SC_OK, expectedContents);
 		}
 
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 }
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServletContextResourceTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServletContextResourceTests.java
index 94b7a1e..3f6705e 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServletContextResourceTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServletContextResourceTests.java
@@ -13,12 +13,13 @@
 
 import java.io.File;
 
+import org.junit.Ignore;
 import org.junit.Test;
 
 
 /**
  */
-
+@Ignore
 public class ServletContextResourceTests extends AbstractWebIntegrationTests {
     @Test
     public void handlingOfJndiProtocolUrls() throws Exception {
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServletJSPWarDeploymentTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServletJSPWarDeploymentTests.java
index 13ec279..62a0609 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServletJSPWarDeploymentTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/ServletJSPWarDeploymentTests.java
@@ -14,12 +14,14 @@
 import java.io.File;
 
 import org.eclipse.virgo.test.framework.ConfigLocation;
+import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * WAR (not a Web Application Bundle) which will fail if its Bundle-ClassPath is not correctly defaulted. This test must
  * be run with WABHeaders=strict.
  */
+@Ignore
 @ConfigLocation("META-INF/test.config.strict.properties")
 public class ServletJSPWarDeploymentTests extends AbstractWebIntegrationTests {
 
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SessionListenerAppNameTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SessionListenerAppNameTests.java
index 07750c5..bcb1f20 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SessionListenerAppNameTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SessionListenerAppNameTests.java
@@ -11,8 +11,8 @@
 
 package org.eclipse.virgo.web.test;
 
-import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND;
-import static javax.servlet.http.HttpServletResponse.SC_OK;
+import static org.apache.http.HttpStatus.SC_NOT_FOUND;
+import static org.apache.http.HttpStatus.SC_OK;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
@@ -27,11 +27,13 @@
 
 import org.eclipse.virgo.nano.deployer.api.core.DeploymentIdentity;
 import org.eclipse.virgo.nano.deployer.api.core.DeploymentOptions;
+import org.junit.Ignore;
 import org.junit.Test;
 
+@Ignore
 public class SessionListenerAppNameTests extends AbstractWebIntegrationTests {
 
-	protected final URI uri = new File("src/test/apps/listener-test.war")
+	private final URI uri = new File("src/test/apps/listener-test.war")
 			.toURI();
 
 	private final MBeanServer mBeanServer = ManagementFactory
@@ -69,21 +71,16 @@
 	}
 
 	private int getSessionCount() throws Exception {
-		ObjectName oname = getObjectName();
-		int count = (Integer) this.mBeanServer.getAttribute(oname,
+		ObjectName objectName = getObjectName();
+		return (int) (Integer) this.mBeanServer.getAttribute(objectName,
 				"SessionCount");
-		return count;
 	}
 
 	private String getApplicationName() throws Exception {
-		ObjectName oname = getObjectName();
-		return (String) this.mBeanServer.getAttribute(oname, "ApplicationName");
+		ObjectName objectName = getObjectName();
+		return (String) this.mBeanServer.getAttribute(objectName, "ApplicationName");
 	}
 
-	/**
-	 * @return
-	 * @throws MalformedObjectNameException
-	 */
 	private ObjectName getObjectName() throws MalformedObjectNameException {
 		return ObjectName.getInstance("test:name=SessionListener");
 	}
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SimpleWebOsgiApplicationIntegrationTest.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SimpleWebOsgiApplicationIntegrationTest.java
index 383cc73..f1617f9 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SimpleWebOsgiApplicationIntegrationTest.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SimpleWebOsgiApplicationIntegrationTest.java
@@ -13,13 +13,14 @@
 
 import java.io.File;
 
+import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * Web personality inside OSGi application integration test.
  * 
  */
-
+@Ignore
 public class SimpleWebOsgiApplicationIntegrationTest extends AbstractWebIntegrationTests {
 
     @Test
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SpringCapabilityTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SpringCapabilityTests.java
index c5df255..00c4927 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SpringCapabilityTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SpringCapabilityTests.java
@@ -13,9 +13,10 @@
 
 import java.io.File;
 
+import org.junit.Ignore;
 import org.junit.Test;
 
-
+@Ignore
 public class SpringCapabilityTests extends AbstractWebIntegrationTests {
 
     @Test
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SpringWebFlowWarTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SpringWebFlowWarTests.java
index 97c20dd..c23d0fd 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SpringWebFlowWarTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/SpringWebFlowWarTests.java
@@ -14,11 +14,12 @@
 import java.io.File;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  */
-
+@Ignore
 public class SpringWebFlowWarTests extends AbstractWebIntegrationTests {
 
     private static final String WEBFLOW_VERSION = "2.0.8.RELEASE";
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/StandardTomcatServerIntegrationTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/StandardTomcatServerIntegrationTests.java
new file mode 100644
index 0000000..b5571ae
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/StandardTomcatServerIntegrationTests.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   VMware Inc. - initial contribution
+ *******************************************************************************/
+
+package org.eclipse.virgo.web.test;
+
+import org.eclipse.equinox.region.RegionDigraph;
+import org.eclipse.virgo.kernel.services.work.WorkArea;
+import org.eclipse.virgo.medic.eventlog.EventLogger;
+import org.eclipse.virgo.medic.eventlog.EventLoggerFactory;
+import org.eclipse.virgo.nano.deployer.api.core.ApplicationDeployer;
+import org.eclipse.virgo.repository.Repository;
+import org.junit.Test;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.packageadmin.PackageAdmin;
+
+import static org.junit.Assert.assertNotNull;
+
+public class StandardTomcatServerIntegrationTests extends AbstractKernelIntegrationTest {
+
+    @Test
+    public void testRunKernelBundle() {
+        ServiceReference<ApplicationDeployer> serviceReference = context.getServiceReference(ApplicationDeployer.class);
+        assertNotNull("Application deployer service was not present", serviceReference);
+    }
+
+    public void testRepositoryService() {
+        ServiceReference<Repository> serviceReference = context.getServiceReference(Repository.class);
+        assertNotNull("Repository service was not present", serviceReference);
+    }
+
+    @Test
+    public void testDeprecatedPackageAdminService() {
+        ServiceReference<PackageAdmin> serviceReference = context.getServiceReference(PackageAdmin.class);
+        assertNotNull("PackageAdmin service was not present", serviceReference);
+    }
+
+    @Test
+    public void testEventLoggerFactoryService() {
+        ServiceReference<EventLoggerFactory> serviceReference = context.getServiceReference(EventLoggerFactory.class);
+        assertNotNull("EventLoggerFactory service was not present", serviceReference);
+    }
+
+    @Test
+    public void testEventLoggerService() {
+        ServiceReference<EventLogger> serviceReference = context.getServiceReference(EventLogger.class);
+        assertNotNull("EventLogger service was not present", serviceReference);
+    }
+
+    @Test
+    public void testRegionDigraphService() {
+        ServiceReference<RegionDigraph> serviceReference = context.getServiceReference(RegionDigraph.class);
+        assertNotNull("RegionDigraph service was not present", serviceReference);
+    }
+
+    @Test
+    public void testWorkAreaService() {
+        ServiceReference<WorkArea> serviceReference = context.getServiceReference(WorkArea.class);
+        assertNotNull("WorkArea service was not present", serviceReference);
+    }
+}
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/TLDListenersTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/TLDListenersTests.java
index 486eadb..7da20b7 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/TLDListenersTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/TLDListenersTests.java
@@ -11,36 +11,36 @@
 
 package org.eclipse.virgo.web.test;
 
-import static javax.servlet.http.HttpServletResponse.SC_OK;
-
 import java.io.File;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
 import org.eclipse.virgo.nano.deployer.api.core.DeploymentIdentity;
+import org.junit.Ignore;
 import org.junit.Test;
 
+import static java.util.Collections.singletonList;
+import static org.apache.http.HttpStatus.SC_OK;
+
+@Ignore
 public class TLDListenersTests extends AbstractWebIntegrationTests {
 
-	final CountDownLatch latch = new CountDownLatch(1);
-	final Map<String, List<String>> expectations = new HashMap<String, List<String>>();
+	private final CountDownLatch latch = new CountDownLatch(1);
+	private final Map<String, List<String>> expectations = new HashMap<>();
 
 	@Test
 	public void testCustomTagLibrary() throws Exception {
-		expectations.put("index.jsp", Arrays.asList("OODMO"));
+		expectations.put("index.jsp", singletonList("OODMO"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"tldlistener", new File("src/test/apps/tld.listeners.war"));
 
 		for (String resource : expectations.keySet()) {
 			List<String> expectedContents = expectations.get(resource);
 			assertGetRequest("tldlistener", resource, SC_OK, expectedContents);
 		}
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 
 	}
 
@@ -52,13 +52,13 @@
 		expectations.put("requestlistenertest", Arrays.asList(
 				"Request Listener Test Servlet", "Product Name: virgo"));
 		latch.await(5, TimeUnit.SECONDS);
-		DeploymentIdentity wardeploymentIdentity = assertDeployBehavior(
+		DeploymentIdentity warDeploymentIdentity = assertDeployBehavior(
 				"tldlistener", new File("src/test/apps/tld.listeners.war"));
 
 		for (String resource : expectations.keySet()) {
 			List<String> expectedContents = expectations.get(resource);
 			assertGetRequest("tldlistener", resource, SC_OK, expectedContents);
 		}
-		this.appDeployer.undeploy(wardeploymentIdentity);
+		this.appDeployer.undeploy(warDeploymentIdentity);
 	}
 }
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WarDirectoryDeploymentTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WarDirectoryDeploymentTests.java
index 3ad2eda..01c0a62 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WarDirectoryDeploymentTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WarDirectoryDeploymentTests.java
@@ -11,21 +11,21 @@
 
 package org.eclipse.virgo.web.test;
 
-import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND;
-import static javax.servlet.http.HttpServletResponse.SC_OK;
-
 import java.io.File;
 
 import org.eclipse.virgo.util.io.PathReference;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 
+import static org.apache.http.HttpStatus.SC_NOT_FOUND;
+import static org.apache.http.HttpStatus.SC_OK;
+
 /**
  * War in a directory.
- * 
  */
-
-public class WarDirectoryDeploymentTests extends AbstractWebIntegrationTests {    
+@Ignore
+public class WarDirectoryDeploymentTests extends AbstractWebIntegrationTests {
 
     @Before
     public void clean() {
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WarWithDependencyMultiBundleApplicationIntegrationTest.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WarWithDependencyMultiBundleApplicationIntegrationTest.java
index 454252d..328631d 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WarWithDependencyMultiBundleApplicationIntegrationTest.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WarWithDependencyMultiBundleApplicationIntegrationTest.java
@@ -13,12 +13,14 @@
 
 import java.io.File;
 
+import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * Web personality inside OSGi application integration test.
  * 
  */
+@Ignore
 public class WarWithDependencyMultiBundleApplicationIntegrationTest extends AbstractWebIntegrationTests {
 
     @Test
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WebAppThreadContextClassloaderTests.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WebAppThreadContextClassloaderTests.java
index e744d17..251cfef 100755
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WebAppThreadContextClassloaderTests.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WebAppThreadContextClassloaderTests.java
@@ -20,8 +20,10 @@
 
 import org.eclipse.virgo.nano.deployer.api.core.DeploymentIdentity;
 import org.eclipse.virgo.nano.deployer.api.core.DeploymentOptions;
+import org.junit.Ignore;
 import org.junit.Test;
 
+@Ignore
 public class WebAppThreadContextClassloaderTests extends AbstractWebIntegrationTests {
 
     @Test
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WebIntegrationSetupTest.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WebIntegrationSetupTest.java
new file mode 100644
index 0000000..6e42792
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WebIntegrationSetupTest.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   VMware Inc. - initial contribution
+ *******************************************************************************/
+
+package org.eclipse.virgo.web.test;
+
+import org.eclipse.virgo.kernel.osgi.framework.OsgiFramework;
+import org.eclipse.virgo.medic.eventlog.EventLogger;
+import org.eclipse.virgo.nano.deployer.api.core.ApplicationDeployer;
+import org.junit.Test;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.cm.ConfigurationAdmin;
+
+import static org.junit.Assert.assertNotNull;
+
+public class WebIntegrationSetupTest extends AbstractTomcatServerIntegrationTest {
+
+    @Test
+    public void kernelContextShouldNotBeNull() {
+        assertNotNull(this.kernelContext);
+    }
+
+    @Test
+    public void testApplicationDeployerService() {
+        ServiceReference<ApplicationDeployer> appDeployerServiceReference = kernelContext.getServiceReference(ApplicationDeployer.class);
+        assertNotNull("ApplicationDeployer service reference not found", appDeployerServiceReference);
+        ApplicationDeployer appDeployer = kernelContext.getService(appDeployerServiceReference);
+        assertNotNull("ApplicationDeployer service not found", appDeployer);
+    }
+
+    // required by web.core
+
+    // not exported in region where the bundle runs - not yet installed?!
+    // assertNotNull("'org.eclipse.gemini.web.core.WebContainer' service was not present", serviceReference);
+    // assertNotNull("'org.eclipse.gemini.web.core.WebBundleManifestTransformer' service was not present", serviceReference);
+
+    @Test
+    public void testOsgiFrameworkService() {
+        ServiceReference<OsgiFramework> serviceReference = context.getServiceReference(
+                OsgiFramework.class);
+        assertNotNull("'org.eclipse.virgo.kernel.osgi.framework.OsgiFramework' service was not present", serviceReference);
+    }
+
+    // covered by kernel test
+    // assertNotNull("'org.eclipse.virgo.medic.eventlog.EventLogger' service was not present", serviceReference);
+
+    @Test
+    public void testConfigurationAdminService() {
+        ServiceReference<ConfigurationAdmin> serviceReference = context.getServiceReference(
+                ConfigurationAdmin.class);
+        assertNotNull("'org.osgi.service.cm.ConfigurationAdmin' service was not present", serviceReference);
+    }
+}
diff --git a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WebIntegrationTest.java b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WebIntegrationTest.java
index 762e66b..78bf516 100644
--- a/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WebIntegrationTest.java
+++ b/web/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WebIntegrationTest.java
@@ -11,70 +11,88 @@
 
 package org.eclipse.virgo.web.test;
 
-import static javax.servlet.http.HttpServletResponse.SC_OK;
+import static java.util.Collections.singletonList;
+import static org.apache.http.HttpStatus.SC_OK;
 import static org.junit.Assert.fail;
 
 import java.io.File;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import org.eclipse.virgo.nano.deployer.api.core.DeploymentException;
 import org.eclipse.virgo.nano.deployer.api.core.DeploymentIdentity;
+import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * Web personality integration test.
- * 
  */
 public class WebIntegrationTest extends AbstractWebIntegrationTests {
-    
+
     @Test
+    public void testOsgiWebapp() throws Exception {
+//        int i = 10;
+//        while (i++ < 1000) {
+//            System.out.println("Waiting...in breakpoint?!");
+//            Thread.sleep(1000);
+//            System.out.println("Waiting...in breakpoint?!");
+//        }
+        assertDeployAndUndeployBehavior("osgi-webapp", new File("src/test/test-apps/osgi-webapp-3.8.0.jar"), "anything.txt");
+    }
+
+    @Test
+    @Ignore
     public void testStandardWarWithNoManifest() throws Exception {
         assertDeployAndUndeployBehavior("no_manifest", new File("src/test/apps-static/no_manifest.war"), "index.jsp");
     }
 
     @Test
+    @Ignore
     public void testStandardWarWithNoWebXml() throws Exception {
-        Map<String, List<String>> expectations = new HashMap<String, List<String>>();
-        expectations.put("index.jsp", Arrays.asList("Default web.xml"));
+        Map<String, List<String>> expectations = new HashMap<>();
+        expectations.put("index.jsp", singletonList("Default web.xml"));
         assertDeployAndUndeployBehavior("default_web_xml", new File("src/test/apps-static/default_web_xml.war"), expectations);
     }
 
     @Test
+    @Ignore
     public void testStandardWarWithLowercaseFileExtension() throws Exception {
         assertDeployAndUndeployBehavior("helloweb", new File("src/test/apps-static/helloweb.war"), "index.jsp");
     }
 
     @Test
+    @Ignore
     public void testWebApplicationBundle() throws Exception {
         assertDeployAndUndeployBehavior("helloweb", new File("src/test/apps-static/helloweb.jar"), "index.jsp");
     }
 
     @Test
+    @Ignore
     public void testStandardWarWithUppercaseFileExtension() throws Exception {
         assertDeployAndUndeployBehavior("HELLOWEB2", new File("src/test/apps-static/HELLOWEB2.WAR"), "index.jsp");
     }
 
     @Test
+    @Ignore
     public void testWarWithExplicitPackageImports() throws Exception {
         assertDeployAndUndeployBehavior("explicit_package_imports", new File("src/test/apps-static/explicit_package_imports.war"), "jstl.jsp",
             "foo.hello", "foo.jsr250");
     }
 
     @Test
+    @Ignore
     public void testWarWithExplicitBundleImports() throws Exception {
         assertDeployAndUndeployBehavior("explicit_bundle_imports", new File("src/test/apps-static/explicit_bundle_imports.war"), "jstl.jsp",
             "foo.hello", "foo.jsr250");
     }
 
     @Test
+    @Ignore
     public void testStandardWarWithCustomContextPathManifestHeader() throws Exception {
         assertDeployAndUndeployBehavior("enigma_reptilian", new File("src/test/apps-static/custom_context_path.war"), "index.jsp");
     }
 
     @Test
+    @Ignore
     public void testIndependence() throws Exception {
         // Test that undeploying one WAR does not undeploy another, known as the "rm -rf *" feature.
         DeploymentIdentity deploymentIdentity = assertDeployBehavior("helloweb", new File("src/test/apps-static/helloweb.war"));
@@ -84,12 +102,13 @@
     }
 
     @Test
+    @Ignore
     public void duplicateContextPaths() throws Exception {
         DeploymentIdentity deployed1 = this.appDeployer.deploy(new File("src/test/apps-static/duplicate-context-path-1.war").toURI());
         try {
             this.appDeployer.deploy(new File("src/test/apps-static/duplicate-context-path-2.war").toURI());
             fail("Deployment of war with duplicate context path did not fail");
-        } catch (DeploymentException de) {
+        } catch (DeploymentException ignored) {
             
         }
         this.appDeployer.undeploy(deployed1);
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/MANIFEST.MF b/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/MANIFEST.MF
index f42884e..f3051ef 100644
--- a/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/MANIFEST.MF
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/MANIFEST.MF
@@ -1,22 +1,34 @@
-Manifest-Version: 1.0

-Export-Package: 

- org.eclipse.virgo.web.test;version="3.0.0";uses:="org.apache.commons.httpclient,org.junit,org.junit.runner",

- repository.ext;version="3.0.0"

-Bundle-Version: 3.0.0

-Tool: Bundlor 1.0.0.RELEASE

-Bundle-Name: Virgo Web Test Bundle

-Bundle-ManifestVersion: 2

-Import-Package: 

- javax.management;version="0",

- org.apache.commons.httpclient;version="[3.1.0,4)",

- org.apache.commons.httpclient.methods;version="[3.1.0,4)",

- org.junit;version="[4.7.0,5)",

- org.junit.runner;version="[4.7.0,5)",

- org.eclipse.virgo.nano.deployer.api.config;version="[3.0.0,4)",

- org.eclipse.virgo.nano.deployer.api.core;version="[3.0.0,4)",

- org.eclipse.virgo.kernel.model.management;version="[3.0.0,4)",

- org.eclipse.virgo.kernel.osgi.framework;version="[3.0.0,4)",

- org.eclipse.virgo.util.io;version="[3.0.0,4)",

- org.osgi.framework;version="0"

-Bundle-SymbolicName: org.eclipse.virgo.web.test

-

+Manifest-Version: 1.0
+Export-Package: delay
+Bundle-SymbolicName: org.eclipse.virgo.kernel.test
+Bundle-Name: Virgo Kernel Test
+Bundle-Version: 3.8.0.BUILD-SNAPSHOT
+Bundle-ClassPath: .,SlowService.jar,QuickConsumer.jar,quasi/simpleimpo
+ rter.jar,quasi/simpleexporter.jar
+Bundle-ManifestVersion: 2
+Import-Package: javax.management;version="0",
+ org.osgi.framework;version="0",
+ org.osgi.service.cm,
+ org.osgi.service.packageadmin,
+ org.eclipse.equinox.region,
+ org.eclipse.virgo.repository;version="[3.8.0,4)",
+ org.eclipse.virgo.medic.eventlog;version="[3.8.0,4)",
+ org.eclipse.virgo.kernel.osgi.framework;version="[3.8.0,4)",
+ org.eclipse.virgo.kernel.osgi.quasi;version="[3.8.0,4)",
+ org.eclipse.virgo.kernel.services.work;version="[3.8.0,4)",
+ org.eclipse.virgo.nano.core;version="[3.8.0,4)",
+ org.eclipse.virgo.nano.deployer.api.core;version="[3.8.0,4)",
+ org.eclipse.virgo.shell.osgicommand.helper,
+ org.eclipse.virgo.util.io;version="[3.8.0,4)",
+ org.eclipse.virgo.util.osgi.manifest;version="[3.8.0,4)",
+ org.springframework.aop;version="[5.0.8,6)",
+ org.springframework.context;version="[5.0.8,6)",
+ org.springframework.util;version="[5.0.8,6)",
+ org.apache.http,
+ org.apache.http.client.entity,
+ org.apache.http.client.methods,
+ org.apache.http.impl.client,
+ org.apache.http.message,
+ org.junit;version="[4.7.0,5)",
+ org.junit.runner;version="[4.7.0,5)"
+Tool: Bundlor 1.1.3.M01
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/MANIFEST.MF.orig b/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/MANIFEST.MF.orig
new file mode 100644
index 0000000..99044ba
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/MANIFEST.MF.orig
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Export-Package: 
+ org.eclipse.virgo.web.test;version="3.0.0";uses:="org.apache.commons.httpclient,org.junit,org.junit.runner",
+ repository.ext;version="3.0.0"
+Bundle-Version: 3.0.0
+Tool: Bundlor 1.0.0.RELEASE
+Bundle-Name: Virgo Web Test Bundle
+Bundle-ManifestVersion: 2
+Import-Package: 
+ javax.management;version="0",
+ org.apache.commons.httpclient;version="[3.1.0,4)",
+ org.apache.commons.httpclient.methods;version="[3.1.0,4)",
+ org.junit;version="[4.7.0,5)",
+ org.junit.runner;version="[4.7.0,5)",
+ org.eclipse.virgo.nano.deployer.api.config;version="[3.0.0,4)",
+ org.eclipse.virgo.nano.deployer.api.core;version="[3.0.0,4)",
+ org.eclipse.virgo.kernel.model.management;version="[3.0.0,4)",
+ org.eclipse.virgo.kernel.osgi.framework;version="[3.0.0,4)",
+ org.eclipse.virgo.util.io;version="[3.0.0,4)",
+ org.osgi.framework;version="0"
+Bundle-SymbolicName: org.eclipse.virgo.web.test
+
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/java-profile/java-server.profile b/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/java-profile/java-server.profile
new file mode 100644
index 0000000..aaf8f25
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/java-profile/java-server.profile
@@ -0,0 +1,236 @@
+org.osgi.framework.system.packages = \
+ javax.accessibility,\
+ javax.activation,\
+ javax.activation;version="1.1.1",\
+ javax.activity,\
+ javax.annotation,\
+ javax.annotation;version="1.0.0",\
+ javax.annotation;version="1.1.0",\
+ javax.annotation.processing,\
+ javax.crypto,\
+ javax.crypto.interfaces,\
+ javax.crypto.spec,\
+ javax.imageio,\
+ javax.imageio.event,\
+ javax.imageio.metadata,\
+ javax.imageio.plugins.bmp,\
+ javax.imageio.plugins.jpeg,\
+ javax.imageio.spi,\
+ javax.imageio.stream,\
+ javax.jws,\
+ javax.jws;version="2.0",\
+ javax.jws.soap,\
+ javax.jws.soap;version="2.0",\
+ javax.lang.model,\
+ javax.lang.model.element,\
+ javax.lang.model.type,\
+ javax.lang.model.util,\
+ javax.management,\
+ javax.management.loading,\
+ javax.management.modelmbean,\
+ javax.management.monitor,\
+ javax.management.openmbean,\
+ javax.management.relation,\
+ javax.management.remote,\
+ javax.management.remote.rmi,\
+ javax.management.timer,\
+ javax.naming,\
+ javax.naming.directory,\
+ javax.naming.event,\
+ javax.naming.ldap,\
+ javax.naming.spi,\
+ javax.net,\
+ javax.net.ssl,\
+ javax.print,\
+ javax.print.attribute,\
+ javax.print.attribute.standard,\
+ javax.print.event,\
+ javax.rmi,\
+ javax.rmi.CORBA,\
+ javax.rmi.ssl,\
+ javax.script,\
+ javax.script;version="1.1",\
+ javax.security.auth,\
+ javax.security.auth.callback,\
+ javax.security.auth.kerberos,\
+ javax.security.auth.login,\
+ javax.security.auth.spi,\
+ javax.security.auth.x500,\
+ javax.security.cert,\
+ javax.security.sasl,\
+ javax.sound.midi,\
+ javax.sound.midi.spi,\
+ javax.sound.sampled,\
+ javax.sound.sampled.spi,\
+ javax.sql,\
+ javax.sql.rowset,\
+ javax.sql.rowset.serial,\
+ javax.sql.rowset.spi,\
+ javax.swing,\
+ javax.swing.border,\
+ javax.swing.colorchooser,\
+ javax.swing.event,\
+ javax.swing.filechooser,\
+ javax.swing.plaf,\
+ javax.swing.plaf.basic,\
+ javax.swing.plaf.metal,\
+ javax.swing.plaf.multi,\
+ javax.swing.plaf.nimbus,\
+ javax.swing.plaf.synth,\
+ javax.swing.table,\
+ javax.swing.text,\
+ javax.swing.text.html,\
+ javax.swing.text.html.parser,\
+ javax.swing.text.rtf,\
+ javax.swing.tree,\
+ javax.swing.undo,\
+ javax.tools,\
+ javax.transaction,\
+ javax.transaction;version="1.0.1",\
+ javax.transaction;version="1.1.0",\
+ javax.transaction;version="1.3.0",\
+ javax.transaction.xa,\
+ javax.transaction.xa;version="1.0.1",\
+ javax.transaction.xa;version="1.1.0",\
+ javax.transaction.xa;version="1.3.0",\
+ javax.xml,\
+ javax.xml;version="1.0.1",\
+ javax.xml.bind,\
+ javax.xml.bind;version="2.0",\
+ javax.xml.bind.annotation,\
+ javax.xml.bind.annotation;version="2.0",\
+ javax.xml.bind.annotation.adapters,\
+ javax.xml.bind.annotation.adapters;version="2.0",\
+ javax.xml.bind.attachment,\
+ javax.xml.bind.attachment;version="2.0",\
+ javax.xml.bind.helpers,\
+ javax.xml.bind.helpers;version="2.0",\
+ javax.xml.bind.util,\
+ javax.xml.bind.util;version="2.0",\
+ javax.xml.crypto,\
+ javax.xml.crypto;version="1.0",\
+ javax.xml.crypto.dom,\
+ javax.xml.crypto.dom;version="1.0",\
+ javax.xml.crypto.dsig,\
+ javax.xml.crypto.dsig;version="1.0",\
+ javax.xml.crypto.dsig.dom,\
+ javax.xml.crypto.dsig.dom;version="1.0",\
+ javax.xml.crypto.dsig.keyinfo,\
+ javax.xml.crypto.dsig.keyinfo;version="1.0",\
+ javax.xml.crypto.dsig.spec,\
+ javax.xml.crypto.dsig.spec;version="1.0",\
+ javax.xml.datatype,\
+ javax.xml.namespace,\
+ javax.xml.parsers,\
+ javax.xml.soap,\
+ javax.xml.soap;version="1.3.0",\
+ javax.xml.stream,\
+ javax.xml.stream;version="1.0.1",\
+ javax.xml.stream.events,\
+ javax.xml.stream.events;version="1.0.1",\
+ javax.xml.stream.util,\
+ javax.xml.stream.util;version="1.0.1",\
+ javax.xml.transform,\
+ javax.xml.transform.dom,\
+ javax.xml.transform.sax,\
+ javax.xml.transform.stax,\
+ javax.xml.transform.stream,\
+ javax.xml.validation,\
+ javax.xml.ws,\
+ javax.xml.ws;version="2.1.1",\
+ javax.xml.ws.handler,\
+ javax.xml.ws.handler;version="2.1.1",\
+ javax.xml.ws.handler.soap,\
+ javax.xml.ws.handler.soap;version="2.1.1",\
+ javax.xml.ws.http,\
+ javax.xml.ws.http;version="2.1.1",\
+ javax.xml.ws.soap,\
+ javax.xml.ws.soap;version="2.1.1",\
+ javax.xml.ws.spi,\
+ javax.xml.ws.spi;version="2.1.1",\
+ javax.xml.ws.spi.http,\
+ javax.xml.ws.spi.http;version="2.1.1",\
+ javax.xml.ws.wsaddressing,\
+ javax.xml.ws.wsaddressing;version="2.1.1",\
+ javax.xml.xpath,\
+ org.eclipse.virgo.kernel.equinox.extensions,\
+ org.eclipse.virgo.kernel.equinox.extensions;version="3.7.0",\
+ org.eclipse.virgo.kernel.equinox.extensions.hooks,\
+ org.eclipse.virgo.kernel.equinox.extensions.hooks;version="3.7.0",\
+ org.ietf.jgss,\
+ org.omg.CORBA,\
+ org.omg.CORBA_2_3,\
+ org.omg.CORBA_2_3.portable,\
+ org.omg.CORBA.DynAnyPackage,\
+ org.omg.CORBA.ORBPackage,\
+ org.omg.CORBA.portable,\
+ org.omg.CORBA.TypeCodePackage,\
+ org.omg.CosNaming,\
+ org.omg.CosNaming.NamingContextExtPackage,\
+ org.omg.CosNaming.NamingContextPackage,\
+ org.omg.Dynamic,\
+ org.omg.DynamicAny,\
+ org.omg.DynamicAny.DynAnyFactoryPackage,\
+ org.omg.DynamicAny.DynAnyPackage,\
+ org.omg.IOP,\
+ org.omg.IOP.CodecFactoryPackage,\
+ org.omg.IOP.CodecPackage,\
+ org.omg.Messaging,\
+ org.omg.PortableInterceptor,\
+ org.omg.PortableInterceptor.ORBInitInfoPackage,\
+ org.omg.PortableServer,\
+ org.omg.PortableServer.CurrentPackage,\
+ org.omg.PortableServer.POAManagerPackage,\
+ org.omg.PortableServer.POAPackage,\
+ org.omg.PortableServer.portable,\
+ org.omg.PortableServer.ServantLocatorPackage,\
+ org.omg.SendingContext,\
+ org.omg.stub.java.rmi,\
+ org.w3c.dom,\
+ org.w3c.dom.bootstrap,\
+ org.w3c.dom.css,\
+ org.w3c.dom.events,\
+ org.w3c.dom.html,\
+ org.w3c.dom.ls,\
+ org.w3c.dom.ranges,\
+ org.w3c.dom.stylesheets,\
+ org.w3c.dom.traversal,\
+ org.w3c.dom.views,\
+ org.w3c.dom.xpath,\
+ org.xml.sax,\
+ org.xml.sax.ext,\
+ org.xml.sax.helpers
+org.osgi.framework.bootdelegation = \
+ org.eclipse.virgo.nano.authentication,\
+ javax.*,\
+ javax.xml.*,\
+ org.apache.xerces.jaxp.*,\
+ org.ietf.jgss,\
+ org.omg.*,\
+ org.w3c.*,\
+ org.xml.*,\
+ sun.*,\
+ com.sun.*
+org.osgi.framework.executionenvironment = \
+ OSGi/Minimum-1.0,\
+ OSGi/Minimum-1.1,\
+ OSGi/Minimum-1.2,\
+ JavaSE/compact1-1.8,\
+ JavaSE/compact2-1.8,\
+ JavaSE/compact3-1.8,\
+ JRE-1.1,\
+ J2SE-1.2,\
+ J2SE-1.3,\
+ J2SE-1.4,\
+ J2SE-1.5,\
+ JavaSE-1.6,\
+ JavaSE-1.7,\
+ JavaSE-1.8
+org.osgi.framework.system.capabilities = \
+ osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0, 1.1, 1.2",\
+ osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0, 1.1",\
+ osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8",\
+ osgi.ee; osgi.ee="JavaSE/compact1"; version:List<Version>="1.8",\
+ osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8",\
+ osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8"
+osgi.java.profile.name = Virgo-Java8
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/test.config.properties b/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/test.config.properties
index 7a525c8..ffc0ac0 100644
--- a/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/test.config.properties
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/test.config.properties
@@ -1,83 +1,92 @@
 launcher.bundles =\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.region/${org.eclipse.equinox.region}/org.eclipse.equinox.region-${org.eclipse.equinox.region}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.ds/${org.eclipse.equinox.ds}/org.eclipse.equinox.ds-${org.eclipse.equinox.ds}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.util/${org.eclipse.equinox.util}/org.eclipse.equinox.util-${org.eclipse.equinox.util}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.slf4j.api/${org.slf4j.api}/org.slf4j.api-${org.slf4j.api}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.slf4j.jul/${org.slf4j.jul}/org.slf4j.jul-${org.slf4j.jul}.jar,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.slf4j.jcl/${org.slf4j.jcl}/org.slf4j.jcl-${org.slf4j.jcl}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/com.springsource.org.aspectj.weaver/${org.aspectj}/com.springsource.org.aspectj.weaver-${org.aspectj}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.medic/org.eclipse.virgo.medic/${org.eclipse.virgo.medic}/org.eclipse.virgo.medic-${org.eclipse.virgo.medic}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.medic/org.eclipse.virgo.medic.logbackcorefragment/${org.eclipse.virgo.medic}/org.eclipse.virgo.medic.logbackcorefragment-${org.eclipse.virgo.medic}.jar,\
- file:${ivy.cache}/repository/org.eclipse.virgo.medic/org.eclipse.virgo.medic.logbackclassicfragment/${org.eclipse.virgo.medic}/org.eclipse.virgo.medic.logbackclassicfragment-${org.eclipse.virgo.medic}.jar,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/ch.qos.logback.core/${ch.qos.logback.core}/ch.qos.logback.core-${ch.qos.logback.core}.jar,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/ch.qos.logback.classic/${ch.qos.logback.classic}/ch.qos.logback.classic-${ch.qos.logback.classic}.jar,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/ch.qos.logback.slf4j/${ch.qos.logback.slf4j}/ch.qos.logback.slf4j-${ch.qos.logback.slf4j}.jar,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.osgi.services/${org.eclipse.osgi.services}/org.eclipse.osgi.services-${org.eclipse.osgi.services}.jar,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.cm/${org.eclipse.equinox.cm}/org.eclipse.equinox.cm-${org.eclipse.equinox.cm}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.medic/org.eclipse.virgo.medic.core/${org.eclipse.virgo.medic}/org.eclipse.virgo.medic.core-${org.eclipse.virgo.medic}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.osgi/${org.eclipse.virgo.util}/org.eclipse.virgo.util.osgi-${org.eclipse.virgo.util}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.osgi.manifest/${org.eclipse.virgo.util}/org.eclipse.virgo.util.osgi.manifest-${org.eclipse.virgo.util}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.event/${org.eclipse.equinox.event}/org.eclipse.equinox.event-${org.eclipse.equinox.event}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.common/${org.eclipse.virgo.util}/org.eclipse.virgo.util.common-${org.eclipse.virgo.util}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.io/${org.eclipse.virgo.util}/org.eclipse.virgo.util.io-${org.eclipse.virgo.util}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.jmx/${org.eclipse.virgo.util}/org.eclipse.virgo.util.jmx-${org.eclipse.virgo.util}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.math/${org.eclipse.virgo.util}/org.eclipse.virgo.util.math-${org.eclipse.virgo.util}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.parser.manifest/${org.eclipse.virgo.util}/org.eclipse.virgo.util.parser.manifest-${org.eclipse.virgo.util}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.parser.launcher/${org.eclipse.virgo.util}/org.eclipse.virgo.util.parser.launcher-${org.eclipse.virgo.util}.jar@start,\
- file:${ivy.cache}/repository/org.apache.commons/com.springsource.org.apache.commons.codec/1.3.0/com.springsource.org.apache.commons.codec-1.3.0.jar@start,\
- file:${ivy.cache}/repository/org.apache.commons/com.springsource.org.apache.commons.httpclient/3.1.0/com.springsource.org.apache.commons.httpclient-3.1.0.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.repository/org.eclipse.virgo.repository/${org.eclipse.virgo.repository}/org.eclipse.virgo.repository-${org.eclipse.virgo.repository}.jar@start,\
- file:${ivy.cache}/repository/org.springframework/org.springframework.aop/3.1.0.RELEASE/org.springframework.aop-3.1.0.RELEASE.jar,\
- file:${ivy.cache}/repository/org.springframework/org.springframework.asm/3.1.0.RELEASE/org.springframework.asm-3.1.0.RELEASE.jar,\
- file:${ivy.cache}/repository/org.springframework/org.springframework.expression/3.1.0.RELEASE/org.springframework.expression-3.1.0.RELEASE.jar,\
- file:${ivy.cache}/repository/org.springframework/org.springframework.beans/3.1.0.RELEASE/org.springframework.beans-3.1.0.RELEASE.jar,\
- file:${ivy.cache}/repository/org.springframework/org.springframework.core/3.1.0.RELEASE/org.springframework.core-3.1.0.RELEASE.jar,\
- file:${ivy.cache}/repository/org.springframework/org.springframework.context/3.1.0.RELEASE/org.springframework.context-3.1.0.RELEASE.jar,\
- file:${ivy.cache}/repository/org.eclipse.virgo.nano/org.eclipse.virgo.nano.core/${org.eclipse.virgo.nano}/org.eclipse.virgo.nano.core-${org.eclipse.virgo.nano}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.nano/org.eclipse.virgo.nano.deployer.api/${org.eclipse.virgo.nano}/org.eclipse.virgo.nano.deployer.api-${org.eclipse.virgo.nano}.jar,\
- file:${ivy.cache}/repository/org.eclipse.virgo.nano/org.eclipse.virgo.nano.deployer.hot/${org.eclipse.virgo.nano}/org.eclipse.virgo.nano.deployer.hot-${org.eclipse.virgo.nano}.jar,\
- file:${ivy.cache}/repository/org.eclipse.virgo.nano/org.eclipse.virgo.nano.management/${org.eclipse.virgo.nano}/org.eclipse.virgo.nano.management-${org.eclipse.virgo.nano}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.agent.dm/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.agent.dm-${org.eclipse.virgo.kernel}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.gemini/org.eclipse.gemini.blueprint.core/2.0.0.M02/org.eclipse.gemini.blueprint.core-2.0.0.M02.jar,\
- file:${ivy.cache}/repository/org.eclipse.gemini/org.eclipse.gemini.blueprint.extender/2.0.0.M02/org.eclipse.gemini.blueprint.extender-2.0.0.M02.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.gemini/org.eclipse.gemini.blueprint.io/2.0.0.M02/org.eclipse.gemini.blueprint.io-2.0.0.M02.jar,\
- file:${ivy.cache}/repository/org.aopalliance/com.springsource.org.aopalliance/1.0.0/com.springsource.org.aopalliance-1.0.0.jar,\
- file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.artifact/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.artifact-${org.eclipse.virgo.kernel}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.services/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.services-${org.eclipse.virgo.kernel}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.deployer/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.deployer-${org.eclipse.virgo.kernel}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.model/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.model-${org.eclipse.virgo.kernel}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.kerneldmfragment/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.kerneldmfragment-${org.eclipse.virgo.kernel}.jar,\
- file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.osgi/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.osgi-${org.eclipse.virgo.kernel}.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.userregionfactory/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.userregionfactory-${org.eclipse.virgo.kernel}.jar@start
+ file:../../kernel/org.eclipse.virgo.kernel.equinox.extensions/build/libs/org.eclipse.virgo.kernel.equinox.extensions-${version}.jar,\
+ file:${gradle.cache}/org.eclipse.virgo.mirrored/org.eclipse.equinox.region/${equinoxRegionVersion}/${equinoxRegionHash}/org.eclipse.equinox.region-${equinoxRegionVersion}.jar@start,\
+ file:${gradle.cache}/org.slf4j/slf4j-api/${slf4jVersion}/${slf4jApiHash}/slf4j-api-${slf4jVersion}.jar,\
+ file:${gradle.cache}/org.slf4j/jcl-over-slf4j/${slf4jVersion}/${slf4jJclOverSlf4jHash}/jcl-over-slf4j-${slf4jVersion}.jar@start,\
+ file:${gradle.cache}/org.slf4j/jul-to-slf4j/${slf4jVersion}/${slf4jJulToSlf4jHash}/jul-to-slf4j-${slf4jVersion}.jar,\
+ file:../../3rd-party/build/plugins/oevm.org.aspectj.weaver_${aspectjVersion}.jar,\
+ file:../../medic/org.eclipse.virgo.medic.logbackcorefragment/build/libs/org.eclipse.virgo.medic.logbackcorefragment-${version}.jar,\
+ file:../../medic/org.eclipse.virgo.medic.logbackclassicfragment/build/libs/org.eclipse.virgo.medic.logbackclassicfragment-${version}.jar,\
+ file:${gradle.cache}/ch.qos.logback/logback-core/${logbackVersion}/${logbackCoreHash}/logback-core-${logbackVersion}.jar,\
+ file:${gradle.cache}/ch.qos.logback/logback-classic/${logbackVersion}/${logbackClassicHash}/logback-classic-${logbackVersion}.jar,\
+ file:${gradle.cache}/org.eclipse.virgo.mirrored/org.eclipse.osgi.services/${osgiServicesVersion}/${osgiServicesHash}/org.eclipse.osgi.services-${osgiServicesVersion}.jar,\
+ file:${gradle.cache}/org.eclipse.virgo.mirrored/org.eclipse.equinox.cm/${equinoxCmVersion}/${equinoxCmHash}/org.eclipse.equinox.cm-${equinoxCmVersion}.jar@start,\
+ file:${gradle.cache}/org.eclipse.virgo.mirrored/org.eclipse.equinox.event/${equinoxEventVersion}/${equinoxEventHash}/org.eclipse.equinox.event-${equinoxEventVersion}.jar@start,\
+ file:${gradle.cache}/org.eclipse.virgo.mirrored/org.eclipse.equinox.util/${equinoxUtilVersion}/${equinoxUtilHash}/org.eclipse.equinox.util-${equinoxUtilVersion}.jar@start,\
+ file:${gradle.cache}/org.eclipse.virgo.mirrored/org.eclipse.equinox.ds/${equinoxDsVersion}/${equinoxDsHash}/org.eclipse.equinox.ds-${equinoxDsVersion}.jar@start,\
+ file:${gradle.cache}/org.apache.felix/org.apache.felix.gogo.runtime/${gogoRuntimeVersion}/${gogoRuntimeHash}/org.apache.felix.gogo.runtime-${gogoRuntimeVersion}.jar@start,\
+ file:${gradle.cache}/org.apache.felix/org.apache.felix.gogo.shell/${gogoShellVersion}/${gogoShellHash}/org.apache.felix.gogo.shell-${gogoShellVersion}.jar@start,\
+ file:${gradle.cache}/org.apache.felix/org.apache.felix.gogo.command/${gogoCommandVersion}/${gogoCommandHash}/org.apache.felix.gogo.command-${gogoCommandVersion}.jar@start,\
+ file:${gradle.cache}/org.eclipse.virgo.mirrored/org.eclipse.equinox.console/${equinoxConsoleVersion}/${equinoxConsoleHash}/org.eclipse.equinox.console-${equinoxConsoleVersion}.jar@start,\
+ file:../../util/org.eclipse.virgo.util.common/build/libs/org.eclipse.virgo.util.common-${version}.jar@start,\
+ file:../../util/org.eclipse.virgo.util.math/build/libs/org.eclipse.virgo.util.math-${version}.jar@start,\
+ file:../../util/org.eclipse.virgo.util.io/build/libs/org.eclipse.virgo.util.io-${version}.jar@start,\
+ file:../../util/org.eclipse.virgo.util.osgi/build/libs/org.eclipse.virgo.util.osgi-${version}.jar@start,\
+ file:../../util/org.eclipse.virgo.util.parser.manifest/build/libs/org.eclipse.virgo.util.parser.manifest-${version}.jar@start,\
+ file:../../util/org.eclipse.virgo.util.parser.launcher/build/libs/org.eclipse.virgo.util.parser.launcher-${version}.jar@start,\
+ file:../../util/org.eclipse.virgo.util.osgi.manifest/build/libs/org.eclipse.virgo.util.osgi.manifest-${version}.jar@start,\
+ file:../../medic/org.eclipse.virgo.medic/build/libs/org.eclipse.virgo.medic-${version}.jar@start,\
+ file:../../medic/org.eclipse.virgo.medic.core/build/libs/org.eclipse.virgo.medic.core-${version}.jar@start,\
+ file:../../nano/org.eclipse.virgo.nano.core/build/libs/org.eclipse.virgo.nano.core-${version}.jar@start,\
+ file:../../nano/org.eclipse.virgo.nano.deployer.api/build/libs/org.eclipse.virgo.nano.deployer.api-${version}.jar@start,\
+ file:../../nano/org.eclipse.virgo.nano.deployer.hot/build/libs/org.eclipse.virgo.nano.deployer.hot-${version}.jar@start,\
+ file:../../nano/org.eclipse.virgo.nano.management/build/libs/org.eclipse.virgo.nano.management-${version}.jar@start,\
+ file:../../3rd-party/build/plugins/oevm.aopalliance.aopalliance_${aopallianceVersion}.jar,\
+ file:../../3rd-party/build/plugins/oevm.org.springframework.aop_${springframeworkVersion}.jar,\
+ file:../../3rd-party/build/plugins/oevm.org.springframework.beans_${springframeworkVersion}.jar,\
+ file:../../3rd-party/build/plugins/oevm.org.springframework.context_${springframeworkVersion}.jar,\
+ file:../../3rd-party/build/plugins/oevm.org.springframework.core_${springframeworkVersion}.jar,\
+ file:../../3rd-party/build/plugins/oevm.org.springframework.expression_${springframeworkVersion}.jar,\
+ file:../../kernel/org.eclipse.virgo.kernel.agent.dm/build/libs/org.eclipse.virgo.kernel.agent.dm-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.kerneldmfragment/build/libs/org.eclipse.virgo.kernel.kerneldmfragment-${version}.jar,\
+ file:${gradle.cache}/org.eclipse.gemini.blueprint/gemini-blueprint-io/${geminiBlueprintVersion}/${blueprintIoHash}/gemini-blueprint-io-${geminiBlueprintVersion}.jar@start,\
+ file:${gradle.cache}/org.eclipse.gemini.blueprint/gemini-blueprint-core/${geminiBlueprintVersion}/${blueprintCoreHash}/gemini-blueprint-core-${geminiBlueprintVersion}.jar@start,\
+ file:${gradle.cache}/org.eclipse.gemini.blueprint/gemini-blueprint-extender/${geminiBlueprintVersion}/${blueprintExtenderHash}/gemini-blueprint-extender-${geminiBlueprintVersion}.jar@start,\
+ file:../../3rd-party/build/plugins/oevm.org.apache.httpcomponents.httpcore_${httpcoreVersion}.jar@start,\
+ file:../../3rd-party/build/plugins/oevm.org.apache.httpcomponents.httpclient_${httpclientVersion}.jar@start,\
+ file:${gradle.cache}/commons-codec/commons-codec/${commonsCodecVersion}/${commonsCodecHash}/commons-codec-${commonsCodecVersion}.jar@start,\
+ file:../../repository/org.eclipse.virgo.repository/build/libs/org.eclipse.virgo.repository-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.artifact/build/libs/org.eclipse.virgo.kernel.artifact-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.osgi/build/libs/org.eclipse.virgo.kernel.osgi-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.services/build/libs/org.eclipse.virgo.kernel.services-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.deployer/build/libs/org.eclipse.virgo.kernel.deployer-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.model/build/libs/org.eclipse.virgo.kernel.model-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.userregionfactory/build/libs/org.eclipse.virgo.kernel.userregionfactory-${version}.jar@start
 
-org.eclipse.virgo.test.properties.include=file:../build.versions,file:../user-ivy.properties
+org.eclipse.virgo.test.properties.include=file:../../gradle.properties
 
 #Equinox Configuration 
-osgi.parentClassloader=fwk
+osgi.parentClassloader=ext
 osgi.context.bootdelegation=false
 osgi.compatibility.bootdelegation=false
 osgi.clean=true
-osgi.configuration.area=target
+osgi.configuration.area=build
 org.osgi.framework.bsnversion=multiple
 
 # osgi console support
 # osgi.console=2401
 osgi.console.enable.builtin=false
-osgi.console.ssh.useDefaultSecureStorage=false
+osgi.console.ssh.useDefaultSecureStorage=true
 osgi.console.useConfigAdmin=true
 gosh.args=--nointeractive
 
-osgi.java.profile=file:../java7-server.profile
+osgi.java.profile=file:src/test/resources/META-INF/java-profile/java-server.profile
 osgi.java.profile.bootdelegation=override
 osgi.hook.configurators.include=org.eclipse.virgo.kernel.equinox.extensions.hooks.ExtensionsHookConfigurator
 
-org.eclipse.virgo.kernel.home=target
+org.eclipse.virgo.kernel.home=build
 org.eclipse.virgo.kernel.domain=org.eclipse.virgo.kernel
 # Paths are relative to the current working directory
 org.eclipse.virgo.kernel.config=src/test/resources/config
 
 org.eclipse.virgo.medic.log.config.path=src/test/resources/config/serviceability.xml
 
-org.eclipse.gemini.web.tomcat.config.path=src/test/resources/config/tomcat-server.xml
+# Test value for ServiceUtilsTests
+org.eclipse.virgo.kernel.startup.wait.limit=181
 
-org.eclipse.virgo.kernel.deployer.disableRecovery=true
+# org.eclipse.osgi/debug=true
+
+# equinox.ds.debug=true
+# equinox.ds.print=true
+
+org.eclipse.gemini.web.tomcat.config.path=src/test/resources/config/tomcat-server.xml
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/test.config.properties.orig b/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/test.config.properties.orig
new file mode 100644
index 0000000..7a525c8
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/META-INF/test.config.properties.orig
@@ -0,0 +1,83 @@
+launcher.bundles =\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.region/${org.eclipse.equinox.region}/org.eclipse.equinox.region-${org.eclipse.equinox.region}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.ds/${org.eclipse.equinox.ds}/org.eclipse.equinox.ds-${org.eclipse.equinox.ds}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.util/${org.eclipse.equinox.util}/org.eclipse.equinox.util-${org.eclipse.equinox.util}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.slf4j.api/${org.slf4j.api}/org.slf4j.api-${org.slf4j.api}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.slf4j.jul/${org.slf4j.jul}/org.slf4j.jul-${org.slf4j.jul}.jar,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.slf4j.jcl/${org.slf4j.jcl}/org.slf4j.jcl-${org.slf4j.jcl}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/com.springsource.org.aspectj.weaver/${org.aspectj}/com.springsource.org.aspectj.weaver-${org.aspectj}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.medic/org.eclipse.virgo.medic/${org.eclipse.virgo.medic}/org.eclipse.virgo.medic-${org.eclipse.virgo.medic}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.medic/org.eclipse.virgo.medic.logbackcorefragment/${org.eclipse.virgo.medic}/org.eclipse.virgo.medic.logbackcorefragment-${org.eclipse.virgo.medic}.jar,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.medic/org.eclipse.virgo.medic.logbackclassicfragment/${org.eclipse.virgo.medic}/org.eclipse.virgo.medic.logbackclassicfragment-${org.eclipse.virgo.medic}.jar,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/ch.qos.logback.core/${ch.qos.logback.core}/ch.qos.logback.core-${ch.qos.logback.core}.jar,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/ch.qos.logback.classic/${ch.qos.logback.classic}/ch.qos.logback.classic-${ch.qos.logback.classic}.jar,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/ch.qos.logback.slf4j/${ch.qos.logback.slf4j}/ch.qos.logback.slf4j-${ch.qos.logback.slf4j}.jar,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.osgi.services/${org.eclipse.osgi.services}/org.eclipse.osgi.services-${org.eclipse.osgi.services}.jar,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.cm/${org.eclipse.equinox.cm}/org.eclipse.equinox.cm-${org.eclipse.equinox.cm}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.medic/org.eclipse.virgo.medic.core/${org.eclipse.virgo.medic}/org.eclipse.virgo.medic.core-${org.eclipse.virgo.medic}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.osgi/${org.eclipse.virgo.util}/org.eclipse.virgo.util.osgi-${org.eclipse.virgo.util}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.osgi.manifest/${org.eclipse.virgo.util}/org.eclipse.virgo.util.osgi.manifest-${org.eclipse.virgo.util}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.event/${org.eclipse.equinox.event}/org.eclipse.equinox.event-${org.eclipse.equinox.event}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.common/${org.eclipse.virgo.util}/org.eclipse.virgo.util.common-${org.eclipse.virgo.util}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.io/${org.eclipse.virgo.util}/org.eclipse.virgo.util.io-${org.eclipse.virgo.util}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.jmx/${org.eclipse.virgo.util}/org.eclipse.virgo.util.jmx-${org.eclipse.virgo.util}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.math/${org.eclipse.virgo.util}/org.eclipse.virgo.util.math-${org.eclipse.virgo.util}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.parser.manifest/${org.eclipse.virgo.util}/org.eclipse.virgo.util.parser.manifest-${org.eclipse.virgo.util}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.util/org.eclipse.virgo.util.parser.launcher/${org.eclipse.virgo.util}/org.eclipse.virgo.util.parser.launcher-${org.eclipse.virgo.util}.jar@start,\
+ file:${ivy.cache}/repository/org.apache.commons/com.springsource.org.apache.commons.codec/1.3.0/com.springsource.org.apache.commons.codec-1.3.0.jar@start,\
+ file:${ivy.cache}/repository/org.apache.commons/com.springsource.org.apache.commons.httpclient/3.1.0/com.springsource.org.apache.commons.httpclient-3.1.0.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.repository/org.eclipse.virgo.repository/${org.eclipse.virgo.repository}/org.eclipse.virgo.repository-${org.eclipse.virgo.repository}.jar@start,\
+ file:${ivy.cache}/repository/org.springframework/org.springframework.aop/3.1.0.RELEASE/org.springframework.aop-3.1.0.RELEASE.jar,\
+ file:${ivy.cache}/repository/org.springframework/org.springframework.asm/3.1.0.RELEASE/org.springframework.asm-3.1.0.RELEASE.jar,\
+ file:${ivy.cache}/repository/org.springframework/org.springframework.expression/3.1.0.RELEASE/org.springframework.expression-3.1.0.RELEASE.jar,\
+ file:${ivy.cache}/repository/org.springframework/org.springframework.beans/3.1.0.RELEASE/org.springframework.beans-3.1.0.RELEASE.jar,\
+ file:${ivy.cache}/repository/org.springframework/org.springframework.core/3.1.0.RELEASE/org.springframework.core-3.1.0.RELEASE.jar,\
+ file:${ivy.cache}/repository/org.springframework/org.springframework.context/3.1.0.RELEASE/org.springframework.context-3.1.0.RELEASE.jar,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.nano/org.eclipse.virgo.nano.core/${org.eclipse.virgo.nano}/org.eclipse.virgo.nano.core-${org.eclipse.virgo.nano}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.nano/org.eclipse.virgo.nano.deployer.api/${org.eclipse.virgo.nano}/org.eclipse.virgo.nano.deployer.api-${org.eclipse.virgo.nano}.jar,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.nano/org.eclipse.virgo.nano.deployer.hot/${org.eclipse.virgo.nano}/org.eclipse.virgo.nano.deployer.hot-${org.eclipse.virgo.nano}.jar,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.nano/org.eclipse.virgo.nano.management/${org.eclipse.virgo.nano}/org.eclipse.virgo.nano.management-${org.eclipse.virgo.nano}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.agent.dm/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.agent.dm-${org.eclipse.virgo.kernel}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.gemini/org.eclipse.gemini.blueprint.core/2.0.0.M02/org.eclipse.gemini.blueprint.core-2.0.0.M02.jar,\
+ file:${ivy.cache}/repository/org.eclipse.gemini/org.eclipse.gemini.blueprint.extender/2.0.0.M02/org.eclipse.gemini.blueprint.extender-2.0.0.M02.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.gemini/org.eclipse.gemini.blueprint.io/2.0.0.M02/org.eclipse.gemini.blueprint.io-2.0.0.M02.jar,\
+ file:${ivy.cache}/repository/org.aopalliance/com.springsource.org.aopalliance/1.0.0/com.springsource.org.aopalliance-1.0.0.jar,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.artifact/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.artifact-${org.eclipse.virgo.kernel}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.services/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.services-${org.eclipse.virgo.kernel}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.deployer/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.deployer-${org.eclipse.virgo.kernel}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.model/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.model-${org.eclipse.virgo.kernel}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.kerneldmfragment/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.kerneldmfragment-${org.eclipse.virgo.kernel}.jar,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.osgi/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.osgi-${org.eclipse.virgo.kernel}.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.userregionfactory/${org.eclipse.virgo.kernel}/org.eclipse.virgo.kernel.userregionfactory-${org.eclipse.virgo.kernel}.jar@start
+
+org.eclipse.virgo.test.properties.include=file:../build.versions,file:../user-ivy.properties
+
+#Equinox Configuration 
+osgi.parentClassloader=fwk
+osgi.context.bootdelegation=false
+osgi.compatibility.bootdelegation=false
+osgi.clean=true
+osgi.configuration.area=target
+org.osgi.framework.bsnversion=multiple
+
+# osgi console support
+# osgi.console=2401
+osgi.console.enable.builtin=false
+osgi.console.ssh.useDefaultSecureStorage=false
+osgi.console.useConfigAdmin=true
+gosh.args=--nointeractive
+
+osgi.java.profile=file:../java7-server.profile
+osgi.java.profile.bootdelegation=override
+osgi.hook.configurators.include=org.eclipse.virgo.kernel.equinox.extensions.hooks.ExtensionsHookConfigurator
+
+org.eclipse.virgo.kernel.home=target
+org.eclipse.virgo.kernel.domain=org.eclipse.virgo.kernel
+# Paths are relative to the current working directory
+org.eclipse.virgo.kernel.config=src/test/resources/config
+
+org.eclipse.virgo.medic.log.config.path=src/test/resources/config/serviceability.xml
+
+org.eclipse.gemini.web.tomcat.config.path=src/test/resources/config/tomcat-server.xml
+
+org.eclipse.virgo.kernel.deployer.disableRecovery=true
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.kernel.properties b/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.kernel.properties
index deeae21..6c98cab 100644
--- a/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.kernel.properties
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.kernel.properties
@@ -1,3 +1,4 @@
-deployer.timeout=		300
-deployer.pickupDirectory=	target/pickup
-deployer.scanIntervalMillis=	1000
+deployer.timeout=			300
+deployer.pickupDirectory=	build/pickup
+deployer.scanIntervalMillis=1000
+deployer.systemArtifacts=
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.kernel.userregion.properties b/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.kernel.userregion.properties
index 4ac1af8..73dc04e 100644
--- a/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.kernel.userregion.properties
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.kernel.userregion.properties
@@ -1,36 +1,69 @@
+gradle.cache = %gradle.cache%
+
+version = 3.8.0.BUILD-SNAPSHOT
+
+aopallianceVersion = 1.0.0
+
+springframeworkVersion = 5.0.8.RELEASE
+
+geminiBlueprintVersion = 3.0.0.M01
+blueprintIoHash = 4a555fe19c736d7f919114e29f6fc01d4702c8ac
+blueprintCoreHash = 7e851316b965bd11b18f9540f3f6150651fa9082
+blueprintExtenderHash = 409b930717969d04c1eb54c9e4d45ea9251db2dc
+
+osgiServicesVersion = 3.3.100.v20130513-1956
+osgiServicesHash = 1d73531fac5372870373a06193985611b1239f0c
+
+equinoxCmVersion = 1.0.400.v20130327-1442
+equinoxCmHash = 2c4556a43085690da5002575108656517614f85e
+
+equinoxUtilVersion = 1.0.500.v20130404-1337
+equinoxUtilHash = 89fee67cf927b0345eb1eff24f1391a9bc95fa08
+
+equinoxDsVersion = 1.4.200.v20131126-2331
+equinoxDsHash = 59f50a15546657c99dd8686d62b25317585b155
+
+gogoCommandVersion = 0.12.0
+gogoCommandHash = 4d7fbb5a56b37c5ea63d05577742cf2941b7c648
+gogoRuntimeVersion = 0.12.0
+gogoRuntimeHash = c7d5749671b313cc9881fe6d7bafda8cfebc83fa
+gogoShellVersion = 0.12.0
+gogoShellHash = 22c48992149ac6e41d2f8f646c0441e057bb4bcc
+
+equinoxConsoleVersion = 1.0.100.v20130429-0953
+equinoxConsoleHash = 9bab65d301609309156f54cc83e17ed55efc5059
+
 baseBundles =\
- file:${ivy.cache}/repository/org.springframework/org.springframework.aop/3.1.0.RELEASE/org.springframework.aop-3.1.0.RELEASE.jar,\
- file:${ivy.cache}/repository/org.springframework/org.springframework.asm/3.1.0.RELEASE/org.springframework.asm-3.1.0.RELEASE.jar,\
- file:${ivy.cache}/repository/org.springframework/org.springframework.expression/3.1.0.RELEASE/org.springframework.expression-3.1.0.RELEASE.jar,\
- file:${ivy.cache}/repository/org.springframework/org.springframework.beans/3.1.0.RELEASE/org.springframework.beans-3.1.0.RELEASE.jar,\
- file:${ivy.cache}/repository/org.springframework/org.springframework.core/3.1.0.RELEASE/org.springframework.core-3.1.0.RELEASE.jar,\
- file:${ivy.cache}/repository/org.springframework/org.springframework.context/3.1.0.RELEASE/org.springframework.context-3.1.0.RELEASE.jar,\
- file:${ivy.cache}/repository/org.eclipse.gemini/org.eclipse.gemini.blueprint.core/2.0.0.M02/org.eclipse.gemini.blueprint.core-2.0.0.M02.jar,\
- file:${ivy.cache}/repository/org.eclipse.gemini/org.eclipse.gemini.blueprint.extender/2.0.0.M02/org.eclipse.gemini.blueprint.extender-2.0.0.M02.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.gemini/org.eclipse.gemini.blueprint.io/2.0.0.M02/org.eclipse.gemini.blueprint.io-2.0.0.M02.jar,\
- file:${ivy.cache}/repository/org.aopalliance/com.springsource.org.aopalliance/1.0.0/com.springsource.org.aopalliance-1.0.0.jar,\
- file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.agent.dm/3.7.0.D-20140919123907/org.eclipse.virgo.kernel.agent.dm-3.7.0.D-20140919123907.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.deployer.dm/3.7.0.D-20140919123907/org.eclipse.virgo.kernel.deployer.dm-3.7.0.D-20140919123907.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.dmfragment/3.7.0.D-20140919123907/org.eclipse.virgo.kernel.dmfragment-3.7.0.D-20140919123907.jar,\
- file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.userregion/3.7.0.D-20140919123907/org.eclipse.virgo.kernel.userregion-3.7.0.D-20140919123907.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.ds/1.4.0.v20120112-1400/org.eclipse.equinox.ds-1.4.0.v20120112-1400.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.util/1.0.300.v20111010-1614/org.eclipse.equinox.util-1.0.300.v20111010-1614.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.osgi.services/3.3.0.v20120307-2102/org.eclipse.osgi.services-3.3.0.v20120307-2102.jar,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.cm/1.0.400.v20120319-2029/org.eclipse.equinox.cm-1.0.400.v20120319-2029.jar,\
- file:${ivy.cache}/repository/org.hsqldb/com.springsource.org.hsqldb/1.8.0.9/com.springsource.org.hsqldb-1.8.0.9.jar,\
- file:${ivy.cache}/repository/org.springframework/org.springframework.orm/3.1.0.RELEASE/org.springframework.orm-3.1.0.RELEASE.jar@start,\
- file:${ivy.cache}/repository/org.springframework/org.springframework.transaction/3.1.0.RELEASE/org.springframework.transaction-3.1.0.RELEASE.jar@start,\
- file:${ivy.cache}/repository/org.springframework/org.springframework.jdbc/3.1.0.RELEASE/org.springframework.jdbc-3.1.0.RELEASE.jar@start,\
- file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/javax.persistence/2.0.4.v201112161009/javax.persistence-2.0.4.v201112161009.jar,\
- file:${ivy.cache}/repository/org.apache.commons/com.springsource.org.apache.commons.codec/1.3.0/com.springsource.org.apache.commons.codec-1.3.0.jar@start,\
- file:${ivy.cache}/repository/org.apache.commons/com.springsource.org.apache.commons.httpclient/3.1.0/com.springsource.org.apache.commons.httpclient-3.1.0.jar@start
- 
+ file:${gradle.cache}/org.eclipse.virgo.mirrored/org.eclipse.osgi.services/${osgiServicesVersion}/${osgiServicesHash}/org.eclipse.osgi.services-${osgiServicesVersion}.jar,\
+ file:${gradle.cache}/org.eclipse.virgo.mirrored/org.eclipse.equinox.cm/${equinoxCmVersion}/${equinoxCmHash}/org.eclipse.equinox.cm-${equinoxCmVersion}.jar@start,\
+ file:${gradle.cache}/org.apache.felix/org.apache.felix.gogo.runtime/${gogoRuntimeVersion}/${gogoRuntimeHash}/org.apache.felix.gogo.runtime-${gogoRuntimeVersion}.jar@start,\
+ file:${gradle.cache}/org.apache.felix/org.apache.felix.gogo.shell/${gogoShellVersion}/${gogoShellHash}/org.apache.felix.gogo.shell-${gogoShellVersion}.jar@start,\
+ file:${gradle.cache}/org.apache.felix/org.apache.felix.gogo.command/${gogoCommandVersion}/${gogoCommandHash}/org.apache.felix.gogo.command-${gogoCommandVersion}.jar@start,\
+ file:${gradle.cache}/org.eclipse.virgo.mirrored/org.eclipse.equinox.console/${equinoxConsoleVersion}/${equinoxConsoleHash}/org.eclipse.equinox.console-${equinoxConsoleVersion}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.shell.command/build/libs/org.eclipse.virgo.shell.command-${version}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.dmfragment/build/libs/org.eclipse.virgo.kernel.dmfragment-${version}.jar,\
+ file:../../3rd-party/build/plugins/oevm.org.springframework.aop_${springframeworkVersion}.jar@start,\
+ file:../../3rd-party/build/plugins/oevm.org.springframework.expression_${springframeworkVersion}.jar@start,\
+ file:../../3rd-party/build/plugins/oevm.org.springframework.core_${springframeworkVersion}.jar@start,\
+ file:../../3rd-party/build/plugins/oevm.org.springframework.beans_${springframeworkVersion}.jar@start,\
+ file:../../3rd-party/build/plugins/oevm.org.springframework.context_${springframeworkVersion}.jar@start,\
+ file:../../kernel/org.eclipse.virgo.kernel.userregion/build/libs/org.eclipse.virgo.kernel.userregion-${version}.jar@start
+
+#file:../../3rd-party/build/plugins/oevm.aopalliance.aopalliance_${aopallianceVersion}.jar,\
+#file:../../kernel/org.eclipse.virgo.kernel.agent.dm/build/libs/org.eclipse.virgo.kernel.agent.dm-${version}.jar@start,\
+#file:../../kernel/org.eclipse.virgo.kernel.osgi/build/libs/org.eclipse.virgo.kernel.osgi-${version}.jar@start,\
+#file:${gradle.cache}/org.eclipse.gemini.blueprint/gemini-blueprint-io/${geminiBlueprintVersion}/${blueprintIoHash}/gemini-blueprint-io-${geminiBlueprintVersion}.jar@start,\
+#file:${gradle.cache}/org.eclipse.gemini.blueprint/gemini-blueprint-core/${geminiBlueprintVersion}/${blueprintCoreHash}/gemini-blueprint-core-${geminiBlueprintVersion}.jar@start,\
+#file:${gradle.cache}/org.eclipse.gemini.blueprint/gemini-blueprint-extender/${geminiBlueprintVersion}/${blueprintExtenderHash}/gemini-blueprint-extender-${geminiBlueprintVersion}.jar@start,\
+
 bundleImports = org.eclipse.osgi;bundle-version="0"
 
 packageImports =\
  org.eclipse.virgo.kernel.artifact.*;version="0",\
  org.eclipse.virgo.nano.core;version="0",\
  org.eclipse.virgo.nano.deployer.api.*;version="0",\
+ org.eclipse.virgo.nano.deployer.api;version="0",\
+ org.eclipse.virgo.nano.deployer;version="0",\
  org.eclipse.virgo.kernel.deployer.core.event;version="0",\
  org.eclipse.virgo.kernel.install.*;version="0",\
  org.eclipse.virgo.kernel.osgi.*;version="0",\
@@ -41,16 +74,14 @@
  org.eclipse.virgo.nano.serviceability;version="0",\
  org.eclipse.virgo.nano.serviceability.*;version="0",\
  org.eclipse.virgo.kernel.services.work;version="0",\
- org.eclipse.virgo.kernel.shell;version="0",\
  org.eclipse.virgo.nano.shim.*;version="0",\
  org.eclipse.virgo.medic.*;version="0",\
  org.eclipse.virgo.repository;version="0",\
  org.eclipse.virgo.repository.*;version="0",\
  org.eclipse.virgo.util.*;version="0",\
- org.apache.commons.logging;version="[1.0.0,2.0.0)",\
- org.apache.commons.logging.impl;version="[1.0.0,2.0.0)",\
+ org.apache.commons.logging;version="[1.2,2)",\
+ org.apache.commons.logging.impl;version="[1.2,2)",\
  org.aspectj.*;version="[1.6.5.RELEASE,2.0.0)",\
- org.osgi.service.cm;version="0",\
  org.osgi.service.event;version="0",\
  org.osgi.service.log;version="0",\
  org.osgi.service.http;version="0",\
@@ -59,9 +90,15 @@
  org.slf4j;version="[1.6.4,2)",\
  org.slf4j.helpers;version="[1.6.4,2)",\
  org.slf4j.spi;version="[1.6.4,2)",\
+ org.apache.http;version="[4.4.12,5)",\
+ org.apache.http.client.entity;version="[4.5.10,5)",\
+ org.apache.http.client.methods;version="[4.5.10,5)",\
+ org.apache.http.impl.client;version="[4.5.10,5)",\
+ org.apache.http.message;version="[4.4.12,5)",\
  org.junit;version="[4.7.0,5.0.0)",\
  org.junit.runner;version="[4.7.0,5.0.0)",\
- org.eclipse.virgo.test.*;version="0"
+ org.springframework.lang;version="[5.0.8,6)",\
+ org.springframework.util;version="[5.0.8,6)"
 
 serviceImports =\
  org.eclipse.equinox.region.Region,\
@@ -70,7 +107,9 @@
  org.eclipse.virgo.nano.deployer.api.core.DeployUriNormaliser,\
  org.eclipse.virgo.kernel.install.artifact.ScopeServiceRepository,\
  org.eclipse.virgo.kernel.services.work.WorkArea,\
+ org.eclipse.virgo.kernel.model.RuntimeArtifactRepository,\
  org.eclipse.virgo.repository.ArtifactBridge,\
+ org.eclipse.virgo.kernel.shell.CommandExecutor,\
  org.eclipse.virgo.repository.RepositoryFactory,\
  org.eclipse.virgo.repository.HashGenerator,\
  org.eclipse.virgo.medic.eventlog.EventLoggerFactory,\
@@ -84,14 +123,14 @@
  org.eclipse.virgo.medic.dump.DumpGenerator,\
  org.eclipse.virgo.nano.shim.scope.ScopeFactory,\
  org.eclipse.virgo.nano.shim.serviceability.TracingService,\
- org.eclipse.virgo.kernel.model.RuntimeArtifactRepository,\
+ org.eclipse.virgo.kernel.model.management.RuntimeArtifactModelObjectNameCreator,\
  org.eclipse.osgi.service.resolver.PlatformAdmin,\
  org.osgi.service.packageadmin.PackageAdmin,\
  org.eclipse.virgo.nano.core.ConfigurationExporter
 
 serviceExports =\
  org.eclipse.virgo.kernel.install.artifact.InstallArtifactLifecycleListener,\
- org.eclipse.virgo.kernel.install.artifact.ArtifactIdentityDeterminer,\
+ org.eclipse.virgo.kernel.install.artifact.ArtifactTypeDeterminer,\
  org.eclipse.virgo.kernel.install.pipeline.stage.transform.Transformer,\
  org.eclipse.virgo.kernel.module.ModuleContextAccessor,\
  org.eclipse.virgo.medic.dump.DumpContributor,\
@@ -108,4 +147,9 @@
  org.eclipse.virgo.nano.deployer.api.config.ConfigurationDeployer
 
 initialArtifacts =\
- repository:plan/org.eclipse.virgo.web.tomcat
+  repository:plan/org.eclipse.virgo.kernel.userregion.blueprint,\
+  repository:plan/org.eclipse.virgo.web.tomcat,\
+  repository:plan/org.eclipse.virgo.shell
+
+#  repository:configuration/org.eclipse.virgo.apps.repository,\
+#  repository:plan/org.eclipse.virgo.management
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.kernel.userregion.properties.orig b/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.kernel.userregion.properties.orig
new file mode 100644
index 0000000..4ac1af8
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.kernel.userregion.properties.orig
@@ -0,0 +1,111 @@
+baseBundles =\
+ file:${ivy.cache}/repository/org.springframework/org.springframework.aop/3.1.0.RELEASE/org.springframework.aop-3.1.0.RELEASE.jar,\
+ file:${ivy.cache}/repository/org.springframework/org.springframework.asm/3.1.0.RELEASE/org.springframework.asm-3.1.0.RELEASE.jar,\
+ file:${ivy.cache}/repository/org.springframework/org.springframework.expression/3.1.0.RELEASE/org.springframework.expression-3.1.0.RELEASE.jar,\
+ file:${ivy.cache}/repository/org.springframework/org.springframework.beans/3.1.0.RELEASE/org.springframework.beans-3.1.0.RELEASE.jar,\
+ file:${ivy.cache}/repository/org.springframework/org.springframework.core/3.1.0.RELEASE/org.springframework.core-3.1.0.RELEASE.jar,\
+ file:${ivy.cache}/repository/org.springframework/org.springframework.context/3.1.0.RELEASE/org.springframework.context-3.1.0.RELEASE.jar,\
+ file:${ivy.cache}/repository/org.eclipse.gemini/org.eclipse.gemini.blueprint.core/2.0.0.M02/org.eclipse.gemini.blueprint.core-2.0.0.M02.jar,\
+ file:${ivy.cache}/repository/org.eclipse.gemini/org.eclipse.gemini.blueprint.extender/2.0.0.M02/org.eclipse.gemini.blueprint.extender-2.0.0.M02.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.gemini/org.eclipse.gemini.blueprint.io/2.0.0.M02/org.eclipse.gemini.blueprint.io-2.0.0.M02.jar,\
+ file:${ivy.cache}/repository/org.aopalliance/com.springsource.org.aopalliance/1.0.0/com.springsource.org.aopalliance-1.0.0.jar,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.agent.dm/3.7.0.D-20140919123907/org.eclipse.virgo.kernel.agent.dm-3.7.0.D-20140919123907.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.deployer.dm/3.7.0.D-20140919123907/org.eclipse.virgo.kernel.deployer.dm-3.7.0.D-20140919123907.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.dmfragment/3.7.0.D-20140919123907/org.eclipse.virgo.kernel.dmfragment-3.7.0.D-20140919123907.jar,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.userregion/3.7.0.D-20140919123907/org.eclipse.virgo.kernel.userregion-3.7.0.D-20140919123907.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.ds/1.4.0.v20120112-1400/org.eclipse.equinox.ds-1.4.0.v20120112-1400.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.util/1.0.300.v20111010-1614/org.eclipse.equinox.util-1.0.300.v20111010-1614.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.osgi.services/3.3.0.v20120307-2102/org.eclipse.osgi.services-3.3.0.v20120307-2102.jar,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/org.eclipse.equinox.cm/1.0.400.v20120319-2029/org.eclipse.equinox.cm-1.0.400.v20120319-2029.jar,\
+ file:${ivy.cache}/repository/org.hsqldb/com.springsource.org.hsqldb/1.8.0.9/com.springsource.org.hsqldb-1.8.0.9.jar,\
+ file:${ivy.cache}/repository/org.springframework/org.springframework.orm/3.1.0.RELEASE/org.springframework.orm-3.1.0.RELEASE.jar@start,\
+ file:${ivy.cache}/repository/org.springframework/org.springframework.transaction/3.1.0.RELEASE/org.springframework.transaction-3.1.0.RELEASE.jar@start,\
+ file:${ivy.cache}/repository/org.springframework/org.springframework.jdbc/3.1.0.RELEASE/org.springframework.jdbc-3.1.0.RELEASE.jar@start,\
+ file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/javax.persistence/2.0.4.v201112161009/javax.persistence-2.0.4.v201112161009.jar,\
+ file:${ivy.cache}/repository/org.apache.commons/com.springsource.org.apache.commons.codec/1.3.0/com.springsource.org.apache.commons.codec-1.3.0.jar@start,\
+ file:${ivy.cache}/repository/org.apache.commons/com.springsource.org.apache.commons.httpclient/3.1.0/com.springsource.org.apache.commons.httpclient-3.1.0.jar@start
+ 
+bundleImports = org.eclipse.osgi;bundle-version="0"
+
+packageImports =\
+ org.eclipse.virgo.kernel.artifact.*;version="0",\
+ org.eclipse.virgo.nano.core;version="0",\
+ org.eclipse.virgo.nano.deployer.api.*;version="0",\
+ org.eclipse.virgo.kernel.deployer.core.event;version="0",\
+ org.eclipse.virgo.kernel.install.*;version="0",\
+ org.eclipse.virgo.kernel.osgi.*;version="0",\
+ org.eclipse.virgo.kernel.model;version="0",\
+ org.eclipse.virgo.kernel.model.management;version="0",\
+ org.eclipse.virgo.kernel.module;version="0",\
+ org.eclipse.virgo.kernel.equinox.extensions.hooks;version="0",\
+ org.eclipse.virgo.nano.serviceability;version="0",\
+ org.eclipse.virgo.nano.serviceability.*;version="0",\
+ org.eclipse.virgo.kernel.services.work;version="0",\
+ org.eclipse.virgo.kernel.shell;version="0",\
+ org.eclipse.virgo.nano.shim.*;version="0",\
+ org.eclipse.virgo.medic.*;version="0",\
+ org.eclipse.virgo.repository;version="0",\
+ org.eclipse.virgo.repository.*;version="0",\
+ org.eclipse.virgo.util.*;version="0",\
+ org.apache.commons.logging;version="[1.0.0,2.0.0)",\
+ org.apache.commons.logging.impl;version="[1.0.0,2.0.0)",\
+ org.aspectj.*;version="[1.6.5.RELEASE,2.0.0)",\
+ org.osgi.service.cm;version="0",\
+ org.osgi.service.event;version="0",\
+ org.osgi.service.log;version="0",\
+ org.osgi.service.http;version="0",\
+ org.eclipse.equinox.region;version="1",\
+ ch.qos.logback.*;version="[1.0.0,2.0.0)",\
+ org.slf4j;version="[1.6.4,2)",\
+ org.slf4j.helpers;version="[1.6.4,2)",\
+ org.slf4j.spi;version="[1.6.4,2)",\
+ org.junit;version="[4.7.0,5.0.0)",\
+ org.junit.runner;version="[4.7.0,5.0.0)",\
+ org.eclipse.virgo.test.*;version="0"
+
+serviceImports =\
+ org.eclipse.equinox.region.Region,\
+ org.eclipse.equinox.region.RegionDigraph,\
+ org.eclipse.virgo.nano.deployer.api.core.ApplicationDeployer,\
+ org.eclipse.virgo.nano.deployer.api.core.DeployUriNormaliser,\
+ org.eclipse.virgo.kernel.install.artifact.ScopeServiceRepository,\
+ org.eclipse.virgo.kernel.services.work.WorkArea,\
+ org.eclipse.virgo.repository.ArtifactBridge,\
+ org.eclipse.virgo.repository.RepositoryFactory,\
+ org.eclipse.virgo.repository.HashGenerator,\
+ org.eclipse.virgo.medic.eventlog.EventLoggerFactory,\
+ org.eclipse.virgo.repository.Repository,\
+ org.eclipse.virgo.nano.core.Shutdown,\
+ org.osgi.framework.hooks.resolver.ResolverHookFactory,\
+ org.osgi.service.cm.ConfigurationAdmin,\
+ org.osgi.service.event.EventAdmin,\
+ org.osgi.service.log.LogService,\
+ org.eclipse.virgo.medic.eventlog.EventLogger,\
+ org.eclipse.virgo.medic.dump.DumpGenerator,\
+ org.eclipse.virgo.nano.shim.scope.ScopeFactory,\
+ org.eclipse.virgo.nano.shim.serviceability.TracingService,\
+ org.eclipse.virgo.kernel.model.RuntimeArtifactRepository,\
+ org.eclipse.osgi.service.resolver.PlatformAdmin,\
+ org.osgi.service.packageadmin.PackageAdmin,\
+ org.eclipse.virgo.nano.core.ConfigurationExporter
+
+serviceExports =\
+ org.eclipse.virgo.kernel.install.artifact.InstallArtifactLifecycleListener,\
+ org.eclipse.virgo.kernel.install.artifact.ArtifactIdentityDeterminer,\
+ org.eclipse.virgo.kernel.install.pipeline.stage.transform.Transformer,\
+ org.eclipse.virgo.kernel.module.ModuleContextAccessor,\
+ org.eclipse.virgo.medic.dump.DumpContributor,\
+ org.eclipse.virgo.kernel.osgi.quasi.QuasiFrameworkFactory,\
+ org.eclipse.virgo.kernel.osgi.framework.OsgiFramework,\
+ org.eclipse.virgo.kernel.osgi.framework.ImportExpander,\
+ org.eclipse.virgo.kernel.osgi.framework.PackageAdminUtil,\
+ org.eclipse.equinox.region.Region,\
+ org.osgi.service.event.EventHandler,\
+ org.osgi.service.cm.ConfigurationListener,\
+ org.osgi.service.cm.ManagedService,\
+ org.osgi.service.cm.ManagedServiceFactory,\
+ org.osgi.framework.BundleContext,\
+ org.eclipse.virgo.nano.deployer.api.config.ConfigurationDeployer
+
+initialArtifacts =\
+ repository:plan/org.eclipse.virgo.web.tomcat
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.medic.properties b/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.medic.properties
index 2498b1a..ae70f58 100644
--- a/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.medic.properties
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.medic.properties
@@ -1,3 +1,7 @@
-dump.root.directory=target/serviceability/dump
-log.wrapSysOut=false
-log.wrapSysErr=false
+dump.root.directory=build/serviceability/dump
+log.wrapSysOut=true
+log.wrapSysErr=true
+log.dump.level=DEBUG
+log.dump.bufferSize=10000
+log.dump.pattern=[%d{yyyy-MM-dd HH:mm:ss.SSS}] %-28.28thread %-64.64logger{64} %X{medic.eventCode} %msg %ex%n
+log.jul.consoleHandler=false
\ No newline at end of file
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.repository.properties b/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.repository.properties
index bef05cb..8cf98f0 100644
--- a/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.repository.properties
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/config/org.eclipse.virgo.repository.properties
@@ -1,16 +1,16 @@
-artifacts.type=external
-artifacts.searchPattern=../{bundle}/target/artifacts/*
+3rd-party.type=external
+3rd-party.searchPattern=../../3rd-party/build/plugins/{bundle}.jar
 
-ivy-cache-bundles.type=external
-ivy-cache-bundles.searchPattern=${user.home}/virgo-build-cache/ivy-cache/repository/{org}/{name}/{version}/{bundle}.jar
-
-ivy-cache-libraries.type=external
-ivy-cache-libraries.searchPattern=${user.home}/virgo-build-cache/ivy-cache/repository/{org}/{name}/{version}/{library}.libd
+build-repository-ext.type=external
+build-repository-ext.searchPattern=build/repository/ext/{bundle}.jar
 
 src-test-resources.type=external
-src-test-resources.searchPattern=src/test/apps/*.jar
+src-test-resources.searchPattern=src/test/resources/*.jar
 
 src-test-resources-repository-ext.type=external
 src-test-resources-repository-ext.searchPattern=src/test/resources/repository/ext/*
 
-chain=src-test-resources-repository-ext,artifacts,ivy-cache-bundles,ivy-cache-libraries,src-test-resources
+src-test-resources-libd.type=external
+src-test-resources-libd.searchPattern=src/test/resources/repository/ext/*.libd
+
+chain=3rd-party,build-repository-ext,src-test-resources,src-test-resources-repository-ext,src-test-resources-libd
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/config/serviceability.xml b/web/org.eclipse.virgo.web.test/src/test/resources/config/serviceability.xml
index 7bed7e1..3710a30 100644
--- a/web/org.eclipse.virgo.web.test/src/test/resources/config/serviceability.xml
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/config/serviceability.xml
@@ -2,6 +2,8 @@
 
 	<jmxConfigurator />
 
+	<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"/>
+
 	<appender name="LOG_STDOUT" class="ch.qos.logback.core.ConsoleAppender">
 		<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
 			<Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %-24.24thread %msg %ex%n</Pattern>
@@ -9,9 +11,9 @@
 	</appender>
 
 	<appender name="LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-		<file>target/serviceability/log/log.log</file>
+		<file>build/serviceability/log/log.log</file>
 		<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-			<FileNamePattern>target/serviceability/log/log_%i.log</FileNamePattern>
+			<FileNamePattern>build/serviceability/log/log_%i.log</FileNamePattern>
 			<MinIndex>1</MinIndex>
 			<MaxIndex>4</MaxIndex>
 		</rollingPolicy>
@@ -30,9 +32,9 @@
 	</appender>
 
 	<appender name="EVENT_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-		<file>target/serviceability/eventlog/eventlog.log</file>
+		<file>build/serviceability/eventlog/eventlog.log</file>
 		<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-			<FileNamePattern>target/serviceability/eventlog/eventlog_%i.log</FileNamePattern>
+			<FileNamePattern>build/serviceability/eventlog/eventlog_%i.log</FileNamePattern>
 			<MinIndex>1</MinIndex>
 			<MaxIndex>4</MaxIndex>
 		</rollingPolicy>
@@ -44,12 +46,13 @@
 		</encoder>
 	</appender>
 
-	<logger name="org.eclipse.virgo.medic.eventlog.localized" level="INFO">
+	<logger level="INFO" name="org.eclipse.virgo.medic.eventlog.localized">
 		<appender-ref ref="EVENT_LOG_STDOUT" />
 		<appender-ref ref="EVENT_LOG_FILE" />
 	</logger>
 
 	<root level="INFO">
+		<!-- appender-ref ref="LOG_STDOUT" /-->
 		<appender-ref ref="LOG_FILE" />
 	</root>
 
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/config/tomcat-server.xml b/web/org.eclipse.virgo.web.test/src/test/resources/config/tomcat-server.xml
index 21e5586..ace4800 100644
--- a/web/org.eclipse.virgo.web.test/src/test/resources/config/tomcat-server.xml
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/config/tomcat-server.xml
@@ -15,59 +15,61 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<!-- Note:  A "Server" is not itself a "Container", so you may not
-     define subcomponents such as "Valves" at this level.
-     Documentation at /docs/config/server.html
- -->
-<Server>
+<Server port="-1">
   <!--APR library loader. Documentation at /docs/apr.html -->
   <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
   <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
   <!-- Prevent memory leaks due to use of particular java/javax APIs-->
   <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
+  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
   <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
   <Listener className="org.eclipse.virgo.web.tomcat.support.ServerLifecycleLoggingListener"/>
+  <Listener className="org.apache.catalina.security.SecurityListener" />
 
-  <!-- A "Service" is a collection of one or more "Connectors" that share
-       a single "Container" Note:  A "Service" is not itself a "Container",
-       so you may not define subcomponents such as "Valves" at this level.
-       Documentation at /docs/config/service.html
-   -->
   <Service name="Catalina">
+    <Connector address="127.0.0.1" port="8080"
+               protocol="org.apache.coyote.http11.Http11NioProtocol"
+               connectionTimeout="20000" enableLookups="false" redirectPort="8443" />
 
+<!--    <Connector address="0.0.0.0" port="8443"-->
+<!--               protocol="org.apache.coyote.http11.Http11NioProtocol"-->
+<!--               sslImplementationName="org.apache.tomcat.util.net.jsse.JSSEImplementation"-->
+<!--               SSLEnabled="true" scheme="https" secure="true" -->
+<!--               enableLookups="false" maxThreads="150">-->
 
-    <!-- A "Connector" represents an endpoint by which requests are received
-         and responses are returned. Documentation at :
-         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
-         Java AJP  Connector: /docs/config/ajp.html
-         APR (HTTP/AJP) Connector: /docs/apr.html
-         Define a non-SSL HTTP/1.1 Connector on port 8080
+<!--      <SSLHostConfig hostName="_default_"-->
+<!--                     protocols="TLSv1.2" sslProtocol="TLSv1.2"-->
+<!--                     honorCipherOrder="true"-->
+<!--                     ciphers="EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA:EECDH:EDH+AESGCM:EDH:ECDH+AESGCM:ECDH+AES:ECDH:HIGH:MEDIUM:!RC4:!3DES:!CAMELLIA:!SEED:!aNULL:!MD5:!eNULL:!LOW:!EXP:!DSS:!PSK:!SRP"-->
+<!--                     certificateVerification="none">-->
+<!--        <Certificate type="RSA"-->
+<!--                     certificateKeystoreFile="configuration/keystore"-->
+<!--                     certificateKeystorePassword="changeit"-->
+<!--                     certificateKeystoreType="JKS"/>-->
+<!--      </SSLHostConfig>-->
+
+<!--    </Connector>-->
+
+    <!-- 
+    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" enableLookups="false" />
     -->
-    <Connector port="8080" protocol="HTTP/1.1"
-               connectionTimeout="20000"
-               redirectPort="8443" />
 
-    <!-- Define an AJP 1.3 Connector on port 8009 -->
-    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-
-
-    <!-- An Engine represents the entry point (within Catalina) that processes
-         every request.  The Engine implementation for Tomcat stand alone
-         analyzes the HTTP headers included with the request, and passes them
-         on to the appropriate Host (virtual host).
-         Documentation at /docs/config/engine.html -->
-
-    <!-- You should set jvmRoute to support load-balancing via AJP ie :
-    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
-    -->
     <Engine name="Catalina" defaultHost="localhost">
+<!--      <Realm className="org.apache.catalina.realm.JAASRealm" appName="virgo-kernel"-->
+<!--             userClassNames="org.eclipse.virgo.nano.authentication.User"-->
+<!--             roleClassNames="org.eclipse.virgo.nano.authentication.Role"/>-->
 
-      <Valve className="org.eclipse.virgo.web.tomcat.support.ApplicationNameTrackingValve"/>
+      <Host name="localhost" appBase="work"
+            unpackWARs="false" autoDeploy="false"
+            deployOnStartup="false" createDirs="false">
 
-      <!-- Define the default virtual host -->
-      <Host name="localhost" deployOnStartup="false" autoDeploy="false"
-            unpackWARs="false" createDirs="false" appBase="">
-            <Listener className="org.eclipse.virgo.web.tomcat.support.ApplicationNameTrackingListener"/>
+        <Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false"/>
+        
+        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="serviceability/logs/access"
+               prefix="localhost_access" suffix=".log" 
+               pattern="%t %h %u %H %m %U %s %D %b"/>
+
+        <Valve className="org.eclipse.virgo.web.tomcat.support.ApplicationNameTrackingValve"/>
       </Host>
     </Engine>
   </Service>
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/config/tomcat-server.xml.orig b/web/org.eclipse.virgo.web.test/src/test/resources/config/tomcat-server.xml.orig
new file mode 100644
index 0000000..3d6441f
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/config/tomcat-server.xml.orig
@@ -0,0 +1,76 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- Note:  A "Server" is not itself a "Container", so you may not
+     define subcomponents such as "Valves" at this level.
+     Documentation at /docs/config/server.html
+ -->
+<Server>
+  <!--APR library loader. Documentation at /docs/apr.html -->
+  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
+  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
+  <!-- Prevent memory leaks due to use of particular java/javax APIs-->
+  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
+  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
+  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
+  <Listener className="org.eclipse.virgo.web.tomcat.support.ServerLifecycleLoggingListener"/>
+  <Listener className="org.apache.catalina.security.SecurityListener" />
+
+  <!-- A "Service" is a collection of one or more "Connectors" that share
+       a single "Container" Note:  A "Service" is not itself a "Container",
+       so you may not define subcomponents such as "Valves" at this level.
+       Documentation at /docs/config/service.html
+   -->
+  <Service name="Catalina">
+
+
+    <!-- A "Connector" represents an endpoint by which requests are received
+         and responses are returned. Documentation at :
+         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
+         Java AJP  Connector: /docs/config/ajp.html
+         APR (HTTP/AJP) Connector: /docs/apr.html
+         Define a non-SSL HTTP/1.1 Connector on port 8080
+    -->
+    <Connector port="8080" protocol="HTTP/1.1"
+               connectionTimeout="20000"
+               redirectPort="8443" />
+
+    <!-- Define an AJP 1.3 Connector on port 8009 -->
+    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
+
+
+    <!-- An Engine represents the entry point (within Catalina) that processes
+         every request.  The Engine implementation for Tomcat stand alone
+         analyzes the HTTP headers included with the request, and passes them
+         on to the appropriate Host (virtual host).
+         Documentation at /docs/config/engine.html -->
+
+    <!-- You should set jvmRoute to support load-balancing via AJP ie :
+    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
+    -->
+    <Engine name="Catalina" defaultHost="localhost">
+
+      <Valve className="org.eclipse.virgo.web.tomcat.support.ApplicationNameTrackingValve"/>
+
+      <!-- Define the default virtual host -->
+      <Host name="localhost" deployOnStartup="false" autoDeploy="false"
+            unpackWARs="false" createDirs="false" appBase="">
+            <Listener className="org.eclipse.virgo.web.tomcat.support.ApplicationNameTrackingListener"/>
+      </Host>
+    </Engine>
+  </Service>
+</Server>
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/repository/ext/org.eclipse.virgo.kernel.userregion.blueprint.plan b/web/org.eclipse.virgo.web.test/src/test/resources/repository/ext/org.eclipse.virgo.kernel.userregion.blueprint.plan
new file mode 100644
index 0000000..23fff34
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/repository/ext/org.eclipse.virgo.kernel.userregion.blueprint.plan
@@ -0,0 +1,16 @@
+<plan name="org.eclipse.virgo.kernel.userregion.blueprint" version="3.8.0" scoped="false" atomic="false"
+      xmlns="http://www.eclipse.org/virgo/schema/plan"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.eclipse.org/virgo/schema/plan http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
+
+    <artifact type="bundle" name="org.eclipse.gemini.blueprint.core" version="[3, 4)"/>
+    <artifact type="bundle" name="org.eclipse.gemini.blueprint.extender" version="[3, 4)"/>
+    <artifact type="bundle" name="org.eclipse.gemini.blueprint.io" version="[3, 4)"/>
+    <artifact type="bundle" name="org.eclipse.gemini.blueprint.extensions" version="[3, 4)"/>
+
+    <artifact type="bundle" name="org.eclipse.virgo.kernel.agent.dm" version="[3.8,4)"/>
+    <artifact type="bundle" name="org.eclipse.virgo.kernel.deployer.dm" version="[3.8,4)"/>
+
+    <artifact type="bundle" name="org.eclipse.equinox.ds" version="0.0.0"/>
+    <artifact type="bundle" name="org.eclipse.equinox.util" version="0.0.0"/>
+</plan>
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/repository/ext/org.eclipse.virgo.management.plan b/web/org.eclipse.virgo.web.test/src/test/resources/repository/ext/org.eclipse.virgo.management.plan
new file mode 100644
index 0000000..d7d5497
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/repository/ext/org.eclipse.virgo.management.plan
@@ -0,0 +1,12 @@
+<plan name="org.eclipse.virgo.management" version="3.8.0" scoped="false" atomic="false"
+			xmlns="http://www.eclipse.org/virgo/schema/plan"
+			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+			xsi:schemaLocation="http://www.eclipse.org/virgo/schema/plan http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
+
+		<artifact type="bundle" name="osgi.enterprise" version="[4.2, 5)"/>
+		<artifact type="bundle" name="org.eclipse.gemini.management" version="[1.0, 2)"/>
+
+		<artifact type="bundle" name="org.eclipse.virgo.management.fragment" version="[3.8,4)"/>
+		<artifact type="bundle" name="org.eclipse.virgo.management.console" version="[3.8,4)"/>
+
+</plan>
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/repository/ext/org.eclipse.virgo.shell.plan b/web/org.eclipse.virgo.web.test/src/test/resources/repository/ext/org.eclipse.virgo.shell.plan
new file mode 100644
index 0000000..9694f00
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/repository/ext/org.eclipse.virgo.shell.plan
@@ -0,0 +1,11 @@
+<plan name="org.eclipse.virgo.shell" version="3.8.0" scoped="false" atomic="false"
+      xmlns="http://www.eclipse.org/virgo/schema/plan"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="
+				        http://www.eclipse.org/virgo/schema/plan 
+				        http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
+
+<!--    <artifact type="bundle" name="org.eclipse.equinox.ds" version="0.0.0"/>-->
+<!--    <artifact type="bundle" name="org.eclipse.equinox.util" version="0.0.0"/>-->
+    <artifact type="configuration" name="osgi.console"/>
+</plan>
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/repository/ext/org.eclipse.virgo.web.tomcat.plan b/web/org.eclipse.virgo.web.test/src/test/resources/repository/ext/org.eclipse.virgo.web.tomcat.plan
new file mode 100644
index 0000000..32c6eb3
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/repository/ext/org.eclipse.virgo.web.tomcat.plan
@@ -0,0 +1,20 @@
+<plan name="org.eclipse.virgo.web.tomcat" version="3.8.0" scoped="false" atomic="false"
+                xmlns="http://www.eclipse.org/virgo/schema/plan"
+				xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+				xsi:schemaLocation="
+				        http://www.eclipse.org/virgo/schema/plan 
+				        http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
+
+        <artifact type="configuration" name="org.eclipse.virgo.web"/>
+
+<!-- TODO add oev.web.spring.integration back to Tomcat plan
+        <artifact type="bundle" name="org.eclipse.virgo.web.spring.integration" version="[3.8,4)"/>
+-->
+        <artifact type="bundle" name="org.eclipse.gemini.web.core" version="[3.0, 4.0)"/>
+        <artifact type="bundle" name="org.eclipse.gemini.web.tomcat" version="[3.0, 4.0)"/>
+
+        <artifact type="bundle" name="org.eclipse.virgo.web.core" version="[3.8,4)"/>
+        <artifact type="bundle" name="org.eclipse.virgo.web.dm" version="[3.8,4)"/>
+        <artifact type="bundle" name="org.eclipse.virgo.web.tomcat.support" version="[3.8,4)"/>
+        <artifact type="bundle" name="org.eclipse.virgo.web.servlet.adapter" version="[3.8,4)"/>
+</plan>
diff --git a/web/org.eclipse.virgo.web.test/src/test/resources/repository/ext/osgi.console.properties b/web/org.eclipse.virgo.web.test/src/test/resources/repository/ext/osgi.console.properties
new file mode 100644
index 0000000..d8f0748
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/resources/repository/ext/osgi.console.properties
@@ -0,0 +1,6 @@
+telnet.enabled=true
+telnet.port=2501
+telnet.host=localhost
+ssh.enabled=false
+ssh.port=2502
+ssh.host=localhost
\ No newline at end of file
diff --git a/web/org.eclipse.virgo.web.test/src/test/test-apps/osgi-webapp-3.8.0.jar b/web/org.eclipse.virgo.web.test/src/test/test-apps/osgi-webapp-3.8.0.jar
new file mode 100644
index 0000000..34f02ff
--- /dev/null
+++ b/web/org.eclipse.virgo.web.test/src/test/test-apps/osgi-webapp-3.8.0.jar
Binary files differ