diff --git a/dev/build.image/build-fat-image.xml b/dev/build.image/build-fat-image.xml
index 48195971a649..f34298b39a75 100755
--- a/dev/build.image/build-fat-image.xml
+++ b/dev/build.image/build-fat-image.xml
@@ -82,9 +82,9 @@
-
+
-
+
diff --git a/dev/build.image/build.gradle b/dev/build.image/build.gradle
index cd3149ef5aa9..e6db335d0113 100644
--- a/dev/build.image/build.gradle
+++ b/dev/build.image/build.gradle
@@ -2,6 +2,7 @@
import org.apache.tools.ant.filters.ReplaceTokens
task copyPropertiesToBuildImage (type:Copy) {
+ dependsOn jar
from "${projectDir}/publish/gradle"
into "${projectDir}/wlp/lib/versions"
include '*.properties'
@@ -10,6 +11,7 @@ task copyPropertiesToBuildImage (type:Copy) {
}
task copyReadmeToBuildImage (type:Copy) {
+ dependsOn jar
from "${projectDir}/publish/gradle"
into "${rootDir}/build.image/wlp"
include 'README.TXT'
@@ -17,7 +19,15 @@ task copyReadmeToBuildImage (type:Copy) {
tokens: [BUILD_ID: bnd.buildID, LIBERTY_VERSION: bnd.libertyRelease])
}
+task copyCopyrightToBuildImage (type:Copy) {
+ dependsOn jar
+ from "${projectDir}"
+ into "${rootDir}/build.image/wlp"
+ include 'Copyright.txt'
+}
+
task copyGeneratedToBuildImageBinTools (type:Copy) {
+ dependsOn jar
from "${projectDir}/wlp/lib"
into "${projectDir}/wlp/bin/tools"
include 'bootstrap-agent.jar'
@@ -25,19 +35,17 @@ task copyGeneratedToBuildImageBinTools (type:Copy) {
}
task copyGeneratedToCnfLib (type:Copy) {
+ dependsOn jar
from "${projectDir}/wlp/dev/api/spec/"
into "${rootDir}/${bnd_cnf}/lib"
include 'com.ibm.ws.org.osgi.core.6.0.0_*.jar'
rename '.*.jar', 'osgi.core.jar'
}
-assemble.dependsOn copyGeneratedToCnfLib
-copyGeneratedToCnfLib.dependsOn jar
-
-assemble.dependsOn copyGeneratedToBuildImageBinTools
-copyGeneratedToBuildImageBinTools.dependsOn jar
-
-assemble.dependsOn copyPropertiesToBuildImage
-assemble.dependsOn copyReadmeToBuildImage
-copyPropertiesToBuildImage.dependsOn jar
-copyReadmeToBuildImage.dependsOn jar
+assemble {
+ dependsOn copyPropertiesToBuildImage
+ dependsOn copyReadmeToBuildImage
+ dependsOn copyCopyrightToBuildImage
+ dependsOn copyGeneratedToBuildImageBinTools
+ dependsOn copyGeneratedToCnfLib
+}
diff --git a/dev/build.image/editions/bluemix/beta.properties b/dev/build.image/editions/bluemix/beta.properties
deleted file mode 100755
index ddd602310334..000000000000
--- a/dev/build.image/editions/bluemix/beta.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-license.type=IPLA
-editions=BLUEMIX
diff --git a/dev/build.image/editions/bluemix/beta.xml b/dev/build.image/editions/bluemix/beta.xml
deleted file mode 100755
index 3707447dd213..000000000000
--- a/dev/build.image/editions/bluemix/beta.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
- osgiBundle-1.0
- logstashCollector-1.1
- bluemixLogCollector-1.1
- audit-1.0
-
-
diff --git a/dev/build.sharedResources/.classpath b/dev/build.sharedResources/.classpath
new file mode 100644
index 000000000000..bd52baaf243d
--- /dev/null
+++ b/dev/build.sharedResources/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/dev/build.sharedResources/.classpath.gradle b/dev/build.sharedResources/.classpath.gradle
new file mode 100644
index 000000000000..bd52baaf243d
--- /dev/null
+++ b/dev/build.sharedResources/.classpath.gradle
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/dev/build.sharedResources/.project b/dev/build.sharedResources/.project
index 4dd451b9feeb..a47ce5f6abff 100755
--- a/dev/build.sharedResources/.project
+++ b/dev/build.sharedResources/.project
@@ -5,7 +5,19 @@
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ bndtools.core.bndbuilder
+
+
+
+ org.eclipse.jdt.core.javanature
+ bndtools.core.bndnature
diff --git a/dev/build.sharedResources/bnd.bnd b/dev/build.sharedResources/bnd.bnd
new file mode 100644
index 000000000000..43acc3bacd95
--- /dev/null
+++ b/dev/build.sharedResources/bnd.bnd
@@ -0,0 +1,3 @@
+-include ~../cnf/resources/bnd/liberty-release.props
+
+-nobundles=true
diff --git a/dev/build.sharedResources/bnd.bnd.gradle b/dev/build.sharedResources/bnd.bnd.gradle
new file mode 100644
index 000000000000..43acc3bacd95
--- /dev/null
+++ b/dev/build.sharedResources/bnd.bnd.gradle
@@ -0,0 +1,3 @@
+-include ~../cnf/resources/bnd/liberty-release.props
+
+-nobundles=true
diff --git a/dev/build.sharedResources/build.nogradle b/dev/build.sharedResources/build.gradle
similarity index 100%
rename from dev/build.sharedResources/build.nogradle
rename to dev/build.sharedResources/build.gradle
diff --git a/dev/build.sharedResources/lib/ws-junit/ws-junit.jar b/dev/build.sharedResources/lib/ws-junit/ws-junit.jar
index 83c41ddca177..c7f0e65ac881 100755
Binary files a/dev/build.sharedResources/lib/ws-junit/ws-junit.jar and b/dev/build.sharedResources/lib/ws-junit/ws-junit.jar differ
diff --git a/dev/cnf/.gitignore b/dev/cnf/.gitignore
index c6c6c5d8b8fc..ca78ea0ce444 100644
--- a/dev/cnf/.gitignore
+++ b/dev/cnf/.gitignore
@@ -2,4 +2,3 @@
/bin/
/release/
/generated/
-settings.txt
\ No newline at end of file
diff --git a/dev/cnf/build.bnd b/dev/cnf/build.bnd
index e265835c13a6..d20854b0ef95 100644
--- a/dev/cnf/build.bnd
+++ b/dev/cnf/build.bnd
@@ -2,7 +2,7 @@
-include ${workspace}/gradle.properties
# Artifactory repository credentials
--connection-settings: ${.}/settings.txt
+-connection-settings: ${.}/settings.xml
# Logging for repository connection when debugging
#-connection-log: ${.}/connectionlog.txt
@@ -18,24 +18,36 @@
# location = ~/.bnd/shacache; \
# index = ${build}/central.json
--plugin.2.Templates: \
+-plugin.1.MavenLocal: \
+ aQute.bnd.deployer.repository.LocalIndexedRepo; \
+ name = MavenLocal; \
+ pretty = true; \
+ local = ${build}/maven-local
+
+-plugin.2.Local: \
+ aQute.bnd.deployer.repository.LocalIndexedRepo; \
+ name = Local; \
+ pretty = true; \
+ local = ${build}/local
+
+-plugin.3.Templates: \
aQute.bnd.deployer.repository.LocalIndexedRepo; \
name = Templates; \
pretty = true; \
local = ${build}/templates
--plugin.3.Local = \
- aQute.bnd.repository.maven.provider.MavenBndRepository; \
- index = ~/.m2/was-liberty/local.maven; \
- local = ~/.m2/was-liberty; \
- name = "Local";
+-plugin.4.Release: \
+ aQute.bnd.deployer.repository.LocalIndexedRepo; \
+ name = Release; \
+ pretty = true; \
+ local = ${build}/release
--plugin.4.Release = \
+-plugin.5.Artifactory = \
aQute.bnd.repository.maven.provider.MavenBndRepository; \
releaseUrl=${artifactoryReleaseUrl} ; \
snapshotUrl=${artifactorySnapshotUrl} ; \
index=${build}/release.maven; \
- name = "Release";
+ name = "Artifactory";
# Don't upload sources or javadoc unless bundle overrides
-maven-release: remote, sources;path=NONE, javadoc;path=NONE
@@ -49,10 +61,8 @@ javac.encoding: UTF-8
-pedantic: true
-fixupmessages.missingexport: "Used bundle version * for exported package";is:=error
-# Uncomment this line for releases
-#-snapshot:
--buildrepo: Local
-releaserepo: Release
+-baselinerepo: Release
# This is the version of JUnit that will be used at build time and run time
junit: org.apache.servicemix.bundles.junit;version="[4.11,5)"
@@ -67,7 +77,7 @@ mockito: org.mockito.mockito-core;version="[1.9,2)",\
instrument.disabled: false
instrument.classesIncludes: **/*.class
-instrument.classesExcludes:
+instrument.classesExcludes:
instrument.ffdc: true
instrument.taskInjection: false
diff --git a/dev/cnf/gradle/dev.spi.ibm/com.ibm.websphere.appserver.spi.zosCommandProcessing.bnd b/dev/cnf/gradle/dev.spi.ibm/com.ibm.websphere.appserver.spi.zosCommandProcessing.bnd
index 5131e63eeae6..3b3bb4a4caa3 100644
--- a/dev/cnf/gradle/dev.spi.ibm/com.ibm.websphere.appserver.spi.zosCommandProcessing.bnd
+++ b/dev/cnf/gradle/dev.spi.ibm/com.ibm.websphere.appserver.spi.zosCommandProcessing.bnd
@@ -14,4 +14,4 @@ publish.wlp.jar.suffix: dev/spi/ibm
-buildpath: \
${javac.bootclasspath.java6}, \
- com.ibm.ws.zos.command.processing
+ com.ibm.ws.zos.core
diff --git a/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.apiDiscoveryValidator-1.0.bnd b/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.apiDiscoveryValidator-1.0.bnd
new file mode 100644
index 000000000000..7717de4aeb62
--- /dev/null
+++ b/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.apiDiscoveryValidator-1.0.bnd
@@ -0,0 +1,9 @@
+-include ~../cnf/resources/bnd/bundle.props
+bVersion=1.0
+
+Bundle-SymbolicName: com.ibm.websphere.appserver.apiDiscoveryValidator-1.0
+
+publish.feature.resources: *.mf
+
+-buildpath: \
+ com.ibm.ws.rest.api.discovery.validator;version=latest
diff --git a/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.apiDiscoveryValidator-1.0.mf b/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.apiDiscoveryValidator-1.0.mf
new file mode 100644
index 000000000000..b4acc9333683
--- /dev/null
+++ b/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.apiDiscoveryValidator-1.0.mf
@@ -0,0 +1,22 @@
+Bnd-LastModified: 1490282142366
+Created-By: 1.8.0_121 (Oracle Corporation)
+IBM-App-ForceRestart: install,
+ uninstall
+IBM-AppliesTo: com.ibm.websphere.appserver;${mfProductVersion}
+IBM-Feature-Version: 2
+IBM-Install-Policy: when-satisfied
+IBM-InstallTo: core
+IBM-License-Agreement: wlp/lafiles/LA
+IBM-ProductID: com.ibm.websphere.appserver
+IBM-Provision-Capability: osgi.identity; filter:="(&(type=osgi.subsystem.feature)(osgi.identity=com.ibm.websphere.appserver.validator-1.0))",
+ osgi.identity; filter:="(&(type=osgi.subsystem.feature)(osgi.identity=com.ibm.websphere.appserver.apiDiscovery-1.0))"
+Subsystem-Content: com.ibm.ws.rest.api.discovery.validator; version="[1.0.0,1.0.200)"
+Subsystem-Description: %description
+Subsystem-License: http://www.ibm.com/licenses/wlp-featureterms-v1
+Subsystem-Localization: OSGI-INF/l10n/com.ibm.websphere.appserver.apiDiscoveryValidator-1.0
+Subsystem-ManifestVersion: 1
+Subsystem-SymbolicName: com.ibm.websphere.appserver.apiDiscoveryValidator-1.0; visibility:=private; singleton:=false
+Subsystem-Type: osgi.subsystem.feature
+Subsystem-Vendor: IBM Corp.
+Subsystem-Version: 1.0.0
+Tool: Bnd-3.3.0.201609221906
diff --git a/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.jaxwsClient-2.2.bnd b/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.jaxwsClient-2.2.bnd
index b877c2917b69..464dd225d74c 100644
--- a/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.jaxwsClient-2.2.bnd
+++ b/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.jaxwsClient-2.2.bnd
@@ -6,17 +6,17 @@ Bundle-SymbolicName: com.ibm.websphere.appserver.jaxwsClient-2.2
publish.feature.resources: *.mf
-buildpath: \
- ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-transports-http-2.6.2-ibm-s20160819-0403.jar;version=file,\
- ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-core-2.6.2-ibm-s20160819-0403.jar;version=file,\
- ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-bindings-soap-2.6.2-ibm-s20160819-0403.jar;version=file,\
- ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-bindings-xml-2.6.2-ibm-s20160819-0403.jar;version=file,\
- ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-databinding-jaxb-2.6.2-ibm-s20160819-0403.jar;version=file,\
- ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-management-2.6.2-ibm-s20160819-0403.jar;version=file,\
- ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-ws-addr-2.6.2-ibm-s20160819-0403.jar;version=file,\
- ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-frontend-simple-2.6.2-ibm-s20160819-0403.jar;version=file,\
- ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-frontend-jaxws-2.6.2-ibm-s20160819-0403.jar;version=file,\
- ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-ws-policy-2.6.2-ibm-s20160819-0403.jar;version=file,\
- ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-api-2.6.2-ibm-s20160819-0403.jar;version=file,\
+ ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-transports-http-2.6.2-ibm-s20170216-1739.jar;version=file,\
+ ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-core-2.6.2-ibm-s20170216-1739.jar;version=file,\
+ ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-bindings-soap-2.6.2-ibm-s20170216-1739.jar;version=file,\
+ ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-bindings-xml-2.6.2-ibm-s20170216-1739.jar;version=file,\
+ ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-databinding-jaxb-2.6.2-ibm-s20170216-1739.jar;version=file,\
+ ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-management-2.6.2-ibm-s20170216-1739.jar;version=file,\
+ ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-ws-addr-2.6.2-ibm-s20170216-1739.jar;version=file,\
+ ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-frontend-simple-2.6.2-ibm-s20170216-1739.jar;version=file,\
+ ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-frontend-jaxws-2.6.2-ibm-s20170216-1739.jar;version=file,\
+ ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-rt-ws-policy-2.6.2-ibm-s20170216-1739.jar;version=file,\
+ ../com.ibm.ws.org.apache.cxf.jaxws/lib/cxf-api-2.6.2-ibm-s20170216-1739.jar;version=file,\
com.ibm.websphere.appserver.injection-1.0;version=latest, \
com.ibm.websphere.appserver.containerServices-1.0;version=latest, \
com.ibm.websphere.appserver.classloading-1.0;version=latest, \
diff --git a/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.microprofile.faulttolerance1.0.bnd b/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.microprofile.faulttolerance1.0.bnd
deleted file mode 100644
index fc5ac013f036..000000000000
--- a/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.microprofile.faulttolerance1.0.bnd
+++ /dev/null
@@ -1,9 +0,0 @@
--include ~../cnf/resources/bnd/bundle.props
-bVersion=1.0
-
-Bundle-SymbolicName: com.ibm.websphere.appserver.internal.microprofile.faulttolerance1.0
-
--buildpath: \
- com.ibm.websphere.microprofile.faulttolerance;version=latest,\
- com.ibm.websphere.microprofile.faulttolerance.impl;version=latest
-
diff --git a/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.microprofile.faulttolerance1.0.mf b/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.microprofile.faulttolerance1.0.mf
deleted file mode 100644
index 073f8c75a00c..000000000000
--- a/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.microprofile.faulttolerance1.0.mf
+++ /dev/null
@@ -1,22 +0,0 @@
-Bnd-LastModified: 1479650132013
-Created-By: 1.7.0_85 (Oracle Corporation)
-IBM-API-Package: com.ibm.websphere.appserver.microprofile.faulttolerance; type="internal"
-IBM-App-ForceRestart: install,
- uninstall
-IBM-AppliesTo: com.ibm.websphere.appserver;productVersion="@PRODUCT_VERSION@"
-IBM-Feature-Version: 2
-IBM-Install-Policy: when-satisfied
-IBM-InstallTo: core
-IBM-License-Agreement: wlp/lafiles/LA
-IBM-ProductID: com.ibm.websphere.appserver
-IBM-Provision-Capability: osgi.identity; filter:="(&(type=osgi.subsystem.feature)(osgi.identity=com.ibm.websphere.appserver.faulttolerance-1.0))"
-Subsystem-Content: com.ibm.websphere.microprofile.faulttolerance; version="[1.0.0,1.0.200)",
- com.ibm.websphere.microprofile.faulttolerance.impl; version="[1.0.0,1.0.200)"
-Subsystem-Description: %description
-Subsystem-License: http://www.ibm.com/licenses/wlp-featureterms-v1
-Subsystem-ManifestVersion: 1
-Subsystem-SymbolicName: com.ibm.websphere.appserver.internal.microprofile.faulttolerance1.0; visibility:=private; singleton:=false
-Subsystem-Type: osgi.subsystem.feature
-Subsystem-Vendor: IBM Corp.
-Subsystem-Version: 1.0.0
-Tool: Bnd-3.1.0.201511301807
diff --git a/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.org.eclipse.microProfileFaultTolerance-0.1.bnd b/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.org.eclipse.microProfileFaultTolerance-0.1.bnd
new file mode 100644
index 000000000000..7923938ae3fa
--- /dev/null
+++ b/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.org.eclipse.microProfileFaultTolerance-0.1.bnd
@@ -0,0 +1,8 @@
+-include ~../cnf/resources/bnd/bundle.props
+bVersion=1.0
+
+Bundle-SymbolicName: com.ibm.websphere.appserver.org.eclipse.microProfileFaultTolerance-0.1
+
+-buildpath: \
+ com.ibm.websphere.org.eclipse.microprofile.faulttolerance.0.1;version=latest
+
diff --git a/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.org.eclipse.microProfileFaultTolerance-0.1.mf b/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.org.eclipse.microProfileFaultTolerance-0.1.mf
new file mode 100644
index 000000000000..0c8bbdedc42d
--- /dev/null
+++ b/dev/cnf/gradle/internal.features/com.ibm.websphere.appserver.org.eclipse.microProfileFaultTolerance-0.1.mf
@@ -0,0 +1,17 @@
+Bnd-LastModified: 1490308521164
+Created-By: 1.8.0_121 (Oracle Corporation)
+IBM-AppliesTo: com.ibm.websphere.appserver;${mfProductVersion}
+IBM-Feature-Version: 2
+IBM-InstallTo: core
+IBM-License-Agreement: wlp/lafiles/LA
+IBM-ProductID: com.ibm.websphere.appserver
+Subsystem-Content: com.ibm.websphere.org.eclipse.microprofile.faulttolerance.0.1; location:="dev/api/spec/,lib/"; version="[1.0.0,1.0.200)"
+Subsystem-Description: %description
+Subsystem-License: http://www.ibm.com/licenses/wlp-featureterms-v1
+Subsystem-Localization: OSGI-INF/l10n/com.ibm.websphere.appserver.org.eclipse.microProfileFaultTolerance-0.1
+Subsystem-ManifestVersion: 1
+Subsystem-SymbolicName: com.ibm.websphere.appserver.org.eclipse.microProfileFaultTolerance-0.1; visibility:=private; singleton:=true
+Subsystem-Type: osgi.subsystem.feature
+Subsystem-Vendor: IBM Corp.
+Subsystem-Version: 1.0.0
+Tool: Bnd-3.3.0.201609221906
diff --git a/dev/cnf/gradle/public.features/com.ibm.websphere.appserver.microProfileFaultTolerance-0.1.mf b/dev/cnf/gradle/public.features/com.ibm.websphere.appserver.microProfileFaultTolerance-0.1.mf
index 1dca5b1b8d7f..8655c2616982 100644
--- a/dev/cnf/gradle/public.features/com.ibm.websphere.appserver.microProfileFaultTolerance-0.1.mf
+++ b/dev/cnf/gradle/public.features/com.ibm.websphere.appserver.microProfileFaultTolerance-0.1.mf
@@ -1,6 +1,7 @@
Bnd-LastModified: 1489177718859
Created-By: 1.8.0_121 (Oracle Corporation)
IBM-API-Package: com.ibm.websphere.microprofile.faulttolerance; version="1.0",
+ com.ibm.websphere.microprofile.faulttolerance.spi; version="1.0",
org.eclipse.microprofile.faulttolerance; version="1.0",
org.eclipse.microprofile.faulttolerance.spi; version="1.0"
IBM-App-ForceRestart: install,
@@ -11,9 +12,9 @@ IBM-InstallTo: core
IBM-License-Agreement: wlp/lafiles/LA
IBM-ProductID: com.ibm.websphere.appserver
IBM-ShortName: microProfileFaultTolerance-0.1
-Subsystem-Content: com.ibm.websphere.microprofile.faulttolerance; version="[1.0.0,1.0.200)",
- com.ibm.ws.net.jodah.failsafe.1.0.1; version="[1.0.0,1.0.200)",
- com.ibm.websphere.microprofile.faulttolerance.failsafe.impl; version="[1.0.0,1.0.200)"
+Subsystem-Content: com.ibm.websphere.appserver.org.eclipse.microProfileFaultTolerance-0.1; type="osgi.subsystem.feature",
+ com.ibm.ws.net.jodah.failsafe.1.0.1; apiJar=false; location:="lib/"; version="[1.0.0,1.0.200)",
+ com.ibm.ws.microprofile.faulttolerance.failsafe.impl; apiJar=false; location:="lib/"; version="[1.0.0,1.0.200)"
Subsystem-Description: %description
Subsystem-License: http://www.ibm.com/licenses/wlp-featureterms-v1
Subsystem-Localization: OSGI-INF/l10n/com.ibm.websphere.appserver.microProfileFaultTolerance-0.1
diff --git a/dev/cnf/gradle/public.features/com.ibm.websphere.appserver.validator-1.0.mf b/dev/cnf/gradle/public.features/com.ibm.websphere.appserver.validator-1.0.mf
new file mode 100644
index 000000000000..20c8e2a3c4b8
--- /dev/null
+++ b/dev/cnf/gradle/public.features/com.ibm.websphere.appserver.validator-1.0.mf
@@ -0,0 +1,21 @@
+Bnd-LastModified: 1490308491514
+Created-By: 1.8.0_121 (Oracle Corporation)
+IBM-AppliesTo: com.ibm.websphere.appserver;${mfProductVersion}
+IBM-Feature-Version: 2
+IBM-InstallTo: core
+IBM-License-Agreement: wlp/lafiles/LA
+IBM-ProductID: com.ibm.websphere.appserver
+IBM-ShortName: validator-1.0
+Subsystem-Content: com.ibm.websphere.appserver.apiDiscovery-1.0; type="osgi.subsystem.feature",
+ com.ibm.websphere.appserver.servlet-3.0; ibm.tolerates:="3.1"; type="osgi.subsystem.feature",
+ com.ibm.ws.config.validator; version="[1.0.0,1.0.200)"
+Subsystem-Description: %description
+Subsystem-License: http://www.ibm.com/licenses/wlp-featureterms-v1
+Subsystem-Localization: OSGI-INF/l10n/com.ibm.websphere.appserver.validator-1.0
+Subsystem-ManifestVersion: 1
+Subsystem-Name: Resource Config Validator 1.0
+Subsystem-SymbolicName: com.ibm.websphere.appserver.validator-1.0; visibility:=public; singleton:=true
+Subsystem-Type: osgi.subsystem.feature
+Subsystem-Vendor: IBM Corp.
+Subsystem-Version: 1.0.0
+Tool: Bnd-3.3.0.201609221906
diff --git a/dev/cnf/gradle/transform/transform.properties b/dev/cnf/gradle/transform/transform.properties
index 8538dfeb7300..051ac51213b6 100644
--- a/dev/cnf/gradle/transform/transform.properties
+++ b/dev/cnf/gradle/transform/transform.properties
@@ -5,19 +5,23 @@ com.ibm.json4j=Kernel
com.ibm.os400.native=Kernel
com.ibm.websphere.appserver.api.config=Kernel
com.ibm.websphere.appserver.api.hpel=Kernel
+com.ibm.websphere.appserver.api.json=KernelTest
com.ibm.websphere.appserver.api.kernel.service=Kernel
com.ibm.websphere.appserver.kernel-1.0=Kernel
com.ibm.websphere.appserver.kernelCore-1.0=Kernel
com.ibm.websphere.appserver.osgiConsole-1.0=Kernel
+com.ibm.websphere.appserver.spi.httptransport=KernelTest
com.ibm.websphere.appserver.spi.kernel.embeddable=Kernel
com.ibm.websphere.appserver.spi.kernel.filemonitor=Kernel
com.ibm.websphere.appserver.spi.kernel.metatype=Kernel
com.ibm.websphere.appserver.spi.kernel.service=Kernel
com.ibm.websphere.appserver.spi.logging=Kernel
com.ibm.websphere.appserver.spi.threading=Kernel
+com.ibm.websphere.appserver.spi.zosCommandProcessing=Kernel
+com.ibm.websphere.filetransfer=KernelTest
com.ibm.websphere.javaee.jsonp.1.0=Kernel
-com.ibm.websphere.javaee.servlet.3.0=KernelTestPrereq
-com.ibm.websphere.javaee.servlet.3.1=KernelTestPrereq
+com.ibm.websphere.javaee.servlet.3.0=KernelTest
+com.ibm.websphere.javaee.servlet.3.1=KernelTest
com.ibm.websphere.org.osgi.core=KernelPrereq
com.ibm.websphere.org.osgi.service.blueprint=KernelPrereq
com.ibm.websphere.org.osgi.service.cm=KernelPrereq
@@ -25,10 +29,11 @@ com.ibm.websphere.org.osgi.service.component=KernelPrereq
com.ibm.websphere.org.osgi.service.http=KernelPrereq
com.ibm.websphere.org.osgi.service.http.whiteboard=KernelPrereq
com.ibm.ws.cds=Kernel
-com.ibm.ws.channelfw=KernelTestPrereq
+com.ibm.ws.channelfw=KernelTest
com.ibm.ws.cik.launcher=Kernel
com.ibm.ws.common.encoder=Kernel
com.ibm.ws.common.encoder_test=KernelTest
+com.ibm.ws.componenttest=KernelTest
com.ibm.ws.config=Kernel
com.ibm.ws.config.ext=Kernel
com.ibm.ws.config.schemagen=Kernel
@@ -38,8 +43,11 @@ com.ibm.ws.config.server.schemagen=Kernel
com.ibm.ws.config.server.schemagen.serverschemagen=Kernel
com.ibm.ws.config.utility=Kernel
com.ibm.ws.config.utility.configUtility=Kernel
+com.ibm.ws.config.utility_fat=KernelTest
com.ibm.ws.config.utility_test=KernelTest
com.ibm.ws.config_bvt.parser=KernelTest
+com.ibm.ws.config_bvt.schema=KernelTest
+com.ibm.ws.config_fat=KernelTest
com.ibm.ws.config_test=KernelTest
com.ibm.ws.crypto.certificateutil=Kernel
com.ibm.ws.crypto.certificateutil_bvt=KernelTest
@@ -61,7 +69,9 @@ com.ibm.ws.install.utility.installUtility=Kernel
com.ibm.ws.install.ws-cikLauncher=Kernel
com.ibm.ws.install_test=KernelTest
com.ibm.ws.jmx=Kernel
+com.ibm.ws.jmx.connector.client.rest=KernelTest
com.ibm.ws.jmx.scripting.client=Kernel
+com.ibm.ws.jmx_fat=KernelTest
com.ibm.ws.jmx_test=KernelTest
com.ibm.ws.kernel.boot=Kernel
com.ibm.ws.kernel.boot.archive=Kernel
@@ -74,6 +84,7 @@ com.ibm.ws.kernel.boot.nested=Kernel
com.ibm.ws.kernel.boot.ws-launch=Kernel
com.ibm.ws.kernel.boot.ws-server=Kernel
com.ibm.ws.kernel.boot_bvt=KernelTest
+com.ibm.ws.kernel.boot_fat=KernelTest
com.ibm.ws.kernel.boot_test=KernelTest
com.ibm.ws.kernel.cmdline=Kernel
com.ibm.ws.kernel.cmdline_test=KernelTest
@@ -84,12 +95,15 @@ com.ibm.ws.kernel.feature.core=Kernel
com.ibm.ws.kernel.feature.featureManager=Kernel
com.ibm.ws.kernel.feature.featurelist=Kernel
com.ibm.ws.kernel.feature_bvt=KernelTest
+com.ibm.ws.kernel.feature_fat=KernelTest
com.ibm.ws.kernel.feature_test=KernelTest
com.ibm.ws.kernel.filemonitor=Kernel
+com.ibm.ws.kernel.filemonitor_fat=KernelTest
com.ibm.ws.kernel.filemonitor_test=KernelTest
com.ibm.ws.kernel.instrument.agent=Kernel
com.ibm.ws.kernel.instrument.check=Kernel
com.ibm.ws.kernel.metatype.helper=Kernel
+com.ibm.ws.kernel.metatype.helper_fat=KernelTest
com.ibm.ws.kernel.metatype.helper_test=KernelTest
com.ibm.ws.kernel.security.thread=Kernel
com.ibm.ws.kernel.service=Kernel
@@ -102,9 +116,11 @@ com.ibm.ws.logging.hpel=Kernel
com.ibm.ws.logging.hpel.binarylogviewer=Kernel
com.ibm.ws.logging.hpel.osgi=Kernel
com.ibm.ws.logging.hpel_bvt=KernelTest
+com.ibm.ws.logging.hpel_fat=KernelTest
com.ibm.ws.logging.hpel_test=KernelTest
com.ibm.ws.logging.osgi=Kernel
com.ibm.ws.logging_bvt=KernelTest
+com.ibm.ws.logging_fat=KernelTest
com.ibm.ws.logging_test=KernelTest
com.ibm.ws.org.apache.ant=KernelPrereq
com.ibm.ws.org.apache.aries.jmx.api=KernelPrereq
@@ -116,44 +132,58 @@ com.ibm.ws.org.apache.felix.gogo.command=KernelPrereq
com.ibm.ws.org.apache.felix.gogo.runtime=KernelPrereq
com.ibm.ws.org.apache.felix.gogo.shell=KernelPrereq
com.ibm.ws.org.apache.felix.scr=KernelPrereq
-com.ibm.ws.org.codehaus.jackson=KernelTestPrereq
+com.ibm.ws.org.codehaus.jackson=KernelTest
com.ibm.ws.org.eclipse.equinox.console=KernelPrereq
com.ibm.ws.org.eclipse.equinox.coordinator=KernelPrereq
com.ibm.ws.org.eclipse.equinox.metatype=KernelPrereq
com.ibm.ws.org.eclipse.equinox.region=KernelPrereq
com.ibm.ws.org.glassfish.json=KernelPrereq
+com.ibm.ws.org.glassfish.json_fat=KernelTest
com.ibm.ws.org.objectweb.asm=KernelPrereq
com.ibm.ws.org.osgi.annotation.versioning=KernelPrereq
-com.ibm.ws.org.osgi.service.resolver=KernelTestPrereq
+com.ibm.ws.org.osgi.service.resolver=KernelTest
com.ibm.ws.product.utility=Kernel
com.ibm.ws.product.utility.productutil=Kernel
com.ibm.ws.product.utility_bvt=KernelTest
+com.ibm.ws.product.utility_fat=KernelTest
com.ibm.ws.product.utility_test=KernelTest
com.ibm.ws.ras.instrument=Kernel
com.ibm.ws.repository=Kernel
com.ibm.ws.repository.liberty=Kernel
com.ibm.ws.repository.resolver=Kernel
+com.ibm.ws.repository.resolver_fat=KernelTest
com.ibm.ws.repository.resolver_test=KernelTest
+com.ibm.ws.repository.test.utils=KernelTest
+com.ibm.ws.repository.test.utils_test=KernelTest
com.ibm.ws.runtime.update=Kernel
com.ibm.ws.runtime.update_bvt=KernelTest
+com.ibm.ws.runtime.update_fat=KernelTest
com.ibm.ws.runtime.update_test=KernelTest
+com.ibm.ws.security.thread.zos.hooks=Kernel
com.ibm.ws.security.utility=Kernel
com.ibm.ws.security.utility.securityutil=Kernel
com.ibm.ws.security.utility_bvt=KernelTest
+com.ibm.ws.security.utility_fat=KernelTest
com.ibm.ws.security.utility_test=KernelTest
com.ibm.ws.threading=Kernel
com.ibm.ws.threading_bvt=KernelTest
+com.ibm.ws.threading_fat=KernelTest
com.ibm.ws.threading_test=KernelTest
-com.ibm.ws.timer=KernelTestPrereq
-com.ibm.ws.transport.http=KernelTestPrereq
+com.ibm.ws.timer=KernelTest
+com.ibm.ws.transport.http=KernelTest
+com.ibm.ws.zos.channel.console=Kernel
com.ibm.ws.zos.command.processing=Kernel
com.ibm.ws.zos.command.processing_test=KernelTest
+com.ibm.ws.zos.command.processing_zfat=KernelTest
+com.ibm.ws.zos.command.processing_ztest=KernelTest
com.ibm.ws.zos.core=Kernel
com.ibm.ws.zos.core_test=KernelTest
com.ibm.ws.zos.diagnostics=Kernel
com.ibm.ws.zos.diagnostics_test=KernelTest
com.ibm.ws.zos.logging=Kernel
com.ibm.ws.zos.logging_test=KernelTest
+com.ibm.ws.zos.logging_zfat=KernelTest
+com.ibm.ws.zos.logging_ztest=KernelTest
com.ibm.wsspi.org.osgi.core=KernelPrereq
com.ibm.wsspi.org.osgi.namespace.service=KernelPrereq
com.ibm.wsspi.org.osgi.service.cm=KernelPrereq
@@ -167,10 +197,12 @@ com.ibm.wsspi.org.osgi.service.metatype.annotations=KernelPrereq
com.ibm.wsspi.org.osgi.service.subsystem=KernelPrereq
com.ibm.wsspi.thirdparty.equinox=KernelPrereq
com.ibm.zos.native=Kernel
+fattest.simplicity=KernelTest
org.eclipse.osgi=Kernel
prereq.java.1.6=KernelPrereq
prereq.java.1.7=KernelPrereq
prereq.java.1.8=KernelPrereq
prereq.java.tools=KernelPrereq
wlp.lib.extract=Kernel
+wlp.lib.extract_fat=KernelTest
wlp.lib.extract_test=KernelTest
diff --git a/dev/cnf/settings.xml b/dev/cnf/settings.xml
new file mode 100644
index 000000000000..8212796b7b3e
--- /dev/null
+++ b/dev/cnf/settings.xml
@@ -0,0 +1,12 @@
+
+
+
+ https://na-blue.artifactory.swg-devops.com
+ ../../../ssh_keys/id_rsa.pub
+ false
+
+
+
diff --git a/dev/com.ibm.websphere.appserver.api.json/.classpath b/dev/com.ibm.websphere.appserver.api.json/.classpath
new file mode 100644
index 000000000000..bd52baaf243d
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.api.json/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/dev/com.ibm.websphere.appserver.api.json/.gitignore b/dev/com.ibm.websphere.appserver.api.json/.gitignore
new file mode 100644
index 000000000000..05ee82b1e374
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.api.json/.gitignore
@@ -0,0 +1,3 @@
+/bin/
+/build/
+/generated/
diff --git a/dev/com.ibm.websphere.appserver.api.json/.project b/dev/com.ibm.websphere.appserver.api.json/.project
new file mode 100644
index 000000000000..93a49f1138b4
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.api.json/.project
@@ -0,0 +1,23 @@
+
+
+ com.ibm.websphere.appserver.api.json
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ bndtools.core.bndbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ bndtools.core.bndnature
+
+
diff --git a/dev/com.ibm.websphere.appserver.api.json/bnd.bnd b/dev/com.ibm.websphere.appserver.api.json/bnd.bnd
new file mode 100644
index 000000000000..41f99c8f9b54
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.api.json/bnd.bnd
@@ -0,0 +1,18 @@
+-include= ~../cnf/resources/bnd/bundle.props
+bVersion: 1.0
+
+Bundle-Name: WebSphere JSON API
+Bundle-Description: WebSphere JSON API, version ${bVersion}
+Bundle-SymbolicName: com.ibm.websphere.appserver.api.json
+
+Export-Package: com.ibm.json.java,com.ibm.json.xml
+
+Import-Package: com.ibm.json.java,com.ibm.json.xml
+
+-includeresource: {META-INF/maven/com.ibm.websphere.appserver.api/com.ibm.websphere.appserver.api.json/pom.xml=com.ibm.websphere.appserver.api.json.pom}
+
+publish.wlp.jar.suffix: dev/api/ibm
+
+-buildpath: \
+ ${javac.bootclasspath.java6}, \
+ com.ibm.json4j;version=latest
diff --git a/dev/com.ibm.ws.common.encoder_test/build.nogradle b/dev/com.ibm.websphere.appserver.api.json/build.gradle
similarity index 100%
rename from dev/com.ibm.ws.common.encoder_test/build.nogradle
rename to dev/com.ibm.websphere.appserver.api.json/build.gradle
diff --git a/dev/com.ibm.websphere.appserver.api.json/com.ibm.websphere.appserver.api.json.pom b/dev/com.ibm.websphere.appserver.api.json/com.ibm.websphere.appserver.api.json.pom
new file mode 100644
index 000000000000..3d8e15485dbf
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.api.json/com.ibm.websphere.appserver.api.json.pom
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+ IBM International License Agreement for Non-Warranted Programs
+ http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/maven/licenses/L-JTHS-8SZMHX/HTML/
+ repo
+ Additional notices http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/maven/licenses/L-JTHS-8SZMHX/HTML/notices.html
+
+
+
+ 4.0.0
+ com.ibm.websphere.appserver.api
+ com.ibm.websphere.appserver.api.json
+ ${bFullVersion}
+ WebSphere JSON API
+ WebSphere JSON API, version 1.0
+
diff --git a/dev/com.ibm.websphere.appserver.kernel-1.0/bnd.bnd b/dev/com.ibm.websphere.appserver.kernel-1.0/bnd.bnd
index 9993d426f9d3..a55886b43387 100644
--- a/dev/com.ibm.websphere.appserver.kernel-1.0/bnd.bnd
+++ b/dev/com.ibm.websphere.appserver.kernel-1.0/bnd.bnd
@@ -114,6 +114,9 @@ bVersion=1.0
com.ibm.ws.repository;version=latest,\
com.ibm.ws.security.utility.securityutil;version=latest,\
com.ibm.ws.security.utility;version=latest,\
+ com.ibm.ws.security.thread.zos.hooks;version=latest,\
+ com.ibm.websphere.appserver.spi.zosCommandProcessing;version=latest,\
+ com.ibm.ws.zos.channel.console;version=latest,\
com.ibm.ws.zos.command.processing;version=latest,\
com.ibm.ws.zos.core;version=latest,\
com.ibm.ws.zos.diagnostics;version=latest,\
diff --git a/dev/com.ibm.websphere.appserver.spi.httptransport/.classpath b/dev/com.ibm.websphere.appserver.spi.httptransport/.classpath
new file mode 100644
index 000000000000..bd52baaf243d
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.spi.httptransport/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/dev/com.ibm.websphere.appserver.spi.httptransport/.gitignore b/dev/com.ibm.websphere.appserver.spi.httptransport/.gitignore
new file mode 100644
index 000000000000..05ee82b1e374
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.spi.httptransport/.gitignore
@@ -0,0 +1,3 @@
+/bin/
+/build/
+/generated/
diff --git a/dev/com.ibm.websphere.appserver.spi.httptransport/.project b/dev/com.ibm.websphere.appserver.spi.httptransport/.project
new file mode 100644
index 000000000000..126bb709e65a
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.spi.httptransport/.project
@@ -0,0 +1,23 @@
+
+
+ com.ibm.websphere.appserver.spi.httptransport
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ bndtools.core.bndbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ bndtools.core.bndnature
+
+
diff --git a/dev/com.ibm.websphere.appserver.spi.httptransport/bnd.bnd b/dev/com.ibm.websphere.appserver.spi.httptransport/bnd.bnd
new file mode 100644
index 000000000000..ec5ba29ca728
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.spi.httptransport/bnd.bnd
@@ -0,0 +1,18 @@
+-include= ~../cnf/resources/bnd/bundle.props
+bVersion: 1.1
+
+Bundle-Name: WebSphere HTTP Transport SPI
+Bundle-Description: WebSphere HTTP Transport SPI, version ${bVersion}
+Bundle-SymbolicName: com.ibm.websphere.appserver.spi.httptransport
+
+Import-Package: com.ibm.wsspi.http
+
+Export-Package: com.ibm.wsspi.http
+
+-includeresource: {META-INF/maven/com.ibm.websphere.appserver.spi/com.ibm.websphere.appserver.spi.httptransport/pom.xml=com.ibm.websphere.appserver.spi.httptransport.pom}
+
+publish.wlp.jar.suffix: dev/spi/ibm
+
+-buildpath: \
+ ${javac.bootclasspath.java6}, \
+ com.ibm.ws.transport.http
diff --git a/dev/com.ibm.ws.config.schemagen_test/build.nogradle b/dev/com.ibm.websphere.appserver.spi.httptransport/build.gradle
similarity index 100%
rename from dev/com.ibm.ws.config.schemagen_test/build.nogradle
rename to dev/com.ibm.websphere.appserver.spi.httptransport/build.gradle
diff --git a/dev/com.ibm.websphere.appserver.spi.httptransport/com.ibm.websphere.appserver.spi.httptransport.pom b/dev/com.ibm.websphere.appserver.spi.httptransport/com.ibm.websphere.appserver.spi.httptransport.pom
new file mode 100644
index 000000000000..0ded337f88f0
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.spi.httptransport/com.ibm.websphere.appserver.spi.httptransport.pom
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+ IBM International License Agreement for Non-Warranted Programs
+ http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/maven/licenses/L-JTHS-8SZMHX/HTML/
+ repo
+ Additional notices http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/maven/licenses/L-JTHS-8SZMHX/HTML/notices.html
+
+
+
+ 4.0.0
+ com.ibm.websphere.appserver.spi
+ com.ibm.websphere.appserver.spi.httptransport
+ ${bFullVersion}
+ WebSphere HTTP Transport SPI
+ WebSphere HTTP Transport SPI, version 1.1
+
diff --git a/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/.classpath b/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/.classpath
new file mode 100644
index 000000000000..bd52baaf243d
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/.gitignore b/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/.gitignore
new file mode 100644
index 000000000000..05ee82b1e374
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/.gitignore
@@ -0,0 +1,3 @@
+/bin/
+/build/
+/generated/
diff --git a/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/.project b/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/.project
new file mode 100644
index 000000000000..fd7f331879d2
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/.project
@@ -0,0 +1,23 @@
+
+
+ com.ibm.websphere.appserver.spi.zosCommandProcessing
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ bndtools.core.bndbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ bndtools.core.bndnature
+
+
diff --git a/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/bnd.bnd b/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/bnd.bnd
new file mode 100644
index 000000000000..3b3bb4a4caa3
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/bnd.bnd
@@ -0,0 +1,17 @@
+-include= ~../cnf/resources/bnd/bundle.props
+bVersion: 1.0
+
+Bundle-Name: WebSphere ZOS Command Processing SPI
+Bundle-Description: WebSphere ZOS Command Processing SPI, version ${bVersion}
+Bundle-SymbolicName: com.ibm.websphere.appserver.spi.zosCommandProcessing
+
+Import-Package: com.ibm.wsspi.zos.command.processing
+
+Export-Package: com.ibm.wsspi.zos.command.processing
+-includeresource: {META-INF/maven/com.ibm.websphere.appserver.spi/com.ibm.websphere.appserver.spi.zosCommandProcessing/pom.xml=com.ibm.websphere.appserver.spi.zosCommandProcessing.pom}
+
+publish.wlp.jar.suffix: dev/spi/ibm
+
+-buildpath: \
+ ${javac.bootclasspath.java6}, \
+ com.ibm.ws.zos.core
diff --git a/dev/com.ibm.ws.config.utility_test/build.nogradle b/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/build.gradle
similarity index 100%
rename from dev/com.ibm.ws.config.utility_test/build.nogradle
rename to dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/build.gradle
diff --git a/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/com.ibm.websphere.appserver.spi.zosCommandProcessing.pom b/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/com.ibm.websphere.appserver.spi.zosCommandProcessing.pom
new file mode 100644
index 000000000000..6f63f397d737
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.spi.zosCommandProcessing/com.ibm.websphere.appserver.spi.zosCommandProcessing.pom
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+ IBM International License Agreement for Non-Warranted Programs
+ http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/maven/licenses/L-JTHS-8SZMHX/HTML/
+ repo
+ Additional notices http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/maven/licenses/L-JTHS-8SZMHX/HTML/notices.html
+
+
+
+ 4.0.0
+ com.ibm.websphere.appserver.spi
+ com.ibm.websphere.appserver.spi.zosCommandProcessing
+ 1.0.16
+ WebSphere ZOS Command Processing SPI
+ WebSphere ZOS Command Processing SPI, version 1.0
+
diff --git a/dev/com.ibm.websphere.filetransfer/.classpath b/dev/com.ibm.websphere.filetransfer/.classpath
new file mode 100755
index 000000000000..2876090f9036
--- /dev/null
+++ b/dev/com.ibm.websphere.filetransfer/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/dev/com.ibm.websphere.filetransfer/.classpath.gradle b/dev/com.ibm.websphere.filetransfer/.classpath.gradle
new file mode 100644
index 000000000000..2876090f9036
--- /dev/null
+++ b/dev/com.ibm.websphere.filetransfer/.classpath.gradle
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/dev/com.ibm.websphere.filetransfer/.gitignore b/dev/com.ibm.websphere.filetransfer/.gitignore
new file mode 100644
index 000000000000..57b341172a1b
--- /dev/null
+++ b/dev/com.ibm.websphere.filetransfer/.gitignore
@@ -0,0 +1,2 @@
+/bin/
+/generated/
diff --git a/dev/com.ibm.websphere.filetransfer/.project b/dev/com.ibm.websphere.filetransfer/.project
new file mode 100755
index 000000000000..d0435f4bb977
--- /dev/null
+++ b/dev/com.ibm.websphere.filetransfer/.project
@@ -0,0 +1,23 @@
+
+
+ com.ibm.websphere.filetransfer
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ bndtools.core.bndbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ bndtools.core.bndnature
+
+
diff --git a/dev/com.ibm.websphere.filetransfer/.settings/org.eclipse.core.resources.prefs b/dev/com.ibm.websphere.filetransfer/.settings/org.eclipse.core.resources.prefs
new file mode 100755
index 000000000000..25d9425fe34e
--- /dev/null
+++ b/dev/com.ibm.websphere.filetransfer/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+#Ant properties
+#Automatically generated by the ant prepare.settings.files task
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/dev/com.ibm.websphere.filetransfer/.settings/org.eclipse.jdt.core.prefs b/dev/com.ibm.websphere.filetransfer/.settings/org.eclipse.jdt.core.prefs
new file mode 100755
index 000000000000..845c3083c7df
--- /dev/null
+++ b/dev/com.ibm.websphere.filetransfer/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,286 @@
+#Ant properties
+#Automatically generated by the ant prepare.settings.files task
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=18
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=2
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=2
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=18
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=2
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=18
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=18
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=18
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=4
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=false
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=180
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=4
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=8
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=180
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/dev/com.ibm.websphere.filetransfer/.settings/org.eclipse.jdt.ui.prefs b/dev/com.ibm.websphere.filetransfer/.settings/org.eclipse.jdt.ui.prefs
new file mode 100755
index 000000000000..c874b5816985
--- /dev/null
+++ b/dev/com.ibm.websphere.filetransfer/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,117 @@
+#Ant properties
+#Automatically generated by the ant prepare.settings.files task
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=true
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=false
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+org.eclipse.jdt.ui.exception.name=e
+org.eclipse.jdt.ui.gettersetter.use.is=false
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=/**\n *\n * ${tags}\n *//**\n * ${tags}\n * ${see_to_target}\n *//**\n * ${tags}\n *//** *//**\n * ${tags}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//*\n* IBM Confidential\n*\n* OCO Source Materials\n*\n* WLP Copyright IBM Corp. ${year}\n*\n* The source code for this program is not published or otherwise divested \n* of its trade secrets, irrespective of what has been deposited with the \n* U.S. Copyright Office.\n*//**\n * @return the ${bare_field_name}\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\n// Do you need FFDC here? Remember FFDC instrumentation and @FFDCIgnore\n// http\://was.pok.ibm.com/xwiki/bin/view/Liberty/LoggingFFDC\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/dev/com.ibm.websphere.filetransfer/.settings/org.sonar.ide.eclipse.core.prefs b/dev/com.ibm.websphere.filetransfer/.settings/org.sonar.ide.eclipse.core.prefs
new file mode 100755
index 000000000000..e0b979e14e47
--- /dev/null
+++ b/dev/com.ibm.websphere.filetransfer/.settings/org.sonar.ide.eclipse.core.prefs
@@ -0,0 +1,7 @@
+analyseLocally=false
+eclipse.preferences.version=1
+extraProperties=
+lastAnalysisDate=1366911191199
+projectKey=Liberty-8.5.5\:com.ibm.websphere.filetransfer
+serverUrl=http\://szeged.hursley.ibm.com\:8080/sonar
+version=2
diff --git a/dev/com.ibm.websphere.filetransfer/README.txt b/dev/com.ibm.websphere.filetransfer/README.txt
new file mode 100755
index 000000000000..9cd48f08a57f
--- /dev/null
+++ b/dev/com.ibm.websphere.filetransfer/README.txt
@@ -0,0 +1,5 @@
+Last update: 2013/08/13
+
+This project (com.ibm.websphere.filetransfer) is intended to encapsulate all of
+the public API and SPI related to file transfer support. Do not add non-public
+interfaces to this project.
diff --git a/dev/com.ibm.websphere.filetransfer/bnd.bnd b/dev/com.ibm.websphere.filetransfer/bnd.bnd
new file mode 100755
index 000000000000..c5c4404d0cf5
--- /dev/null
+++ b/dev/com.ibm.websphere.filetransfer/bnd.bnd
@@ -0,0 +1,15 @@
+-include= ~../cnf/resources/bnd/bundle.props
+bVersion=1.0
+
+Bundle-Name: WebSphere File Services APIs
+Bundle-SymbolicName: com.ibm.websphere.filetransfer
+Bundle-Description: APIs for WebSphere File Services; version=${bVersion}
+Bundle-ActivationPolicy: lazy
+
+Export-Package: com.ibm.websphere.filetransfer
+
+instrument.disabled: true
+
+-buildpath: \
+ ${javac.bootclasspath.java6}, \
+ com.ibm.ws.org.osgi.annotation.versioning.1.0.0;version=latest
diff --git a/dev/com.ibm.ws.config_bvt.parser/build.nogradle b/dev/com.ibm.websphere.filetransfer/build.gradle
similarity index 100%
rename from dev/com.ibm.ws.config_bvt.parser/build.nogradle
rename to dev/com.ibm.websphere.filetransfer/build.gradle
diff --git a/dev/com.ibm.websphere.filetransfer/build.xml b/dev/com.ibm.websphere.filetransfer/build.xml
new file mode 100755
index 000000000000..511276204f20
--- /dev/null
+++ b/dev/com.ibm.websphere.filetransfer/build.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/dev/com.ibm.websphere.filetransfer/findbugs.exclude.xml b/dev/com.ibm.websphere.filetransfer/findbugs.exclude.xml
new file mode 100755
index 000000000000..1cf8902cff2b
--- /dev/null
+++ b/dev/com.ibm.websphere.filetransfer/findbugs.exclude.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dev/com.ibm.websphere.filetransfer/src/com/ibm/websphere/filetransfer/FileServiceMXBean.java b/dev/com.ibm.websphere.filetransfer/src/com/ibm/websphere/filetransfer/FileServiceMXBean.java
new file mode 100755
index 000000000000..acf390bfa21e
--- /dev/null
+++ b/dev/com.ibm.websphere.filetransfer/src/com/ibm/websphere/filetransfer/FileServiceMXBean.java
@@ -0,0 +1,231 @@
+/*
+ * IBM Confidential
+ *
+ * OCO Source Materials
+ *
+ * Copyright IBM Corp. 2012
+ *
+ * The source code for this program is not published or otherwise divested
+ * of its trade secrets, irrespective of what has been deposited with the
+ * U.S. Copyright Office.
+ */
+package com.ibm.websphere.filetransfer;
+
+import java.beans.ConstructorProperties;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * This MBean provides file service operations on the host system on which
+ * the server resides.
+ *
+ * The ObjectName for this MBean is {@value #OBJECT_NAME}.
+ *
+ * All paths are implicitly remote, as the operations performed by this MBean
+ * occur on the host which the server resides. All paths are required to be
+ * absolute, either explicitly or rooted with a WebSphere variable such as
+ * ${wlp.install.dir}.
+ *
+ * @ibm-api
+ */
+public interface FileServiceMXBean {
+
+ /**
+ * A String representing the {@link javax.management.ObjectName} that this MXBean maps to.
+ */
+ String OBJECT_NAME = "WebSphere:feature=restConnector,type=FileService,name=FileService";
+
+ /**
+ * Option indicating all available keys should be used for the query.
+ */
+ String REQUEST_OPTIONS_ALL = "a";
+
+ /**
+ * Option indicating that "isDirectory" key should be used for the query.
+ */
+ String REQUEST_OPTIONS_IS_DIRECTORY = "d";
+
+ /**
+ * Option indicating that "isReadOnly" key should be used for the query.
+ */
+ String REQUEST_OPTIONS_READ_ONLY = "r";
+
+ /**
+ * Option indicating that "size" key should be used for the query.
+ */
+ String REQUEST_OPTIONS_SIZE = "s";
+
+ /**
+ * Option indicating that "lastModified" key should be used for the query.
+ */
+ String REQUEST_OPTIONS_LAST_MODIFIED = "t";
+
+ /**
+ * The name of the attribute representing the list of read locations.
+ */
+ String ATTRIBUTE_NAME_READ_LIST = "ReadList";
+
+ /**
+ * The name of the attribute representing the list of write locations.
+ */
+ String ATTRIBUTE_NAME_WRITE_LIST = "WriteList";
+
+ /**
+ * Get the configured list of read-accessible locations on the host where
+ * this server resides. This list is configurable for each server by
+ * modifying the server.xml. Each directory to allow for read access can
+ * be specified to the <remoteFileAccess> configuration element
+ * 'readDir' attribute.
+ *
+ * The default is an empty list.
+ *
+ * @return a list of Strings containing the absolute paths which are read-accessible.
+ */
+ List getReadList();
+
+ /**
+ * Get the configured list of write-accessible locations on the host where
+ * this server resides. This list is configurable for each server by
+ * modifying the server.xml. Each direcoty to allow for write access can
+ * be specified to the <remoteFileAccess> configuration element
+ * 'writeDir' attribute.
+ *
+ * The default is a list containing 3 entries: ${wlp.install.dir},
+ * ${wlp.user.dir} and ${server.output.dir}.
+ *
+ * @return a list of Strings containing the absolute paths which are write-accessible.
+ */
+ List getWriteList();
+
+ /**
+ * Get the metadata pertaining to the specified path. The result object
+ * will contain the requested metadata subset as indicated by the
+ * requestOptions String value, which should be constructed as a
+ * concatenation of the desired values.
+ *
+ * For example: to obtain a request that provides only the "size" and
+ * "lastModified" metadata values, the user can pass in "st" as the
+ * requestOptions field.
+ *
+ * @param path the absolute path of the file or directory for which to retrieve the metadata
+ * @param requestOptions a String representing the concatenation of the requested metadata keys. See REQUEST_OPTIONS_* fields.
+ * @return a CompositeData containing the requested metadata
+ */
+ MetaData getMetaData(String path, String requestOptions);
+
+ /**
+ * List the directory/files for the given path.
+ *
+ * @param directory the absolute path of the directory to list
+ * @param recursive a boolean to specify if the search should be done to all descendant paths
+ * @param requestOptions a String representing the concatenation of the requested metadata keys
+ * @return an array of CompositeData, representing the requested metadata for each entry
+ */
+ MetaData[] getDirectoryEntries(String directory, boolean recursive, String requestOptions);
+
+ /**
+ * Create an archive of the given sourcePath.
+ *
+ * This operation occurs on the file system on which this server resides.
+ * Therefore the sourcePath and targetPath are paths on the server's host
+ * system.
+ *
+ * @param sourcePath the absolute path of the entity to archive
+ * @param targetPath the absolute path to where resulting archive is to be stored
+ * @return true if archive was successfully created, false otherwise
+ */
+ boolean createArchive(String sourcePath, String targetPath);
+
+ /**
+ * Expand the archive at the given sourcePath.
+ *
+ * This operation occurs on the file system on which this server resides.
+ * Therefore the sourcePath and targetPath are paths on the server's host
+ * system.
+ *
+ * @param sourcePath the absolute path of the archive to be expanded
+ * @param targetPath the absolute path to where archive is to be expanded
+ * @return true if archive was successfully expanded, false otherwise
+ */
+ boolean expandArchive(String sourcePath, String targetPath);
+
+ /**
+ * Return type for the getMetaData and getDirectoryEntries methods.
+ *
+ * The JMX framework will convert this to a CompositeData object on the client side.
+ */
+ public class MetaData {
+
+ private final Boolean directory;
+ private final Boolean readOnly;
+ private final Date lastModified;
+ private final Long size;
+ private final String fileName;
+
+ @ConstructorProperties({ "directory", "lastModified", "size", "readOnly", "fileName" })
+ public MetaData(Boolean directory, Date lastModified, Long size, Boolean readOnly, String fileName) {
+ this.directory = directory;
+ this.lastModified = (lastModified == null) ? null : (Date) lastModified.clone();
+ this.size = size;
+ this.readOnly = readOnly;
+ this.fileName = fileName;
+ }
+
+ /**
+ * Boolean value indicating whether or not the entity is a directory.
+ *
+ * @return {@code true} if the entity is a directory, {@code false} otherwise.
+ */
+ public Boolean getDirectory() {
+ return this.directory;
+ }
+
+ /**
+ * @return Date object representing the time the entity was last modified
+ */
+ public Date getLastModified() {
+ return (this.lastModified == null) ? null : (Date) this.lastModified.clone();
+ }
+
+ /**
+ * @return Long object indicating the size of the entity.
+ */
+ public Long getSize() {
+ return this.size;
+ }
+
+ /**
+ * Boolean value indicating whether or not the entity is read-only.
+ *
+ * @return {@code true} if the entity is read-only, {@code false} otherwise.
+ */
+ public Boolean getReadOnly() {
+ return this.readOnly;
+ }
+
+ /**
+ * @return String value indicating the entity's absolute path.
+ */
+ public String getFileName() {
+ return this.fileName;
+ }
+
+ }
+
+}
diff --git a/dev/com.ibm.websphere.filetransfer/src/com/ibm/websphere/filetransfer/FileTransferMBean.java b/dev/com.ibm.websphere.filetransfer/src/com/ibm/websphere/filetransfer/FileTransferMBean.java
new file mode 100755
index 000000000000..33b9690890cb
--- /dev/null
+++ b/dev/com.ibm.websphere.filetransfer/src/com/ibm/websphere/filetransfer/FileTransferMBean.java
@@ -0,0 +1,137 @@
+/*
+ * IBM Confidential
+ *
+ * OCO Source Materials
+ *
+ * Copyright IBM Corp. 2012, 2015
+ *
+ * The source code for this program is not published or otherwise divested
+ * of its trade secrets, irrespective of what has been deposited with the
+ * U.S. Copyright Office.
+ */
+package com.ibm.websphere.filetransfer;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * This MBean exposes remote file transfer capabilities and must be accessed
+ * only within IBM's JMX REST Connector. Accessing this MBean by any
+ * other means will result in a {@link java.lang.UnsupportedOperationException}.
+ *
+ * The ObjectName for this MBean is {@value #OBJECT_NAME}.
+ *
+ * For the remote file parameters (ie: remoteSourceFile for download/delete
+ * and remoteTargetFile for upload) the following characteristics apply:
+ *
+ *
the remote file will be either on the connected host or on the routing host (if one is setup).
+ *
all file paths need to be either absolute or prepend a Liberty-defined symbol (described on <wlp>/README.txt) that resolves to an absolute path.
+ *
all read and write operations need to be within the configured (or defaulted) read/write regions. See {@link com.ibm.websphere.filetransfer.FileServiceMXBean} for details.
+ *
+ *
+ * For the local file parameters (ie: localTargetFile for download and and
+ * localSourceFile for upload) the following characteristics apply:
+ *
+ *
the local file will be in a folder that contains the appropriate read/write permissions.
+ *
the file path is either absolute or relative to the current working directory.
+ *
+ *
+ * @ibm-api
+ */
+public interface FileTransferMBean {
+
+ /**
+ * A string representing the {@link javax.management.ObjectName} that this MBean maps to.
+ */
+ String OBJECT_NAME = "WebSphere:feature=restConnector,type=FileTransfer,name=FileTransfer";
+
+ /**
+ * Download a file from the specified remote source location and write it
+ * in the specified local target location.
+ *
+ * Directories are not supported as the remote source file. To download a
+ * directory, it must first be archived.
+ *
+ * @param remoteSourceFile the remote file location of the source to download
+ * @param localTargetFile the local file location where the source contents will be written
+ * @throws IOException if there are any issues handling the source or target files
+ */
+ void downloadFile(String remoteSourceFile, String localTargetFile) throws IOException;
+
+ /**
+ * Download part of a file from the specified remote source location using the specified start and
+ * end offset byte values and write it in the specified local target location.
+ *
+ * Directories are not supported as the remote source file. To download a
+ * directory, it must first be archived.
+ *
+ * This partial download feature is currently available only in non-routing scenarios.
+ *
+ * @param remoteSourceFile the remote file location of the source to download
+ * @param localTargetFile the local file location where the source contents will be written
+ * @param startOffset index of the first byte to copy (zero-based and inclusive)
+ * @param endOffset index of the last byte to copy (zero-based and inclusive).
+ * Specify -1 to copy until the end of file.
+ *
+ * @return Index to use as start offset for next partial file download request.
+ * If this value is greater than the startOffset value that was passed in, then
+ * some bytes (equivalent to the difference) were transferred by this download request.
+ *
+ * Note: It is assumed that in-between the download requests, remote source file is not
+ * modified in any way except for appending contents to end of the file.
+ *
+ * @throws IOException if there are any issues handling the source or target files
+ */
+ long downloadFile(String remoteSourceFile, String localTargetFile, long startOffset, long endOffset) throws IOException;
+
+ /**
+ * Upload a file from the specified local source location and write it
+ * in the specified remote target location.
+ *
+ * This method optionally supports expanding an archive (specified as the local
+ * source file) to the remote target file. The supported compression
+ * formats are 'zip' and 'jar' (including war and ear) . All other format types will result in
+ * undefined behaviour.
+ *
+ * Directories are not supported as the local source file. To upload a
+ * directory, it must first be archived and can then be expanded during upload using the expandOnCompletion option.
+ * This option has a special behaviour: the archive will be uploaded as a regular file to the remote system, and then we
+ * will make a directory that matches the filename specified by remoteTargetFile, and the contents will be expanded inside that new folder.
+ *
+ *
Example: Uploading an archive with remoteTargetFile /home/myFolder/wlp.zip and the expandOnCompletion
+ * option set to true will upload the archive wlp.zip to the remote file system, create a folder called wlp.zip
+ * under the directory /home/myFolder, and then expand the contents of the archive inside the folder /home/myFolder/wlp.zip.
+ *
+ * If expandOnCompletion flag is false,then remoteTargetFile must match a filename with an extension (unless the file has not extension), and
+ * cannot be a folder.
+ *
+ *
+ * @param localSourceFile the local path to the file that will be uploaded.
+ * The source file must be a file, since directories are not supported.
+ * @param remoteTargetFile the remote path of the uploaded file.
+ * The target file must be a file, since directories are not supported.
+ * @param expandOnCompletion indicates if the archive should be expanded automatically after it is uploaded.
+ * @throws IOException if there are any issues handling the request
+ */
+ void uploadFile(String localSourceFile, String remoteTargetFile, boolean expandOnCompletion) throws IOException;
+
+ /**
+ * Delete a file located at the remote specified location.
+ *
+ * Recursive deletion of a directory is not supported, however deletion of
+ * an empty directory is supported.
+ *
+ * @param remoteSourceFile the location of the remote file to be deleted
+ * @throws IOException if there are any issues handling the request
+ */
+ void deleteFile(String remoteSourceFile) throws IOException;
+
+ /**
+ * Delete files and folders (empty and non-empty) at the remote specified locations
+ *
+ * @param remoteArtifacts list of locations of remote files and folders (empty and non-empty) to delete
+ * @throws IOException if there are any issues handling the request
+ */
+ void deleteAll(List remoteArtifacts) throws IOException;
+
+}
diff --git a/dev/com.ibm.websphere.filetransfer/src/com/ibm/websphere/filetransfer/package-info.java b/dev/com.ibm.websphere.filetransfer/src/com/ibm/websphere/filetransfer/package-info.java
new file mode 100755
index 000000000000..4b8251a907a2
--- /dev/null
+++ b/dev/com.ibm.websphere.filetransfer/src/com/ibm/websphere/filetransfer/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * IBM Confidential
+ *
+ * OCO Source Materials
+ *
+ * Copyright IBM Corp. 2011, 2014
+ *
+ * The source code for this program is not published or otherwise divested
+ * of its trade secrets, irrespective of what has been deposited with the
+ * U.S. Copyright Office.
+ */
+
+/**
+ * This package is intended to encapsulate the public API and SPI related
+ * to file transfer. Do not add non-public interfaces to this package.
+ *
+ * @version 1.1
+ */
+@org.osgi.annotation.versioning.Version("1.1")
+package com.ibm.websphere.filetransfer;
+
diff --git a/dev/com.ibm.websphere.javaee.servlet.3.0/.classpath b/dev/com.ibm.websphere.javaee.servlet.3.0/.classpath
index 9a3a2e91b106..bd52baaf243d 100644
--- a/dev/com.ibm.websphere.javaee.servlet.3.0/.classpath
+++ b/dev/com.ibm.websphere.javaee.servlet.3.0/.classpath
@@ -1,7 +1,6 @@
-
-
-
-
+
+
+
diff --git a/dev/com.ibm.websphere.javaee.servlet.3.0/.classpath.gradle b/dev/com.ibm.websphere.javaee.servlet.3.0/.classpath.gradle
new file mode 100644
index 000000000000..bd52baaf243d
--- /dev/null
+++ b/dev/com.ibm.websphere.javaee.servlet.3.0/.classpath.gradle
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/dev/com.ibm.websphere.javaee.servlet.3.0/bnd.bnd b/dev/com.ibm.websphere.javaee.servlet.3.0/bnd.bnd
new file mode 100644
index 000000000000..6cf29be24adc
--- /dev/null
+++ b/dev/com.ibm.websphere.javaee.servlet.3.0/bnd.bnd
@@ -0,0 +1,24 @@
+-include= ~../cnf/resources/bnd/bundle.props
+bVersion=1.0
+
+Bundle-SymbolicName: com.ibm.websphere.javaee.servlet.3.0; singleton:=true
+
+Export-Package: \
+ javax.servlet;thread-context=true;version="2.6.0";uses:="javax.servlet.annotation,javax.servlet.descriptor",\
+ javax.servlet.annotation;thread-context=true;version="2.6.0";uses:="javax.servlet",\
+ javax.servlet.descriptor;thread-context=true;version="2.6.0",\
+ javax.servlet.http;thread-context=true;version="2.6.0";uses:="javax.servlet",\
+ javax.servlet.resources;thread-context=true;version="2.6.0"
+
+Include-Resource: \
+ @lib/com.ibm.ws.javax.servlet_3.0.jar!/META-INF/LICENSE, \
+ @lib/com.ibm.ws.javax.servlet_3.0.jar!/META-INF/NOTICE, \
+ @lib/com.ibm.ws.javax.servlet_3.0.jar!/javax/servlet/resources/**
+
+instrument.disabled: true
+
+publish.wlp.jar.suffix: dev/api/spec
+
+-buildpath: \
+ ${javac.bootclasspath.java6}, \
+ lib/com.ibm.ws.javax.servlet_3.0.jar;version=file
diff --git a/dev/com.ibm.ws.config_test/build.nogradle b/dev/com.ibm.websphere.javaee.servlet.3.0/build.gradle
similarity index 100%
rename from dev/com.ibm.ws.config_test/build.nogradle
rename to dev/com.ibm.websphere.javaee.servlet.3.0/build.gradle
diff --git a/dev/com.ibm.websphere.javaee.servlet.3.0/build.xml b/dev/com.ibm.websphere.javaee.servlet.3.0/build.xml
new file mode 100644
index 000000000000..77e6bc1ef59e
--- /dev/null
+++ b/dev/com.ibm.websphere.javaee.servlet.3.0/build.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dev/com.ibm.websphere.javaee.servlet.3.1/.classpath b/dev/com.ibm.websphere.javaee.servlet.3.1/.classpath
index 54c7241a516c..bd52baaf243d 100644
--- a/dev/com.ibm.websphere.javaee.servlet.3.1/.classpath
+++ b/dev/com.ibm.websphere.javaee.servlet.3.1/.classpath
@@ -1,8 +1,6 @@
-
-
-
-
-
+
+
+
diff --git a/dev/com.ibm.websphere.javaee.servlet.3.1/.classpath.gradle b/dev/com.ibm.websphere.javaee.servlet.3.1/.classpath.gradle
new file mode 100644
index 000000000000..bd52baaf243d
--- /dev/null
+++ b/dev/com.ibm.websphere.javaee.servlet.3.1/.classpath.gradle
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/dev/com.ibm.websphere.javaee.servlet.3.1/bnd.bnd b/dev/com.ibm.websphere.javaee.servlet.3.1/bnd.bnd
new file mode 100644
index 000000000000..672180e2c362
--- /dev/null
+++ b/dev/com.ibm.websphere.javaee.servlet.3.1/bnd.bnd
@@ -0,0 +1,22 @@
+-include= ~../cnf/resources/bnd/bundle.props
+bVersion=1.0
+
+Bundle-SymbolicName: com.ibm.websphere.javaee.servlet.3.1; singleton:=true
+
+Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.7))"
+
+Export-Package: \
+ javax.servlet;thread-context=true;version="2.7.0";uses:="javax.servlet.annotation,javax.servlet.descriptor",\
+ javax.servlet.annotation;thread-context=true;version="2.7.0";uses:="javax.servlet",\
+ javax.servlet.descriptor;thread-context=true;version="2.7.0",\
+ javax.servlet.http;thread-context=true;version="2.7.0";uses:="javax.servlet",\
+ javax.servlet.resources;thread-context=true;version="2.7.0"
+
+instrument.disabled: true
+
+publish.wlp.jar.suffix: dev/api/spec
+
+-buildpath: \
+ ${javac.bootclasspath.java6}, \
+ lib/com.ibm.ws.javaee.servlet.3.1.jar;version=file,\
+ lib/com.ibm.ws.javax.servlet.resources_3.1.jar;version=file
diff --git a/dev/com.ibm.ws.crypto.certificateutil_bvt/build.nogradle b/dev/com.ibm.websphere.javaee.servlet.3.1/build.gradle
similarity index 100%
rename from dev/com.ibm.ws.crypto.certificateutil_bvt/build.nogradle
rename to dev/com.ibm.websphere.javaee.servlet.3.1/build.gradle
diff --git a/dev/com.ibm.websphere.javaee.servlet.3.1/build.xml b/dev/com.ibm.websphere.javaee.servlet.3.1/build.xml
new file mode 100644
index 000000000000..5c6de07e4b8c
--- /dev/null
+++ b/dev/com.ibm.websphere.javaee.servlet.3.1/build.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dev/com.ibm.ws.channelfw/.classpath b/dev/com.ibm.ws.channelfw/.classpath
index f9f259e40b22..2876090f9036 100755
--- a/dev/com.ibm.ws.channelfw/.classpath
+++ b/dev/com.ibm.ws.channelfw/.classpath
@@ -1,9 +1,7 @@
-
-
-
-
-
+
+
+
diff --git a/dev/com.ibm.ws.channelfw/.classpath.gradle b/dev/com.ibm.ws.channelfw/.classpath.gradle
new file mode 100644
index 000000000000..2876090f9036
--- /dev/null
+++ b/dev/com.ibm.ws.channelfw/.classpath.gradle
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/dev/com.ibm.ws.channelfw/bnd.bnd b/dev/com.ibm.ws.channelfw/bnd.bnd
new file mode 100755
index 000000000000..21dca79dddb5
--- /dev/null
+++ b/dev/com.ibm.ws.channelfw/bnd.bnd
@@ -0,0 +1,83 @@
+-include= ~../cnf/resources/bnd/bundle.props
+bVersion=1.0
+
+Bundle-Name: Channel Framework
+Bundle-SymbolicName: com.ibm.ws.channelfw; singleton:=true
+Bundle-Description: Provides the channel framework that allows the creation \
+ of channel chains for handling both inbound and outbound traffic. The TCP \
+ and UDP connector channels are included, version ${bVersion}
+
+WS-TraceGroup: ChannelFramework
+
+IBM-Default-Config: OSGI-INF/wlp/defaultInstances.xml
+
+# For each exported package, create (in that package) a package-info.java
+# file, and place an @version javadoc tag in package-level javadoc.
+# Append ";provide:=true" if this bundle also provides an implementation
+# for the exported API.
+Export-Package: com.ibm.websphere.channelfw*;provide:=true, \
+ com.ibm.wsspi.channelfw*;provide:=true, \
+ com.ibm.wsspi.connmgmt;provide:=true, \
+ com.ibm.wsspi.bytebuffer;provide:=true, \
+ com.ibm.wsspi.tcpchannel;provide:=true, \
+ com.ibm.wsspi.udpchannel;provide:=true, \
+ com.ibm.websphere.endpoint;provide:=true, \
+ com.ibm.io.async
+
+Private-Package: com.ibm.io.async, \
+ com.ibm.ws.bytebuffer.internal, \
+ com.ibm.ws.bytebuffer.internal.resources, \
+ com.ibm.ws.channelfw*, \
+ com.ibm.ws.tcpchannel.internal, \
+ com.ibm.ws.tcpchannel.internal.resources, \
+ com.ibm.ws.udpchannel.internal, \
+ com.ibm.ws.udpchannel.internal.resources
+
+Include-Resource: \
+ OSGI-INF=resources/OSGI-INF
+
+-dsannotations: com.ibm.websphere.channelfw.osgi.CHFWBundle,\
+ com.ibm.ws.bytebuffer.internal.ByteBufferConfiguration, \
+ com.ibm.io.async.ResultHandler, \
+ com.ibm.io.async.CompletionKey
+
+Service-Component: \
+ com.ibm.ws.tcpchannel.options; \
+ implementation:=com.ibm.wsspi.channelfw.ChannelConfiguration; \
+ provide:=com.ibm.wsspi.channelfw.ChannelConfiguration; \
+ modified:='modified';\
+ immediate:=true;\
+ properties:="service.vendor=IBM,service.ranking:Integer=0,type:String=TCPChannel", \
+ com.ibm.ws.udpchannel.options; \
+ implementation:=com.ibm.wsspi.channelfw.ChannelConfiguration; \
+ provide:=com.ibm.wsspi.channelfw.ChannelConfiguration; \
+ modified:='modified';\
+ immediate:=true;\
+ properties:="service.vendor=IBM,service.ranking:Integer=0,type:String=UDPChannel", \
+ com.ibm.ws.channelfw.CHFWEventHandler; \
+ implementation:=com.ibm.ws.channelfw.internal.CHFWEventHandler; \
+ configuration-policy:=ignore;\
+ provide:=com.ibm.websphere.event.EventHandler; \
+ properties:="event.topics=com/ibm/websphere/channelfw/*,service.vendor=IBM",\
+ com.ibm.ws.tcpchannel.zosaio; \
+ provide:=com.ibm.ws.tcpchannel.internal.ZosAio; \
+ implementation:=com.ibm.ws.tcpchannel.internal.ZosAio; \
+ angelUtils=com.ibm.ws.kernel.zos.AngelUtils; \
+ configuration-policy:=optional; \
+ immediate:=true; \
+ properties:="service.vendor=IBM"
+
+instrument.disabled: true
+
+-buildpath: \
+ com.ibm.ws.logging.core,\
+ com.ibm.ws.event,\
+ com.ibm.websphere.org.osgi.core.6.0.0,\
+ com.ibm.websphere.org.osgi.service.component.1.3.0,\
+ com.ibm.wsspi.org.osgi.service.component.annotations.1.3.0,\
+ com.ibm.ws.kernel.feature,\
+ com.ibm.ws.kernel.service,\
+ com.ibm.ws.timer;version=latest,\
+ com.ibm.ws.kernel.security.thread,\
+ com.ibm.ws.kernel.boot.core;version=latest, \
+ com.ibm.ws.org.osgi.annotation.versioning.1.0.0;version=latest
diff --git a/dev/com.ibm.ws.channelfw/build-api-spi.xml b/dev/com.ibm.ws.channelfw/build-api-spi.xml
new file mode 100755
index 000000000000..33e59db43018
--- /dev/null
+++ b/dev/com.ibm.ws.channelfw/build-api-spi.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dev/com.ibm.ws.crypto.certificateutil_test/build.nogradle b/dev/com.ibm.ws.channelfw/build.gradle
similarity index 100%
rename from dev/com.ibm.ws.crypto.certificateutil_test/build.nogradle
rename to dev/com.ibm.ws.channelfw/build.gradle
diff --git a/dev/com.ibm.ws.channelfw/build.xml b/dev/com.ibm.ws.channelfw/build.xml
new file mode 100755
index 000000000000..a2d8a79e2f4c
--- /dev/null
+++ b/dev/com.ibm.ws.channelfw/build.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dev/com.ibm.ws.cik.launcher/bnd.bnd b/dev/com.ibm.ws.cik.launcher/bnd.bnd
index c543b08ebd8e..a70cee733bf6 100755
--- a/dev/com.ibm.ws.cik.launcher/bnd.bnd
+++ b/dev/com.ibm.ws.cik.launcher/bnd.bnd
@@ -5,6 +5,8 @@ Bundle-Name: WebSphere common install kernel launcher
Bundle-SymbolicName: com.ibm.ws.cik.launcher
Bundle-Description: WebSphere common install kernel launcher, version ${bVersion}
+Import-Package: !*.internal.*, !com.ibm.ws.kernel.boot.cmdline, *
+
Private-Package: \
com.ibm.ws.cik.launcher.*
diff --git a/dev/com.ibm.ws.cik.launcher/bnd.bnd.gradle b/dev/com.ibm.ws.cik.launcher/bnd.bnd.gradle
index c543b08ebd8e..a70cee733bf6 100755
--- a/dev/com.ibm.ws.cik.launcher/bnd.bnd.gradle
+++ b/dev/com.ibm.ws.cik.launcher/bnd.bnd.gradle
@@ -5,6 +5,8 @@ Bundle-Name: WebSphere common install kernel launcher
Bundle-SymbolicName: com.ibm.ws.cik.launcher
Bundle-Description: WebSphere common install kernel launcher, version ${bVersion}
+Import-Package: !*.internal.*, !com.ibm.ws.kernel.boot.cmdline, *
+
Private-Package: \
com.ibm.ws.cik.launcher.*
diff --git a/dev/com.ibm.ws.common.encoder/README.txt b/dev/com.ibm.ws.common.encoder/README.txt
deleted file mode 100755
index 42d71db1f09d..000000000000
--- a/dev/com.ibm.ws.common.encoder/README.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-This project intentionally does NOT generate a JAR file.
-
-Do not alter this project to produce a bundle.
-
-The packages defined in this project MUST NOT be exported by any bundle that
-includes them. Doing so will cause package / classpath namespace conflicts
-when included by several different bundles.
diff --git a/dev/com.ibm.ws.common.encoder/bnd.bnd b/dev/com.ibm.ws.common.encoder/bnd.bnd
index 0f1d255d008a..10fd32929733 100644
--- a/dev/com.ibm.ws.common.encoder/bnd.bnd
+++ b/dev/com.ibm.ws.common.encoder/bnd.bnd
@@ -1,6 +1,8 @@
--include= ~../cnf/resources/bnd/bundle.props,
+-include= ~../cnf/resources/bnd/bundle.props
bVersion=1.0
+Bundle-SymbolicName: com.ibm.ws.common.encoder
+
Export-Package: com.ibm.ws.common.internal.encoder
instrument.disabled: true
diff --git a/dev/com.ibm.ws.common.encoder/bnd.bnd.gradle b/dev/com.ibm.ws.common.encoder/bnd.bnd.gradle
index 0f1d255d008a..10fd32929733 100644
--- a/dev/com.ibm.ws.common.encoder/bnd.bnd.gradle
+++ b/dev/com.ibm.ws.common.encoder/bnd.bnd.gradle
@@ -1,6 +1,8 @@
--include= ~../cnf/resources/bnd/bundle.props,
+-include= ~../cnf/resources/bnd/bundle.props
bVersion=1.0
+Bundle-SymbolicName: com.ibm.ws.common.encoder
+
Export-Package: com.ibm.ws.common.internal.encoder
instrument.disabled: true
diff --git a/dev/com.ibm.ws.common.encoder_test/.classpath b/dev/com.ibm.ws.common.encoder_test/.classpath
index ba28ffa57ca6..bd880329225d 100755
--- a/dev/com.ibm.ws.common.encoder_test/.classpath
+++ b/dev/com.ibm.ws.common.encoder_test/.classpath
@@ -1,15 +1,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
diff --git a/dev/com.ibm.ws.common.encoder_test/.classpath.gradle b/dev/com.ibm.ws.common.encoder_test/.classpath.gradle
new file mode 100644
index 000000000000..bd880329225d
--- /dev/null
+++ b/dev/com.ibm.ws.common.encoder_test/.classpath.gradle
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/dev/com.ibm.ws.common.encoder_test/.project b/dev/com.ibm.ws.common.encoder_test/.project
index 39d8ceca61ce..f97a31b67cd1 100755
--- a/dev/com.ibm.ws.common.encoder_test/.project
+++ b/dev/com.ibm.ws.common.encoder_test/.project
@@ -10,8 +10,14 @@
+
+ bndtools.core.bndbuilder
+
+
+ org.eclipse.jdt.core.javanature
+ bndtools.core.bndnature
diff --git a/dev/com.ibm.ws.common.encoder_test/bnd.bnd b/dev/com.ibm.ws.common.encoder_test/bnd.bnd
new file mode 100755
index 000000000000..e9942b33ac24
--- /dev/null
+++ b/dev/com.ibm.ws.common.encoder_test/bnd.bnd
@@ -0,0 +1,16 @@
+-include= ~../cnf/resources/bnd/liberty-release.props
+bVersion=1.0
+
+-nobundles=true
+
+src: \
+ unittest/src
+
+-buildpath: \
+ ${javac.bootclasspath.java6}, \
+ ../build.sharedResources/lib/junit/old/junit.jar;version=file, \
+ ../build.sharedResources/lib/ws-junit/ws-junit.jar;version=file, \
+ ../build.sharedResources/lib/hamcrest-all.jar;version=file, \
+ ../build.sharedResources/lib/jmock/old/jmock-junit4.jar;version=file, \
+ ../build.sharedResources/lib/jmock/old/jmock.jar;version=file, \
+ com.ibm.ws.common.encoder;version=latest
diff --git a/dev/com.ibm.ws.common.encoder_test/bnd.bnd.gradle b/dev/com.ibm.ws.common.encoder_test/bnd.bnd.gradle
new file mode 100755
index 000000000000..e9942b33ac24
--- /dev/null
+++ b/dev/com.ibm.ws.common.encoder_test/bnd.bnd.gradle
@@ -0,0 +1,16 @@
+-include= ~../cnf/resources/bnd/liberty-release.props
+bVersion=1.0
+
+-nobundles=true
+
+src: \
+ unittest/src
+
+-buildpath: \
+ ${javac.bootclasspath.java6}, \
+ ../build.sharedResources/lib/junit/old/junit.jar;version=file, \
+ ../build.sharedResources/lib/ws-junit/ws-junit.jar;version=file, \
+ ../build.sharedResources/lib/hamcrest-all.jar;version=file, \
+ ../build.sharedResources/lib/jmock/old/jmock-junit4.jar;version=file, \
+ ../build.sharedResources/lib/jmock/old/jmock.jar;version=file, \
+ com.ibm.ws.common.encoder;version=latest
diff --git a/dev/com.ibm.ws.crypto.ltpakeyutil_test/build.nogradle b/dev/com.ibm.ws.common.encoder_test/build.gradle
similarity index 100%
rename from dev/com.ibm.ws.crypto.ltpakeyutil_test/build.nogradle
rename to dev/com.ibm.ws.common.encoder_test/build.gradle
diff --git a/dev/com.ibm.ws.componenttest/.classpath b/dev/com.ibm.ws.componenttest/.classpath
new file mode 100755
index 000000000000..2876090f9036
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/dev/com.ibm.ws.componenttest/.classpath.gradle b/dev/com.ibm.ws.componenttest/.classpath.gradle
new file mode 100755
index 000000000000..2876090f9036
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/.classpath.gradle
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/dev/com.ibm.ws.componenttest/.gitignore b/dev/com.ibm.ws.componenttest/.gitignore
new file mode 100644
index 000000000000..848aca22ec04
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/.gitignore
@@ -0,0 +1,2 @@
+*.class
+/autoFVT/
\ No newline at end of file
diff --git a/dev/com.ibm.ws.componenttest/.project b/dev/com.ibm.ws.componenttest/.project
new file mode 100755
index 000000000000..e0c78fd619b1
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/.project
@@ -0,0 +1,23 @@
+
+
+ com.ibm.ws.componenttest
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ bndtools.core.bndbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ bndtools.core.bndnature
+
+
diff --git a/dev/com.ibm.ws.componenttest/.settings/org.eclipse.core.resources.prefs b/dev/com.ibm.ws.componenttest/.settings/org.eclipse.core.resources.prefs
new file mode 100755
index 000000000000..25d9425fe34e
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+#Ant properties
+#Automatically generated by the ant prepare.settings.files task
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/dev/com.ibm.ws.componenttest/.settings/org.eclipse.jdt.core.prefs b/dev/com.ibm.ws.componenttest/.settings/org.eclipse.jdt.core.prefs
new file mode 100755
index 000000000000..f48ecd6cc608
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,280 @@
+#Ant properties
+#Automatically generated by the ant prepare.settings.files task
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=18
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=2
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=2
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=18
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=2
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=18
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=18
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=18
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=4
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=false
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=180
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=4
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=8
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=180
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/dev/com.ibm.ws.componenttest/.settings/org.eclipse.jdt.ui.prefs b/dev/com.ibm.ws.componenttest/.settings/org.eclipse.jdt.ui.prefs
new file mode 100755
index 000000000000..c92277a371a9
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,62 @@
+#Ant properties
+#Automatically generated by the ant prepare.settings.files task
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=/**\n *\n * ${tags}\n *//**\n * ${tags}\n * ${see_to_target}\n *//**\n * ${tags}\n *//** *//**\n * ${tags}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//*\n* IBM Confidential\n*\n* OCO Source Materials\n*\n* WLP Copyright IBM Corp. ${year}\n*\n* The source code for this program is not published or otherwise divested \n* of its trade secrets, irrespective of what has been deposited with the \n* U.S. Copyright Office.\n*//**\n * @return the ${bare_field_name}\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\n// Do you need FFDC here? Remember FFDC instrumentation and @FFDCIgnore\n// http\://was.pok.ibm.com/xwiki/bin/view/Liberty/LoggingFFDC\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/dev/com.ibm.ws.componenttest/.settings/org.eclipse.ltk.core.refactoring.prefs b/dev/com.ibm.ws.componenttest/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100755
index 000000000000..0c58c37ccba4
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,3 @@
+#Wed Mar 16 12:40:16 GMT 2011
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/dev/com.ibm.ws.componenttest/autoFVT-defaults/.gitignore b/dev/com.ibm.ws.componenttest/autoFVT-defaults/.gitignore
new file mode 100755
index 000000000000..77408bdb8742
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/autoFVT-defaults/.gitignore
@@ -0,0 +1,3 @@
+bootstrapping.properties
+simplicity.properties
+local.properties
diff --git a/dev/com.ibm.ws.componenttest/autoFVT-defaults/TestBuild.xml b/dev/com.ibm.ws.componenttest/autoFVT-defaults/TestBuild.xml
new file mode 100755
index 000000000000..51dc17271b37
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/autoFVT-defaults/TestBuild.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EXAMPLE USAGE: (only these combinations are valid)
+ ant -f TestBuild.xml [execute]
+ ant -f TestBuild.xml -Dsuite=(TestSuite class)
+ ant -f TestBuild.xml -Dsetup=(TestSetup class)
+ ant -f TestBuild.xml -Dsetup=(TestSetup class) -Dphase=(Test phase)
+ ant -f TestBuild.xml -Dtest=(TestCase class)
+ ant -f TestBuild.xml -Dtest=(TestCase class) -Dmethod=(Test method)
+ ant -f TestBuild.xml -Dtest=(TestCase class) -Dmethod=(Test method) -Dphase=(Test phase)
+ DEFINITIONS:
+ (TestSuite class) = The full package and class name of a Class that
+ features a public, static, no-argument suite() method
+ that returns a "junit.framework.Test".
+ If the class name is supplied without the package name,
+ "com.ibm.ws.fat.suites" is assumed.
+ If no suite is defined, the suite defined in
+ configuration.properties is used.
+ (TestSetup class) = The full package and class name of a Class that
+ extends commons.utils.junit.PhasedTestSetup.
+ If the class name is supplied without the package name,
+ "com.ibm.ws.fat.setup" is assumed.
+ (TestCase class) = The full package and class name of a Class that
+ extends commons.utils.junit.PhasedTestCase.
+ If the class name is supplied without the package name,
+ "com.ibm.ws.fat.tests" is assumed.
+ (Test phase) = The specific test phase you want to run.
+ If no phase is supplied, then all phases are run.
+ Valid phases include: "SetUp", "TearDown", and "RunTests"
+ (not case sensitive).
+ (Test method) = The specific test method you want to run.
+ If no method is supplied, then all public no-argument methods
+ starting with "test" that have a void return type are run.
+ NOTES:
+ 1. If no command line arguments are supplied, a full regression is performed
+ 2. The "execute" target can be specified in addition to any of the other command
+ line options, but since "execute" is the default target, it has no effect.
+ 3. The supplied TestCase is evaluated first, followed by the TestSetup,
+ followed by the TestSuite. In other words, if you define both a TestCase and
+ a TestSetup, the TestCase will be run.
+ 4. If a test phase is supplied with no test method for a TestCase,
+ that specific phase is run for each "test" method (you probably don't want to do this)
+ ASSUMPTIONS:
+ 1. A standard WebSphere topology must already be installed on the system under test
+ (For details, see: http://wasautomation.austin.ibm.com/xwiki/bin/view/TestingCollab/functionalAcceptanceTests)
+
+
diff --git a/dev/com.ibm.ws.componenttest/autoFVT-defaults/configuration.properties b/dev/com.ibm.ws.componenttest/autoFVT-defaults/configuration.properties
new file mode 100755
index 000000000000..0b2ea69843dc
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/autoFVT-defaults/configuration.properties
@@ -0,0 +1,93 @@
+##########################################################################################
+# configuration.properties
+##########################################################################################
+# This properties file describes special configuration properties for your test bucket.
+#
+# When you want to provide extra (optional) control to the tester regarding the way
+# that your test bucket executes, you can provide those controls through this file.
+# Properties contained in this file must not have anything to do with the environment
+# under test; those properties must be contained in bootstrapping.properties. In other
+# words, testers should not need to understand how to use this file to control your bucket;
+# use of this file should be targeted for advanced users who desire additional controls.
+# All properties in this file should be referenced through Props.java
+#
+# This file is also referenced by launch.xml to generate a Simplicity configuration file.
+# These properties can be updated to control the normal operation modes of Simplicity.
+#
+##########################################################################################
+
+
+##############################################
+# Simplicity properties
+##############################################
+
+# This property sets the WebSphere operations provider. The WebSphere operations
+# provider provides WebSphere administration access to the Java api. Valid property
+# values are JMX and WSADMIN. Default value is JMX (but only WSADMIN really works)
+simplicity.webSphereOperationsProvider=WSADMIN
+
+# This property sets the command line provider. The command line provider provides
+# command line execution capabilities. Some providers such as the RXA provider allow
+# for remote execution and machine to machine file transfers. Valid property values
+# are RXA, JMX, and LOCAL. Default value is JMX (but only RXA really works)
+simplicity.commandLineProvider=RXA
+
+# This property enables and disables topology caching. If caching is enabled, information
+# about the topology is gathered up front and cached to the bootstrapping properties
+# file. On subsequent invocations, the Object model is then built from the cache without
+# incurring the cost of making an administrative connection. Valid property values
+# are true and false. Default value is false.
+simplicity.useTopologyCaching=false
+
+# This property allows the user to set the port number to use when using the JIIWS
+# protocol to make wsadmin connections. The JIIWS tool is used to facilitate and managed
+# wsadmin connections (http://ausgsa.ibm.com/projects/m/moonstone/distributions/jiiws/).
+# JIIWS supports several protocols including a local protocol (no remote connection),
+# RXA, and the JIIWS protocol. The JIIWS protocol is used when making a remote wsadmin
+# connection if RXA is not being used as the command line provider, or if preferJIIWSWsAdmin
+# is set to true. Integer values are valid. Default value is port 1982.
+simplicity.jiiwsPort=1982
+
+# This property allows the user to set the inactivity timeout for the JIIWS protocol
+# in milliseconds. See the the jiiwsPort property description for more information
+# about the protocol. If no wsadmin requests are received within the timeout period,
+# the remote JIIWS listener stops. Integer values are valid. Default value is 10 minutes
+# (10*60*1000 milliseconds).
+simplicity.jiiwsInactivityTimeout=600000
+
+# This property specifies whether or not to use the JIIWS protocol. See the the jiiwsPort
+# property description for more information about the protocol. By default, the JIIWS
+# protocol is only used when making a remote wsadmin connection if the RXA is not being
+# used as the command line provider. Valid property values are true and false. Default
+# value is false.
+simplicity.preferJIIWSWsAdmin=false
+
+
+##############################################
+# Test bucket properties
+##############################################
+
+# Default test suite to be run, if nothing else is specified on the command line
+# Usage notes:
+# 1) If no "suite" is defined on the command line, the value of this property is used
+# 2) If a "suite" is defined on the command line, the value of this property is overriden
+# 3) A Moonstone standard explains that the default behavior of every bucket must
+# be to run a full regression test if no other options are specified, so "FullRegression"
+# is consistent with this standard
+# Default: FullRegression
+#suite=jspOne
+
+# Default suitedef
+suitedef=fullregression
+
+# Separator characters used to distinguish related blocks of output in test bucket trace files
+# Small logging breaks are typically encapsulated by larger logging breaks
+logging.break.large=------------------------------------------------------------------------
+logging.break.medium=----------------------------------------------------------------
+logging.break.small=-----------------------------------------
+logging.break.error=******************************************************************
+
+# When ApplicationServers are created, virtual host aliases are automatically created
+# for the WC_defaulthost and WC_defaulthost_secure ports. This property controls
+# which virtual host alias to associate those host aliases with. Default is default_host
+nd.virtualHostName=default_host
diff --git a/dev/com.ibm.ws.componenttest/autoFVT-defaults/fatTestCommon.xml b/dev/com.ibm.ws.componenttest/autoFVT-defaults/fatTestCommon.xml
new file mode 100755
index 000000000000..d62f37136add
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/autoFVT-defaults/fatTestCommon.xml
@@ -0,0 +1,5 @@
+
+
+ timedexit-1.0
+
+
diff --git a/dev/com.ibm.ws.componenttest/autoFVT-defaults/fatTestPorts.xml b/dev/com.ibm.ws.componenttest/autoFVT-defaults/fatTestPorts.xml
new file mode 100755
index 000000000000..2f90fa5ce151
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/autoFVT-defaults/fatTestPorts.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dev/com.ibm.ws.componenttest/autoFVT-defaults/ignoredFFDCs.xml b/dev/com.ibm.ws.componenttest/autoFVT-defaults/ignoredFFDCs.xml
new file mode 100755
index 000000000000..4f5e27fcdd47
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/autoFVT-defaults/ignoredFFDCs.xml
@@ -0,0 +1,20 @@
+
+
+
+ com.ibm.wsspi.channelfw.exception.ChannelException
+ com.ibm.wsspi.channelfw.exception.ChannelException: TCP Channel detected a possible loop on thread:
+
+
+ org.osgi.framework.ServiceException
+ Exception in org.apache.felix.scr.impl.manager.DelayedComponentManager.ungetService()
+ at org.eclipse.osgi.internal.serviceregistry.ServiceUse.releaseService(ServiceUse.java:287)
+ at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.releaseService(ServiceRegistrationImpl.java:562)
+ at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:245)
+
+
+
+ java.lang.IllegalStateException
+ BundleContext is no longer valid
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.checkValid(BundleContextImpl.java:931)
+
+
\ No newline at end of file
diff --git a/dev/com.ibm.ws.componenttest/autoFVT-defaults/lib/fat.util.jar b/dev/com.ibm.ws.componenttest/autoFVT-defaults/lib/fat.util.jar
new file mode 100755
index 000000000000..3b5262a31182
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/autoFVT-defaults/lib/fat.util.jar differ
diff --git a/dev/com.ibm.ws.componenttest/autoFVT-defaults/logging.properties b/dev/com.ibm.ws.componenttest/autoFVT-defaults/logging.properties
new file mode 100755
index 000000000000..029081d49845
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/autoFVT-defaults/logging.properties
@@ -0,0 +1,74 @@
+############################################################
+# Logging Configuration File
+#
+# You can use a different file by specifying a filename
+# with the java.util.logging.config.file system property.
+# For example java -Djava.util.logging.config.file=myfile
+############################################################
+
+############################################################
+# Global properties
+############################################################
+
+# "handlers" specifies a comma separated list of log Handler
+# classes. These handlers will be installed during VM startup.
+# Note that these classes must be on the system classpath.
+# By default we only configure a ConsoleHandler, which will only
+# show messages at the INFO and above levels.
+handlers=com.ibm.ws.fat.util.GenericHandler, java.util.logging.FileHandler
+
+# Default global logging level.
+# This specifies which kinds of events are logged across
+# all loggers. For any given facility this global level
+# can be overriden by a facility specific level
+# Note that the GenericHandler also has a separate level
+# setting to limit messages printed to the underlying stream.
+.level=INFO
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+# The GenericHandler will log all messages printed at any logging level
+com.ibm.ws.fat.util.GenericHandler.level=ALL
+com.ibm.ws.fat.util.GenericHandler.formatter=com.ibm.ws.fat.util.GenericFormatter
+com.ibm.ws.fat.util.GenericHandler.stream=system.out
+com.ibm.ws.fat.util.GenericHandler.flush=true
+
+# The FileHandler will log all messages printed at any logging level to exactly one file located in results/output.txt
+java.util.logging.FileHandler.level=ALL
+java.util.logging.FileHandler.formatter=com.ibm.ws.fat.util.GenericFormatter
+java.util.logging.FileHandler.limit=0
+java.util.logging.FileHandler.count=1
+java.util.logging.FileHandler.pattern=results/output.txt
+java.util.logging.FileHandler.append=true
+
+############################################################
+# Formatter specific properties.
+# Describes specific configuration info for Formatters.
+############################################################
+
+com.ibm.ws.fat.util.GenericFormatter.class.full=false
+com.ibm.ws.fat.util.GenericFormatter.class.length=30
+com.ibm.ws.fat.util.GenericFormatter.class.log=true
+com.ibm.ws.fat.util.GenericFormatter.level.log=true
+com.ibm.ws.fat.util.GenericFormatter.method.length=30
+com.ibm.ws.fat.util.GenericFormatter.method.log=true
+com.ibm.ws.fat.util.GenericFormatter.thread.length=3
+com.ibm.ws.fat.util.GenericFormatter.thread.log=true
+com.ibm.ws.fat.util.GenericFormatter.time.format=[MM/dd/yyyy HH:mm:ss:SSS z]
+com.ibm.ws.fat.util.GenericFormatter.time.log=true
+
+############################################################
+# Facility specific properties.
+# Provides extra control for each logger.
+############################################################
+com.ibm.ws.webcontainer.fvt.level=INFO
+com.ibm.websphere.simplicity.level=INFO
+#componenttest.common.apiservices.cmdline.LocalProvider.level=ALL
+#componenttest.common.apiservices.cmdline.RXAProvider.level=ALL
+#com.ibm.websphere.jiiws.level=FINER
+#httpclient.wire.level=FINEST
+#httpclient.wire.header.level=FINEST
+#org.apache.commons.httpclient.level=FINEST
diff --git a/dev/com.ibm.ws.componenttest/autoFVT-defaults/productSample.properties b/dev/com.ibm.ws.componenttest/autoFVT-defaults/productSample.properties
new file mode 100755
index 000000000000..a9f79cfedab4
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/autoFVT-defaults/productSample.properties
@@ -0,0 +1 @@
+bootstrap.include=../testports.properties,sample.properties
diff --git a/dev/com.ibm.ws.componenttest/autoFVT-defaults/productSampleServer.xml b/dev/com.ibm.ws.componenttest/autoFVT-defaults/productSampleServer.xml
new file mode 100755
index 000000000000..7d76607cdbb0
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/autoFVT-defaults/productSampleServer.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/dev/com.ibm.ws.componenttest/autoFVT-defaults/productSample_noBootstrap.properties b/dev/com.ibm.ws.componenttest/autoFVT-defaults/productSample_noBootstrap.properties
new file mode 100755
index 000000000000..4f1ae5a2e104
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/autoFVT-defaults/productSample_noBootstrap.properties
@@ -0,0 +1 @@
+bootstrap.include=../testports.properties
diff --git a/dev/com.ibm.ws.componenttest/autoFVT-defaults/src/ant/launch.xml b/dev/com.ibm.ws.componenttest/autoFVT-defaults/src/ant/launch.xml
new file mode 100755
index 000000000000..7a8216215578
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/autoFVT-defaults/src/ant/launch.xml
@@ -0,0 +1,751 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Deleting existing properties files
+
+
+
+ Generating a local properties file that contains all the properties from Ant and configuration.properties
+
+
+
+
+ Created ${local.properties}
+
+ Generating the Simplicity config.props file based on configuration.properties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Initializing the classpath for ${test.bucket.name}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Initializing JRE logging
+
+
+
+
+
+
+
+
+
+
+ Running ${test.bucket.name}
+ Timeout: ${fattest.timeout}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ embedded.trace is active
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Coverage settings:
+ test.coverage: ${test.coverage}
+ exec.data.file: ${exec.data.file}
+ jacocoant.file: ${jacocoant.file}
+ jacocoagent.file: ${jacocoagent.file}
+
+
+
+
+
+ framework.maxheap=${framework.maxheap}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Failure running ${test.bucket.name}, attempting to copy logs from servers that did not stop properly : ${serverFile}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Finished running ${test.bucket.name}
+ XML report is available at ${dir.log.xml}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ stopServer for ${serverFile}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generating an HTML report based on the existing XML report
+
+
+
+
+
+
+
+
+ HTML report is available at ${dir.log.html}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base dir is: ${basedir}
+ Liberty dir is: ${liberty.dir}
+ libertyInstallPath is: ${libertyInstallPath}
+
+
+
+
+ liberty.location is: ${liberty.location}
+
+
+
+
+ install.location is: ${install.location}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Check ports are available
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ For first ldap Non-SSL port : ${ldap.1.port} and SSL port : ${ldap.1.ssl.port}
+ For second ldap Non-SSL port : ${ldap.2.port} and SSL port : ${ldap.2.ssl.port}
+ For third ldap Non-SSL port : ${ldap.3.port} and SSL port : ${ldap.3.ssl.port}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Debug Data:
+ libertyInstallPath: ${libertyInstallPath}
+ jacocoant.file: ${jacocoant.file}
+ exec.data.file: ${exec.data.file}
+ is.exec.data.file.avialable: ${is.exec.data.file.avialable}
+ dir.log.coverage: ${dir.log.coverage}
+ project.name: ${project.name}
+ project.under.test: ${project.under.test}
+ project.under.test.bundles.path: ${project.under.test.bundles.path}
+ is.project.under.test.bundles.available: ${is.project.under.test.bundles.available}
+ project.under.test.source.path: ${project.under.test.source.path}
+ is.project.under.test.source.available: ${is.project.under.test.source.available}
+ generateFatJaCoCoReport.run: ${generateFatJaCoCoReport.run}
+
+
+
+ The jacoco.exec file is unavaialbe: ${exec.data.file}
+ This can happen if:
+ 1. The FAT project overrides the default execution targets.
+ 2. The FAT tests did not actually run.
+
+
+
+ The project under test's bundles are unavailable: ${libertyInstallPath}/lib/${project.under.test}*.jar
+ This can happen if:
+ 1. The test project deviates from the standard naming pattern: project / project_[test|fat].
+ 2. The production code project deviates from the standard bundle naming pattern: project.*jar.
+ 3. The FAT target is invoked from a non-production project
+
+
+
+ No FAT coverage report will be generated for ${project.under.test}. See the log for earlier reasons.
+
+
+
+ Generating the FAT coverage report for component ${project.under.test}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generating the FAT coverage report for component ${project.under.test} (no source)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HTML report for code coverage is available at ${dir.log.coverage}/index.html
+ CSV report for code coverage is available at ${dir.log.coverage}/report.csv
+ XML report for code coverage is available at ${dir.log.coverage}/report.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dev/com.ibm.ws.componenttest/autoFVT-defaults/src/ant/properties.xml b/dev/com.ibm.ws.componenttest/autoFVT-defaults/src/ant/properties.xml
new file mode 100755
index 000000000000..0fea97a3f4ed
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/autoFVT-defaults/src/ant/properties.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dev/com.ibm.ws.componenttest/autoFVT-defaults/testports.properties b/dev/com.ibm.ws.componenttest/autoFVT-defaults/testports.properties
new file mode 100755
index 000000000000..3d9f188ff269
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/autoFVT-defaults/testports.properties
@@ -0,0 +1,172 @@
+# Main test port used by both tests and framework
+# The ports set here will be updated if they are not available immediately
+# before the tests run.
+# The 'bvt.prop.' prefix is required for the value to be exported to the test
+# client JVM, e.g. bvt.prop.HTTP_default -> HTTP_default
+bvt.prop.JMXREST_default=8880
+
+bvt.prop.IIOP=2809
+bvt.prop.IIOP.secure=2810
+
+bvt.prop.IIOP.secondary=2819
+bvt.prop.IIOP.secondary.secure=2820
+
+bvt.prop.IIOP.tertiary=2829
+bvt.prop.IIOP.tertiary.secure=2830
+
+bvt.prop.IIOP.client=2811
+bvt.prop.IIOP.client.secure=2812
+
+bvt.prop.UDPTest=18004
+bvt.prop.SSL_bvt=18005
+
+bvt.prop.HTTP_default=8010
+bvt.prop.HTTP_default.secure=8020
+
+bvt.prop.HTTP_secondary=8030
+bvt.prop.HTTP_secondary.secure=8040
+
+bvt.prop.httpFAT_1=18080
+bvt.prop.httpFAT_2=18082
+bvt.prop.httpFAT_3=18443
+bvt.prop.httpFAT_4=19030
+
+bvt.prop.http.0=${bvt.prop.HTTP_default}
+bvt.prop.http.0.ssl=${bvt.prop.HTTP_default.secure}
+bvt.prop.http.1=${bvt.prop.HTTP_secondary}
+bvt.prop.http.1.ssl=${bvt.prop.HTTP_secondary.secure}
+
+bvt.prop.jms.0=7276
+bvt.prop.jms.0.ssl=7286
+bvt.prop.jms.1=17010
+bvt.prop.jms.1.ssl=17510
+bvt.prop.jms.2=17020
+bvt.prop.jms.2.ssl=17520
+bvt.prop.jms.3=17030
+bvt.prop.jms.3.ssl=17530
+bvt.prop.jms.4=17040
+bvt.prop.jms.4.ssl=17540
+bvt.prop.jms.5=17050
+bvt.prop.jms.5.ssl=17550
+bvt.prop.jms.6=17060
+bvt.prop.jms.6.ssl=17560
+bvt.prop.jms.7=17070
+bvt.prop.jms.7.ssl=17570
+bvt.prop.jms.8=17080
+bvt.prop.jms.8.ssl=17580
+bvt.prop.jms=${bvt.prop.jms.0}
+bvt.prop.jms.ssl=${bvt.prop.jms.0.ssl}
+
+bvt.prop.mockservice.http=9111
+
+# Test ports used for System Management scenarios
+# These ports provide up to:
+# -- 5 members with HTTP and HTTPS ports
+# -- 5 controllers with HTTP, HTTPS and REPLICA ports
+# ________
+# / \
+# / _ ___ _ _ \ DO NOT ADD
+# |(_` | / \|_)| ANY MORE PORTS
+# |._) | \_/| | TO THIS LIST
+# \ /
+# \__________/
+#
+# Helpful Tips:
+# -- HTTP ports are even numbers
+# -- HTTPS ports are odd numbers
+# -- Member ports start at 8080
+# -- Controller ports start at 9080
+# -- Replica ports start at 10010
+
+bvt.prop.member.alternateElectionPort=40572
+
+# Ports for Member 1
+bvt.prop.member_1.http=8080
+bvt.prop.member_1.https=8081
+# Ports for Member 2
+bvt.prop.member_2.http=8082
+bvt.prop.member_2.https=8083
+# Ports for Member 3
+bvt.prop.member_3.http=8084
+bvt.prop.member_3.https=8085
+# Ports for Member 4
+bvt.prop.member_4.http=8086
+bvt.prop.member_4.https=8087
+# Ports for Member 5
+bvt.prop.member_5.http=8088
+bvt.prop.member_5.https=8089
+# Ports for Member 6
+bvt.prop.member_6.http=8090
+bvt.prop.member_6.https=8091
+# Ports for Controller 1
+bvt.prop.controller_1.http=9080
+bvt.prop.controller_1.https=9081
+bvt.prop.controller_1.replica=10010
+# Ports for Controller 2
+bvt.prop.controller_2.http=9082
+bvt.prop.controller_2.https=9083
+bvt.prop.controller_2.replica=10011
+# Ports for Controller 3
+bvt.prop.controller_3.http=9084
+bvt.prop.controller_3.https=9085
+bvt.prop.controller_3.replica=10012
+# Ports for Controller 4
+bvt.prop.controller_4.http=9086
+bvt.prop.controller_4.https=9087
+bvt.prop.controller_4.replica=10013
+# Ports for Controller 5
+bvt.prop.controller_5.http=9088
+bvt.prop.controller_5.https=9089
+bvt.prop.controller_5.replica=10014
+
+# Test ports used for the javaMail-1.5 feature
+bvt.prop.smtp_port=3025
+bvt.prop.imap_port=6663
+bvt.prop.pop3_port=3110
+
+# property expected by OSGI framework must be the same as the default http
+org.osgi.service.http.port=${bvt.prop.HTTP_default}
+
+# Console listens on this port
+osgi.console=5678
+
+com.ibm.ws.logging.max.file.size=0
+
+#Most BVT tests will override this
+com.ibm.ws.logging.trace.specification=*=info=enabled:logservice=all=enabled
+ds.loglevel=debug
+
+# property for the file containing the FFDCs that need to be ignored
+bvt.prop.fileFFDC=ignoredFFDCs.xml
+
+# enable summary file updates after each FFDC
+com.ibm.ws.logging.ffdc.summary.policy=immediate
+
+# Ports for Local LDAP server
+ldap.1.port=10389
+ldap.2.port=20389
+ldap.3.port=30389
+
+# SSL ports for local LDAP server
+ldap.1.ssl.port=10636
+ldap.2.ssl.port=20636
+ldap.3.ssl.port=30636
+
+# Test ports used for Security multiple server scenarios
+# These ports provide up to:
+bvt.prop.OP_HTTP_default=8940
+bvt.prop.OP_HTTP_default.secure=8945
+bvt.prop.RP_HTTP_default=8941
+bvt.prop.RP_HTTP_default.secure=8946
+
+# Test ports used Batch multiple server scenarios
+# These ports provide up to:
+bvt.prop.batch.dispatcher_1_HTTP_default=8942
+bvt.prop.batch.dispatcher_1_HTTP_default.secure=8950
+bvt.prop.batch.dispatcher_2_HTTP_default=8943
+bvt.prop.batch.dispatcher_2_HTTP_default.secure=8951
+bvt.prop.batch.endpoint_1_HTTP_default=8944
+bvt.prop.batch.endpoint_1_HTTP_default.secure=8952
+bvt.prop.batch.endpoint_2_HTTP_default=8945
+bvt.prop.batch.endpoint_2_HTTP_default.secure=8953
+
diff --git a/dev/com.ibm.ws.componenttest/bnd.bnd b/dev/com.ibm.ws.componenttest/bnd.bnd
new file mode 100755
index 000000000000..e35988a1d126
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/bnd.bnd
@@ -0,0 +1,53 @@
+-include= ~../cnf/resources/bnd/bundle.props
+bVersion=1.0
+
+Bundle-Name: FAT infrastructure
+Bundle-SymbolicName: com.ibm.ws.componenttest
+Bundle-Description: FAT infrastructure; version=${bVersion}
+
+Export-Package: \
+ componenttest.app;version=1.0.16, \
+ componenttest.matchers;version=1.0.16, \
+ junit.*;version=1.0.16, \
+ org.jmock.*;version=1.0.16, \
+ org.junit.*;version=1.0.16, \
+ org.hamcrest.*;version=1.0.16
+
+# componenttest.app depends on javax.servlet, but we don't want to include it in
+# the componenttest-1.0 feature since we want tests to fail if a product feature
+# is actually missing javax.servlet, so we use a dynamic import instead.
+Import-Package: \
+ !javax.servlet.*, \
+ !org.apache.tools.ant.*, \
+ !org.easymock, \
+ !org.jmock.core, \
+ *
+
+DynamicImport-Package: \
+ javax.servlet, \
+ javax.servlet.http
+
+-buildpath: \
+ ../build.sharedResources/lib/junit/old/junit.jar;version=file,\
+ lib/com.ibm.componenttest.common.jar;version=file,\
+ lib/com.ibm.ws.topology.helper.jar;version=file,\
+ lib/commons-httpclient-3.1.jar;version=file,\
+ lib/httpunit.jar;version=file,\
+ lib/jlanclient.jar;version=file,\
+ lib/jtidy-r938.jar;version=file,\
+ lib/provider.api.jar;version=file,\
+ lib/public.api.jar;version=file,\
+ lib/remoteaccess.jar;version=file,\
+ lib/shrinkwrap-api-1.2.3.jar;version=file,\
+ lib/shrinkwrap-impl-base-1.2.3.jar;version=file,\
+ lib/shrinkwrap-spi-1.2.3.jar;version=file,\
+ lib/ssh.jar;version=file,\
+ autoFVT-defaults/lib/fat.util.jar;version=file,\
+ jdbc/derby/derbynet.jar;version=file,\
+ ../build.sharedResources/lib/jmock/old/jmock.jar;version=file,\
+ ../build.sharedResources/lib/hamcrest-all.jar;version=file,\
+ ../build.sharedResources/lib/ws-junit/ws-junit.jar;version=file,\
+ com.ibm.websphere.javaee.servlet.3.1;version=latest,\
+ com.ibm.websphere.org.osgi.core.6.0.0;version=latest,\
+ com.ibm.websphere.org.osgi.service.component.1.3.0;version=latest,\
+ com.ibm.wsspi.org.osgi.service.component.annotations.1.3.0;version=latest
diff --git a/dev/com.ibm.ws.componenttest/build-common.xml b/dev/com.ibm.ws.componenttest/build-common.xml
new file mode 100755
index 000000000000..93554dcc6362
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/build-common.xml
@@ -0,0 +1,303 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generating ${validate.server.xsd}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Validating ${validate.server.xmls.files.count} server.xml against ${validate.server.xsd}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The FAT server.xml appears to contain an unsupported configuration - it can not be validated against the current schema.
+
+ The cached schema file used to validate test servers is here:
+ ${validate.server.xsd}
+
+ Take one of two actions. Either:
+ 1. Correct the server.xml - look for typos or other errors in the configuration
+ 2. If the configuration should not be validated against the schema, define a pattern set to exclude the file:
+
+
+
+
+ For more information about test server.xml validation:
+ http://was.pok.ibm.com/xwiki/bin/view/Liberty/Test-FAT#HserverxmlXSDvalidation
+
+
+
+
+
+
+
+
+ Additions for SLE delivery: work item 194657 (Package Web Sockets and other FATs for 9003 - automation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ... Flag: deliver ${basedir} for ${LibertyFATSource.zip}
+
+
+
+
+ ... Flag: SKIP ${basedir} for ${LibertyBVTSource.zip}
+
+
+
+
+
+
diff --git a/dev/com.ibm.ws.componenttest/build-noship.xml b/dev/com.ibm.ws.componenttest/build-noship.xml
new file mode 100755
index 000000000000..b7f24bee8b45
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/build-noship.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dev/com.ibm.ws.componenttest/build-properties.xml b/dev/com.ibm.ws.componenttest/build-properties.xml
new file mode 100755
index 000000000000..06d165248edf
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/build-properties.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dev/com.ibm.ws.crypto.passwordutil_test/build.nogradle b/dev/com.ibm.ws.componenttest/build.gradle
similarity index 100%
rename from dev/com.ibm.ws.crypto.passwordutil_test/build.nogradle
rename to dev/com.ibm.ws.componenttest/build.gradle
diff --git a/dev/com.ibm.ws.componenttest/componenttest.framework.component.async.loadproperties b/dev/com.ibm.ws.componenttest/componenttest.framework.component.async.loadproperties
new file mode 100755
index 000000000000..57df80e5b2d4
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/componenttest.framework.component.async.loadproperties
@@ -0,0 +1,6 @@
+# This file is used to determine which files in the build component get loaded when running an async build.
+# All we're after is a thin bootstrapping layer.
+
+versionableName=/fattest.simplicity/
+versionableName=/test_prereqs/
+versionableName=/test_build/
diff --git a/dev/com.ibm.ws.componenttest/componenttest.framework.withjdbc.component.async.loadproperties b/dev/com.ibm.ws.componenttest/componenttest.framework.withjdbc.component.async.loadproperties
new file mode 100755
index 000000000000..979a46895632
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/componenttest.framework.withjdbc.component.async.loadproperties
@@ -0,0 +1,7 @@
+# This file is used to determine which files in the build component get loaded when running an async build.
+# All we're after is a thin bootstrapping layer.
+
+versionableName=/fattest.simplicity/
+versionableName=/test_prereqs/
+versionableName=/test_build/
+versionableName=/prereq.dbtest/
diff --git a/dev/com.ibm.ws.componenttest/delivery.sets b/dev/com.ibm.ws.componenttest/delivery.sets
new file mode 100755
index 000000000000..674398425a01
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/delivery.sets
@@ -0,0 +1 @@
+SLE
diff --git a/dev/com.ibm.ws.componenttest/jdbc/derby/derby.jar b/dev/com.ibm.ws.componenttest/jdbc/derby/derby.jar
new file mode 100755
index 000000000000..f01ce42907ab
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/jdbc/derby/derby.jar differ
diff --git a/dev/com.ibm.ws.componenttest/jdbc/derby/derbyclient.jar b/dev/com.ibm.ws.componenttest/jdbc/derby/derbyclient.jar
new file mode 100755
index 000000000000..fd8eed6ce482
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/jdbc/derby/derbyclient.jar differ
diff --git a/dev/com.ibm.ws.componenttest/jdbc/derby/derbynet.jar b/dev/com.ibm.ws.componenttest/jdbc/derby/derbynet.jar
new file mode 100755
index 000000000000..a7e1d9de1726
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/jdbc/derby/derbynet.jar differ
diff --git a/dev/com.ibm.ws.componenttest/jdbc/derby/derbytools.jar b/dev/com.ibm.ws.componenttest/jdbc/derby/derbytools.jar
new file mode 100755
index 000000000000..ae270bab4189
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/jdbc/derby/derbytools.jar differ
diff --git a/dev/com.ibm.ws.componenttest/jdbc/oracle/ojdbc6_g.jar b/dev/com.ibm.ws.componenttest/jdbc/oracle/ojdbc6_g.jar
new file mode 100755
index 000000000000..6862ecca76da
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/jdbc/oracle/ojdbc6_g.jar differ
diff --git a/dev/com.ibm.ws.componenttest/lib/com.ibm.componenttest.common.jar b/dev/com.ibm.ws.componenttest/lib/com.ibm.componenttest.common.jar
new file mode 100755
index 000000000000..b4af18f52798
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/lib/com.ibm.componenttest.common.jar differ
diff --git a/dev/com.ibm.ws.componenttest/lib/com.ibm.ws.topology.helper.jar b/dev/com.ibm.ws.componenttest/lib/com.ibm.ws.topology.helper.jar
new file mode 100755
index 000000000000..52e2317c7240
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/lib/com.ibm.ws.topology.helper.jar differ
diff --git a/dev/com.ibm.ws.componenttest/lib/commons-httpclient-3.1.jar b/dev/com.ibm.ws.componenttest/lib/commons-httpclient-3.1.jar
new file mode 100755
index 000000000000..7c59774aed4f
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/lib/commons-httpclient-3.1.jar differ
diff --git a/dev/com.ibm.ws.componenttest/lib/httpunit.jar b/dev/com.ibm.ws.componenttest/lib/httpunit.jar
new file mode 100755
index 000000000000..dd2404fca91e
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/lib/httpunit.jar differ
diff --git a/dev/com.ibm.ws.componenttest/lib/jlanclient.jar b/dev/com.ibm.ws.componenttest/lib/jlanclient.jar
new file mode 100755
index 000000000000..73ae6a60685f
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/lib/jlanclient.jar differ
diff --git a/dev/com.ibm.ws.componenttest/lib/jtidy-r938.jar b/dev/com.ibm.ws.componenttest/lib/jtidy-r938.jar
new file mode 100755
index 000000000000..efde902f3e9b
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/lib/jtidy-r938.jar differ
diff --git a/dev/com.ibm.ws.componenttest/lib/provider.api.jar b/dev/com.ibm.ws.componenttest/lib/provider.api.jar
new file mode 100755
index 000000000000..6c5621abb3fc
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/lib/provider.api.jar differ
diff --git a/dev/com.ibm.ws.componenttest/lib/public.api.jar b/dev/com.ibm.ws.componenttest/lib/public.api.jar
new file mode 100755
index 000000000000..edf6ecdc4e64
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/lib/public.api.jar differ
diff --git a/dev/com.ibm.ws.componenttest/lib/remoteaccess.jar b/dev/com.ibm.ws.componenttest/lib/remoteaccess.jar
new file mode 100755
index 000000000000..038039373581
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/lib/remoteaccess.jar differ
diff --git a/dev/com.ibm.ws.componenttest/lib/shrinkwrap-api-1.2.3.jar b/dev/com.ibm.ws.componenttest/lib/shrinkwrap-api-1.2.3.jar
new file mode 100755
index 000000000000..7c502bc824e1
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/lib/shrinkwrap-api-1.2.3.jar differ
diff --git a/dev/com.ibm.ws.componenttest/lib/shrinkwrap-impl-base-1.2.3.jar b/dev/com.ibm.ws.componenttest/lib/shrinkwrap-impl-base-1.2.3.jar
new file mode 100755
index 000000000000..59061b48d74a
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/lib/shrinkwrap-impl-base-1.2.3.jar differ
diff --git a/dev/com.ibm.ws.componenttest/lib/shrinkwrap-spi-1.2.3.jar b/dev/com.ibm.ws.componenttest/lib/shrinkwrap-spi-1.2.3.jar
new file mode 100755
index 000000000000..506196b61d34
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/lib/shrinkwrap-spi-1.2.3.jar differ
diff --git a/dev/com.ibm.ws.componenttest/lib/ssh.jar b/dev/com.ibm.ws.componenttest/lib/ssh.jar
new file mode 100755
index 000000000000..fa3e237d8eb4
Binary files /dev/null and b/dev/com.ibm.ws.componenttest/lib/ssh.jar differ
diff --git a/dev/com.ibm.ws.componenttest/publish/features/com.ibm.websphere.appserver.componenttest-1.0.mf b/dev/com.ibm.ws.componenttest/publish/features/com.ibm.websphere.appserver.componenttest-1.0.mf
new file mode 100755
index 000000000000..83e3af61aad4
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/publish/features/com.ibm.websphere.appserver.componenttest-1.0.mf
@@ -0,0 +1,15 @@
+Subsystem-ManifestVersion: 1
+IBM-Test-Feature: true
+IBM-ShortName: componenttest-1.0
+Subsystem-SymbolicName: com.ibm.websphere.appserver.componenttest-1.0; visibility:=public
+Subsystem-Version: 1.0.0
+Subsystem-Content: com.ibm.ws.componenttest; version="[1,1.0.100)"
+Subsystem-Type: osgi.subsystem.feature
+IBM-Feature-Version: 2
+IBM-API-Package: componenttest.app,
+ componenttest.matchers,
+ junit.framework,
+ org.jmock,
+ org.junit,
+ org.hamcrest,
+ org.hamcrest.core
diff --git a/dev/com.ibm.ws.componenttest/src/componenttest/app/FATDatabaseServlet.java b/dev/com.ibm.ws.componenttest/src/componenttest/app/FATDatabaseServlet.java
new file mode 100644
index 000000000000..9aa759bd2b71
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/src/componenttest/app/FATDatabaseServlet.java
@@ -0,0 +1,172 @@
+package componenttest.app;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import javax.sql.DataSource;
+
+/**
+ * Helper methods for working with JDBC tables. In general, any methods that take a
+ * Connection object use the connection without closing it. Any methods
+ * that take a DataSource object get, use, and close their own connection.
+ */
+@SuppressWarnings("serial")
+public abstract class FATDatabaseServlet extends FATServlet
+{
+ /**
+ * Creates a table with the given name and schema. Gets a new connection and closes it.
+ */
+ public static void dropAndCreateTable(DataSource ds, String tableName, String tableSchema) {
+ try {
+ Connection conn = ds.getConnection();
+ try {
+ dropTableSafely(conn, tableName);
+ createTable(conn, tableName, tableSchema);
+ } finally {
+ conn.close();
+ }
+ } catch (SQLException e) {
+ e.printStackTrace(System.out);
+ }
+ }
+
+ /**
+ * Creates a table with the given name and the following schema:
+ * id int not null primary key, val varchar(30)
+ * Gets a new connection and closes it.
+ */
+ public static void dropAndCreateBasicTable(DataSource ds, String tableName) {
+ try {
+ Connection conn = ds.getConnection();
+ try {
+ dropTableSafely(conn, tableName);
+ createBasicTable(conn, tableName);
+ } finally {
+ conn.close();
+ }
+ } catch (SQLException e) {
+ e.printStackTrace(System.out);
+ }
+ }
+
+ /**
+ * Creates a table with the given name and schema, using an existing connection.
+ * Does not close the connection.
+ */
+ public static void dropAndCreateTable(Connection conn, String tableName, String tableSchema) throws SQLException {
+ dropTableSafely(conn, tableName);
+ createTable(conn, tableName, tableSchema);
+ }
+
+ /**
+ * Creates a table with the given name and the following schema:
+ * id int not null primary key, val varchar(30)
+ * Does not close the connection.
+ */
+ public static void dropAndCreateBasicTable(Connection conn, String tableName) throws SQLException {
+ dropTableSafely(conn, tableName);
+ createBasicTable(conn, tableName);
+ }
+
+ /**
+ * Creates a table with the given name and the following schema:
+ * id int not null primary key, val varchar(30)
+ * Does not close the connection.
+ */
+ public static void createBasicTable(Connection conn, String tableName) throws SQLException
+ {
+ createTable(conn, tableName, "id int not null primary key, val varchar(30)");
+ }
+
+ public static void createTable(DataSource ds, String tableName, String tableSchema) {
+ try {
+ Connection conn = ds.getConnection();
+ try {
+ createTable(conn, tableName, tableSchema);
+ } finally {
+ conn.close();
+ }
+ } catch (SQLException e) {
+ e.printStackTrace(System.out);
+ }
+ }
+
+ /**
+ * Creates a table with the given name and schema. Does not close the connection.
+ */
+ public static void createTable(Connection conn, String tableName, String tableSchema) throws SQLException
+ {
+ Statement stmt1 = conn.createStatement();
+ stmt1.executeUpdate("create table " + tableName + " (" + tableSchema + ")");
+ stmt1.close();
+ }
+
+ /**
+ * Drops a table. Gets a new connection and closes it.
+ */
+ public static void dropTable(DataSource ds, String tableName) {
+ try {
+ Connection conn = ds.getConnection();
+ try {
+ dropTableSafely(conn, tableName);
+ } finally {
+ conn.close();
+ }
+ } catch (SQLException e) {
+ e.printStackTrace(System.out);
+ }
+ }
+
+ /**
+ * Drops a table, and does not throw an exception if the table does not exist.
+ * Does not close the connection.
+ */
+ public static void dropTableSafely(Connection conn, String tableName) {
+ try {
+ Statement stmt1 = conn.createStatement();
+ try {
+ stmt1.executeUpdate("drop table " + tableName);
+ } catch (SQLException ignore) {
+ }
+ stmt1.close();
+ } catch (SQLException e) {
+ e.printStackTrace(System.out);
+ }
+ }
+
+ /**
+ * Drops a table with the given name. Does not close the connection.
+ */
+ public static void dropTable(Connection conn, String tableName) throws SQLException {
+ Statement stmt1 = conn.createStatement();
+ stmt1.executeUpdate("drop table " + tableName);
+ stmt1.close();
+ }
+
+ /**
+ * Deletes all contents of a table. Opens a new connection and closes it.
+ */
+ public static void clearTable(DataSource ds, String tableName) {
+ try {
+ Connection conn = ds.getConnection();
+ try {
+ clearTable(conn, tableName);
+ } finally {
+ conn.close();
+ }
+ } catch (SQLException e) {
+ e.printStackTrace(System.out);
+ }
+ }
+
+ /**
+ * Deletes all contents of a table using an existing connection. Does not close the connection.
+ */
+ public static void clearTable(Connection conn, String tableName) throws SQLException {
+ Statement stmt = conn.createStatement();
+ stmt.executeUpdate("DELETE FROM " + tableName);
+ conn.close();
+ }
+
+}
\ No newline at end of file
diff --git a/dev/com.ibm.ws.componenttest/src/componenttest/app/FATServlet.java b/dev/com.ibm.ws.componenttest/src/componenttest/app/FATServlet.java
new file mode 100755
index 000000000000..a670829dfe6a
--- /dev/null
+++ b/dev/com.ibm.ws.componenttest/src/componenttest/app/FATServlet.java
@@ -0,0 +1,105 @@
+/*
+ * IBM Confidential
+ *
+ * OCO Source Materials
+ *
+ * Copyright IBM Corp. 2013, 2015
+ *
+ * The source code for this program is not published or otherwise divested
+ * of its trade secrets, irrespective of what has been deposited with the
+ * U.S. Copyright Office.
+ */
+package componenttest.app;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.junit.Assert;
+
+/**
+ * Servlet base class that can be used to call remote methods. The servlet is
+ * expected to be called via {@link FATServletClient}, and the servlet is
+ * expected to contain test methods that match the names of the corresponding
+ * methods in the JUnit test class.
+ *
+ *
Servlet test methods must have one of the following prototypes:
+ *