Moving dev branch code to master branch 62/362/1
authorEby, Robert (re2429) <re2429@att.com>
Fri, 1 Feb 2019 18:24:10 +0000 (13:24 -0500)
committerEby, Robert (re2429) <re2429@att.com>
Fri, 1 Feb 2019 18:24:10 +0000 (13:24 -0500)
Change-Id: I3f5a10c6fed908295380ee5422c5c10bded2c3a3
Signed-off-by: Eby, Robert (re2429) <re2429@att.com>
35 files changed:
.gitignore [new file with mode: 0644]
akraino/.classpath [deleted file]
akraino/.gitignore
akraino/.metadata/.lock [deleted file]
akraino/.metadata/.log [deleted file]
akraino/.metadata/.mylyn/repositories.xml.zip [deleted file]
akraino/.metadata/version.ini [deleted file]
akraino/.project [deleted file]
akraino/Servers/.project [deleted file]
akraino/Servers/.settings/org.eclipse.wst.server.core.prefs [deleted file]
akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/catalina.policy [deleted file]
akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/catalina.properties [deleted file]
akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/context.xml [deleted file]
akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/jmxremote.access [deleted file]
akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/jmxremote.password [deleted file]
akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/server.xml [deleted file]
akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/tomcat-users.xml [deleted file]
akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/web.xml [deleted file]
akraino/pom.xml
akraino/src/main/java/com/akraino/bpm/config/CamundaCorsFilter.java
akraino/src/main/java/com/akraino/bpm/controller/CamundaRestController.java
akraino/src/main/java/com/akraino/bpm/delegate/MultiNodeDeployRemoteScript1ExecutorTaskDelegate.java [new file with mode: 0644]
akraino/src/main/java/com/akraino/bpm/delegate/MultiNodeDeployRemoteScript2ExecutorTaskDelegate.java [new file with mode: 0644]
akraino/src/main/java/com/akraino/bpm/delegate/MultiNodeScript1ExecutorTaskDelegate.java [new file with mode: 0644]
akraino/src/main/java/com/akraino/bpm/delegate/MultiNodeWinScpScriptDelegate.java [new file with mode: 0644]
akraino/src/main/java/com/akraino/bpm/delegate/ScriptExecutorTaskDelegate.java
akraino/src/main/java/com/akraino/bpm/model/BuildResponse.java
akraino/src/main/java/com/akraino/bpm/model/MultiNodeDeploy.java [new file with mode: 0644]
akraino/src/main/java/com/akraino/bpm/service/AsyncProcessExecutorService.java
akraino/src/main/java/com/akraino/bpm/service/ScriptExecutionService.java
akraino/src/main/java/com/akraino/bpm/service/impl/AsyncProcessExecutorServiceImpl.java
akraino/src/main/java/com/akraino/bpm/service/impl/ScriptExecutionServiceImpl.java
akraino/src/main/resources/multinodedeploy.bpmn [new file with mode: 0644]
config/multinodedeploy.bpmn [new file with mode: 0644]
pom.xml

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..cd9ded1
--- /dev/null
@@ -0,0 +1,5 @@
+/akraino/.metadata
+/akraino/.project
+/akraino/Servers
+/config/.application.yaml.swp
+
diff --git a/akraino/.classpath b/akraino/.classpath
deleted file mode 100644 (file)
index 8024414..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-       <classpathentry kind="src" output="target/classes" path="src/main/java">
-               <attributes>
-                       <attribute name="optional" value="true"/>
-                       <attribute name="maven.pomderived" value="true"/>
-               </attributes>
-       </classpathentry>
-       <classpathentry kind="src" output="target/test-classes" path="src/test/java">
-               <attributes>
-                       <attribute name="optional" value="true"/>
-                       <attribute name="maven.pomderived" value="true"/>
-               </attributes>
-       </classpathentry>
-       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
-               <attributes>
-                       <attribute name="maven.pomderived" value="true"/>
-               </attributes>
-       </classpathentry>
-       <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
-               <attributes>
-                       <attribute name="maven.pomderived" value="true"/>
-               </attributes>
-       </classpathentry>
-       <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
-               <attributes>
-                       <attribute name="maven.pomderived" value="true"/>
-               </attributes>
-       </classpathentry>
-       <classpathentry kind="output" path="target/classes"/>
-</classpath>
index b7d7dc6..32858aa 100644 (file)
@@ -9,4 +9,4 @@
 *.ear
 
 # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
\ No newline at end of file
+hs_err_pid*
diff --git a/akraino/.metadata/.lock b/akraino/.metadata/.lock
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/akraino/.metadata/.log b/akraino/.metadata/.log
deleted file mode 100644 (file)
index 70c5d40..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-!SESSION 2018-05-31 21:07:40.069 -----------------------------------------------
-eclipse.buildId=3.9.2.201712210947-RELEASE-e47
-java.version=1.8.0_151
-java.vendor=Oracle Corporation
-BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
-Framework arguments:  -product org.springsource.sts.ide -product org.springsource.sts.ide
-Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.springsource.sts.ide -data C:\Users\bbadavenkatappagari.MAJESTY\Downloads\demo -product org.springsource.sts.ide
-
-!ENTRY org.eclipse.ui 2 0 2018-05-31 21:07:45.642
-!MESSAGE Warnings while parsing the images from the 'org.eclipse.ui.commandImages' extension point.
-!SUBENTRY 1 org.eclipse.ui 2 0 2018-05-31 21:07:45.642
-!MESSAGE Cannot bind to an undefined command: plug-in='org.eclipse.lsp4e', id='org.eclipse.lsp4e.togglehighlight'
-
-!ENTRY org.eclipse.jface 2 0 2018-05-31 21:07:48.544
-!MESSAGE Keybinding conflicts occurred.  They may interfere with normal accelerator operation.
-!SUBENTRY 1 org.eclipse.jface 2 0 2018-05-31 21:07:48.544
-!MESSAGE A conflict occurred for CTRL+SHIFT+T:
-Binding(CTRL+SHIFT+T,
-       ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type,
-               Open a type in a Java editor,
-               Category(org.eclipse.ui.category.navigate,Navigate,null,true),
-               org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6b60d99c,
-               ,,true),null),
-       org.eclipse.ui.defaultAcceleratorConfiguration,
-       org.eclipse.ui.contexts.window,,,system)
-Binding(CTRL+SHIFT+T,
-       ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace,
-               ,
-               Category(org.eclipse.lsp4e.category,Language Servers,null,true),
-               org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@543a7605,
-               ,,true),null),
-       org.eclipse.ui.defaultAcceleratorConfiguration,
-       org.eclipse.ui.contexts.window,,,system)
-
-!ENTRY org.eclipse.ui 2 2 2018-05-31 21:07:50.456
-!MESSAGE org.eclipse.jdt.junit.ResultView: Deprecated relationship "fast" should be converted to "stack".
-
-!ENTRY org.eclipse.ui 2 2 2018-05-31 21:07:50.456
-!MESSAGE org.springframework.ide.eclipse.aop.ui.navigator.aopReferenceModelNavigator: Deprecated relationship "fast" should be converted to "stack".
-
-!ENTRY org.eclipse.ui 2 2 2018-05-31 21:07:50.466
-!MESSAGE org.eclipse.contribution.xref.ui.views.XReferenceView: Deprecated relationship "fast" should be converted to "stack".
-
-!ENTRY org.eclipse.jface.text 2 0 2018-05-31 21:07:51.807
-!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.number'
-
-!ENTRY org.eclipse.jface.text 2 0 2018-05-31 21:07:51.817
-!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.round'
-
-!ENTRY org.eclipse.egit.ui 2 0 2018-05-31 21:08:00.999
-!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
-user global configuration and to define the default location to store repositories: 'C:\Users\bbadavenkatappagari.MAJESTY'. If this is
-not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
-EGit might behave differently since they see different configuration options.
-This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
-
-!ENTRY org.eclipse.oomph.setup.core 4 0 2018-05-31 21:08:06.846
-!MESSAGE C:\Users\bbadavenkatappagari.MAJESTY\.eclipse\org.eclipse.oomph.setup\setups\locations.setup (Access is denied)
-!STACK 0
-java.io.FileNotFoundException: C:\Users\bbadavenkatappagari.MAJESTY\.eclipse\org.eclipse.oomph.setup\setups\locations.setup (Access is denied)
-       at java.io.FileOutputStream.open0(Native Method)
-       at java.io.FileOutputStream.open(FileOutputStream.java:270)
-       at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
-       at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
-       at org.eclipse.emf.ecore.resource.impl.FileURIHandlerImpl$1.<init>(FileURIHandlerImpl.java:65)
-       at org.eclipse.emf.ecore.resource.impl.FileURIHandlerImpl.createOutputStream(FileURIHandlerImpl.java:65)
-       at org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl.createOutputStream(ExtensibleURIConverterImpl.java:349)
-       at org.eclipse.oomph.setup.internal.core.util.UserURIHandlerImpl.createOutputStream(UserURIHandlerImpl.java:92)
-       at org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl.createOutputStream(ExtensibleURIConverterImpl.java:349)
-       at org.eclipse.emf.ecore.resource.impl.ResourceImpl.saveOnlyIfChangedWithMemoryBuffer(ResourceImpl.java:1234)
-       at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:985)
-       at org.eclipse.oomph.setup.internal.core.SetupContext.associate(SetupContext.java:491)
-       at org.eclipse.oomph.setup.internal.core.SetupContext.access$0(SetupContext.java:408)
-       at org.eclipse.oomph.setup.internal.core.SetupContext$1.run(SetupContext.java:392)
-       at org.eclipse.oomph.base.util.BaseUtil.execute(BaseUtil.java:279)
-       at org.eclipse.oomph.setup.internal.core.SetupContext.associate(SetupContext.java:388)
-       at org.eclipse.oomph.setup.internal.core.SetupContext.createSelf(SetupContext.java:268)
-       at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:667)
-       at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:416)
-       at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:253)
-       at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
-
-!ENTRY org.springsource.ide.eclipse.commons.browser 4 0 2018-05-31 21:08:07.611
-!MESSAGE Could not call browser function extension: addHtml
-!STACK 0
-org.eclipse.swt.SWTException: Widget is disposed
-       at org.eclipse.swt.SWT.error(SWT.java:4533)
-       at org.eclipse.swt.SWT.error(SWT.java:4448)
-       at org.eclipse.swt.SWT.error(SWT.java:4419)
-       at org.eclipse.swt.widgets.Widget.error(Widget.java:482)
-       at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:354)
-       at org.eclipse.swt.browser.Browser.checkWidget(Browser.java:207)
-       at org.eclipse.swt.browser.Browser.execute(Browser.java:532)
-       at org.springsource.ide.eclipse.commons.browser.swt.StsBrowserManager.lambda$0(StsBrowserManager.java:145)
-       at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37)
-       at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
-       at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4213)
-       at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3820)
-       at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
-       at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
-       at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)
-       at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
-       at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
-       at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
-       at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
-       at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
-       at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
-       at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
-       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
-       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
-       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
-       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
-       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
-       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
-       at java.lang.reflect.Method.invoke(Method.java:498)
-       at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
-       at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
-       at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
-
-!ENTRY org.springsource.ide.eclipse.commons.browser 4 0 2018-05-31 21:08:07.628
-!MESSAGE Could not call browser function extension: addHtml
-!STACK 0
-org.eclipse.swt.SWTException: Widget is disposed
-       at org.eclipse.swt.SWT.error(SWT.java:4533)
-       at org.eclipse.swt.SWT.error(SWT.java:4448)
-       at org.eclipse.swt.SWT.error(SWT.java:4419)
-       at org.eclipse.swt.widgets.Widget.error(Widget.java:482)
-       at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:354)
-       at org.eclipse.swt.browser.Browser.checkWidget(Browser.java:207)
-       at org.eclipse.swt.browser.Browser.execute(Browser.java:532)
-       at org.springsource.ide.eclipse.commons.browser.swt.StsBrowserManager.lambda$0(StsBrowserManager.java:145)
-       at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37)
-       at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
-       at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4213)
-       at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3820)
-       at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
-       at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
-       at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)
-       at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
-       at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
-       at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
-       at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
-       at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
-       at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
-       at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
-       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
-       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
-       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
-       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
-       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
-       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
-       at java.lang.reflect.Method.invoke(Method.java:498)
-       at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
-       at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
-       at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
-!SESSION 2018-05-31 21:10:00.864 -----------------------------------------------
-eclipse.buildId=3.9.2.201712210947-RELEASE-e47
-java.version=1.8.0_151
-java.vendor=Oracle Corporation
-BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
-Framework arguments:  -product org.springsource.sts.ide -product org.springsource.sts.ide -product org.springsource.sts.ide
-Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.springsource.sts.ide -product org.springsource.sts.ide -data C:\Users\bbadavenkatappagari.MAJESTY\Downloads\demo -product org.springsource.sts.ide
-
-!ENTRY org.eclipse.ui 2 0 2018-05-31 21:10:07.183
-!MESSAGE Warnings while parsing the images from the 'org.eclipse.ui.commandImages' extension point.
-!SUBENTRY 1 org.eclipse.ui 2 0 2018-05-31 21:10:07.183
-!MESSAGE Cannot bind to an undefined command: plug-in='org.eclipse.lsp4e', id='org.eclipse.lsp4e.togglehighlight'
-
-!ENTRY org.eclipse.jface 2 0 2018-05-31 21:10:11.487
-!MESSAGE Keybinding conflicts occurred.  They may interfere with normal accelerator operation.
-!SUBENTRY 1 org.eclipse.jface 2 0 2018-05-31 21:10:11.487
-!MESSAGE A conflict occurred for CTRL+SHIFT+T:
-Binding(CTRL+SHIFT+T,
-       ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type,
-               Open a type in a Java editor,
-               Category(org.eclipse.ui.category.navigate,Navigate,null,true),
-               org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@5cdf61d,
-               ,,true),null),
-       org.eclipse.ui.defaultAcceleratorConfiguration,
-       org.eclipse.ui.contexts.window,,,system)
-Binding(CTRL+SHIFT+T,
-       ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace,
-               ,
-               Category(org.eclipse.lsp4e.category,Language Servers,null,true),
-               org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4509414e,
-               ,,true),null),
-       org.eclipse.ui.defaultAcceleratorConfiguration,
-       org.eclipse.ui.contexts.window,,,system)
-
-!ENTRY org.eclipse.egit.ui 2 0 2018-05-31 21:10:20.579
-!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
-user global configuration and to define the default location to store repositories: 'C:\Users\bbadavenkatappagari.MAJESTY'. If this is
-not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
-EGit might behave differently since they see different configuration options.
-This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
-
-!ENTRY org.eclipse.oomph.setup.core 4 0 2018-05-31 21:10:28.942
-!MESSAGE C:\Users\bbadavenkatappagari.MAJESTY\.eclipse\org.eclipse.oomph.setup\setups\locations.setup (Access is denied)
-!STACK 0
-java.io.FileNotFoundException: C:\Users\bbadavenkatappagari.MAJESTY\.eclipse\org.eclipse.oomph.setup\setups\locations.setup (Access is denied)
-       at java.io.FileOutputStream.open0(Native Method)
-       at java.io.FileOutputStream.open(FileOutputStream.java:270)
-       at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
-       at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
-       at org.eclipse.emf.ecore.resource.impl.FileURIHandlerImpl$1.<init>(FileURIHandlerImpl.java:65)
-       at org.eclipse.emf.ecore.resource.impl.FileURIHandlerImpl.createOutputStream(FileURIHandlerImpl.java:65)
-       at org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl.createOutputStream(ExtensibleURIConverterImpl.java:349)
-       at org.eclipse.oomph.setup.internal.core.util.UserURIHandlerImpl.createOutputStream(UserURIHandlerImpl.java:92)
-       at org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl.createOutputStream(ExtensibleURIConverterImpl.java:349)
-       at org.eclipse.emf.ecore.resource.impl.ResourceImpl.saveOnlyIfChangedWithMemoryBuffer(ResourceImpl.java:1234)
-       at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:985)
-       at org.eclipse.oomph.setup.internal.core.SetupContext.associate(SetupContext.java:491)
-       at org.eclipse.oomph.setup.internal.core.SetupContext.access$0(SetupContext.java:408)
-       at org.eclipse.oomph.setup.internal.core.SetupContext$1.run(SetupContext.java:392)
-       at org.eclipse.oomph.base.util.BaseUtil.execute(BaseUtil.java:279)
-       at org.eclipse.oomph.setup.internal.core.SetupContext.associate(SetupContext.java:388)
-       at org.eclipse.oomph.setup.internal.core.SetupContext.createSelf(SetupContext.java:268)
-       at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:667)
-       at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:416)
-       at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:253)
-       at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
diff --git a/akraino/.metadata/.mylyn/repositories.xml.zip b/akraino/.metadata/.mylyn/repositories.xml.zip
deleted file mode 100644 (file)
index 2a9dff4..0000000
Binary files a/akraino/.metadata/.mylyn/repositories.xml.zip and /dev/null differ
diff --git a/akraino/.metadata/version.ini b/akraino/.metadata/version.ini
deleted file mode 100644 (file)
index 193ce18..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu May 31 21:10:05 EDT 2018
-org.eclipse.core.runtime=2
-org.eclipse.platform=4.7.2.v20171130-0510
diff --git a/akraino/.project b/akraino/.project
deleted file mode 100644 (file)
index 5938ee7..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-       <name>camunda-spring-boot</name>
-       <comment></comment>
-       <projects>
-       </projects>
-       <buildSpec>
-               <buildCommand>
-                       <name>org.eclipse.wst.common.project.facet.core.builder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>org.eclipse.jdt.core.javabuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>org.springframework.ide.eclipse.core.springbuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>org.springframework.ide.eclipse.boot.validation.springbootbuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>org.eclipse.m2e.core.maven2Builder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-       </buildSpec>
-       <natures>
-               <nature>org.springframework.ide.eclipse.core.springnature</nature>
-               <nature>org.eclipse.jdt.core.javanature</nature>
-               <nature>org.eclipse.m2e.core.maven2Nature</nature>
-               <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
-       </natures>
-</projectDescription>
diff --git a/akraino/Servers/.project b/akraino/Servers/.project
deleted file mode 100644 (file)
index 0fa764d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-       <name>Servers</name>
-       <comment></comment>
-       <projects>
-       </projects>
-       <buildSpec>
-       </buildSpec>
-       <natures>
-       </natures>
-</projectDescription>
diff --git a/akraino/Servers/.settings/org.eclipse.wst.server.core.prefs b/akraino/Servers/.settings/org.eclipse.wst.server.core.prefs
deleted file mode 100644 (file)
index 3fbf40d..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu May 31 21:08:33 EDT 2018
-org.eclipse.wst.server.core.isServerProject=true
-eclipse.preferences.version=1
diff --git a/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/catalina.policy b/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/catalina.policy
deleted file mode 100644 (file)
index 58cf04a..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements.  See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License.  You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// ============================================================================
-// catalina.policy - Security Policy Permissions for tc Server Runtime 8.0
-//
-// This file contains a default set of security policies to be enforced (by the
-// JVM) when Catalina is executed with the "-security" option.  In addition
-// to the permissions granted here, the following additional permissions are
-// granted to each web application:
-//
-// * Read access to its document root directory
-// * Read, write and delete access to its working directory
-// ============================================================================
-
-
-// ========== SYSTEM CODE PERMISSIONS =========================================
-
-
-// These permissions apply to javac
-grant codeBase "file:${java.home}/lib/-" {
-        permission java.security.AllPermission;
-};
-
-// These permissions apply to all shared system extensions
-grant codeBase "file:${java.home}/jre/lib/ext/-" {
-        permission java.security.AllPermission;
-};
-
-// These permissions apply to javac when ${java.home] points at $JAVA_HOME/jre
-grant codeBase "file:${java.home}/../lib/-" {
-        permission java.security.AllPermission;
-};
-
-// These permissions apply to all shared system extensions when
-// ${java.home} points at $JAVA_HOME/jre
-grant codeBase "file:${java.home}/lib/ext/-" {
-        permission java.security.AllPermission;
-};
-
-// ========== tc Server Service Wrapper Permissions ===========================
-
-grant codeBase "file:${catalina.base}/bin/winx86_64/-" {
-        permission java.security.AllPermission;
-};
-grant codeBase "file:${catalina.base}/bin/win32/-" {
-        permission java.security.AllPermission;
-};
-
-// ========== CATALINA CODE PERMISSIONS =======================================
-
-
-// These permissions apply to the daemon code
-grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
-        permission java.security.AllPermission;
-};
-
-// These permissions apply to the logging API
-// Note: If tomcat-juli.jar is in ${catalina.base} and not in ${catalina.home},
-// update this section accordingly.
-//  grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..}
-grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
-        permission java.io.FilePermission
-         "${java.home}${file.separator}lib${file.separator}logging.properties", "read"; 
-
-        permission java.io.FilePermission
-         "${catalina.base}${file.separator}conf${file.separator}logging.properties", "read";
-        permission java.io.FilePermission
-         "${catalina.base}${file.separator}logs", "read, write";
-        permission java.io.FilePermission
-         "${catalina.base}${file.separator}logs${file.separator}*", "read, write";
-
-        permission java.lang.RuntimePermission "shutdownHooks";
-        permission java.lang.RuntimePermission "getClassLoader";
-        permission java.lang.RuntimePermission "setContextClassLoader";
-
-        permission java.lang.management.ManagementPermission "monitor";
-
-        permission java.util.logging.LoggingPermission "control";
-
-        permission java.util.PropertyPermission "java.util.logging.config.class", "read";
-        permission java.util.PropertyPermission "java.util.logging.config.file", "read";
-        permission java.util.PropertyPermission "org.apache.juli.AsyncLoggerPollInterval", "read";
-        permission java.util.PropertyPermission "org.apache.juli.AsyncMaxRecordCount", "read";
-        permission java.util.PropertyPermission "org.apache.juli.AsyncOverflowDropType", "read";
-        permission java.util.PropertyPermission "org.apache.juli.ClassLoaderLogManager.debug", "read";
-        permission java.util.PropertyPermission "catalina.base", "read";
-
-        // tc Server specific permissions
-        permission java.util.PropertyPermission "com.springsource.tcserver.serviceability.logging.jmxdelay", "read";
-        permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
-        permission javax.management.MBeanServerPermission "createMBeanServer";
-        permission javax.management.MBeanPermission "com.springsource.tcserver.serviceability.logging.TcServerLogManager#-[tcServer:name=LoggingManager,type=Serviceability]", "registerMBean";
-        permission javax.management.MBeanTrustPermission "register";
-
-        // Note: To enable per context logging configuration, permit read access to
-        // the appropriate file. Be sure that the logging configuration is
-        // secure before enabling such access.
-        // E.g. for the examples web application (uncomment and unwrap
-        // the following to be on a single line):
-        // permission java.io.FilePermission "${catalina.base}${file.separator}
-        //  webapps${file.separator}examples${file.separator}WEB-INF
-        //  ${file.separator}classes${file.separator}logging.properties", "read";
-};
-
-// These permissions apply to the server startup code
-grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
-        permission java.security.AllPermission;
-};
-
-// These permissions apply to the servlet API classes
-// and those that are shared across all class loaders
-// located in the "lib" directory
-grant codeBase "file:${catalina.home}/lib/-" {
-        permission java.security.AllPermission;
-};
-
-
-// If using a per instance lib directory, i.e. ${catalina.base}/lib,
-// then the following permission will need to be uncommented
-// grant codeBase "file:${catalina.base}/lib/-" {
-//         permission java.security.AllPermission;
-// };
-
-
-// ========== WEB APPLICATION PERMISSIONS =====================================
-
-
-// These permissions are granted by default to all web applications
-// In addition, a web application will be given a read FilePermission
-// for all files and directories in its document root.
-grant {
-    // Required for JNDI lookup of named JDBC DataSource's and
-    // javamail named MimePart DataSource used to send mail
-    permission java.util.PropertyPermission "java.home", "read";
-    permission java.util.PropertyPermission "java.naming.*", "read";
-    permission java.util.PropertyPermission "javax.sql.*", "read";
-
-    // OS Specific properties to allow read access
-    permission java.util.PropertyPermission "os.name", "read";
-    permission java.util.PropertyPermission "os.version", "read";
-    permission java.util.PropertyPermission "os.arch", "read";
-    permission java.util.PropertyPermission "file.separator", "read";
-    permission java.util.PropertyPermission "path.separator", "read";
-    permission java.util.PropertyPermission "line.separator", "read";
-
-    // JVM properties to allow read access
-    permission java.util.PropertyPermission "java.version", "read";
-    permission java.util.PropertyPermission "java.vendor", "read";
-    permission java.util.PropertyPermission "java.vendor.url", "read";
-    permission java.util.PropertyPermission "java.class.version", "read";
-    permission java.util.PropertyPermission "java.specification.version", "read";
-    permission java.util.PropertyPermission "java.specification.vendor", "read";
-    permission java.util.PropertyPermission "java.specification.name", "read";
-
-    permission java.util.PropertyPermission "java.vm.specification.version", "read";
-    permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
-    permission java.util.PropertyPermission "java.vm.specification.name", "read";
-    permission java.util.PropertyPermission "java.vm.version", "read";
-    permission java.util.PropertyPermission "java.vm.vendor", "read";
-    permission java.util.PropertyPermission "java.vm.name", "read";
-
-    // Required for OpenJMX
-    permission java.lang.RuntimePermission "getAttribute";
-
-    // Allow read of JAXP compliant XML parser debug
-    permission java.util.PropertyPermission "jaxp.debug", "read";
-
-    // All JSPs need to be able to read this package
-    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat";
-
-    // Precompiled JSPs need access to these packages.
-    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.el";
-    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime";
-    permission java.lang.RuntimePermission
-     "accessClassInPackage.org.apache.jasper.runtime.*";
-
-    // Precompiled JSPs need access to these system properties.
-    permission java.util.PropertyPermission
-     "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "read";
-    permission java.util.PropertyPermission
-     "org.apache.el.parser.COERCE_TO_ZERO", "read";
-
-    // The cookie code needs these.
-    permission java.util.PropertyPermission
-     "org.apache.catalina.STRICT_SERVLET_COMPLIANCE", "read";
-    permission java.util.PropertyPermission
-     "org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING", "read";
-    permission java.util.PropertyPermission
-     "org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR", "read";
-
-    // Applications using Comet need to be able to access this package
-    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.comet";
-
-    // Applications using WebSocket need to be able to access these packages
-    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket";
-    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket.server";
-};
-
-
-// The Manager application needs access to the following packages to support the
-// session display functionality
-// Note: If the manager web application used by this instance is located outside
-//       of the webapps directory then the codeBase in the grant below will need
-//       to be updated accordingly
-grant codeBase "file:${catalina.base}/webapps/manager/-" {
-    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina";
-    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.ha.session";
-    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager";
-    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager.util";
-    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.util";
-};
-
-// You can assign additional permissions to particular web applications by
-// adding additional "grant" entries here, based on the code base for that
-// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
-//
-// Different permissions can be granted to JSP pages, classes loaded from
-// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
-// directory, or even to individual jar files in the /WEB-INF/lib/ directory.
-//
-// For instance, assume that the standard "examples" application
-// included a JDBC driver that needed to establish a network connection to the
-// corresponding database and used the scrape taglib to get the weather from
-// the NOAA web server.  You might create a "grant" entries like this:
-//
-// The permissions granted to the context root directory apply to JSP pages.
-// grant codeBase "file:${catalina.base}/webapps/examples/-" {
-//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
-//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
-// };
-//
-// The permissions granted to the context WEB-INF/classes directory
-// grant codeBase "file:${catalina.base}/webapps/examples/WEB-INF/classes/-" {
-// };
-//
-// The permission granted to your JDBC driver
-// grant codeBase "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
-//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
-// };
-// The permission granted to the scrape taglib
-// grant codeBase "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
-//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
-// };
-
diff --git a/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/catalina.properties b/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/catalina.properties
deleted file mode 100644 (file)
index eba84c2..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#
-# List of comma-separated packages that start with or equal this string
-# will cause a security exception to be thrown when
-# passed to checkPackageAccess unless the
-# corresponding RuntimePermission ("accessClassInPackage."+package) has
-# been granted.
-package.access = \
-sun.,\
-org.apache.catalina.,\
-org.apache.coyote.,\
-org.apache.jasper.,\
-org.apache.naming.resources.,\
-org.apache.tomcat.
-#
-# List of comma-separated packages that start with or equal this string
-# will cause a security exception to be thrown when
-# passed to checkPackageDefinition unless the
-# corresponding RuntimePermission ("defineClassInPackage."+package) has
-# been granted.
-#
-# by default, no packages are restricted for definition, and none of
-# the class loaders supplied with the JDK call checkPackageDefinition.
-#
-package.definition = \
-sun.,\
-java.,\
-org.apache.catalina.,\
-org.apache.coyote.,\
-org.apache.jasper.,\
-org.apache.naming.,\
-org.apache.tomcat.
-#
-# List of comma-separated paths defining the contents of the "server" 
-# classloader. Prefixes should be used to define what is the repository type.
-# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
-# If left as blank, the "common" loader will be used as Catalina's "server" 
-# loader.
-# Examples:
-#     "foo": Add this folder as a class repository
-#     "foo/*.jar": Add all the JARs of the specified folder as class 
-#                  repositories
-#     "foo/bar.jar": Add bar.jar as a class repository
-server.loader =
-#
-# List of comma-separated paths defining the contents of the "shared" 
-# classloader. Prefixes should be used to define what is the repository type.
-# Path may be relative to the CATALINA_BASE path or absolute. If left as blank,
-# the "common" loader will be used as Catalina's "shared" loader.
-# Examples:
-#     "foo": Add this folder as a class repository
-#     "foo/*.jar": Add all the JARs of the specified folder as class 
-#                  repositories
-#     "foo/bar.jar": Add bar.jar as a class repository 
-# Please note that for single jars, e.g. bar.jar, you need the URL form
-# starting with file:.
-shared.loader =
-#
-# String cache configuration.
-tomcat.util.buf.StringCache.byte.enabled = true
-#tomcat.util.buf.StringCache.char.enabled=true
-#tomcat.util.buf.StringCache.trainThreshold=500000
-#tomcat.util.buf.StringCache.cacheSize=5000
-
-
-#If this property is set to true, the startup phase will
-#abort if there is an error during initialization
-org.apache.catalina.startup.EXIT_ON_INIT_FAILURE = true
-org.apache.tomcat.util.digester.PROPERTY_SOURCE = com.springsource.tcserver.security.PropertyDecoder
-com.springsource.tcserver.security.PropertyDecoder.passphrase = springsource
-#
-#
-# List of comma-separated paths defining the contents of the "common" 
-# classloader. Prefixes should be used to define what is the repository type.
-# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
-# If left as blank,the JVM system loader will be used as Catalina's "common" 
-# loader.
-# Examples:
-#     "foo": Add this folder as a class repository
-#     "foo/*.jar": Add all the JARs of the specified folder as class 
-#                  repositories
-#     "foo/bar.jar": Add bar.jar as a class repository
-common.loader = \
-\"${catalina.base}/lib\",\
-\"${catalina.base}/lib/*.jar\",\
-\"${catalina.home}/lib\",\
-\"${catalina.home}/lib/*.jar\"
-# List of JAR files that should not be scanned using the JarScanner
-# functionality. This is typically used to scan JARs for configuration
-# information. JARs that do not contain such information may be excluded from
-# the scan to speed up the scanning process. This is the default list. JARs on
-# this list are excluded from all scans. Scan specific lists (to exclude JARs
-# from individual scans) follow this. The list must be a comma separated list of
-# JAR file names.
-# The JARs listed below include:
-# - Tomcat Bootstrap JARs
-# - Tomcat API JARs
-# - Catalina JARs
-# - Jasper JARs
-# - Tomcat JARs
-# - Common non-Tomcat JARs
-tomcat.util.scan.StandardJarScanFilter.jarsToSkip = \
-annotations-api.jar,\
-ant.jar,\
-ant-junit*.jar,\
-ant-launcher.jar,\
-antlr-*.jar,\
-aopalliance-*.jar,\
-asm-*.jar,\
-aspectj*.jar,\
-bootstrap.jar,\
-catalina.jar,\
-catalina-ant.jar,\
-catalina-jmx-remote.jar,\
-catalina-ha.jar,\
-catalina-storeconfig.jar,\
-catalina-tribes.jar,\
-catalina-ws.jar,\
-cglib-*.jar,\
-cobertura-*.jar,\
-com.springsource.org.apache.tomcat.jdbc.jar,\
-commons-beanutils*.jar,\
-commons-codec*.jar,\
-commons-collections*.jar,\
-commons-daemon.jar,\
-commons-dbcp*.jar,\
-commons-digester*.jar,\
-commons-fileupload*.jar,\
-commons-httpclient*.jar,\
-commons-io*.jar,\
-commons-lang*.jar,\
-commons-logging*.jar,\
-commons-math*.jar,\
-commons-pool*.jar,\
-dom4j-*.jar,\
-ecj-*.jar,\
-ehcache-core-*.jar,\
-el-api.jar,\
-freemarker-*.jar,\
-gemfire-*.jar,\
-geronimo-spec-jaxrpc*.jar,\
-groovy-all-*.jar,\
-h2*.jar,\
-hibernate*.jar,\
-httpclient*.jar,\
-icu4j-*.jar,\
-insight-*.jar,\
-jackson-*.jar,\
-jasper.jar,\
-jasper-el.jar,\
-javassist-*.jar,\
-jaxen-*.jar,\
-jcommon-*.jar,\
-jdom-*.jar,\
-jetty-*.jar,\
-jfreechart-*.jar,\
-jline-*.jar,\
-jmx.jar,\
-jmx-tools.jar,\
-jsp-api.jar,\
-jstl.jar,\
-jta*.jar,\
-junit.jar,\
-junit-*.jar,\
-liquibase-core-*.jar,\
-log4j*.jar,\
-mail*.jar,\
-oro-*.jar,\
-servlet-api.jar,\
-slf4j*.jar,\
-spring-aop-*.jar,\
-spring-asm-*.jar,\
-spring-aspects-*.jar,\
-spring-beans-*.jar,\
-spring-context-*.jar,\
-spring-context-support-*.jar,\
-spring-core-*.jar,\
-spring-expression-*.jar,\
-spring-gemfire-*.jar,\
-spring-instrument-tomcat-*.jar,\
-spring-jdbc-*.jar,\
-spring-js-*.jar,\
-spring-orm-*.jar,\
-spring-security-core-*.jar,\
-spring-security-web-*.jar,\
-spring-tx-*.jar,\
-stax-*.jar,\
-tagsoup-*.jar,\
-tcServer.jar,\
-threaddumpwrapper.jar,\
-tiles-api-*.jar,\
-tiles-core-*.jar,\
-tiles-servlet-*.jar,\
-tomcat-api.jar,\
-tomcat-coyote.jar,\
-tomcat-dbcp.jar,\
-tomcat-i18n-en.jar,\
-tomcat-i18n-es.jar,\
-tomcat-i18n-fr.jar,\
-tomcat-i18n-ja.jar,\
-tomcat-jdbc.jar,\
-tomcat-jni.jar,\
-tomcat-juli.jar,\
-tomcat-juli-adapters.jar,\
-tomcat-spdy.jar,\
-tomcat-util.jar,\
-tomcat-util-scan.jar,\
-tools.jar,\
-websocket-api.jar,\
-wrapper.jar,\
-wsdl4j*.jar,\
-xercesImpl.jar,\
-xml-apis.jar,\
-xmlParserAPIs.jar,\
-xom-*.jar,\
-xpp3_min-*.jar,\
-xstream-*.jar
-# Default list of JAR files that should be scanned that overrides the default
-# jarsToSkip list above. This is typically used to include a specific JAR that
-# has been excluded by a broad file name pattern in the jarsToSkip list.
-# The list of JARs to scan may be over-ridden at a Context level for individual
-# scan types by configuring a JarScanner with a nested JarScanFilter.
-tomcat.util.scan.StandardJarScanFilter.jarsToScan = \
-log4j-core*.jar,\
-log4j-taglib*.jar
-# Additional JARs (over and above the default JARs listed above) to skip when
-# scanning for Servlet 3.0 pluggability features. These features include web
-# fragments, annotations, SCIs and classes that match @HandlesTypes. The list
-# must be a comma separated list of JAR file names.
-org.apache.catalina.startup.ContextConfig.jarsToSkip =
-# Additional JARs (over and above the default JARs listed above) to skip when
-# scanning for TLDs. The list must be a comma separated list of JAR file names.
-org.apache.catalina.startup.TldConfig.jarsToSkip =
-base.shutdown.port=-1
-base.jmx.port=6969
-nio.http.port=8080
-nio.https.port=8443
diff --git a/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/context.xml b/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/context.xml
deleted file mode 100644 (file)
index c0f82a5..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Context>
-    <!-- Default set of monitored resources -->
-    <WatchedResource>WEB-INF/web.xml</WatchedResource>
-    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
-    <!--
-            <Manager pathname="" />
-            -->
-    <!-- Uncomment this to enable Comet connection tacking (provides events
-                 on session expiration as well as webapp lifecycle) -->
-    <!--
-            <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
-            -->
-    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
-</Context>
\ No newline at end of file
diff --git a/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/jmxremote.access b/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/jmxremote.access
deleted file mode 100644 (file)
index 2320c39..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#admin readonly
-admin readwrite
diff --git a/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/jmxremote.password b/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/jmxremote.password
deleted file mode 100644 (file)
index 33ea195..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# For security reasons the "admin" role has a random password unless the property is overridden at instance creation time.
-admin esytfjtuhtvgnvfifgwakfldlqwgvobtgohmufe
diff --git a/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/server.xml b/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/server.xml
deleted file mode 100644 (file)
index c818dc2..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Server port="${base.shutdown.port}" shutdown="SHUTDOWN">
-    <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
-    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
-    <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
-    <Listener className="com.springsource.tcserver.serviceability.deploy.TcContainerDeployer"/>
-    <Listener accessFile="${catalina.base}/conf/jmxremote.access" address="127.0.0.1" authenticate="true" className="com.springsource.tcserver.serviceability.rmi.JmxSocketListener" passwordFile="${catalina.base}/conf/jmxremote.password" port="${base.jmx.port}" useSSL="false"/>
-    <GlobalNamingResources>
-        <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
-    </GlobalNamingResources>
-    <Service name="Catalina">
-        <Executor maxThreads="300" minSpareThreads="50" name="tomcatThreadPool" namePrefix="tomcat-http--"/>
-        <Engine defaultHost="localhost" name="Catalina">
-            <Realm className="org.apache.catalina.realm.LockOutRealm">
-                <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
-            </Realm>
-            <Host appBase="webapps" autoDeploy="true" deployOnStartup="true" deployXML="true" name="localhost" unpackWARs="true">
-                <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>
-            </Host>
-        </Engine>
-        <Connector acceptCount="100" connectionTimeout="20000" executor="tomcatThreadPool" maxKeepAliveRequests="15" port="${nio.http.port}" protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="${nio.https.port}"/>
-    </Service>
-</Server>
\ No newline at end of file
diff --git a/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/tomcat-users.xml b/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/tomcat-users.xml
deleted file mode 100644 (file)
index 84efcd8..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tomcat-users/>
\ No newline at end of file
diff --git a/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/web.xml b/akraino/Servers/Pivotal tc Server Developer Edition v3.2-config/web.xml
deleted file mode 100644 (file)
index 8e18a73..0000000
+++ /dev/null
@@ -1,4548 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
-    <!-- ======================== Introduction ============================== -->
-    <!-- This document defines default values for *all* web applications      -->
-    <!-- loaded into this instance of Tomcat.  As each application is         -->
-    <!-- deployed, this file is processed, followed by the                    -->
-    <!-- "/WEB-INF/web.xml" deployment descriptor from your own               -->
-    <!-- applications.                                                        -->
-    <!--                                                                      -->
-    <!-- WARNING:  Do not configure application-specific resources here!      -->
-    <!-- They should go in the "/WEB-INF/web.xml" file in your application.   -->
-    <!-- ================== Built In Servlet Definitions ==================== -->
-    <!-- The default servlet for all web applications, that serves static     -->
-    <!-- resources.  It processes all requests that are not mapped to other   -->
-    <!-- servlets with servlet mappings (defined either here or in your own   -->
-    <!-- web.xml file).  This servlet supports the following initialization   -->
-    <!-- parameters (default values are in square brackets):                  -->
-    <!--                                                                      -->
-    <!--   debug               Debugging detail level for messages logged     -->
-    <!--                       by this servlet.  [0]                          -->
-    <!--                                                                      -->
-    <!--   fileEncoding        Encoding to be used to read static resources   -->
-    <!--                       [platform default]                             -->
-    <!--                                                                      -->
-    <!--   input               Input buffer size (in bytes) when reading      -->
-    <!--                       resources to be served.  [2048]                -->
-    <!--                                                                      -->
-    <!--   listings            Should directory listings be produced if there -->
-    <!--                       is no welcome file in this directory?  [false] -->
-    <!--                       WARNING: Listings for directories with many    -->
-    <!--                       entries can be slow and may consume            -->
-    <!--                       significant proportions of server resources.   -->
-    <!--                                                                      -->
-    <!--   output              Output buffer size (in bytes) when writing     -->
-    <!--                       resources to be served.  [2048]                -->
-    <!--                                                                      -->
-    <!--   readonly            Is this context "read only", so HTTP           -->
-    <!--                       commands like PUT and DELETE are               -->
-    <!--                       rejected?  [true]                              -->
-    <!--                                                                      -->
-    <!--   readmeFile          File to display together with the directory    -->
-    <!--                       contents. [null]                               -->
-    <!--                                                                      -->
-    <!--   sendfileSize        If the connector used supports sendfile, this  -->
-    <!--                       represents the minimal file size in KB for     -->
-    <!--                       which sendfile will be used. Use a negative    -->
-    <!--                       value to always disable sendfile.  [48]        -->
-    <!--                                                                      -->
-    <!--   useAcceptRanges     Should the Accept-Ranges header be included    -->
-    <!--                       in responses where appropriate? [true]         -->
-    <!--                                                                      -->
-    <!--  For directory listing customization. Checks localXsltFile, then     -->
-    <!--  globalXsltFile, then defaults to original behavior.                 -->
-    <!--                                                                      -->
-    <!--   localXsltFile       Make directory listings an XML doc and         -->
-    <!--                       pass the result to this style sheet residing   -->
-    <!--                       in that directory. This overrides              -->
-    <!--                       contextXsltFile and globalXsltFile[null]       -->
-    <!--                                                                      -->
-    <!--   contextXsltFile     Make directory listings an XML doc and         -->
-    <!--                       pass the result to this style sheet which is   -->
-    <!--                       relative to the context root. This overrides   -->
-    <!--                       globalXsltFile[null]                           -->
-    <!--                                                                      -->
-    <!--   globalXsltFile      Site wide configuration version of             -->
-    <!--                       localXsltFile. This argument must either be an -->
-    <!--                       absolute or relative (to either                -->
-    <!--                       $CATALINA_BASE/conf or $CATALINA_HOME/conf)    -->
-    <!--                       path that points to a location below either    -->
-    <!--                       $CATALINA_BASE/conf (checked first) or         -->
-    <!--                       $CATALINA_HOME/conf (checked second).[null]    -->
-    <!--                                                                      -->
-    <servlet>
-        <servlet-name>default</servlet-name>
-        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
-        <init-param>
-            <param-name>debug</param-name>
-            <param-value>0</param-value>
-        </init-param>
-        <init-param>
-            <param-name>listings</param-name>
-            <param-value>false</param-value>
-        </init-param>
-        <load-on-startup>1</load-on-startup>
-    </servlet>
-    <!-- The JSP page compiler and execution servlet, which is the mechanism  -->
-    <!-- used by Tomcat to support JSP pages.  Traditionally, this servlet    -->
-    <!-- is mapped to the URL pattern "*.jsp".  This servlet supports the     -->
-    <!-- following initialization parameters (default values are in square    -->
-    <!-- brackets):                                                           -->
-    <!--                                                                      -->
-    <!--   checkInterval       If development is false and checkInterval is   -->
-    <!--                       greater than zero, background compilations are -->
-    <!--                       enabled. checkInterval is the time in seconds  -->
-    <!--                       between checks to see if a JSP page (and its   -->
-    <!--                       dependent files) needs to  be recompiled. [0]  -->
-    <!--                                                                      -->
-    <!--   classdebuginfo      Should the class file be compiled with         -->
-    <!--                       debugging information?  [true]                 -->
-    <!--                                                                      -->
-    <!--   classpath           What class path should I use while compiling   -->
-    <!--                       generated servlets?  [Created dynamically      -->
-    <!--                       based on the current web application]          -->
-    <!--                                                                      -->
-    <!--   compiler            Which compiler Ant should use to compile JSP   -->
-    <!--                       pages.  See the jasper documentation for more  -->
-    <!--                       information.                                   -->
-    <!--                                                                      -->
-    <!--   compilerSourceVM    Compiler source VM.                            -->
-    <!--                       [1.6 for 7.x runtimes, 1.7 for 8.x runtimes]   -->
-    <!--                                                                      -->
-    <!--   compilerTargetVM    Compiler target VM.                            -->
-    <!--                       [1.6 for 7.x runtimes, 1.7 for 8.x runtimes]   -->
-    <!--                                                                      -->
-    <!--   development         Is Jasper used in development mode? If true,   -->
-    <!--                       the frequency at which JSPs are checked for    -->
-    <!--                       modification may be specified via the          -->
-    <!--                       modificationTestInterval parameter. [true]     -->
-    <!--                                                                      -->
-    <!--   displaySourceFragment                                              -->
-    <!--                       Should a source fragment be included in        -->
-    <!--                       exception messages? [true]                     -->
-    <!--                                                                      -->
-    <!--   dumpSmap            Should the SMAP info for JSR45 debugging be    -->
-    <!--                       dumped to a file? [false]                      -->
-    <!--                       False if suppressSmap is true                  -->
-    <!--                                                                      -->
-    <!--   enablePooling       Determines whether tag handler pooling is      -->
-    <!--                       enabled. This is a compilation option. It will -->
-    <!--                       not alter the behaviour of JSPs that have      -->
-    <!--                       already been compiled. [true]                  -->
-    <!--                                                                      -->
-    <!--   engineOptionsClass  Allows specifying the Options class used to    -->
-    <!--                       configure Jasper. If not present, the default  -->
-    <!--                       EmbeddedServletOptions will be used.           -->
-    <!--                                                                      -->
-    <!--   errorOnUseBeanInvalidClassAttribute                                -->
-    <!--                       Should Jasper issue an error when the value of -->
-    <!--                       the class attribute in an useBean action is    -->
-    <!--                       not a valid bean class?  [true]                -->
-    <!--                                                                      -->
-    <!--   fork                Tell Ant to fork compiles of JSP pages so that -->
-    <!--                       a separate JVM is used for JSP page compiles   -->
-    <!--                       from the one Tomcat is running in. [true]      -->
-    <!--                                                                      -->
-    <!--   genStringAsCharArray                                               -->
-    <!--                       Should text strings be generated as char       -->
-    <!--                       arrays, to improve performance in some cases?  -->
-    <!--                       [false]                                        -->
-    <!--                                                                      -->
-    <!--   ieClassId           The class-id value to be sent to Internet      -->
-    <!--                       Explorer when using <jsp:plugin> tags.         -->
-    <!--                       [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93]   -->
-    <!--                                                                      -->
-    <!--   javaEncoding        Java file encoding to use for generating java  -->
-    <!--                       source files. [UTF8]                           -->
-    <!--                                                                      -->
-    <!--   keepgenerated       Should we keep the generated Java source code  -->
-    <!--                       for each page instead of deleting it? [true]   -->
-    <!--                                                                      -->
-    <!--   mappedfile          Should we generate static content with one     -->
-    <!--                       print statement per input line, to ease        -->
-    <!--                       debugging?  [true]                             -->
-    <!--                                                                      -->
-    <!--   maxLoadedJsps       The maximum number of JSPs that will be loaded -->
-    <!--                       for a web application. If more than this       -->
-    <!--                       number of JSPs are loaded, the least recently  -->
-    <!--                       used JSPs will be unloaded so that the number  -->
-    <!--                       of JSPs loaded at any one time does not exceed -->
-    <!--                       this limit. A value of zero or less indicates  -->
-    <!--                       no limit. [-1]                                 -->
-    <!--                                                                      -->
-    <!--   jspIdleTimeout      The amount of time in seconds a JSP can be     -->
-    <!--                       idle before it is unloaded. A value of zero    -->
-    <!--                       or less indicates never unload. [-1]           -->
-    <!--                                                                      -->
-    <!--   modificationTestInterval                                           -->
-    <!--                       Causes a JSP (and its dependent files) to not  -->
-    <!--                       be checked for modification during the         -->
-    <!--                       specified time interval (in seconds) from the  -->
-    <!--                       last time the JSP was checked for              -->
-    <!--                       modification. A value of 0 will cause the JSP  -->
-    <!--                       to be checked on every access.                 -->
-    <!--                       Used in development mode only. [4]             -->
-    <!--                                                                      -->
-    <!--   recompileOnFail     If a JSP compilation fails should the          -->
-    <!--                       modificationTestInterval be ignored and the    -->
-    <!--                       next access trigger a re-compilation attempt?  -->
-    <!--                       Used in development mode only and is disabled  -->
-    <!--                       by default as compilation may be expensive and -->
-    <!--                       could lead to excessive resource usage.        -->
-    <!--                       [false]                                        -->
-    <!--                                                                      -->
-    <!--   scratchdir          What scratch directory should we use when      -->
-    <!--                       compiling JSP pages?  [default work directory  -->
-    <!--                       for the current web application]               -->
-    <!--                                                                      -->
-    <!--   suppressSmap        Should the generation of SMAP info for JSR45   -->
-    <!--                       debugging be suppressed?  [false]              -->
-    <!--                                                                      -->
-    <!--   trimSpaces          Should white spaces in template text between   -->
-    <!--                       actions or directives be trimmed?  [false]     -->
-    <!--                                                                      -->
-    <!--   xpoweredBy          Determines whether X-Powered-By response       -->
-    <!--                       header is added by generated servlet.  [false] -->
-    <servlet>
-        <servlet-name>jsp</servlet-name>
-        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
-        <init-param>
-            <param-name>fork</param-name>
-            <param-value>false</param-value>
-        </init-param>
-        <init-param>
-            <param-name>xpoweredBy</param-name>
-            <param-value>false</param-value>
-        </init-param>
-        <load-on-startup>3</load-on-startup>
-    </servlet>
-    <!-- NOTE: An SSI Filter is also available as an alternative SSI          -->
-    <!-- implementation. Use either the Servlet or the Filter but NOT both.   -->
-    <!--                                                                      -->
-    <!-- Server Side Includes processing servlet, which processes SSI         -->
-    <!-- directives in HTML pages consistent with similar support in web      -->
-    <!-- servers like Apache.  Traditionally, this servlet is mapped to the   -->
-    <!-- URL pattern "*.shtml".  This servlet supports the following          -->
-    <!-- initialization parameters (default values are in square brackets):   -->
-    <!--                                                                      -->
-    <!--   buffered            Should output from this servlet be buffered?   -->
-    <!--                       (0=false, 1=true)  [0]                         -->
-    <!--                                                                      -->
-    <!--   debug               Debugging detail level for messages logged     -->
-    <!--                       by this servlet.  [0]                          -->
-    <!--                                                                      -->
-    <!--   expires             The number of seconds before a page with SSI   -->
-    <!--                       directives will expire.  [No default]          -->
-    <!--                                                                      -->
-    <!--   isVirtualWebappRelative                                            -->
-    <!--                       Should "virtual" paths be interpreted as       -->
-    <!--                       relative to the context root, instead of       -->
-    <!--                       the server root? [false]                       -->
-    <!--                                                                      -->
-    <!--   inputEncoding       The encoding to assume for SSI resources if    -->
-    <!--                       one is not available from the resource.        -->
-    <!--                       [Platform default]                             -->
-    <!--                                                                      -->
-    <!--   outputEncoding      The encoding to use for the page that results  -->
-    <!--                       from the SSI processing. [UTF-8]               -->
-    <!--                                                                      -->
-    <!--   allowExec           Is use of the exec command enabled? [false]    -->
-    <!--
-            <servlet>
-                <servlet-name>ssi</servlet-name>
-                <servlet-class>
-                  org.apache.catalina.ssi.SSIServlet
-                </servlet-class>
-                <init-param>
-                  <param-name>buffered</param-name>
-                  <param-value>1</param-value>
-                </init-param>
-                <init-param>
-                  <param-name>debug</param-name>
-                  <param-value>0</param-value>
-                </init-param>
-                <init-param>
-                  <param-name>expires</param-name>
-                  <param-value>666</param-value>
-                </init-param>
-                <init-param>
-                  <param-name>isVirtualWebappRelative</param-name>
-                  <param-value>false</param-value>
-                </init-param>
-                <load-on-startup>4</load-on-startup>
-            </servlet>
-        -->
-    <!-- Common Gateway Includes (CGI) processing servlet, which supports     -->
-    <!-- execution of external applications that conform to the CGI spec      -->
-    <!-- requirements.  Typically, this servlet is mapped to the URL pattern  -->
-    <!-- "/cgi-bin/*", which means that any CGI applications that are         -->
-    <!-- executed must be present within the web application.  This servlet   -->
-    <!-- supports the following initialization parameters (default values     -->
-    <!-- are in square brackets):                                             -->
-    <!--                                                                      -->
-    <!--   cgiPathPrefix        The CGI search path will start at             -->
-    <!--                        webAppRootDir + File.separator + this prefix. -->
-    <!--                        [WEB-INF/cgi]                                 -->
-    <!--                                                                      -->
-    <!--   debug                Debugging detail level for messages logged    -->
-    <!--                        by this servlet.  [0]                         -->
-    <!--                                                                      -->
-    <!--   executable           Name of the executable used to run the        -->
-    <!--                        script. [perl]                                -->
-    <!--                                                                      -->
-    <!--   parameterEncoding    Name of parameter encoding to be used with    -->
-    <!--                        CGI servlet.                                  -->
-    <!--                        [System.getProperty("file.encoding","UTF-8")] -->
-    <!--                                                                      -->
-    <!--   passShellEnvironment Should the shell environment variables (if    -->
-    <!--                        any) be passed to the CGI script? [false]     -->
-    <!--                                                                      -->
-    <!--   stderrTimeout        The time (in milliseconds) to wait for the    -->
-    <!--                        reading of stderr to complete before          -->
-    <!--                        terminating the CGI process. [2000]           -->
-    <!--
-            <servlet>
-                <servlet-name>cgi</servlet-name>
-                <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
-                <init-param>
-                  <param-name>debug</param-name>
-                  <param-value>0</param-value>
-                </init-param>
-                <init-param>
-                  <param-name>cgiPathPrefix</param-name>
-                  <param-value>WEB-INF/cgi</param-value>
-                </init-param>
-                 <load-on-startup>5</load-on-startup>
-            </servlet>
-        -->
-    <!-- ================ Built In Servlet Mappings ========================= -->
-    <!-- The servlet mappings for the built in servlets defined above.  Note  -->
-    <!-- that, by default, the CGI and SSI servlets are *not* mapped.  You    -->
-    <!-- must uncomment these mappings (or add them to your application's own -->
-    <!-- web.xml deployment descriptor) to enable these services              -->
-    <!-- The mapping for the default servlet -->
-    <servlet-mapping>
-        <servlet-name>default</servlet-name>
-        <url-pattern>/</url-pattern>
-    </servlet-mapping>
-    <!-- The mappings for the JSP servlet -->
-    <servlet-mapping>
-        <servlet-name>jsp</servlet-name>
-        <url-pattern>*.jsp</url-pattern>
-        <url-pattern>*.jspx</url-pattern>
-    </servlet-mapping>
-    <!-- The mapping for the SSI servlet -->
-    <!--
-            <servlet-mapping>
-                <servlet-name>ssi</servlet-name>
-                <url-pattern>*.shtml</url-pattern>
-            </servlet-mapping>
-        -->
-    <!-- The mapping for the CGI Gateway servlet -->
-    <!--
-            <servlet-mapping>
-                <servlet-name>cgi</servlet-name>
-                <url-pattern>/cgi-bin/*</url-pattern>
-            </servlet-mapping>
-        -->
-    <!-- ================== Built In Filter Definitions ===================== -->
-    <!-- A filter that sets character encoding that is used to decode -->
-    <!-- parameters in a POST request -->
-    <!--
-            <filter>
-                <filter-name>setCharacterEncodingFilter</filter-name>
-                <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
-                <init-param>
-                    <param-name>encoding</param-name>
-                    <param-value>UTF-8</param-value>
-                </init-param>
-                <async-supported>true</async-supported>
-            </filter>
-        -->
-    <!-- A filter that triggers request parameters parsing and rejects the    -->
-    <!-- request if some parameters were skipped because of parsing errors or -->
-    <!-- request size limitations.                                            -->
-    <!--
-            <filter>
-                <filter-name>failedRequestFilter</filter-name>
-                <filter-class>
-                  org.apache.catalina.filters.FailedRequestFilter
-                </filter-class>
-                <async-supported>true</async-supported>
-            </filter>
-        -->
-    <!-- NOTE: An SSI Servlet is also available as an alternative SSI         -->
-    <!-- implementation. Use either the Servlet or the Filter but NOT both.   -->
-    <!--                                                                      -->
-    <!-- Server Side Includes processing filter, which processes SSI          -->
-    <!-- directives in HTML pages consistent with similar support in web      -->
-    <!-- servers like Apache.  Traditionally, this filter is mapped to the    -->
-    <!-- URL pattern "*.shtml", though it can be mapped to "*" as it will     -->
-    <!-- selectively enable/disable SSI processing based on mime types. For   -->
-    <!-- this to work you will need to uncomment the .shtml mime type         -->
-    <!-- definition towards the bottom of this file.                          -->
-    <!-- The contentType init param allows you to apply SSI processing to JSP -->
-    <!-- pages, javascript, or any other content you wish.  This filter       -->
-    <!-- supports the following initialization parameters (default values are -->
-    <!-- in square brackets):                                                 -->
-    <!--                                                                      -->
-    <!--   contentType         A regex pattern that must be matched before    -->
-    <!--                       SSI processing is applied.                     -->
-    <!--                       [text/x-server-parsed-html(;.*)?]              -->
-    <!--                                                                      -->
-    <!--   debug               Debugging detail level for messages logged     -->
-    <!--                       by this servlet.  [0]                          -->
-    <!--                                                                      -->
-    <!--   expires             The number of seconds before a page with SSI   -->
-    <!--                       directives will expire.  [No default]          -->
-    <!--                                                                      -->
-    <!--   isVirtualWebappRelative                                            -->
-    <!--                       Should "virtual" paths be interpreted as       -->
-    <!--                       relative to the context root, instead of       -->
-    <!--                       the server root? [false]                       -->
-    <!--                                                                      -->
-    <!--   allowExec           Is use of the exec command enabled? [false]    -->
-    <!--
-            <filter>
-                <filter-name>ssi</filter-name>
-                <filter-class>
-                  org.apache.catalina.ssi.SSIFilter
-                </filter-class>
-                <init-param>
-                  <param-name>contentType</param-name>
-                  <param-value>text/x-server-parsed-html(;.*)?</param-value>
-                </init-param>
-                <init-param>
-                  <param-name>debug</param-name>
-                  <param-value>0</param-value>
-                </init-param>
-                <init-param>
-                  <param-name>expires</param-name>
-                  <param-value>666</param-value>
-                </init-param>
-                <init-param>
-                  <param-name>isVirtualWebappRelative</param-name>
-                  <param-value>false</param-value>
-                </init-param>
-            </filter>
-        -->
-    <!-- ==================== Built In Filter Mappings ====================== -->
-    <!-- The mapping for the Set Character Encoding Filter -->
-    <!--
-            <filter-mapping>
-                <filter-name>setCharacterEncodingFilter</filter-name>
-                <url-pattern>/*</url-pattern>
-            </filter-mapping>
-        -->
-    <!-- The mapping for the Failed Request Filter -->
-    <!--
-            <filter-mapping>
-                <filter-name>failedRequestFilter</filter-name>
-                <url-pattern>/*</url-pattern>
-            </filter-mapping>
-        -->
-    <!-- The mapping for the SSI Filter -->
-    <!--
-            <filter-mapping>
-                <filter-name>ssi</filter-name>
-                <url-pattern>*.shtml</url-pattern>
-            </filter-mapping>
-        -->
-    <!-- ==================== Default Session Configuration ================= -->
-    <!-- You can set the default session timeout (in minutes) for all newly   -->
-    <!-- created sessions by modifying the value below.                       -->
-    <session-config>
-        <session-timeout>30</session-timeout>
-    </session-config>
-    <!-- ===================== Default MIME Type Mappings =================== -->
-    <!-- When serving static resources, Tomcat will automatically generate    -->
-    <!-- a "Content-Type" header based on the resource's filename extension,  -->
-    <!-- based on these mappings.  Additional mappings can be added here (to  -->
-    <!-- apply to all web applications), or in your own application's web.xml -->
-    <!-- deployment descriptor.                                               -->
-    <!-- Note: Extensions are always matched in a case-insensitive manner.    -->
-    <mime-mapping>
-        <extension>123</extension>
-        <mime-type>application/vnd.lotus-1-2-3</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>3dml</extension>
-        <mime-type>text/vnd.in3d.3dml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>3ds</extension>
-        <mime-type>image/x-3ds</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>3g2</extension>
-        <mime-type>video/3gpp2</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>3gp</extension>
-        <mime-type>video/3gpp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>7z</extension>
-        <mime-type>application/x-7z-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aab</extension>
-        <mime-type>application/x-authorware-bin</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aac</extension>
-        <mime-type>audio/x-aac</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aam</extension>
-        <mime-type>application/x-authorware-map</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aas</extension>
-        <mime-type>application/x-authorware-seg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>abs</extension>
-        <mime-type>audio/x-mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>abw</extension>
-        <mime-type>application/x-abiword</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ac</extension>
-        <mime-type>application/pkix-attr-cert</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>acc</extension>
-        <mime-type>application/vnd.americandynamics.acc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ace</extension>
-        <mime-type>application/x-ace-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>acu</extension>
-        <mime-type>application/vnd.acucobol</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>acutc</extension>
-        <mime-type>application/vnd.acucorp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>adp</extension>
-        <mime-type>audio/adpcm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aep</extension>
-        <mime-type>application/vnd.audiograph</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>afm</extension>
-        <mime-type>application/x-font-type1</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>afp</extension>
-        <mime-type>application/vnd.ibm.modcap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ahead</extension>
-        <mime-type>application/vnd.ahead.space</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ai</extension>
-        <mime-type>application/postscript</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aif</extension>
-        <mime-type>audio/x-aiff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aifc</extension>
-        <mime-type>audio/x-aiff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aiff</extension>
-        <mime-type>audio/x-aiff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aim</extension>
-        <mime-type>application/x-aim</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>air</extension>
-        <mime-type>application/vnd.adobe.air-application-installer-package+zip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ait</extension>
-        <mime-type>application/vnd.dvb.ait</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ami</extension>
-        <mime-type>application/vnd.amiga.ami</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>anx</extension>
-        <mime-type>application/annodex</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>apk</extension>
-        <mime-type>application/vnd.android.package-archive</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>appcache</extension>
-        <mime-type>text/cache-manifest</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>application</extension>
-        <mime-type>application/x-ms-application</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>apr</extension>
-        <mime-type>application/vnd.lotus-approach</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>arc</extension>
-        <mime-type>application/x-freearc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>art</extension>
-        <mime-type>image/x-jg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>asc</extension>
-        <mime-type>application/pgp-signature</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>asf</extension>
-        <mime-type>video/x-ms-asf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>asm</extension>
-        <mime-type>text/x-asm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aso</extension>
-        <mime-type>application/vnd.accpac.simply.aso</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>asx</extension>
-        <mime-type>video/x-ms-asf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>atc</extension>
-        <mime-type>application/vnd.acucorp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>atom</extension>
-        <mime-type>application/atom+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>atomcat</extension>
-        <mime-type>application/atomcat+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>atomsvc</extension>
-        <mime-type>application/atomsvc+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>atx</extension>
-        <mime-type>application/vnd.antix.game-component</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>au</extension>
-        <mime-type>audio/basic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>avi</extension>
-        <mime-type>video/x-msvideo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>avx</extension>
-        <mime-type>video/x-rad-screenplay</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aw</extension>
-        <mime-type>application/applixware</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>axa</extension>
-        <mime-type>audio/annodex</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>axv</extension>
-        <mime-type>video/annodex</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>azf</extension>
-        <mime-type>application/vnd.airzip.filesecure.azf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>azs</extension>
-        <mime-type>application/vnd.airzip.filesecure.azs</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>azw</extension>
-        <mime-type>application/vnd.amazon.ebook</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bat</extension>
-        <mime-type>application/x-msdownload</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bcpio</extension>
-        <mime-type>application/x-bcpio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bdf</extension>
-        <mime-type>application/x-font-bdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bdm</extension>
-        <mime-type>application/vnd.syncml.dm+wbxml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bed</extension>
-        <mime-type>application/vnd.realvnc.bed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bh2</extension>
-        <mime-type>application/vnd.fujitsu.oasysprs</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bin</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>blb</extension>
-        <mime-type>application/x-blorb</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>blorb</extension>
-        <mime-type>application/x-blorb</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bmi</extension>
-        <mime-type>application/vnd.bmi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bmp</extension>
-        <mime-type>image/bmp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>body</extension>
-        <mime-type>text/html</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>book</extension>
-        <mime-type>application/vnd.framemaker</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>box</extension>
-        <mime-type>application/vnd.previewsystems.box</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>boz</extension>
-        <mime-type>application/x-bzip2</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bpk</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>btif</extension>
-        <mime-type>image/prs.btif</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bz</extension>
-        <mime-type>application/x-bzip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bz2</extension>
-        <mime-type>application/x-bzip2</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c</extension>
-        <mime-type>text/x-c</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c11amc</extension>
-        <mime-type>application/vnd.cluetrust.cartomobile-config</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c11amz</extension>
-        <mime-type>application/vnd.cluetrust.cartomobile-config-pkg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c4d</extension>
-        <mime-type>application/vnd.clonk.c4group</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c4f</extension>
-        <mime-type>application/vnd.clonk.c4group</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c4g</extension>
-        <mime-type>application/vnd.clonk.c4group</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c4p</extension>
-        <mime-type>application/vnd.clonk.c4group</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c4u</extension>
-        <mime-type>application/vnd.clonk.c4group</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cab</extension>
-        <mime-type>application/vnd.ms-cab-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>caf</extension>
-        <mime-type>audio/x-caf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cap</extension>
-        <mime-type>application/vnd.tcpdump.pcap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>car</extension>
-        <mime-type>application/vnd.curl.car</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cat</extension>
-        <mime-type>application/vnd.ms-pki.seccat</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cb7</extension>
-        <mime-type>application/x-cbr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cba</extension>
-        <mime-type>application/x-cbr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cbr</extension>
-        <mime-type>application/x-cbr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cbt</extension>
-        <mime-type>application/x-cbr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cbz</extension>
-        <mime-type>application/x-cbr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cc</extension>
-        <mime-type>text/x-c</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cct</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ccxml</extension>
-        <mime-type>application/ccxml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdbcmsg</extension>
-        <mime-type>application/vnd.contact.cmsg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdf</extension>
-        <mime-type>application/x-cdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdkey</extension>
-        <mime-type>application/vnd.mediastation.cdkey</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdmia</extension>
-        <mime-type>application/cdmi-capability</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdmic</extension>
-        <mime-type>application/cdmi-container</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdmid</extension>
-        <mime-type>application/cdmi-domain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdmio</extension>
-        <mime-type>application/cdmi-object</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdmiq</extension>
-        <mime-type>application/cdmi-queue</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdx</extension>
-        <mime-type>chemical/x-cdx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdxml</extension>
-        <mime-type>application/vnd.chemdraw+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdy</extension>
-        <mime-type>application/vnd.cinderella</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cer</extension>
-        <mime-type>application/pkix-cert</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cfs</extension>
-        <mime-type>application/x-cfs-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cgm</extension>
-        <mime-type>image/cgm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>chat</extension>
-        <mime-type>application/x-chat</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>chm</extension>
-        <mime-type>application/vnd.ms-htmlhelp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>chrt</extension>
-        <mime-type>application/vnd.kde.kchart</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cif</extension>
-        <mime-type>chemical/x-cif</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cii</extension>
-        <mime-type>application/vnd.anser-web-certificate-issue-initiation</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cil</extension>
-        <mime-type>application/vnd.ms-artgalry</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cla</extension>
-        <mime-type>application/vnd.claymore</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>class</extension>
-        <mime-type>application/java</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>clkk</extension>
-        <mime-type>application/vnd.crick.clicker.keyboard</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>clkp</extension>
-        <mime-type>application/vnd.crick.clicker.palette</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>clkt</extension>
-        <mime-type>application/vnd.crick.clicker.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>clkw</extension>
-        <mime-type>application/vnd.crick.clicker.wordbank</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>clkx</extension>
-        <mime-type>application/vnd.crick.clicker</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>clp</extension>
-        <mime-type>application/x-msclip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cmc</extension>
-        <mime-type>application/vnd.cosmocaller</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cmdf</extension>
-        <mime-type>chemical/x-cmdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cml</extension>
-        <mime-type>chemical/x-cml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cmp</extension>
-        <mime-type>application/vnd.yellowriver-custom-menu</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cmx</extension>
-        <mime-type>image/x-cmx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cod</extension>
-        <mime-type>application/vnd.rim.cod</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>com</extension>
-        <mime-type>application/x-msdownload</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>conf</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cpio</extension>
-        <mime-type>application/x-cpio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cpp</extension>
-        <mime-type>text/x-c</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cpt</extension>
-        <mime-type>application/mac-compactpro</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>crd</extension>
-        <mime-type>application/x-mscardfile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>crl</extension>
-        <mime-type>application/pkix-crl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>crt</extension>
-        <mime-type>application/x-x509-ca-cert</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cryptonote</extension>
-        <mime-type>application/vnd.rig.cryptonote</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>csh</extension>
-        <mime-type>application/x-csh</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>csml</extension>
-        <mime-type>chemical/x-csml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>csp</extension>
-        <mime-type>application/vnd.commonspace</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>css</extension>
-        <mime-type>text/css</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cst</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>csv</extension>
-        <mime-type>text/csv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cu</extension>
-        <mime-type>application/cu-seeme</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>curl</extension>
-        <mime-type>text/vnd.curl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cww</extension>
-        <mime-type>application/prs.cww</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cxt</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cxx</extension>
-        <mime-type>text/x-c</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dae</extension>
-        <mime-type>model/vnd.collada+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>daf</extension>
-        <mime-type>application/vnd.mobius.daf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dart</extension>
-        <mime-type>application/vnd.dart</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dataless</extension>
-        <mime-type>application/vnd.fdsn.seed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>davmount</extension>
-        <mime-type>application/davmount+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dbk</extension>
-        <mime-type>application/docbook+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dcr</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dcurl</extension>
-        <mime-type>text/vnd.curl.dcurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dd2</extension>
-        <mime-type>application/vnd.oma.dd2+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ddd</extension>
-        <mime-type>application/vnd.fujixerox.ddd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>deb</extension>
-        <mime-type>application/x-debian-package</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>def</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>deploy</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>der</extension>
-        <mime-type>application/x-x509-ca-cert</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dfac</extension>
-        <mime-type>application/vnd.dreamfactory</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dgc</extension>
-        <mime-type>application/x-dgc-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dib</extension>
-        <mime-type>image/bmp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dic</extension>
-        <mime-type>text/x-c</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dir</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dis</extension>
-        <mime-type>application/vnd.mobius.dis</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dist</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>distz</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>djv</extension>
-        <mime-type>image/vnd.djvu</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>djvu</extension>
-        <mime-type>image/vnd.djvu</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dll</extension>
-        <mime-type>application/x-msdownload</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dmg</extension>
-        <mime-type>application/x-apple-diskimage</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dmp</extension>
-        <mime-type>application/vnd.tcpdump.pcap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dms</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dna</extension>
-        <mime-type>application/vnd.dna</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>doc</extension>
-        <mime-type>application/msword</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>docm</extension>
-        <mime-type>application/vnd.ms-word.document.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>docx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.wordprocessingml.document</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dot</extension>
-        <mime-type>application/msword</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dotm</extension>
-        <mime-type>application/vnd.ms-word.template.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dotx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.wordprocessingml.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dp</extension>
-        <mime-type>application/vnd.osgi.dp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dpg</extension>
-        <mime-type>application/vnd.dpgraph</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dra</extension>
-        <mime-type>audio/vnd.dra</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dsc</extension>
-        <mime-type>text/prs.lines.tag</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dssc</extension>
-        <mime-type>application/dssc+der</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dtb</extension>
-        <mime-type>application/x-dtbook+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dtd</extension>
-        <mime-type>application/xml-dtd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dts</extension>
-        <mime-type>audio/vnd.dts</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dtshd</extension>
-        <mime-type>audio/vnd.dts.hd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dump</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dv</extension>
-        <mime-type>video/x-dv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dvb</extension>
-        <mime-type>video/vnd.dvb.file</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dvi</extension>
-        <mime-type>application/x-dvi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dwf</extension>
-        <mime-type>model/vnd.dwf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dwg</extension>
-        <mime-type>image/vnd.dwg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dxf</extension>
-        <mime-type>image/vnd.dxf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dxp</extension>
-        <mime-type>application/vnd.spotfire.dxp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dxr</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ecelp4800</extension>
-        <mime-type>audio/vnd.nuera.ecelp4800</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ecelp7470</extension>
-        <mime-type>audio/vnd.nuera.ecelp7470</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ecelp9600</extension>
-        <mime-type>audio/vnd.nuera.ecelp9600</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ecma</extension>
-        <mime-type>application/ecmascript</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>edm</extension>
-        <mime-type>application/vnd.novadigm.edm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>edx</extension>
-        <mime-type>application/vnd.novadigm.edx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>efif</extension>
-        <mime-type>application/vnd.picsel</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ei6</extension>
-        <mime-type>application/vnd.pg.osasli</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>elc</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>emf</extension>
-        <mime-type>application/x-msmetafile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>eml</extension>
-        <mime-type>message/rfc822</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>emma</extension>
-        <mime-type>application/emma+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>emz</extension>
-        <mime-type>application/x-msmetafile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>eol</extension>
-        <mime-type>audio/vnd.digital-winds</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>eot</extension>
-        <mime-type>application/vnd.ms-fontobject</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>eps</extension>
-        <mime-type>application/postscript</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>epub</extension>
-        <mime-type>application/epub+zip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>es3</extension>
-        <mime-type>application/vnd.eszigno3+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>esa</extension>
-        <mime-type>application/vnd.osgi.subsystem</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>esf</extension>
-        <mime-type>application/vnd.epson.esf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>et3</extension>
-        <mime-type>application/vnd.eszigno3+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>etx</extension>
-        <mime-type>text/x-setext</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>eva</extension>
-        <mime-type>application/x-eva</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>evy</extension>
-        <mime-type>application/x-envoy</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>exe</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>exi</extension>
-        <mime-type>application/exi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ext</extension>
-        <mime-type>application/vnd.novadigm.ext</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ez</extension>
-        <mime-type>application/andrew-inset</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ez2</extension>
-        <mime-type>application/vnd.ezpix-album</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ez3</extension>
-        <mime-type>application/vnd.ezpix-package</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>f</extension>
-        <mime-type>text/x-fortran</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>f4v</extension>
-        <mime-type>video/x-f4v</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>f77</extension>
-        <mime-type>text/x-fortran</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>f90</extension>
-        <mime-type>text/x-fortran</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fbs</extension>
-        <mime-type>image/vnd.fastbidsheet</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fcdt</extension>
-        <mime-type>application/vnd.adobe.formscentral.fcdt</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fcs</extension>
-        <mime-type>application/vnd.isac.fcs</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fdf</extension>
-        <mime-type>application/vnd.fdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fe_launch</extension>
-        <mime-type>application/vnd.denovo.fcselayout-link</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fg5</extension>
-        <mime-type>application/vnd.fujitsu.oasysgp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fgd</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fh</extension>
-        <mime-type>image/x-freehand</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fh4</extension>
-        <mime-type>image/x-freehand</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fh5</extension>
-        <mime-type>image/x-freehand</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fh7</extension>
-        <mime-type>image/x-freehand</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fhc</extension>
-        <mime-type>image/x-freehand</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fig</extension>
-        <mime-type>application/x-xfig</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>flac</extension>
-        <mime-type>audio/flac</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fli</extension>
-        <mime-type>video/x-fli</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>flo</extension>
-        <mime-type>application/vnd.micrografx.flo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>flv</extension>
-        <mime-type>video/x-flv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>flw</extension>
-        <mime-type>application/vnd.kde.kivio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>flx</extension>
-        <mime-type>text/vnd.fmi.flexstor</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fly</extension>
-        <mime-type>text/vnd.fly</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fm</extension>
-        <mime-type>application/vnd.framemaker</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fnc</extension>
-        <mime-type>application/vnd.frogans.fnc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>for</extension>
-        <mime-type>text/x-fortran</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fpx</extension>
-        <mime-type>image/vnd.fpx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>frame</extension>
-        <mime-type>application/vnd.framemaker</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fsc</extension>
-        <mime-type>application/vnd.fsc.weblaunch</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fst</extension>
-        <mime-type>image/vnd.fst</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ftc</extension>
-        <mime-type>application/vnd.fluxtime.clip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fti</extension>
-        <mime-type>application/vnd.anser-web-funds-transfer-initiation</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fvt</extension>
-        <mime-type>video/vnd.fvt</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fxp</extension>
-        <mime-type>application/vnd.adobe.fxp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fxpl</extension>
-        <mime-type>application/vnd.adobe.fxp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fzs</extension>
-        <mime-type>application/vnd.fuzzysheet</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>g2w</extension>
-        <mime-type>application/vnd.geoplan</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>g3</extension>
-        <mime-type>image/g3fax</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>g3w</extension>
-        <mime-type>application/vnd.geospace</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gac</extension>
-        <mime-type>application/vnd.groove-account</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gam</extension>
-        <mime-type>application/x-tads</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gbr</extension>
-        <mime-type>application/rpki-ghostbusters</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gca</extension>
-        <mime-type>application/x-gca-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gdl</extension>
-        <mime-type>model/vnd.gdl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>geo</extension>
-        <mime-type>application/vnd.dynageo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gex</extension>
-        <mime-type>application/vnd.geometry-explorer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ggb</extension>
-        <mime-type>application/vnd.geogebra.file</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ggt</extension>
-        <mime-type>application/vnd.geogebra.tool</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ghf</extension>
-        <mime-type>application/vnd.groove-help</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gif</extension>
-        <mime-type>image/gif</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gim</extension>
-        <mime-type>application/vnd.groove-identity-message</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gml</extension>
-        <mime-type>application/gml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gmx</extension>
-        <mime-type>application/vnd.gmx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gnumeric</extension>
-        <mime-type>application/x-gnumeric</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gph</extension>
-        <mime-type>application/vnd.flographit</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gpx</extension>
-        <mime-type>application/gpx+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gqf</extension>
-        <mime-type>application/vnd.grafeq</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gqs</extension>
-        <mime-type>application/vnd.grafeq</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gram</extension>
-        <mime-type>application/srgs</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gramps</extension>
-        <mime-type>application/x-gramps-xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gre</extension>
-        <mime-type>application/vnd.geometry-explorer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>grv</extension>
-        <mime-type>application/vnd.groove-injector</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>grxml</extension>
-        <mime-type>application/srgs+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gsf</extension>
-        <mime-type>application/x-font-ghostscript</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gtar</extension>
-        <mime-type>application/x-gtar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gtm</extension>
-        <mime-type>application/vnd.groove-tool-message</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gtw</extension>
-        <mime-type>model/vnd.gtw</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gv</extension>
-        <mime-type>text/vnd.graphviz</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gxf</extension>
-        <mime-type>application/gxf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gxt</extension>
-        <mime-type>application/vnd.geonext</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gz</extension>
-        <mime-type>application/x-gzip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>h</extension>
-        <mime-type>text/x-c</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>h261</extension>
-        <mime-type>video/h261</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>h263</extension>
-        <mime-type>video/h263</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>h264</extension>
-        <mime-type>video/h264</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hal</extension>
-        <mime-type>application/vnd.hal+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hbci</extension>
-        <mime-type>application/vnd.hbci</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hdf</extension>
-        <mime-type>application/x-hdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hh</extension>
-        <mime-type>text/x-c</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hlp</extension>
-        <mime-type>application/winhlp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hpgl</extension>
-        <mime-type>application/vnd.hp-hpgl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hpid</extension>
-        <mime-type>application/vnd.hp-hpid</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hps</extension>
-        <mime-type>application/vnd.hp-hps</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hqx</extension>
-        <mime-type>application/mac-binhex40</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>htc</extension>
-        <mime-type>text/x-component</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>htke</extension>
-        <mime-type>application/vnd.kenameaapp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>htm</extension>
-        <mime-type>text/html</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>html</extension>
-        <mime-type>text/html</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hvd</extension>
-        <mime-type>application/vnd.yamaha.hv-dic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hvp</extension>
-        <mime-type>application/vnd.yamaha.hv-voice</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hvs</extension>
-        <mime-type>application/vnd.yamaha.hv-script</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>i2g</extension>
-        <mime-type>application/vnd.intergeo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>icc</extension>
-        <mime-type>application/vnd.iccprofile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ice</extension>
-        <mime-type>x-conference/x-cooltalk</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>icm</extension>
-        <mime-type>application/vnd.iccprofile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ico</extension>
-        <mime-type>image/x-icon</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ics</extension>
-        <mime-type>text/calendar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ief</extension>
-        <mime-type>image/ief</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ifb</extension>
-        <mime-type>text/calendar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ifm</extension>
-        <mime-type>application/vnd.shana.informed.formdata</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>iges</extension>
-        <mime-type>model/iges</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>igl</extension>
-        <mime-type>application/vnd.igloader</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>igm</extension>
-        <mime-type>application/vnd.insors.igm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>igs</extension>
-        <mime-type>model/iges</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>igx</extension>
-        <mime-type>application/vnd.micrografx.igx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>iif</extension>
-        <mime-type>application/vnd.shana.informed.interchange</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>imp</extension>
-        <mime-type>application/vnd.accpac.simply.imp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ims</extension>
-        <mime-type>application/vnd.ms-ims</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>in</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ink</extension>
-        <mime-type>application/inkml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>inkml</extension>
-        <mime-type>application/inkml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>install</extension>
-        <mime-type>application/x-install-instructions</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>iota</extension>
-        <mime-type>application/vnd.astraea-software.iota</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ipfix</extension>
-        <mime-type>application/ipfix</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ipk</extension>
-        <mime-type>application/vnd.shana.informed.package</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>irm</extension>
-        <mime-type>application/vnd.ibm.rights-management</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>irp</extension>
-        <mime-type>application/vnd.irepository.package+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>iso</extension>
-        <mime-type>application/x-iso9660-image</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>itp</extension>
-        <mime-type>application/vnd.shana.informed.formtemplate</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ivp</extension>
-        <mime-type>application/vnd.immervision-ivp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ivu</extension>
-        <mime-type>application/vnd.immervision-ivu</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jad</extension>
-        <mime-type>text/vnd.sun.j2me.app-descriptor</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jam</extension>
-        <mime-type>application/vnd.jam</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jar</extension>
-        <mime-type>application/java-archive</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>java</extension>
-        <mime-type>text/x-java-source</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jisp</extension>
-        <mime-type>application/vnd.jisp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jlt</extension>
-        <mime-type>application/vnd.hp-jlyt</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jnlp</extension>
-        <mime-type>application/x-java-jnlp-file</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>joda</extension>
-        <mime-type>application/vnd.joost.joda-archive</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jpe</extension>
-        <mime-type>image/jpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jpeg</extension>
-        <mime-type>image/jpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jpg</extension>
-        <mime-type>image/jpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jpgm</extension>
-        <mime-type>video/jpm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jpgv</extension>
-        <mime-type>video/jpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jpm</extension>
-        <mime-type>video/jpm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>js</extension>
-        <mime-type>application/javascript</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jsf</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>json</extension>
-        <mime-type>application/json</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jsonml</extension>
-        <mime-type>application/jsonml+json</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jspf</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kar</extension>
-        <mime-type>audio/midi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>karbon</extension>
-        <mime-type>application/vnd.kde.karbon</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kfo</extension>
-        <mime-type>application/vnd.kde.kformula</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kia</extension>
-        <mime-type>application/vnd.kidspiration</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kml</extension>
-        <mime-type>application/vnd.google-earth.kml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kmz</extension>
-        <mime-type>application/vnd.google-earth.kmz</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kne</extension>
-        <mime-type>application/vnd.kinar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>knp</extension>
-        <mime-type>application/vnd.kinar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kon</extension>
-        <mime-type>application/vnd.kde.kontour</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kpr</extension>
-        <mime-type>application/vnd.kde.kpresenter</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kpt</extension>
-        <mime-type>application/vnd.kde.kpresenter</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kpxx</extension>
-        <mime-type>application/vnd.ds-keypoint</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ksp</extension>
-        <mime-type>application/vnd.kde.kspread</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ktr</extension>
-        <mime-type>application/vnd.kahootz</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ktx</extension>
-        <mime-type>image/ktx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ktz</extension>
-        <mime-type>application/vnd.kahootz</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kwd</extension>
-        <mime-type>application/vnd.kde.kword</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kwt</extension>
-        <mime-type>application/vnd.kde.kword</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lasxml</extension>
-        <mime-type>application/vnd.las.las+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>latex</extension>
-        <mime-type>application/x-latex</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lbd</extension>
-        <mime-type>application/vnd.llamagraphics.life-balance.desktop</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lbe</extension>
-        <mime-type>application/vnd.llamagraphics.life-balance.exchange+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>les</extension>
-        <mime-type>application/vnd.hhe.lesson-player</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lha</extension>
-        <mime-type>application/x-lzh-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>link66</extension>
-        <mime-type>application/vnd.route66.link66+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>list</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>list3820</extension>
-        <mime-type>application/vnd.ibm.modcap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>listafp</extension>
-        <mime-type>application/vnd.ibm.modcap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lnk</extension>
-        <mime-type>application/x-ms-shortcut</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>log</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lostxml</extension>
-        <mime-type>application/lost+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lrf</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lrm</extension>
-        <mime-type>application/vnd.ms-lrm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ltf</extension>
-        <mime-type>application/vnd.frogans.ltf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lvp</extension>
-        <mime-type>audio/vnd.lucent.voice</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lwp</extension>
-        <mime-type>application/vnd.lotus-wordpro</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lzh</extension>
-        <mime-type>application/x-lzh-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m13</extension>
-        <mime-type>application/x-msmediaview</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m14</extension>
-        <mime-type>application/x-msmediaview</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m1v</extension>
-        <mime-type>video/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m21</extension>
-        <mime-type>application/mp21</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m2a</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m2v</extension>
-        <mime-type>video/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m3a</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m3u</extension>
-        <mime-type>audio/x-mpegurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m3u8</extension>
-        <mime-type>application/vnd.apple.mpegurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m4a</extension>
-        <mime-type>audio/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m4b</extension>
-        <mime-type>audio/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m4r</extension>
-        <mime-type>audio/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m4u</extension>
-        <mime-type>video/vnd.mpegurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m4v</extension>
-        <mime-type>video/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ma</extension>
-        <mime-type>application/mathematica</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mac</extension>
-        <mime-type>image/x-macpaint</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mads</extension>
-        <mime-type>application/mads+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mag</extension>
-        <mime-type>application/vnd.ecowin.chart</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>maker</extension>
-        <mime-type>application/vnd.framemaker</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>man</extension>
-        <mime-type>text/troff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mar</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mathml</extension>
-        <mime-type>application/mathml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mb</extension>
-        <mime-type>application/mathematica</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mbk</extension>
-        <mime-type>application/vnd.mobius.mbk</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mbox</extension>
-        <mime-type>application/mbox</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mc1</extension>
-        <mime-type>application/vnd.medcalcdata</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mcd</extension>
-        <mime-type>application/vnd.mcd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mcurl</extension>
-        <mime-type>text/vnd.curl.mcurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mdb</extension>
-        <mime-type>application/x-msaccess</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mdi</extension>
-        <mime-type>image/vnd.ms-modi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>me</extension>
-        <mime-type>text/troff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mesh</extension>
-        <mime-type>model/mesh</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>meta4</extension>
-        <mime-type>application/metalink4+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>metalink</extension>
-        <mime-type>application/metalink+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mets</extension>
-        <mime-type>application/mets+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mfm</extension>
-        <mime-type>application/vnd.mfmp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mft</extension>
-        <mime-type>application/rpki-manifest</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mgp</extension>
-        <mime-type>application/vnd.osgeo.mapguide.package</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mgz</extension>
-        <mime-type>application/vnd.proteus.magazine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mid</extension>
-        <mime-type>audio/midi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>midi</extension>
-        <mime-type>audio/midi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mie</extension>
-        <mime-type>application/x-mie</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mif</extension>
-        <mime-type>application/x-mif</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mime</extension>
-        <mime-type>message/rfc822</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mj2</extension>
-        <mime-type>video/mj2</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mjp2</extension>
-        <mime-type>video/mj2</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mk3d</extension>
-        <mime-type>video/x-matroska</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mka</extension>
-        <mime-type>audio/x-matroska</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mks</extension>
-        <mime-type>video/x-matroska</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mkv</extension>
-        <mime-type>video/x-matroska</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mlp</extension>
-        <mime-type>application/vnd.dolby.mlp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mmd</extension>
-        <mime-type>application/vnd.chipnuts.karaoke-mmd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mmf</extension>
-        <mime-type>application/vnd.smaf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mmr</extension>
-        <mime-type>image/vnd.fujixerox.edmics-mmr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mng</extension>
-        <mime-type>video/x-mng</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mny</extension>
-        <mime-type>application/x-msmoney</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mobi</extension>
-        <mime-type>application/x-mobipocket-ebook</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mods</extension>
-        <mime-type>application/mods+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mov</extension>
-        <mime-type>video/quicktime</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>movie</extension>
-        <mime-type>video/x-sgi-movie</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp1</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp2</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp21</extension>
-        <mime-type>application/mp21</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp2a</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp3</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp4</extension>
-        <mime-type>video/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp4a</extension>
-        <mime-type>audio/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp4s</extension>
-        <mime-type>application/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp4v</extension>
-        <mime-type>video/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpa</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpc</extension>
-        <mime-type>application/vnd.mophun.certificate</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpe</extension>
-        <mime-type>video/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpeg</extension>
-        <mime-type>video/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpega</extension>
-        <mime-type>audio/x-mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpg</extension>
-        <mime-type>video/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpg4</extension>
-        <mime-type>video/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpga</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpkg</extension>
-        <mime-type>application/vnd.apple.installer+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpm</extension>
-        <mime-type>application/vnd.blueice.multipass</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpn</extension>
-        <mime-type>application/vnd.mophun.application</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpp</extension>
-        <mime-type>application/vnd.ms-project</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpt</extension>
-        <mime-type>application/vnd.ms-project</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpv2</extension>
-        <mime-type>video/mpeg2</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpy</extension>
-        <mime-type>application/vnd.ibm.minipay</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mqy</extension>
-        <mime-type>application/vnd.mobius.mqy</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mrc</extension>
-        <mime-type>application/marc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mrcx</extension>
-        <mime-type>application/marcxml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ms</extension>
-        <mime-type>text/troff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mscml</extension>
-        <mime-type>application/mediaservercontrol+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mseed</extension>
-        <mime-type>application/vnd.fdsn.mseed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mseq</extension>
-        <mime-type>application/vnd.mseq</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>msf</extension>
-        <mime-type>application/vnd.epson.msf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>msh</extension>
-        <mime-type>model/mesh</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>msi</extension>
-        <mime-type>application/x-msdownload</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>msl</extension>
-        <mime-type>application/vnd.mobius.msl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>msty</extension>
-        <mime-type>application/vnd.muvee.style</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mts</extension>
-        <mime-type>model/vnd.mts</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mus</extension>
-        <mime-type>application/vnd.musician</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>musicxml</extension>
-        <mime-type>application/vnd.recordare.musicxml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mvb</extension>
-        <mime-type>application/x-msmediaview</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mwf</extension>
-        <mime-type>application/vnd.mfer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mxf</extension>
-        <mime-type>application/mxf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mxl</extension>
-        <mime-type>application/vnd.recordare.musicxml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mxml</extension>
-        <mime-type>application/xv+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mxs</extension>
-        <mime-type>application/vnd.triscape.mxs</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mxu</extension>
-        <mime-type>video/vnd.mpegurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>n-gage</extension>
-        <mime-type>application/vnd.nokia.n-gage.symbian.install</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>n3</extension>
-        <mime-type>text/n3</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nb</extension>
-        <mime-type>application/mathematica</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nbp</extension>
-        <mime-type>application/vnd.wolfram.player</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nc</extension>
-        <mime-type>application/x-netcdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ncx</extension>
-        <mime-type>application/x-dtbncx+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nfo</extension>
-        <mime-type>text/x-nfo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ngdat</extension>
-        <mime-type>application/vnd.nokia.n-gage.data</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nitf</extension>
-        <mime-type>application/vnd.nitf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nlu</extension>
-        <mime-type>application/vnd.neurolanguage.nlu</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nml</extension>
-        <mime-type>application/vnd.enliven</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nnd</extension>
-        <mime-type>application/vnd.noblenet-directory</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nns</extension>
-        <mime-type>application/vnd.noblenet-sealer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nnw</extension>
-        <mime-type>application/vnd.noblenet-web</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>npx</extension>
-        <mime-type>image/vnd.net-fpx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nsc</extension>
-        <mime-type>application/x-conference</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nsf</extension>
-        <mime-type>application/vnd.lotus-notes</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ntf</extension>
-        <mime-type>application/vnd.nitf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nzb</extension>
-        <mime-type>application/x-nzb</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oa2</extension>
-        <mime-type>application/vnd.fujitsu.oasys2</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oa3</extension>
-        <mime-type>application/vnd.fujitsu.oasys3</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oas</extension>
-        <mime-type>application/vnd.fujitsu.oasys</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>obd</extension>
-        <mime-type>application/x-msbinder</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>obj</extension>
-        <mime-type>application/x-tgif</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oda</extension>
-        <mime-type>application/oda</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Database -->
-        <extension>odb</extension>
-        <mime-type>application/vnd.oasis.opendocument.database</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Chart -->
-        <extension>odc</extension>
-        <mime-type>application/vnd.oasis.opendocument.chart</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Formula -->
-        <extension>odf</extension>
-        <mime-type>application/vnd.oasis.opendocument.formula</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>odft</extension>
-        <mime-type>application/vnd.oasis.opendocument.formula-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Drawing -->
-        <extension>odg</extension>
-        <mime-type>application/vnd.oasis.opendocument.graphics</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Image -->
-        <extension>odi</extension>
-        <mime-type>application/vnd.oasis.opendocument.image</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Master Document -->
-        <extension>odm</extension>
-        <mime-type>application/vnd.oasis.opendocument.text-master</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Presentation -->
-        <extension>odp</extension>
-        <mime-type>application/vnd.oasis.opendocument.presentation</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Spreadsheet -->
-        <extension>ods</extension>
-        <mime-type>application/vnd.oasis.opendocument.spreadsheet</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Text -->
-        <extension>odt</extension>
-        <mime-type>application/vnd.oasis.opendocument.text</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oga</extension>
-        <mime-type>audio/ogg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ogg</extension>
-        <mime-type>audio/ogg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ogv</extension>
-        <mime-type>video/ogg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- xiph mime types -->
-        <extension>ogx</extension>
-        <mime-type>application/ogg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>omdoc</extension>
-        <mime-type>application/omdoc+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>onepkg</extension>
-        <mime-type>application/onenote</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>onetmp</extension>
-        <mime-type>application/onenote</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>onetoc</extension>
-        <mime-type>application/onenote</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>onetoc2</extension>
-        <mime-type>application/onenote</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>opf</extension>
-        <mime-type>application/oebps-package+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>opml</extension>
-        <mime-type>text/x-opml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oprc</extension>
-        <mime-type>application/vnd.palm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>org</extension>
-        <mime-type>application/vnd.lotus-organizer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>osf</extension>
-        <mime-type>application/vnd.yamaha.openscoreformat</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>osfpvg</extension>
-        <mime-type>application/vnd.yamaha.openscoreformat.osfpvg+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>otc</extension>
-        <mime-type>application/vnd.oasis.opendocument.chart-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>otf</extension>
-        <mime-type>application/x-font-otf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Drawing Template -->
-        <extension>otg</extension>
-        <mime-type>application/vnd.oasis.opendocument.graphics-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- HTML Document Template -->
-        <extension>oth</extension>
-        <mime-type>application/vnd.oasis.opendocument.text-web</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oti</extension>
-        <mime-type>application/vnd.oasis.opendocument.image-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Presentation Template -->
-        <extension>otp</extension>
-        <mime-type>application/vnd.oasis.opendocument.presentation-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Spreadsheet Template -->
-        <extension>ots</extension>
-        <mime-type>application/vnd.oasis.opendocument.spreadsheet-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Text Template -->
-        <extension>ott</extension>
-        <mime-type>application/vnd.oasis.opendocument.text-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oxps</extension>
-        <mime-type>application/oxps</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oxt</extension>
-        <mime-type>application/vnd.openofficeorg.extension</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p</extension>
-        <mime-type>text/x-pascal</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p10</extension>
-        <mime-type>application/pkcs10</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p12</extension>
-        <mime-type>application/x-pkcs12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p7b</extension>
-        <mime-type>application/x-pkcs7-certificates</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p7c</extension>
-        <mime-type>application/pkcs7-mime</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p7m</extension>
-        <mime-type>application/pkcs7-mime</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p7r</extension>
-        <mime-type>application/x-pkcs7-certreqresp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p7s</extension>
-        <mime-type>application/pkcs7-signature</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p8</extension>
-        <mime-type>application/pkcs8</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pas</extension>
-        <mime-type>text/x-pascal</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>paw</extension>
-        <mime-type>application/vnd.pawaafile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pbd</extension>
-        <mime-type>application/vnd.powerbuilder6</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pbm</extension>
-        <mime-type>image/x-portable-bitmap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pcap</extension>
-        <mime-type>application/vnd.tcpdump.pcap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pcf</extension>
-        <mime-type>application/x-font-pcf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pcl</extension>
-        <mime-type>application/vnd.hp-pcl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pclxl</extension>
-        <mime-type>application/vnd.hp-pclxl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pct</extension>
-        <mime-type>image/pict</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pcurl</extension>
-        <mime-type>application/vnd.curl.pcurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pcx</extension>
-        <mime-type>image/x-pcx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pdb</extension>
-        <mime-type>application/vnd.palm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pdf</extension>
-        <mime-type>application/pdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pfa</extension>
-        <mime-type>application/x-font-type1</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pfb</extension>
-        <mime-type>application/x-font-type1</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pfm</extension>
-        <mime-type>application/x-font-type1</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pfr</extension>
-        <mime-type>application/font-tdpfr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pfx</extension>
-        <mime-type>application/x-pkcs12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pgm</extension>
-        <mime-type>image/x-portable-graymap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pgn</extension>
-        <mime-type>application/x-chess-pgn</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pgp</extension>
-        <mime-type>application/pgp-encrypted</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pic</extension>
-        <mime-type>image/pict</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pict</extension>
-        <mime-type>image/pict</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pkg</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pki</extension>
-        <mime-type>application/pkixcmp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pkipath</extension>
-        <mime-type>application/pkix-pkipath</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>plb</extension>
-        <mime-type>application/vnd.3gpp.pic-bw-large</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>plc</extension>
-        <mime-type>application/vnd.mobius.plc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>plf</extension>
-        <mime-type>application/vnd.pocketlearn</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pls</extension>
-        <mime-type>audio/x-scpls</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pml</extension>
-        <mime-type>application/vnd.ctc-posml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>png</extension>
-        <mime-type>image/png</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pnm</extension>
-        <mime-type>image/x-portable-anymap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pnt</extension>
-        <mime-type>image/x-macpaint</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>portpkg</extension>
-        <mime-type>application/vnd.macports.portpkg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pot</extension>
-        <mime-type>application/vnd.ms-powerpoint</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>potm</extension>
-        <mime-type>application/vnd.ms-powerpoint.template.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>potx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.presentationml.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ppam</extension>
-        <mime-type>application/vnd.ms-powerpoint.addin.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ppd</extension>
-        <mime-type>application/vnd.cups-ppd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ppm</extension>
-        <mime-type>image/x-portable-pixmap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pps</extension>
-        <mime-type>application/vnd.ms-powerpoint</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ppsm</extension>
-        <mime-type>application/vnd.ms-powerpoint.slideshow.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ppsx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.presentationml.slideshow</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ppt</extension>
-        <mime-type>application/vnd.ms-powerpoint</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pptm</extension>
-        <mime-type>application/vnd.ms-powerpoint.presentation.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pptx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.presentationml.presentation</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pqa</extension>
-        <mime-type>application/vnd.palm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>prc</extension>
-        <mime-type>application/x-mobipocket-ebook</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pre</extension>
-        <mime-type>application/vnd.lotus-freelance</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>prf</extension>
-        <mime-type>application/pics-rules</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ps</extension>
-        <mime-type>application/postscript</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>psb</extension>
-        <mime-type>application/vnd.3gpp.pic-bw-small</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>psd</extension>
-        <mime-type>image/vnd.adobe.photoshop</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>psf</extension>
-        <mime-type>application/x-font-linux-psf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pskcxml</extension>
-        <mime-type>application/pskc+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ptid</extension>
-        <mime-type>application/vnd.pvi.ptid1</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pub</extension>
-        <mime-type>application/x-mspublisher</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pvb</extension>
-        <mime-type>application/vnd.3gpp.pic-bw-var</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pwn</extension>
-        <mime-type>application/vnd.3m.post-it-notes</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pya</extension>
-        <mime-type>audio/vnd.ms-playready.media.pya</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pyv</extension>
-        <mime-type>video/vnd.ms-playready.media.pyv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qam</extension>
-        <mime-type>application/vnd.epson.quickanime</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qbo</extension>
-        <mime-type>application/vnd.intu.qbo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qfx</extension>
-        <mime-type>application/vnd.intu.qfx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qps</extension>
-        <mime-type>application/vnd.publishare-delta-tree</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qt</extension>
-        <mime-type>video/quicktime</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qti</extension>
-        <mime-type>image/x-quicktime</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qtif</extension>
-        <mime-type>image/x-quicktime</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qwd</extension>
-        <mime-type>application/vnd.quark.quarkxpress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qwt</extension>
-        <mime-type>application/vnd.quark.quarkxpress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qxb</extension>
-        <mime-type>application/vnd.quark.quarkxpress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qxd</extension>
-        <mime-type>application/vnd.quark.quarkxpress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qxl</extension>
-        <mime-type>application/vnd.quark.quarkxpress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qxt</extension>
-        <mime-type>application/vnd.quark.quarkxpress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ra</extension>
-        <mime-type>audio/x-pn-realaudio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ram</extension>
-        <mime-type>audio/x-pn-realaudio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rar</extension>
-        <mime-type>application/x-rar-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ras</extension>
-        <mime-type>image/x-cmu-raster</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rcprofile</extension>
-        <mime-type>application/vnd.ipunplugged.rcprofile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rdf</extension>
-        <mime-type>application/rdf+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rdz</extension>
-        <mime-type>application/vnd.data-vision.rdz</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rep</extension>
-        <mime-type>application/vnd.businessobjects</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>res</extension>
-        <mime-type>application/x-dtbresource+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rgb</extension>
-        <mime-type>image/x-rgb</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rif</extension>
-        <mime-type>application/reginfo+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rip</extension>
-        <mime-type>audio/vnd.rip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ris</extension>
-        <mime-type>application/x-research-info-systems</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rl</extension>
-        <mime-type>application/resource-lists+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rlc</extension>
-        <mime-type>image/vnd.fujixerox.edmics-rlc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rld</extension>
-        <mime-type>application/resource-lists-diff+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rm</extension>
-        <mime-type>application/vnd.rn-realmedia</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rmi</extension>
-        <mime-type>audio/midi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rmp</extension>
-        <mime-type>audio/x-pn-realaudio-plugin</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rms</extension>
-        <mime-type>application/vnd.jcp.javame.midlet-rms</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rmvb</extension>
-        <mime-type>application/vnd.rn-realmedia-vbr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rnc</extension>
-        <mime-type>application/relax-ng-compact-syntax</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>roa</extension>
-        <mime-type>application/rpki-roa</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>roff</extension>
-        <mime-type>text/troff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rp9</extension>
-        <mime-type>application/vnd.cloanto.rp9</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rpss</extension>
-        <mime-type>application/vnd.nokia.radio-presets</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rpst</extension>
-        <mime-type>application/vnd.nokia.radio-preset</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rq</extension>
-        <mime-type>application/sparql-query</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rs</extension>
-        <mime-type>application/rls-services+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rsd</extension>
-        <mime-type>application/rsd+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rss</extension>
-        <mime-type>application/rss+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rtf</extension>
-        <mime-type>application/rtf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rtx</extension>
-        <mime-type>text/richtext</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>s</extension>
-        <mime-type>text/x-asm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>s3m</extension>
-        <mime-type>audio/s3m</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>saf</extension>
-        <mime-type>application/vnd.yamaha.smaf-audio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sbml</extension>
-        <mime-type>application/sbml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sc</extension>
-        <mime-type>application/vnd.ibm.secure-container</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>scd</extension>
-        <mime-type>application/x-msschedule</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>scm</extension>
-        <mime-type>application/vnd.lotus-screencam</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>scq</extension>
-        <mime-type>application/scvp-cv-request</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>scs</extension>
-        <mime-type>application/scvp-cv-response</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>scurl</extension>
-        <mime-type>text/vnd.curl.scurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sda</extension>
-        <mime-type>application/vnd.stardivision.draw</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sdc</extension>
-        <mime-type>application/vnd.stardivision.calc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sdd</extension>
-        <mime-type>application/vnd.stardivision.impress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sdkd</extension>
-        <mime-type>application/vnd.solent.sdkm+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sdkm</extension>
-        <mime-type>application/vnd.solent.sdkm+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sdp</extension>
-        <mime-type>application/sdp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sdw</extension>
-        <mime-type>application/vnd.stardivision.writer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>see</extension>
-        <mime-type>application/vnd.seemail</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>seed</extension>
-        <mime-type>application/vnd.fdsn.seed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sema</extension>
-        <mime-type>application/vnd.sema</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>semd</extension>
-        <mime-type>application/vnd.semd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>semf</extension>
-        <mime-type>application/vnd.semf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ser</extension>
-        <mime-type>application/java-serialized-object</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>setpay</extension>
-        <mime-type>application/set-payment-initiation</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>setreg</extension>
-        <mime-type>application/set-registration-initiation</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sfd-hdstx</extension>
-        <mime-type>application/vnd.hydrostatix.sof-data</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sfs</extension>
-        <mime-type>application/vnd.spotfire.sfs</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sfv</extension>
-        <mime-type>text/x-sfv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sgi</extension>
-        <mime-type>image/sgi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sgl</extension>
-        <mime-type>application/vnd.stardivision.writer-global</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sgm</extension>
-        <mime-type>text/sgml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sgml</extension>
-        <mime-type>text/sgml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sh</extension>
-        <mime-type>application/x-sh</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>shar</extension>
-        <mime-type>application/x-shar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>shf</extension>
-        <mime-type>application/shf+xml</mime-type>
-    </mime-mapping>
-    <!--
-            <mime-mapping>
-                <extension>shtml</extension>
-                <mime-type>text/x-server-parsed-html</mime-type>
-            </mime-mapping>
-            -->
-    <mime-mapping>
-        <extension>sid</extension>
-        <mime-type>image/x-mrsid-image</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sig</extension>
-        <mime-type>application/pgp-signature</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sil</extension>
-        <mime-type>audio/silk</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>silo</extension>
-        <mime-type>model/mesh</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sis</extension>
-        <mime-type>application/vnd.symbian.install</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sisx</extension>
-        <mime-type>application/vnd.symbian.install</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sit</extension>
-        <mime-type>application/x-stuffit</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sitx</extension>
-        <mime-type>application/x-stuffitx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>skd</extension>
-        <mime-type>application/vnd.koan</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>skm</extension>
-        <mime-type>application/vnd.koan</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>skp</extension>
-        <mime-type>application/vnd.koan</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>skt</extension>
-        <mime-type>application/vnd.koan</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sldm</extension>
-        <mime-type>application/vnd.ms-powerpoint.slide.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sldx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.presentationml.slide</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>slt</extension>
-        <mime-type>application/vnd.epson.salt</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sm</extension>
-        <mime-type>application/vnd.stepmania.stepchart</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>smf</extension>
-        <mime-type>application/vnd.stardivision.math</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>smi</extension>
-        <mime-type>application/smil+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>smil</extension>
-        <mime-type>application/smil+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>smv</extension>
-        <mime-type>video/x-smv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>smzip</extension>
-        <mime-type>application/vnd.stepmania.package</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>snd</extension>
-        <mime-type>audio/basic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>snf</extension>
-        <mime-type>application/x-font-snf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>so</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>spc</extension>
-        <mime-type>application/x-pkcs7-certificates</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>spf</extension>
-        <mime-type>application/vnd.yamaha.smaf-phrase</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>spl</extension>
-        <mime-type>application/x-futuresplash</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>spot</extension>
-        <mime-type>text/vnd.in3d.spot</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>spp</extension>
-        <mime-type>application/scvp-vp-response</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>spq</extension>
-        <mime-type>application/scvp-vp-request</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>spx</extension>
-        <mime-type>audio/ogg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sql</extension>
-        <mime-type>application/x-sql</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>src</extension>
-        <mime-type>application/x-wais-source</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>srt</extension>
-        <mime-type>application/x-subrip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sru</extension>
-        <mime-type>application/sru+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>srx</extension>
-        <mime-type>application/sparql-results+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ssdl</extension>
-        <mime-type>application/ssdl+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sse</extension>
-        <mime-type>application/vnd.kodak-descriptor</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ssf</extension>
-        <mime-type>application/vnd.epson.ssf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ssml</extension>
-        <mime-type>application/ssml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>st</extension>
-        <mime-type>application/vnd.sailingtracker.track</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>stc</extension>
-        <mime-type>application/vnd.sun.xml.calc.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>std</extension>
-        <mime-type>application/vnd.sun.xml.draw.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>stf</extension>
-        <mime-type>application/vnd.wt.stf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sti</extension>
-        <mime-type>application/vnd.sun.xml.impress.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>stk</extension>
-        <mime-type>application/hyperstudio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>stl</extension>
-        <mime-type>application/vnd.ms-pki.stl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>str</extension>
-        <mime-type>application/vnd.pg.format</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>stw</extension>
-        <mime-type>application/vnd.sun.xml.writer.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sub</extension>
-        <mime-type>text/vnd.dvb.subtitle</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sus</extension>
-        <mime-type>application/vnd.sus-calendar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>susp</extension>
-        <mime-type>application/vnd.sus-calendar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sv4cpio</extension>
-        <mime-type>application/x-sv4cpio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sv4crc</extension>
-        <mime-type>application/x-sv4crc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>svc</extension>
-        <mime-type>application/vnd.dvb.service</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>svd</extension>
-        <mime-type>application/vnd.svd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>svg</extension>
-        <mime-type>image/svg+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>svgz</extension>
-        <mime-type>image/svg+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>swa</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>swf</extension>
-        <mime-type>application/x-shockwave-flash</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>swi</extension>
-        <mime-type>application/vnd.aristanetworks.swi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sxc</extension>
-        <mime-type>application/vnd.sun.xml.calc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sxd</extension>
-        <mime-type>application/vnd.sun.xml.draw</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sxg</extension>
-        <mime-type>application/vnd.sun.xml.writer.global</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sxi</extension>
-        <mime-type>application/vnd.sun.xml.impress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sxm</extension>
-        <mime-type>application/vnd.sun.xml.math</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sxw</extension>
-        <mime-type>application/vnd.sun.xml.writer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>t</extension>
-        <mime-type>text/troff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>t3</extension>
-        <mime-type>application/x-t3vm-image</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>taglet</extension>
-        <mime-type>application/vnd.mynfc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tao</extension>
-        <mime-type>application/vnd.tao.intent-module-archive</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tar</extension>
-        <mime-type>application/x-tar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tcap</extension>
-        <mime-type>application/vnd.3gpp2.tcap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tcl</extension>
-        <mime-type>application/x-tcl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>teacher</extension>
-        <mime-type>application/vnd.smart.teacher</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tei</extension>
-        <mime-type>application/tei+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>teicorpus</extension>
-        <mime-type>application/tei+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tex</extension>
-        <mime-type>application/x-tex</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>texi</extension>
-        <mime-type>application/x-texinfo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>texinfo</extension>
-        <mime-type>application/x-texinfo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>text</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tfi</extension>
-        <mime-type>application/thraud+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tfm</extension>
-        <mime-type>application/x-tex-tfm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tga</extension>
-        <mime-type>image/x-tga</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>thmx</extension>
-        <mime-type>application/vnd.ms-officetheme</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tif</extension>
-        <mime-type>image/tiff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tiff</extension>
-        <mime-type>image/tiff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tmo</extension>
-        <mime-type>application/vnd.tmobile-livetv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>torrent</extension>
-        <mime-type>application/x-bittorrent</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tpl</extension>
-        <mime-type>application/vnd.groove-tool-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tpt</extension>
-        <mime-type>application/vnd.trid.tpt</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tr</extension>
-        <mime-type>text/troff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tra</extension>
-        <mime-type>application/vnd.trueapp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>trm</extension>
-        <mime-type>application/x-msterminal</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tsd</extension>
-        <mime-type>application/timestamped-data</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tsv</extension>
-        <mime-type>text/tab-separated-values</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ttc</extension>
-        <mime-type>application/x-font-ttf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ttf</extension>
-        <mime-type>application/x-font-ttf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ttl</extension>
-        <mime-type>text/turtle</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>twd</extension>
-        <mime-type>application/vnd.simtech-mindmapper</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>twds</extension>
-        <mime-type>application/vnd.simtech-mindmapper</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>txd</extension>
-        <mime-type>application/vnd.genomatix.tuxedo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>txf</extension>
-        <mime-type>application/vnd.mobius.txf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>txt</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>u32</extension>
-        <mime-type>application/x-authorware-bin</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>udeb</extension>
-        <mime-type>application/x-debian-package</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ufd</extension>
-        <mime-type>application/vnd.ufdl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ufdl</extension>
-        <mime-type>application/vnd.ufdl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ulw</extension>
-        <mime-type>audio/basic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ulx</extension>
-        <mime-type>application/x-glulx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>umj</extension>
-        <mime-type>application/vnd.umajin</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>unityweb</extension>
-        <mime-type>application/vnd.unity</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uoml</extension>
-        <mime-type>application/vnd.uoml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uri</extension>
-        <mime-type>text/uri-list</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uris</extension>
-        <mime-type>text/uri-list</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>urls</extension>
-        <mime-type>text/uri-list</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ustar</extension>
-        <mime-type>application/x-ustar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>utz</extension>
-        <mime-type>application/vnd.uiq.theme</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uu</extension>
-        <mime-type>text/x-uuencode</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uva</extension>
-        <mime-type>audio/vnd.dece.audio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvd</extension>
-        <mime-type>application/vnd.dece.data</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvf</extension>
-        <mime-type>application/vnd.dece.data</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvg</extension>
-        <mime-type>image/vnd.dece.graphic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvh</extension>
-        <mime-type>video/vnd.dece.hd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvi</extension>
-        <mime-type>image/vnd.dece.graphic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvm</extension>
-        <mime-type>video/vnd.dece.mobile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvp</extension>
-        <mime-type>video/vnd.dece.pd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvs</extension>
-        <mime-type>video/vnd.dece.sd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvt</extension>
-        <mime-type>application/vnd.dece.ttml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvu</extension>
-        <mime-type>video/vnd.uvvu.mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvv</extension>
-        <mime-type>video/vnd.dece.video</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvva</extension>
-        <mime-type>audio/vnd.dece.audio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvd</extension>
-        <mime-type>application/vnd.dece.data</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvf</extension>
-        <mime-type>application/vnd.dece.data</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvg</extension>
-        <mime-type>image/vnd.dece.graphic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvh</extension>
-        <mime-type>video/vnd.dece.hd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvi</extension>
-        <mime-type>image/vnd.dece.graphic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvm</extension>
-        <mime-type>video/vnd.dece.mobile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvp</extension>
-        <mime-type>video/vnd.dece.pd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvs</extension>
-        <mime-type>video/vnd.dece.sd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvt</extension>
-        <mime-type>application/vnd.dece.ttml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvu</extension>
-        <mime-type>video/vnd.uvvu.mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvv</extension>
-        <mime-type>video/vnd.dece.video</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvx</extension>
-        <mime-type>application/vnd.dece.unspecified</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvz</extension>
-        <mime-type>application/vnd.dece.zip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvx</extension>
-        <mime-type>application/vnd.dece.unspecified</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvz</extension>
-        <mime-type>application/vnd.dece.zip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vcard</extension>
-        <mime-type>text/vcard</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vcd</extension>
-        <mime-type>application/x-cdlink</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vcf</extension>
-        <mime-type>text/x-vcard</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vcg</extension>
-        <mime-type>application/vnd.groove-vcard</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vcs</extension>
-        <mime-type>text/x-vcalendar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vcx</extension>
-        <mime-type>application/vnd.vcx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vis</extension>
-        <mime-type>application/vnd.visionary</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>viv</extension>
-        <mime-type>video/vnd.vivo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vob</extension>
-        <mime-type>video/x-ms-vob</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vor</extension>
-        <mime-type>application/vnd.stardivision.writer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vox</extension>
-        <mime-type>application/x-authorware-bin</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vrml</extension>
-        <mime-type>model/vrml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vsd</extension>
-        <mime-type>application/vnd.visio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vsf</extension>
-        <mime-type>application/vnd.vsf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vss</extension>
-        <mime-type>application/vnd.visio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vst</extension>
-        <mime-type>application/vnd.visio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vsw</extension>
-        <mime-type>application/vnd.visio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vtu</extension>
-        <mime-type>model/vnd.vtu</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vxml</extension>
-        <mime-type>application/voicexml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>w3d</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wad</extension>
-        <mime-type>application/x-doom</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wav</extension>
-        <mime-type>audio/x-wav</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wax</extension>
-        <mime-type>audio/x-ms-wax</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- Wireless Bitmap -->
-        <extension>wbmp</extension>
-        <mime-type>image/vnd.wap.wbmp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wbs</extension>
-        <mime-type>application/vnd.criticaltools.wbs+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wbxml</extension>
-        <mime-type>application/vnd.wap.wbxml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wcm</extension>
-        <mime-type>application/vnd.ms-works</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wdb</extension>
-        <mime-type>application/vnd.ms-works</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wdp</extension>
-        <mime-type>image/vnd.ms-photo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>weba</extension>
-        <mime-type>audio/webm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>webm</extension>
-        <mime-type>video/webm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>webp</extension>
-        <mime-type>image/webp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wg</extension>
-        <mime-type>application/vnd.pmi.widget</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wgt</extension>
-        <mime-type>application/widget</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wks</extension>
-        <mime-type>application/vnd.ms-works</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wm</extension>
-        <mime-type>video/x-ms-wm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wma</extension>
-        <mime-type>audio/x-ms-wma</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wmd</extension>
-        <mime-type>application/x-ms-wmd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wmf</extension>
-        <mime-type>application/x-msmetafile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- WML Source -->
-        <extension>wml</extension>
-        <mime-type>text/vnd.wap.wml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- Compiled WML -->
-        <extension>wmlc</extension>
-        <mime-type>application/vnd.wap.wmlc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- WML Script Source -->
-        <extension>wmls</extension>
-        <mime-type>text/vnd.wap.wmlscript</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- Compiled WML Script -->
-        <extension>wmlsc</extension>
-        <mime-type>application/vnd.wap.wmlscriptc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wmv</extension>
-        <mime-type>video/x-ms-wmv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wmx</extension>
-        <mime-type>video/x-ms-wmx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wmz</extension>
-        <mime-type>application/x-msmetafile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>woff</extension>
-        <mime-type>application/x-font-woff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wpd</extension>
-        <mime-type>application/vnd.wordperfect</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wpl</extension>
-        <mime-type>application/vnd.ms-wpl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wps</extension>
-        <mime-type>application/vnd.ms-works</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wqd</extension>
-        <mime-type>application/vnd.wqd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wri</extension>
-        <mime-type>application/x-mswrite</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wrl</extension>
-        <mime-type>model/vrml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wsdl</extension>
-        <mime-type>application/wsdl+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wspolicy</extension>
-        <mime-type>application/wspolicy+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wtb</extension>
-        <mime-type>application/vnd.webturbo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wvx</extension>
-        <mime-type>video/x-ms-wvx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>x32</extension>
-        <mime-type>application/x-authorware-bin</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>x3d</extension>
-        <mime-type>model/x3d+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>x3db</extension>
-        <mime-type>model/x3d+binary</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>x3dbz</extension>
-        <mime-type>model/x3d+binary</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>x3dv</extension>
-        <mime-type>model/x3d+vrml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>x3dvz</extension>
-        <mime-type>model/x3d+vrml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>x3dz</extension>
-        <mime-type>model/x3d+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xaml</extension>
-        <mime-type>application/xaml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xap</extension>
-        <mime-type>application/x-silverlight-app</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xar</extension>
-        <mime-type>application/vnd.xara</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xbap</extension>
-        <mime-type>application/x-ms-xbap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xbd</extension>
-        <mime-type>application/vnd.fujixerox.docuworks.binder</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xbm</extension>
-        <mime-type>image/x-xbitmap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xdf</extension>
-        <mime-type>application/xcap-diff+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xdm</extension>
-        <mime-type>application/vnd.syncml.dm+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xdp</extension>
-        <mime-type>application/vnd.adobe.xdp+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xdssc</extension>
-        <mime-type>application/dssc+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xdw</extension>
-        <mime-type>application/vnd.fujixerox.docuworks</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xenc</extension>
-        <mime-type>application/xenc+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xer</extension>
-        <mime-type>application/patch-ops-error+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xfdf</extension>
-        <mime-type>application/vnd.adobe.xfdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xfdl</extension>
-        <mime-type>application/vnd.xfdl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xht</extension>
-        <mime-type>application/xhtml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xhtml</extension>
-        <mime-type>application/xhtml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xhvml</extension>
-        <mime-type>application/xv+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xif</extension>
-        <mime-type>image/vnd.xiff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xla</extension>
-        <mime-type>application/vnd.ms-excel</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlam</extension>
-        <mime-type>application/vnd.ms-excel.addin.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlc</extension>
-        <mime-type>application/vnd.ms-excel</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlf</extension>
-        <mime-type>application/x-xliff+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlm</extension>
-        <mime-type>application/vnd.ms-excel</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xls</extension>
-        <mime-type>application/vnd.ms-excel</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlsb</extension>
-        <mime-type>application/vnd.ms-excel.sheet.binary.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlsm</extension>
-        <mime-type>application/vnd.ms-excel.sheet.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlsx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlt</extension>
-        <mime-type>application/vnd.ms-excel</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xltm</extension>
-        <mime-type>application/vnd.ms-excel.template.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xltx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.spreadsheetml.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlw</extension>
-        <mime-type>application/vnd.ms-excel</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xm</extension>
-        <mime-type>audio/xm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xml</extension>
-        <mime-type>application/xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xo</extension>
-        <mime-type>application/vnd.olpc-sugar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xop</extension>
-        <mime-type>application/xop+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xpi</extension>
-        <mime-type>application/x-xpinstall</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xpl</extension>
-        <mime-type>application/xproc+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xpm</extension>
-        <mime-type>image/x-xpixmap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xpr</extension>
-        <mime-type>application/vnd.is-xpr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xps</extension>
-        <mime-type>application/vnd.ms-xpsdocument</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xpw</extension>
-        <mime-type>application/vnd.intercon.formnet</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xpx</extension>
-        <mime-type>application/vnd.intercon.formnet</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xsl</extension>
-        <mime-type>application/xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xslt</extension>
-        <mime-type>application/xslt+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xsm</extension>
-        <mime-type>application/vnd.syncml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xspf</extension>
-        <mime-type>application/xspf+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xul</extension>
-        <mime-type>application/vnd.mozilla.xul+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xvm</extension>
-        <mime-type>application/xv+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xvml</extension>
-        <mime-type>application/xv+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xwd</extension>
-        <mime-type>image/x-xwindowdump</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xyz</extension>
-        <mime-type>chemical/x-xyz</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xz</extension>
-        <mime-type>application/x-xz</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>yang</extension>
-        <mime-type>application/yang</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>yin</extension>
-        <mime-type>application/yin+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z</extension>
-        <mime-type>application/x-compress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>Z</extension>
-        <mime-type>application/x-compress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z1</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z2</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z3</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z4</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z5</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z6</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z7</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z8</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>zaz</extension>
-        <mime-type>application/vnd.zzazz.deck+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>zip</extension>
-        <mime-type>application/zip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>zir</extension>
-        <mime-type>application/vnd.zul</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>zirz</extension>
-        <mime-type>application/vnd.zul</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>zmm</extension>
-        <mime-type>application/vnd.handheld-entertainment+xml</mime-type>
-    </mime-mapping>
-    <!-- ==================== Default Welcome File List ==================== -->
-    <!-- When a request URI refers to a directory, the default servlet looks -->
-    <!-- for a "welcome file" within that directory and, if present, to the  -->
-    <!-- corresponding resource URI for display.                             -->
-    <!-- If no welcome files are present, the default servlet either serves  -->
-    <!-- a directory listing (see default servlet configuration on how to    -->
-    <!-- customize) or returns a 404 status, depending on the value of the   -->
-    <!-- listings setting.                                                   -->
-    <!--                                                                     -->
-    <!-- If you define welcome files in your own application's web.xml       -->
-    <!-- deployment descriptor, that list *replaces* the list configured     -->
-    <!-- here, so be sure to include any of the default values that you wish -->
-    <!-- to use within your application.                                     -->
-    <welcome-file-list>
-        <welcome-file>index.html</welcome-file>
-        <welcome-file>index.htm</welcome-file>
-        <welcome-file>index.jsp</welcome-file>
-    </welcome-file-list>
-</web-app>
\ No newline at end of file
index feb8002..515f0bd 100644 (file)
@@ -2,9 +2,13 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.akraino</groupId>
   <artifactId>camunda_workflow</artifactId>
-  <version>0.0.1-SNAPSHOT</version>
+  <version>0.0.2-SNAPSHOT</version>
   <packaging>jar</packaging>
-  
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+
   <dependencyManagement>
     <dependencies>
       <dependency>
@@ -16,7 +20,7 @@
       </dependency>
     </dependencies>
   </dependencyManagement>
-  
+
   <dependencies>
     <dependency>
       <groupId>org.camunda.bpm.springboot</groupId>
       <groupId>com.h2database</groupId>
       <artifactId>h2</artifactId>
     </dependency>
-    
     <dependency>
-      <groupId>org.yaml</groupId>
-      <artifactId>snakeyaml</artifactId>
-      <version>1.21</version>
+      <groupId>commons-net</groupId>
+      <artifactId>commons-net</artifactId>
+      <version>3.3</version>
+    </dependency>
+    <dependency>
+      <groupId>com.jcraft</groupId>
+      <artifactId>jsch</artifactId>
+      <version>0.1.54</version>
     </dependency>
-    
     <dependency>
-    <groupId>commons-net</groupId>
-    <artifactId>commons-net</artifactId>
-    <version>3.3</version>
-       </dependency>
-       
-       <dependency>
-    <groupId>com.jcraft</groupId>
-    <artifactId>jsch</artifactId>
-    <version>0.1.54</version>
-       </dependency>
-       <dependency>
       <groupId>io.springfox</groupId>
       <artifactId>springfox-swagger2</artifactId>
       <version>2.7.0</version>
     </dependency>
-
     <dependency>
       <groupId>io.springfox</groupId>
       <artifactId>springfox-swagger-ui</artifactId>
       <version>2.7.0</version>
     </dependency>
-       
-       <dependency>
-       <groupId>org.springframework.boot</groupId>
-       <artifactId>spring-boot-starter-test</artifactId>
-       <scope>test</scope>
-       <version>1.5.3.RELEASE</version>
-       </dependency>
-
-    
+    <dependency>
+      <groupId>org.yaml</groupId>
+      <artifactId>snakeyaml</artifactId>
+      <version>1.21</version>
+    </dependency>
+<!--
+    These conflict with dependencies in spring-boot-dependencies above.
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-tertifartifactId>
+      <scope>test</scope>
+      <version>1.5.8.RE</ver</version>
+    </dependency>
+-->
   </dependencies>
-  
-   
-    <build>
-  <plugins>
+
+  <build>
+    <plugins>
       <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
+        <version>2.1.2.RELEASE</version>
         <executions>
           <execution>
             <goals>
@@ -82,7 +82,5 @@
         </executions>
       </plugin>
      </plugins>
-</build>
-  
-  
+  </build>
 </project>
index 249d90a..0d051ff 100644 (file)
 
 package com.akraino.bpm.config;
 
-
 import java.io.IOException;
-
-
 import javax.sql.DataSource;
 
 import org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl;
@@ -44,28 +41,25 @@ import org.springframework.web.cors.CorsConfiguration;
 import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
 import org.springframework.web.filter.CorsFilter;
 
-
-
 @Configuration
+public class CamundaCorsFilter {
+
 
-       public class CamundaCorsFilter {
-       
-       
-       @Value("${camunda.bpm.buildresponseurl}")       
+       @Value("${camunda.bpm.buildresponseurl}")
        private String buildresponseurl;
-       
-       @Value("${camunda.bpm.tokenId}")        
+
+       @Value("${camunda.bpm.tokenId}")
        private String tokenId;
-       
-       @Autowired 
+
+       @Autowired
        private DataSource dataSource;
-       
+
        @Autowired
        private PlatformTransactionManager  transactionManager;
-       
-       @Autowired 
+
+       @Autowired
        private JobExecutor jobExecutor;
-               
+
                public String getBuildresponseurl() {
                        return buildresponseurl;
                }
@@ -73,7 +67,7 @@ import org.springframework.web.filter.CorsFilter;
                public void setBuildresponseurl(String buildresponseurl) {
                        this.buildresponseurl = buildresponseurl;
                }
-               
+
                public String getTokenId() {
                        return tokenId;
                }
@@ -87,26 +81,23 @@ import org.springframework.web.filter.CorsFilter;
                   // Do any additional configuration here
                   return builder.build();
                }
-               
-               
-               
-               
+
                /*@Bean
                public  JobExecutor jobExecutor() {
                    final JobExecutor jobExecutor = new RuntimeContainerJobExecutor();
                    jobExecutor.setWaitTimeInMillis(5000);
                    jobExecutor.setLockTimeInMillis(18000000);
                    return jobExecutor;
-                 } 
-               @Bean 
-               
+                 }
+               @Bean
+
                public ProcessEngineConfiguration SpringProcessEngineConfiguration () {
-                       
+
                        ProcessEngineConfiguration ProcessEngineConfiguration=new SpringProcessEngineConfiguration().setJobExecutor(jobexecutor).setProcessEngineName("default");
                        return ProcessEngineConfiguration;
                }*/
-               
-        @Bean
+
+           @Bean
                @Primary
            public static JobExecutor jobExecutor(@Qualifier("camundaTaskExecutor") final TaskExecutor taskExecutor) {
              final SpringJobExecutor springJobExecutor = new SpringJobExecutor();
@@ -116,7 +107,7 @@ import org.springframework.web.filter.CorsFilter;
              springJobExecutor.setLockTimeInMillis(36000000);
                  return springJobExecutor;
            }
-               
+
                @Bean
                @Primary
                public ProcessEngineConfigurationImpl processEngineConfiguration() throws IOException {
@@ -132,14 +123,13 @@ import org.springframework.web.filter.CorsFilter;
                    //config.setProcessEnginePlugins();
                    return config;
                }
-        
+
                @Bean
                public PlatformTransactionManager getTransactionManager() {
                        PlatformTransactionManager ptm=new DataSourceTransactionManager(dataSource);
                        return ptm;
-                 } 
-               
-               
+           }
+
                @Bean
            public CorsFilter corsFilter() {
                UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
@@ -156,7 +146,7 @@ import org.springframework.web.filter.CorsFilter;
                source.registerCorsConfiguration("/**", config);
                return new CorsFilter(source);
            }
-               
+
                @Bean(name="akrainoprocessExecutor")
            public TaskExecutor workExecutor() {
                ThreadPoolTaskExecutor threadPoolTaskExecutor = new ThreadPoolTaskExecutor();
@@ -166,7 +156,5 @@ import org.springframework.web.filter.CorsFilter;
                threadPoolTaskExecutor.setQueueCapacity(600);
                threadPoolTaskExecutor.afterPropertiesSet();
                return threadPoolTaskExecutor;
-           }   
-       }
-
-
+           }
+}
index a6e6cba..044400d 100644 (file)
@@ -33,6 +33,7 @@ import com.akraino.bpm.model.BuildResponse;
 import com.akraino.bpm.model.Deploy;
 import com.akraino.bpm.model.Onap;
 import com.akraino.bpm.model.Tempest;
+import com.akraino.bpm.model.MultiNodeDeploy;
 import com.akraino.bpm.service.AsyncProcessExecutorService;
 
 import io.swagger.annotations.Api;
@@ -40,69 +41,58 @@ import io.swagger.annotations.Api;
 @Api
 @RestController
 public class CamundaRestController {
-       
-         
-         
-         @Autowired 
-         private AsyncProcessExecutorService asyncProcessExecutorService;
-         
-         private static Logger logger = LoggerFactory.getLogger(CamundaRestController.class);
-         
-         @PostMapping("/build/")
-         public ResponseEntity<BuildResponse> build(@RequestBody Build build) {
-                 logger.debug("Request received for Build ",build.toString());
-                 asyncProcessExecutorService.executeBuildProcess(build);
-                 return new ResponseEntity<BuildResponse>(new BuildResponse("in progress",null,null,null,null,build.getSitename(),null,null,null),HttpStatus.OK);
-                 
+
+       @Autowired
+       private AsyncProcessExecutorService asyncProcessExecutorService;
+
+       private static Logger logger = LoggerFactory.getLogger(CamundaRestController.class);
+
+       @PostMapping("/build/")
+       public ResponseEntity<BuildResponse> build(@RequestBody Build build) {
+               logger.debug("Request received for Build {}",build.toString());
+               asyncProcessExecutorService.executeBuildProcess(build);
+               return new ResponseEntity<BuildResponse>(new BuildResponse("in progress",null,null,null,null,build.getSitename(),null,null,null),HttpStatus.OK);
        }
 
-         
-       
-       
        @PostMapping("/deploy/")
-         public ResponseEntity<BuildResponse> deploy(@RequestBody Deploy deploy) {
-                 logger.debug("Request received for executing {} and targetDirectory {} ",deploy.toString());
-                 asyncProcessExecutorService.executeDeployProcess(deploy);
-                 return new ResponseEntity<BuildResponse>(new BuildResponse(null,"in progress","not started","not started","not started",deploy.getSitename(),null,null,null),HttpStatus.OK);
+       public ResponseEntity<BuildResponse> deploy(@RequestBody Deploy deploy) {
+               logger.debug("Request received for deploy {}  ",deploy.toString());
+               asyncProcessExecutorService.executeDeployProcess(deploy);
+               return new ResponseEntity<BuildResponse>(new BuildResponse(null,"in progress","not started","not started","not started",deploy.getSitename(),null,null,null),HttpStatus.OK);
+       }
+
+       @PostMapping("/multinodedeploy/")
+       public ResponseEntity<BuildResponse> multiNodeDeploy(@RequestBody MultiNodeDeploy multiNodeDeploy) {
+               logger.debug("Request received for multi node deploy {}  ",multiNodeDeploy.toString());
+               asyncProcessExecutorService.executeMultiNodeDeployProcess(multiNodeDeploy);
+               return new ResponseEntity<BuildResponse>(new BuildResponse(null,"in progress","not started","not started","not started",multiNodeDeploy.getSitename(),null,null,null),HttpStatus.OK);
        }
 
-       
-       
-       
        @PostMapping("/airship/")
        public ResponseEntity<BuildResponse> airship(@RequestBody Airship airship) {
-                 logger.debug("Request received for airship {} ",airship.toString());
-                 asyncProcessExecutorService.executeAirshipProcess(airship);
-                 return new ResponseEntity<BuildResponse>(new BuildResponse(null,null,null,null,"in progress",airship.getSitename(),null,null,null),HttpStatus.OK);
-         }
+               logger.debug("Request received for airship {} ",airship.toString());
+               asyncProcessExecutorService.executeAirshipProcess(airship);
+               return new ResponseEntity<BuildResponse>(new BuildResponse(null,null,null,null,"in progress",airship.getSitename(),null,null,null),HttpStatus.OK);
+       }
 
-       
-       
-         @PostMapping("/tempest/")
-         public ResponseEntity<BuildResponse> tempest(@RequestBody Tempest tempest) {
-                 logger.debug("Request received for onap ",tempest.toString());
-                 asyncProcessExecutorService.executeTempestProcess(tempest);
-                 return new ResponseEntity<BuildResponse>(new BuildResponse(null,null,null,null,null,tempest.getSitename(),null,null,"in progress"),HttpStatus.OK);
+       @PostMapping("/tempest/")
+       public ResponseEntity<BuildResponse> tempest(@RequestBody Tempest tempest) {
+               logger.debug("Request received for tempest {}",tempest.toString());
+               asyncProcessExecutorService.executeTempestProcess(tempest);
+               return new ResponseEntity<BuildResponse>(new BuildResponse(null,null,null,null,null,tempest.getSitename(),null,null,"in progress"),HttpStatus.OK);
        }
-       
-       
-       
-       
-         @PostMapping("/apache/")
-         public ResponseEntity<BuildResponse> apache(@RequestBody Apache apache) {
-                 logger.debug("Request received for onap ",apache.toString());
-                 asyncProcessExecutorService.executeApacheProcess(apache);
-                 return new ResponseEntity<BuildResponse>(new BuildResponse(null,null,null,null,null,apache.getSitename(),null,"in progress",null),HttpStatus.OK);
+
+       @PostMapping("/apache/")
+       public ResponseEntity<BuildResponse> apache(@RequestBody Apache apache) {
+               logger.debug("Request received for apache{} ",apache.toString());
+               asyncProcessExecutorService.executeApacheProcess(apache);
+               return new ResponseEntity<BuildResponse>(new BuildResponse(null,null,null,null,null,apache.getSitename(),null,"in progress",null),HttpStatus.OK);
        }
-       
-       
-       
-       
- @PostMapping("/onap/")
-         public ResponseEntity<BuildResponse> onap(@RequestBody Onap onap) {
-                 logger.debug("Request received for onap ",onap.toString());
-                 asyncProcessExecutorService.executeOnapProcess(onap);
-                 return new ResponseEntity<BuildResponse>(new BuildResponse(null,null,null,null,null,onap.getSitename(),"in progress",null,null),HttpStatus.OK);
+
+       @PostMapping("/onap/")
+       public ResponseEntity<BuildResponse> onap(@RequestBody Onap onap) {
+               logger.debug("Request received for onap ",onap.toString());
+               asyncProcessExecutorService.executeOnapProcess(onap);
+               return new ResponseEntity<BuildResponse>(new BuildResponse(null,null,null,null,null,onap.getSitename(),"in progress",null,null),HttpStatus.OK);
        }
 }
diff --git a/akraino/src/main/java/com/akraino/bpm/delegate/MultiNodeDeployRemoteScript1ExecutorTaskDelegate.java b/akraino/src/main/java/com/akraino/bpm/delegate/MultiNodeDeployRemoteScript1ExecutorTaskDelegate.java
new file mode 100644 (file)
index 0000000..554a592
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.akraino.bpm.delegate;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.akraino.bpm.service.DeployResponseSenderService;
+import com.akraino.bpm.service.RemoteScriptExecutionService;
+
+
+
+@Component
+public class MultiNodeDeployRemoteScript1ExecutorTaskDelegate implements JavaDelegate {
+
+       
+       private static Logger logger = LoggerFactory.getLogger(MultiNodeDeployRemoteScript1ExecutorTaskDelegate.class);
+       
+       @Autowired
+       RemoteScriptExecutionService remoteScriptExecutionService;
+       
+       @Autowired 
+       DeployResponseSenderService deployResponseSenderService;
+       
+       
+       public void execute(DelegateExecution ctx) throws Exception {
+               
+
+               String  remotserver=(String)ctx.getVariable("remotserver");
+               int  portnumner=(Integer)ctx.getVariable("port");
+               String  username=(String)ctx.getVariable("username");
+               String  password=(String)ctx.getVariable("password");
+               String  filename=(String)ctx.getVariable("remotefile1");
+               String fileparams=(String)ctx.getVariable("remotefile1params");
+               String destdir=(String)ctx.getVariable("destdir1");
+               
+               logger.debug("task execution started remotserver {} , portnumner {},username {}, password {},filename : {} ,fileparams={},dest dir={}",
+                               remotserver,portnumner,username,password,filename,fileparams,destdir);
+               String command="cd   "+destdir+ ";" +" bash  "+filename+"  "+ (fileparams!=null?fileparams:" ") ;
+               logger.debug("Execution command {}",command);
+               remoteScriptExecutionService.executeRemoteScript(remotserver,username,password,portnumner,filename,fileparams,null,destdir,command);
+       }
+
+}
diff --git a/akraino/src/main/java/com/akraino/bpm/delegate/MultiNodeDeployRemoteScript2ExecutorTaskDelegate.java b/akraino/src/main/java/com/akraino/bpm/delegate/MultiNodeDeployRemoteScript2ExecutorTaskDelegate.java
new file mode 100644 (file)
index 0000000..02ded79
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.akraino.bpm.delegate;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.akraino.bpm.model.BuildResponse;
+import com.akraino.bpm.service.DeployResponseSenderService;
+import com.akraino.bpm.service.RemoteScriptExecutionService;
+
+
+
+@Component
+public class MultiNodeDeployRemoteScript2ExecutorTaskDelegate implements JavaDelegate {
+
+       
+       private static Logger logger = LoggerFactory.getLogger(MultiNodeDeployRemoteScript2ExecutorTaskDelegate.class);
+       
+       @Autowired
+       RemoteScriptExecutionService remoteScriptExecutionService;
+       
+       @Autowired 
+       DeployResponseSenderService deployResponseSenderService;
+       
+       
+       public void execute(DelegateExecution ctx) throws Exception {
+               String  remotserver=(String)ctx.getVariable("remotserver");
+               int  portnumner=(Integer)ctx.getVariable("port");
+               String  username=(String)ctx.getVariable("username");
+               String  password=(String)ctx.getVariable("password");
+               String  filename=(String)ctx.getVariable("remotefile2");
+               String fileparams=(String)ctx.getVariable("remotefile2params");
+               String destdir=(String)ctx.getVariable("destdir2");
+               String sitename=(String)ctx.getVariable("sitename");
+               
+               deployResponseSenderService.sendResponse(new BuildResponse("completed", "completed", "completed", "inprogress","not started",sitename,null,null,null));
+               
+               logger.debug("task execution started remotserver {} , portnumner {},username {}, password {},filename : {} ,fileparams={},dest dir={}",
+                               remotserver,portnumner,username,password,filename,fileparams,destdir);
+               
+               String command="cd   "+destdir+ ";" +" bash  "+filename+"  "+ (fileparams!=null?fileparams:" ") ;
+               logger.debug("Execution command {}",command);
+               remoteScriptExecutionService.executeRemoteScript(remotserver,username,password,portnumner,filename,fileparams,null,destdir,command);
+               
+               deployResponseSenderService.sendResponse(new BuildResponse("completed", "completed", "completed", "completed","completed",sitename,null,null,null));
+       }
+
+}
diff --git a/akraino/src/main/java/com/akraino/bpm/delegate/MultiNodeScript1ExecutorTaskDelegate.java b/akraino/src/main/java/com/akraino/bpm/delegate/MultiNodeScript1ExecutorTaskDelegate.java
new file mode 100644 (file)
index 0000000..47a4020
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.akraino.bpm.delegate;
+
+import org.camunda.bpm.engine.RuntimeService;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+
+import com.akraino.bpm.service.ScriptExecutionService;
+
+
+@Component
+public class MultiNodeScript1ExecutorTaskDelegate implements JavaDelegate {
+
+       @Autowired
+       RuntimeService runtimeService;
+       
+        private static Logger logger = LoggerFactory.getLogger(MultiNodeScript1ExecutorTaskDelegate.class);
+       
+       @Autowired
+       ScriptExecutionService scriptExecutionService;
+       
+       public void execute(DelegateExecution ctx) throws Exception {
+               String  filename=(String)ctx.getVariable("file1");
+               String  fileparams=(String)ctx.getVariable("file1params");
+               
+               int lastindex=filename.lastIndexOf("/");
+               String srcdir=filename.substring(0,lastindex);
+               String task=filename.substring(lastindex+1,filename.length());
+               
+               String file= task+"  "+(fileparams!=null?fileparams.replaceAll(",", "  "):" ");
+               
+               
+               logger.debug("task execution started  filename:{}, directory:{}",file,srcdir);
+               scriptExecutionService.executeCDBashScript(srcdir, file);
+       }
+
+}
diff --git a/akraino/src/main/java/com/akraino/bpm/delegate/MultiNodeWinScpScriptDelegate.java b/akraino/src/main/java/com/akraino/bpm/delegate/MultiNodeWinScpScriptDelegate.java
new file mode 100644 (file)
index 0000000..c8c58d1
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.akraino.bpm.delegate;
+
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.akraino.bpm.model.BuildResponse;
+import com.akraino.bpm.service.DeployResponseSenderService;
+import com.akraino.bpm.service.ScriptExecutionService;
+
+
+@Component
+public class MultiNodeWinScpScriptDelegate implements JavaDelegate {
+
+       private static Logger logger = LoggerFactory.getLogger(MultiNodeWinScpScriptDelegate.class);
+       
+       @Autowired 
+       DeployResponseSenderService deployResponseSenderService;
+       
+       @Autowired
+       ScriptExecutionService scriptExecutionService;
+       
+       public void execute(DelegateExecution ctx) throws Exception {
+               
+               String sitename=(String)ctx.getVariable("sitename");
+               deployResponseSenderService.sendResponse(new BuildResponse("completed", "completed", "inprogress", "not started","not started",sitename,null,null,null));
+               String filename=(String)ctx.getVariable("scpfilename");
+               String dir=(String)ctx.getVariable("winscpdir");
+               logger.debug("Win SCP task execution started filename:{},directory:{}",filename,dir);
+               
+               scriptExecutionService.executeCDBashScript(dir, filename);
+               
+               
+       }
+
+}
index 59beee8..822b56d 100644 (file)
@@ -40,8 +40,18 @@ public class ScriptExecutorTaskDelegate implements JavaDelegate {
        
        public void execute(DelegateExecution ctx) throws Exception {
                String  filepath=(String)ctx.getVariable("filepath");
-               logger.debug("task execution started  :"+filepath);
-               scriptExecutionService.executeScript(filepath);
+               String fileparams=(String)ctx.getVariable("fileparams");
+               logger.debug("task execution started {} :",filepath);
+               
+               
+               int lastindex=filepath.lastIndexOf("/");
+               String srcdir=filepath.substring(0,lastindex);
+               String filename=filepath.substring(lastindex+1,filepath.length());
+               String task= filename+"  "+(fileparams!=null?fileparams.replaceAll(",", "  "):" ");
+               
+               logger.debug("task execution started  command: {} , src dir  :{}",task,srcdir);
+               
+               scriptExecutionService.executeCDBashScript(srcdir,task);
        }
 
 }
index c463fec..39ce79c 100644 (file)
@@ -28,6 +28,7 @@ public class BuildResponse {
        private String vCDNStatus;
        private String tempestStatus;
        
+       
        public BuildResponse(String buildStatus, String createTarStatus, String genesisNodeStatus, String deployToolsStatus,String deployStatus,
                        String siteName,String onapStatus,String vCDNStatus,String tempestStatus) {
                super();
@@ -41,8 +42,7 @@ public class BuildResponse {
                this.vCDNStatus=vCDNStatus;
                this.tempestStatus=tempestStatus;
        }
-
-
+       
        public String getBuildStatus() {
                return buildStatus;
        }
@@ -131,7 +131,6 @@ public class BuildResponse {
                this.tempestStatus = tempestStatus;
        }
 
-
        @Override
        public String toString() {
                return "BuildResponse [siteName=" + siteName + ", buildStatus=" + buildStatus + ", createTarStatus="
@@ -140,7 +139,9 @@ public class BuildResponse {
                                + vCDNStatus + ", tempestStatus=" + tempestStatus + "]";
        }
 
+       
 
+       
                
        
 }
diff --git a/akraino/src/main/java/com/akraino/bpm/model/MultiNodeDeploy.java b/akraino/src/main/java/com/akraino/bpm/model/MultiNodeDeploy.java
new file mode 100644 (file)
index 0000000..ab656fa
--- /dev/null
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.akraino.bpm.model;
+
+public class MultiNodeDeploy {
+       
+       private String sitename;
+       private String file1;
+       private String file1params;
+       private String winscpfilepath;
+       private String winscpfileparams;
+       private String remotserver;
+       private int port;
+       private String username;
+       private String password;
+       private String destdir1;
+       private String remotefile1;
+       private String remotefile1params;
+       private String destdir2;
+       private String remotefile2;
+       private String remotefile2params;
+       public String getSitename() {
+               return sitename;
+       }
+       public void setSitename(String sitename) {
+               this.sitename = sitename;
+       }
+       public String getFile1() {
+               return file1;
+       }
+       public void setFile1(String file1) {
+               this.file1 = file1;
+       }
+       public String getFile1params() {
+               return file1params;
+       }
+       public void setFile1params(String file1params) {
+               this.file1params = file1params;
+       }
+       public String getWinscpfilepath() {
+               return winscpfilepath;
+       }
+       public void setWinscpfilepath(String winscpfilepath) {
+               this.winscpfilepath = winscpfilepath;
+       }
+       public String getWinscpfileparams() {
+               return winscpfileparams;
+       }
+       public void setWinscpfileparams(String winscpfileparams) {
+               this.winscpfileparams = winscpfileparams;
+       }
+       public String getRemotserver() {
+               return remotserver;
+       }
+       public void setRemotserver(String remotserver) {
+               this.remotserver = remotserver;
+       }
+       public int getPort() {
+               return port;
+       }
+       public void setPort(int port) {
+               this.port = port;
+       }
+       public String getUsername() {
+               return username;
+       }
+       public void setUsername(String username) {
+               this.username = username;
+       }
+       public String getPassword() {
+               return password;
+       }
+       public void setPassword(String password) {
+               this.password = password;
+       }
+       
+       public String getRemotefile1() {
+               return remotefile1;
+       }
+       public void setRemotefile1(String remotefile1) {
+               this.remotefile1 = remotefile1;
+       }
+       public String getRemotefile1params() {
+               return remotefile1params;
+       }
+       public void setRemotefile1params(String remotefile1params) {
+               this.remotefile1params = remotefile1params;
+       }
+       public String getRemotefile2() {
+               return remotefile2;
+       }
+       public void setRemotefile2(String remotefile2) {
+               this.remotefile2 = remotefile2;
+       }
+       public String getRemotefile2params() {
+               return remotefile2params;
+       }
+       public void setRemotefile2params(String remotefile2params) {
+               this.remotefile2params = remotefile2params;
+       }
+       public String getDestdir1() {
+               return destdir1;
+       }
+       public void setDestdir1(String destdir1) {
+               this.destdir1 = destdir1;
+       }
+       public String getDestdir2() {
+               return destdir2;
+       }
+       public void setDestdir2(String destdir2) {
+               this.destdir2 = destdir2;
+       }
+       
+       
+       @Override
+       public String toString() {
+               return "MultiNodeDeploy [sitename=" + sitename + ", file1=" + file1 + ", file1params=" + file1params
+                               + ", winscpfilepath=" + winscpfilepath + ", winscpfileparams=" + winscpfileparams + ", remotserver="
+                               + remotserver + ", port=" + port + ", username=" + username + ", password=" + password + ", destdir1="
+                               + destdir1 + ", remotefile1=" + remotefile1 + ", remotefile1params=" + remotefile1params + ", destdir2="
+                               + destdir2 + ", remotefile2=" + remotefile2 + ", remotefile2params=" + remotefile2params + "]";
+       }
+       
+       
+       
+ }
index 0a78b78..ad05507 100644 (file)
@@ -20,6 +20,7 @@ import com.akraino.bpm.model.Airship;
 import com.akraino.bpm.model.Apache;
 import com.akraino.bpm.model.Build;
 import com.akraino.bpm.model.Deploy;
+import com.akraino.bpm.model.MultiNodeDeploy;
 import com.akraino.bpm.model.Onap;
 import com.akraino.bpm.model.Tempest;
 
@@ -36,4 +37,6 @@ public interface AsyncProcessExecutorService {
        public void executeTempestProcess(Tempest tempest);
        
        public void executeApacheProcess(Apache apache);
+       
+       public void executeMultiNodeDeployProcess(MultiNodeDeploy multiNodeDeploy);
 }
index 446e97e..2588a18 100644 (file)
@@ -22,9 +22,6 @@ public interface ScriptExecutionService {
        
        public void executeCDScript(String dir,String cmd);
        
+       public void executeCDBashScript(String dir,String cmd);
        
-       
-       //public void executeAirshipScript(String cmd);
-       
-
 }
index 5179c51..695606e 100644 (file)
@@ -31,6 +31,7 @@ import com.akraino.bpm.model.Apache;
 import com.akraino.bpm.model.Build;
 import com.akraino.bpm.model.BuildResponse;
 import com.akraino.bpm.model.Deploy;
+import com.akraino.bpm.model.MultiNodeDeploy;
 import com.akraino.bpm.model.Onap;
 import com.akraino.bpm.model.Tempest;
 import com.akraino.bpm.service.AsyncProcessExecutorService;
@@ -39,17 +40,17 @@ import com.akraino.bpm.service.DeployResponseSenderService;
 @Service("asyncProcessExecutorService")
 public class AsyncProcessExecutorServiceImpl implements AsyncProcessExecutorService{
 
-         @Autowired
-         private ProcessEngine camunda;
-         
-         @Autowired 
-         private DeployResponseSenderService  deployResponseSenderService;
-         
-         private static Logger logger = LoggerFactory.getLogger(AsyncProcessExecutorServiceImpl.class);
-         
+       @Autowired
+       private ProcessEngine camunda;
+
+       @Autowired
+       private DeployResponseSenderService  deployResponseSenderService;
+
+       private static Logger logger = LoggerFactory.getLogger(AsyncProcessExecutorServiceImpl.class);
+
        @Async
        public void executeAirshipProcess(Airship airship) {
-               
+
                 try {
                        executeAirshipservice(airship);
                  }catch(TaskExecutorException ex) {
@@ -57,29 +58,32 @@ public class AsyncProcessExecutorServiceImpl implements AsyncProcessExecutorServ
                          deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,"exception: "+ex.getMessage(),airship.getSitename(),null,null,null));
                          return;
                }
-                logger.debug("Airship execution sucess ");
+                logger.debug("Airship execution success ");
                 deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,"success",airship.getSitename(),null,null,null));
-               
-               
-               
        }
 
        private ProcessInstance executeAirshipservice(Airship airship) {
-               
+
                String filepath1=airship.getFilepath()+"  "+(airship.getFileparams()!=null?airship.getFileparams().replaceAll(",", "  "):" ");
                String filepath2=airship.getWinscpfilepath()+"  "+(airship.getWinscpfileparams()!=null?airship.getWinscpfileparams().replaceAll(",", "  "):" ");
                return camunda.getRuntimeService().startProcessInstanceByKey("airship",
-                               Variables.putValue("filepath", filepath1).putValue("scpdir", airship.getWinscpdir()).putValue("ScpScriptFilepath", filepath2).putValue("remotserver", airship.getRemotserver())
+                       Variables.putValue("filepath", filepath1)
+                               .putValue("scpdir", airship.getWinscpdir())
+                               .putValue("ScpScriptFilepath", filepath2)
+                               .putValue("remotserver", airship.getRemotserver())
                                .putValue("username", airship.getUsername())
                                .putValue("password", airship.getPassword())
-                               .putValue("port", airship.getPort()).putValue("destdir",airship.getDestdir()).putValue("remotefilename", airship.getRemotefilename())
-                               .putValue("remotefileparams", airship.getRemotefileparams()).putValue("sitename", airship.getSitename()));
-               
+                               .putValue("port", airship.getPort())
+                               .putValue("destdir",airship.getDestdir())
+                               .putValue("remotefilename", airship.getRemotefilename())
+                               .putValue("remotefileparams", airship.getRemotefileparams())
+                               .putValue("sitename", airship.getSitename())
+               );
        }
 
        @Async
        public void executeBuildProcess(Build build) {
-               
+
                 try {
                        executeBuildService(build);
                  }catch(TaskExecutorException ex) {
@@ -87,62 +91,65 @@ public class AsyncProcessExecutorServiceImpl implements AsyncProcessExecutorServ
                          deployResponseSenderService.sendResponse(new BuildResponse("exception: "+ex.getMessage(),null,null,null,null,build.getSitename(),null,null,null));
                          return;
                }
-                logger.debug("Build execution sucess ");
+                logger.debug("Build execution success ");
                 deployResponseSenderService.sendResponse(new BuildResponse("success",null,null,null,null,build.getSitename(),null,null,null));
        }
 
-       
        private ProcessInstance executeBuildService(Build build) {
-               
-               String filepath=build.getFilepath()+"  "+(build.getFileparams()!=null?build.getFileparams().replaceAll(",", "  "):" ");
+
                return camunda.getRuntimeService().startProcessInstanceByKey("build",
-                               Variables.putValue("filepath", filepath).putValue("targetfolder", build.getTargetfolder()));
+                       Variables.putValue("filepath", build.getFilepath())
+                               .putValue("fileparams", build.getFileparams())
+                               .putValue("targetfolder", build.getTargetfolder())
+               );
        }
-       
+
        @Async
        public void executeDeployProcess(Deploy deploy) {
-               
-                try {
-                        executeDeployService(deploy);
-                 }catch(TaskExecutorException ex) {
-                         logger.error("deploy execution failed ",ex);
-                         deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,"exception: "+ex.getMessage(),deploy.getSitename(),null,null,null));
-                         return;
+
+               try {
+                       executeDeployService(deploy);
+               } catch (TaskExecutorException ex) {
+                       logger.error("deploy execution failed ",ex);
+                       deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,"exception: "+ex.getMessage(),deploy.getSitename(),null,null,null));
+                       return;
                }
-                logger.debug("deploy execution sucess ");
-                deployResponseSenderService.sendResponse(new BuildResponse("success","success","success","success","success",deploy.getSitename(),null,null,null));
+               logger.debug("deploy execution success ");
+               deployResponseSenderService.sendResponse(new BuildResponse("success","success","success","success","success",deploy.getSitename(),null,null,null));
        }
-       
-       
+
+
        private ProcessInstance executeDeployService(Deploy deploy) {
-               
-               String filepath1=deploy.getFilepath()+"  "+(deploy.getFileparams()!=null?deploy.getFileparams().replaceAll(",", "  "):" ");
-               
-               
-               int lastindex=deploy.getWinscpfilepath().lastIndexOf("/");
-               String scpSrcDir=deploy.getWinscpfilepath().substring(0,lastindex);
-               String scpfilename=deploy.getWinscpfilepath().substring(lastindex+1,deploy.getWinscpfilepath().length());
-               String transferfile= scpfilename+"  "+(deploy.getWinscpfileparams()!=null?deploy.getWinscpfileparams().replaceAll(",", "  "):" ");
-               
-               
-               
+
+               String filepath1    = deploy.getFilepath()+"  "+(deploy.getFileparams()!=null?deploy.getFileparams().replaceAll(",", "  "):" ");
+               String scpSrcDir    = dirname(deploy.getWinscpfilepath());
+               String scpfilename  = filename(deploy.getWinscpfilepath());
+               String transferfile = scpfilename+"  "+(deploy.getWinscpfileparams()!=null?deploy.getWinscpfileparams().replaceAll(",", "  "):" ");
+
                return camunda.getRuntimeService().startProcessInstanceByKey("deploy",
-                               Variables.putValue("filepath", filepath1).putValue("scpsrcdir", scpSrcDir).
-                               putValue("ScpScriptFilepath", transferfile).putValue("remotserver", deploy.getRemotserver())
+                       Variables.putValue("filepath", filepath1)
+                               .putValue("scpsrcdir", scpSrcDir)
+                               .putValue("ScpScriptFilepath", transferfile)
+                               .putValue("remotserver", deploy.getRemotserver())
                                .putValue("username", deploy.getUsername())
                                .putValue("password", deploy.getPassword())
-                               .putValue("port", deploy.getPort()).putValue("destdir",deploy.getDestdir()).putValue("remotefilename", deploy.getRemotefilename())
-                               .putValue("fileparams", deploy.getFileparams()).
-                               putValue("verifier", deploy.getDeploymentverifier()).putValue("verifierfileparams", 
-                               deploy.getDeploymentverifierfileparams()).putValue("waittime", deploy.getWaittime()).
-                               putValue("iterations", deploy.getNoofiterations()).putValue("postverificationscript", deploy.getPostverificationscript()).
-                               putValue("postverificationScriptparams", deploy.getDeploymentverifierfileparams()).putValue("sitename", deploy.getSitename()));
-               
+                               .putValue("port", deploy.getPort())
+                               .putValue("destdir",deploy.getDestdir())
+                               .putValue("remotefilename", deploy.getRemotefilename())
+                               .putValue("fileparams", deploy.getFileparams())
+                               .putValue("verifier", deploy.getDeploymentverifier())
+                               .putValue("verifierfileparams",  deploy.getDeploymentverifierfileparams())
+                               .putValue("waittime", deploy.getWaittime())
+                               .putValue("iterations", deploy.getNoofiterations())
+                               .putValue("postverificationscript", deploy.getPostverificationscript())
+                               .putValue("postverificationScriptparams", deploy.getDeploymentverifierfileparams())
+                               .putValue("sitename", deploy.getSitename())
+               );
        }
 
        @Async
        public void executeOnapProcess(Onap onap) {
-               
+
                try {
                        executeOnapService(onap);
                  }catch(TaskExecutorException ex) {
@@ -150,34 +157,36 @@ public class AsyncProcessExecutorServiceImpl implements AsyncProcessExecutorServ
                          deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,onap.getSitename(),"exception: "+ex.getMessage(),null,null));
                          return;
                }
-                logger.debug("Onap execution sucess ");
+                logger.debug("Onap execution success ");
                 deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,onap.getSitename(),"succes",null,null));
-               
-               
        }
-       
-       
+
+
        private ProcessInstance executeOnapService(Onap onap) {
-               
-               int lastindex=onap.getFiletrasferscript().lastIndexOf("/");
-               String scpSrcDir=onap.getFiletrasferscript().substring(0,lastindex);
-               String scpfilename=onap.getFiletrasferscript().substring(lastindex+1,onap.getFiletrasferscript().length());
-               String transferfile= scpfilename+"  "+(onap.getFiletransferparams()!=null?onap.getFiletransferparams().replaceAll(",", "  "):" ");
-               
-               
+
+               String scpSrcDir    = dirname(onap.getFiletrasferscript());
+               String scpfilename  = filename(onap.getFiletrasferscript());
+               String transferfile = scpfilename+"  "+(onap.getFiletransferparams()!=null?onap.getFiletransferparams().replaceAll(",", "  "):" ");
+
                return camunda.getRuntimeService().startProcessInstanceByKey("onap",
-                               Variables.putValue("filename", onap.getFilename()).putValue("fileparams", onap.getFileparams()).
-                               putValue("verifier", onap.getDeploymentverifier()).putValue("verifierfileparams", onap.getVerifierparams()).putValue("waittime", onap.getWaittime()).
-                               putValue("iterations", onap.getNoofiterations()).putValue("remotserver", onap.getRemoteserver())
+                       Variables.putValue("filename", onap.getFilename())
+                               .putValue("fileparams", onap.getFileparams())
+                               .putValue("verifier", onap.getDeploymentverifier())
+                               .putValue("verifierfileparams", onap.getVerifierparams())
+                               .putValue("waittime", onap.getWaittime())
+                               .putValue("iterations", onap.getNoofiterations())
+                               .putValue("remotserver", onap.getRemoteserver())
                                .putValue("username", onap.getUsername())
                                .putValue("password", onap.getPassword())
-                               .putValue("port", onap.getPortnumber()).putValue("srcdir", onap.getSrcdir()).putValue("destdir",onap.getDestdir()).putValue("ScpScriptFilepath", transferfile).
-                               putValue("scpsrcdir", scpSrcDir)
-                               );
-               
+                               .putValue("port", onap.getPortnumber())
+                               .putValue("srcdir", onap.getSrcdir())
+                               .putValue("destdir",onap.getDestdir())
+                               .putValue("ScpScriptFilepath", transferfile)
+                               .putValue("scpsrcdir", scpSrcDir)
+               );
        }
-       
-       
+
+
        @Async
        public void executeTempestProcess(Tempest tempest) {
                 try {
@@ -187,67 +196,120 @@ public class AsyncProcessExecutorServiceImpl implements AsyncProcessExecutorServ
                          deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,tempest.getSitename(),null,null,"exception: "+ex.getMessage()));
                          return;
                }
-                logger.debug("Tempest execution sucess ");
+                logger.debug("Tempest execution success ");
                 deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,tempest.getSitename(),null,null,"success"));
-               
-       }
-       
-               private ProcessInstance executeTempestService(Tempest tempest) {
-               
-                       int lastindex=tempest.getFiletrasferscript().lastIndexOf("/");
-                       String scpSrcDir=tempest.getFiletrasferscript().substring(0,lastindex);
-                       String scpfilename=tempest.getFiletrasferscript().substring(lastindex+1,tempest.getFiletrasferscript().length());
-                       String transferfile= scpfilename+"  "+(tempest.getFiletransferparams()!=null?tempest.getFiletransferparams().replaceAll(",", "  "):" ");
-               
-                       return camunda.getRuntimeService().startProcessInstanceByKey("tempest",
-                               Variables.putValue("filename", tempest.getFilename()).putValue("fileparams", tempest.getFileparams()).
-                               putValue("verifier", tempest.getDeploymentverifier()).putValue("verifierfileparams", tempest.getVerifierparams()).putValue("waittime", tempest.getWaittime()).
-                               putValue("iterations", tempest.getNoofiterations()).putValue("remotserver", tempest.getRemoteserver())
+
+       }
+
+       private ProcessInstance executeTempestService(Tempest tempest) {
+
+               String scpSrcDir    = dirname(tempest.getFiletrasferscript());
+               String scpfilename  = filename(tempest.getFiletrasferscript());
+               String transferfile = scpfilename+"  "+(tempest.getFiletransferparams()!=null?tempest.getFiletransferparams().replaceAll(",", "  "):" ");
+
+               return camunda.getRuntimeService().startProcessInstanceByKey("tempest",
+                       Variables.putValue("filename", tempest.getFilename())
+                               .putValue("fileparams", tempest.getFileparams())
+                               .putValue("verifier", tempest.getDeploymentverifier())
+                               .putValue("verifierfileparams", tempest.getVerifierparams())
+                               .putValue("waittime", tempest.getWaittime())
+                               .putValue("iterations", tempest.getNoofiterations())
+                               .putValue("remotserver", tempest.getRemoteserver())
                                .putValue("username", tempest.getUsername())
                                .putValue("password", tempest.getPassword())
-                               .putValue("port", tempest.getPortnumber()).putValue("srcdir", tempest.getSrcdir()).putValue("destdir",tempest.getDestdir()).putValue("ScpScriptFilepath", transferfile).
-                               putValue("scpsrcdir", scpSrcDir)
-                               );
-               
-               }
-       
-       
-               @Async
-               public void executeApacheProcess(Apache apache) {
-                        try {
-                               executeApacheService(apache);
-                         }catch(TaskExecutorException ex) {
-                                 logger.error("Apache execution failed ",ex);
-                                 deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,apache.getSitename(),null,"exception: "+ex.getMessage(),null));
-                                 return;
-                       }
-                        logger.debug("Apache execution sucess ");
-                        deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,apache.getSitename(),null,"success",null));
-                       
-                       
+                               .putValue("port", tempest.getPortnumber())
+                               .putValue("srcdir", tempest.getSrcdir())
+                               .putValue("destdir",tempest.getDestdir())
+                               .putValue("ScpScriptFilepath", transferfile)
+                               .putValue("scpsrcdir", scpSrcDir)
+               );
+       }
+
+
+       @Async
+       public void executeApacheProcess(Apache apache) {
+                try {
+                       executeApacheService(apache);
+                 }catch(TaskExecutorException ex) {
+                         logger.error("Apache execution failed ",ex);
+                         deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,apache.getSitename(),null,"exception: "+ex.getMessage(),null));
+                         return;
                }
-               
-               
-               private ProcessInstance executeApacheService(Apache apache) {
-                       
-                       int lastindex=apache.getFiletrasferscript().lastIndexOf("/");
-                       String scpSrcDir=apache.getFiletrasferscript().substring(0,lastindex);
-                       String scpfilename=apache.getFiletrasferscript().substring(lastindex+1,apache.getFiletrasferscript().length());
-                       
-                       String transferfile= scpfilename+"  "+(apache.getFiletransferparams()!=null?apache.getFiletransferparams().replaceAll(",", "  "):" ");
-                       
-                       return camunda.getRuntimeService().startProcessInstanceByKey("apache",
-                                       Variables.putValue("filename", apache.getFilename()).putValue("fileparams", apache.getFileparams()).
-                                       putValue("verifier", apache.getDeploymentverifier()).putValue("verifierfileparams", apache.getVerifierparams()).putValue("waittime", apache.getWaittime()).
-                                       putValue("iterations", apache.getNoofiterations()).putValue("remotserver", apache.getRemoteserver())
-                                       .putValue("username", apache.getUsername())
-                                       .putValue("password", apache.getPassword())
-                                       .putValue("port", apache.getPortnumber()).
-                                       putValue("srcdir", apache.getSrcdir()).putValue("destdir",apache.getDestdir()).
-                                       putValue("scpfilename", transferfile).putValue("scpdir", scpSrcDir)
-                                       );
-                       
+                logger.debug("Apache execution success ");
+                deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,apache.getSitename(),null,"success",null));
+
+
+       }
+
+       private ProcessInstance executeApacheService(Apache apache) {
+
+               String scpSrcDir    = dirname(apache.getFiletrasferscript());
+               String scpfilename  = filename(apache.getFiletrasferscript());
+               String transferfile = scpfilename+"  "+(apache.getFiletransferparams()!=null?apache.getFiletransferparams().replaceAll(",", "  "):" ");
+
+               return camunda.getRuntimeService().startProcessInstanceByKey("apache",
+                       Variables.putValue("filename", apache.getFilename())
+                               .putValue("fileparams", apache.getFileparams())
+                               .putValue("verifier", apache.getDeploymentverifier())
+                               .putValue("verifierfileparams", apache.getVerifierparams())
+                               .putValue("waittime", apache.getWaittime())
+                               .putValue("iterations", apache.getNoofiterations())
+                               .putValue("remotserver", apache.getRemoteserver())
+                               .putValue("username", apache.getUsername())
+                               .putValue("password", apache.getPassword())
+                               .putValue("port", apache.getPortnumber())
+                               .putValue("srcdir", apache.getSrcdir())
+                               .putValue("destdir",apache.getDestdir())
+                               .putValue("scpfilename", transferfile)
+                               .putValue("scpdir", scpSrcDir)
+               );
+       }
+
+       @Async
+       public void executeMultiNodeDeployProcess(MultiNodeDeploy multiNodeDeploy) {
+               try {
+                       executeMultiNodeDeployService(multiNodeDeploy);
+               }catch(TaskExecutorException ex) {
+                         logger.error("MultiNodeDeploy execution failed ",ex);
+                         deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,"exception: "+ex.getMessage(),multiNodeDeploy.getSitename(),null,null,null));
+                         return;
                }
-               
-               
+               logger.debug("MultiNodeDeploy execution success ");
+               deployResponseSenderService.sendResponse(new BuildResponse("success","success","success","success","success",multiNodeDeploy.getSitename(),null,null,null));
+
+       }
+
+       private ProcessInstance executeMultiNodeDeployService(MultiNodeDeploy multiNodeDeploy) {
+
+               String scpSrcDir    = dirname(multiNodeDeploy.getWinscpfilepath());
+               String scpfilename  = filename(multiNodeDeploy.getWinscpfilepath());
+               String transferfile = scpfilename+"  "+(multiNodeDeploy.getWinscpfileparams()!=null?multiNodeDeploy.getWinscpfileparams().replaceAll(",", "  "):" ");
+
+               return camunda.getRuntimeService().startProcessInstanceByKey("multinodedeploy",
+                       Variables.putValue("file1", multiNodeDeploy.getFile1())
+                               .putValue("file1params", multiNodeDeploy.getFile1params())
+                               .putValue("winscpdir", scpSrcDir)
+                               .putValue("scpfilename", transferfile)
+                               .putValue("remotserver", multiNodeDeploy.getRemotserver())
+                               .putValue("username", multiNodeDeploy.getUsername())
+                               .putValue("password", multiNodeDeploy.getPassword())
+                               .putValue("port", multiNodeDeploy.getPort())
+                               .putValue("destdir1",multiNodeDeploy.getDestdir1())
+                               .putValue("destdir2", multiNodeDeploy.getDestdir2())
+                               .putValue("remotefile1", multiNodeDeploy.getRemotefile1())
+                               .putValue("remotefile1params", multiNodeDeploy.getRemotefile1params())
+                               .putValue("sitename", multiNodeDeploy.getSitename())
+                               .putValue("remotefile2", multiNodeDeploy.getRemotefile2())
+                               .putValue("remotefile2params", multiNodeDeploy.getRemotefile2params())
+               );
+       }
+
+       private String dirname(final String s) {
+               int lastindex = s.lastIndexOf("/");
+               return (lastindex < 0) ? "." : s.substring(0, lastindex);
+       }
+       private String filename(String s) {
+               int lastindex = s.lastIndexOf("/");
+               return (lastindex < 0) ? s : s.substring(lastindex+1);
        }
+}
index 7462607..36842d3 100644 (file)
@@ -46,7 +46,7 @@ public class ScriptExecutionServiceImpl implements ScriptExecutionService{
             p.waitFor();
             logger.debug("Script exit code :"+p.exitValue());
             if(p.exitValue()!=0) {
-               throw new TaskExecutorException("problem while executing the script . exist code :"+p.exitValue());
+               throw new TaskExecutorException("problem while executing the script . exit code :"+p.exitValue());
             }
             
                        
@@ -85,6 +85,36 @@ public class ScriptExecutionServiceImpl implements ScriptExecutionService{
        }
                
                
+               public void executeCDBashScript(String dir,String cmd)  {
+                       
+                       try {
+                               logger.debug("Executing the script.............dir:{},command:{}",dir,cmd);
+                               
+                               String[] command = { "/bin/bash", "-c", "bash  "+cmd };
+                               Process p = Runtime.getRuntime().exec(command, null, new File(dir));
+                               p.waitFor();
+                               BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
+                   String line = "";
+                   while ((line = input.readLine()) != null) {
+                       logger.debug(line);
+                   }
+                   logger.debug("Script exit code :"+p.exitValue());
+                   if(p.exitValue()!=0) {
+                       throw new TaskExecutorException("problem while executing the script . exit code :"+p.exitValue());
+                   }
+                   
+                               
+                       } catch (IOException e) {
+                               throw new TaskExecutorException(cmd + " not found.");
+                       } catch (InterruptedException e) {
+                               throw new TaskExecutorException("problem while executing the script "+cmd);
+                       }
+               
+       }
+               
+               
+               
+               
                /*public void executeAirshipScript(String cmd)  {
                        
                        try {
diff --git a/akraino/src/main/resources/multinodedeploy.bpmn b/akraino/src/main/resources/multinodedeploy.bpmn
new file mode 100644 (file)
index 0000000..cfe83e4
--- /dev/null
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_0ryxuei" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.16.0">
+  <bpmn:process id="multinodedeploy" name="multinodedeploy" isExecutable="true" camunda:versionTag="1">
+    <bpmn:sequenceFlow id="SequenceFlow_125l5l0" sourceRef="StartEvent_1" targetRef="Task_19usii1" />
+    <bpmn:startEvent id="StartEvent_1" name="ScriptExecutionStartingPoint">
+      <bpmn:outgoing>SequenceFlow_125l5l0</bpmn:outgoing>
+    </bpmn:startEvent>
+    <bpmn:serviceTask id="Task_19usii1" name="ScriptExecutorTask" camunda:delegateExpression="#{multiNodeScript1ExecutorTaskDelegate}">
+      <bpmn:incoming>SequenceFlow_125l5l0</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_05ubysv</bpmn:outgoing>
+    </bpmn:serviceTask>
+    <bpmn:serviceTask id="Task_1jo0y1o" name="WinSCPScriptExecutortask" camunda:delegateExpression="#{multiNodeWinScpScriptDelegate}">
+      <bpmn:incoming>SequenceFlow_05ubysv</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_1jh4nm3</bpmn:outgoing>
+    </bpmn:serviceTask>
+    <bpmn:sequenceFlow id="SequenceFlow_1jh4nm3" sourceRef="Task_1jo0y1o" targetRef="DeployRemoteexecutor" />
+    <bpmn:serviceTask id="DeployRemoteexecutor" name="Deploy Remote Script 1 excutor" camunda:delegateExpression="#{multiNodeDeployRemoteScript1ExecutorTaskDelegate}">
+      <bpmn:incoming>SequenceFlow_1jh4nm3</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_1b4e6j2</bpmn:outgoing>
+    </bpmn:serviceTask>
+    <bpmn:sequenceFlow id="SequenceFlow_05ubysv" sourceRef="Task_19usii1" targetRef="Task_1jo0y1o" />
+    <bpmn:serviceTask id="ServiceTask_1fcq5wy" name="Deploy Remote Script 2 excutor" camunda:delegateExpression="#{multiNodeDeployRemoteScript2ExecutorTaskDelegate}">
+      <bpmn:incoming>SequenceFlow_1b4e6j2</bpmn:incoming>
+    </bpmn:serviceTask>
+    <bpmn:sequenceFlow id="SequenceFlow_1b4e6j2" sourceRef="DeployRemoteexecutor" targetRef="ServiceTask_1fcq5wy" />
+    <bpmn:textAnnotation id="TextAnnotation_1p71e63">
+      <bpmn:text>Rest</bpmn:text>
+    </bpmn:textAnnotation>
+    <bpmn:association id="Association_0bjstyh" sourceRef="StartEvent_1" targetRef="TextAnnotation_1p71e63" />
+    <bpmn:textAnnotation id="TextAnnotation_00kckqx">
+      <bpmn:text>Script  1 execution Task</bpmn:text>
+    </bpmn:textAnnotation>
+    <bpmn:association id="Association_16sojmg" sourceRef="Task_19usii1" targetRef="TextAnnotation_00kckqx" />
+    <bpmn:textAnnotation id="TextAnnotation_08xc1st">
+      <bpmn:text>Win Scp Script Executor</bpmn:text>
+    </bpmn:textAnnotation>
+    <bpmn:association id="Association_05u86o6" sourceRef="Task_1jo0y1o" targetRef="TextAnnotation_08xc1st" />
+    <bpmn:textAnnotation id="TextAnnotation_071um3l">
+      <bpmn:text>Remote Script 1 Executor</bpmn:text>
+    </bpmn:textAnnotation>
+    <bpmn:association id="Association_0xluc8y" sourceRef="DeployRemoteexecutor" targetRef="TextAnnotation_071um3l" />
+    <bpmn:textAnnotation id="TextAnnotation_1xt9xdh">
+      <bpmn:text>Remote Script 2 executor</bpmn:text>
+    </bpmn:textAnnotation>
+    <bpmn:association id="Association_1yfo16k" sourceRef="ServiceTask_1fcq5wy" targetRef="TextAnnotation_1xt9xdh" />
+  </bpmn:process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="multinodedeploy">
+      <bpmndi:BPMNEdge id="SequenceFlow_125l5l0_di" bpmnElement="SequenceFlow_125l5l0">
+        <di:waypoint x="330" y="278" />
+        <di:waypoint x="368" y="278" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="387" y="265" width="90" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="TextAnnotation_1p71e63_di" bpmnElement="TextAnnotation_1p71e63">
+        <dc:Bounds x="339" y="182" width="100" height="30" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="Association_0bjstyh_di" bpmnElement="Association_0bjstyh">
+        <di:waypoint x="324" y="265" />
+        <di:waypoint x="375" y="212" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="TextAnnotation_00kckqx_di" bpmnElement="TextAnnotation_00kckqx">
+        <dc:Bounds x="469" y="153" width="100" height="39" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="Association_16sojmg_di" bpmnElement="Association_16sojmg">
+        <di:waypoint x="456" y="238" />
+        <di:waypoint x="501" y="192" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
+        <dc:Bounds x="294" y="260" width="36" height="36" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="270" y="296" width="88" height="27" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ServiceTask_0y4nqij_di" bpmnElement="Task_19usii1">
+        <dc:Bounds x="368" y="238" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="TextAnnotation_08xc1st_di" bpmnElement="TextAnnotation_08xc1st">
+        <dc:Bounds x="805" y="153" width="100" height="42" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="Association_05u86o6_di" bpmnElement="Association_05u86o6">
+        <di:waypoint x="687" y="254" />
+        <di:waypoint x="811" y="195" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ServiceTask_0ek6xsx_di" bpmnElement="Task_1jo0y1o">
+        <dc:Bounds x="587" y="238" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_1jh4nm3_di" bpmnElement="SequenceFlow_1jh4nm3">
+        <di:waypoint x="687" y="278" />
+        <di:waypoint x="797" y="278" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="704" y="265" width="90" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ServiceTask_0gdjdwl_di" bpmnElement="DeployRemoteexecutor">
+        <dc:Bounds x="797" y="238" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="TextAnnotation_071um3l_di" bpmnElement="TextAnnotation_071um3l">
+        <dc:Bounds x="986" y="159" width="100" height="39" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="Association_0xluc8y_di" bpmnElement="Association_0xluc8y">
+        <di:waypoint x="897" y="252" />
+        <di:waypoint x="1000" y="198" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_05ubysv_di" bpmnElement="SequenceFlow_05ubysv">
+        <di:waypoint x="468" y="278" />
+        <di:waypoint x="587" y="278" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ServiceTask_1fcq5wy_di" bpmnElement="ServiceTask_1fcq5wy">
+        <dc:Bounds x="1018" y="228" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_1b4e6j2_di" bpmnElement="SequenceFlow_1b4e6j2">
+        <di:waypoint x="897" y="278" />
+        <di:waypoint x="958" y="278" />
+        <di:waypoint x="958" y="268" />
+        <di:waypoint x="1018" y="268" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="TextAnnotation_1xt9xdh_di" bpmnElement="TextAnnotation_1xt9xdh">
+        <dc:Bounds x="1118" y="148" width="100" height="41" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="Association_1yfo16k_di" bpmnElement="Association_1yfo16k">
+        <di:waypoint x="1108" y="228" />
+        <di:waypoint x="1148" y="189" />
+      </bpmndi:BPMNEdge>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</bpmn:definitions>
diff --git a/config/multinodedeploy.bpmn b/config/multinodedeploy.bpmn
new file mode 100644 (file)
index 0000000..cfe83e4
--- /dev/null
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_0ryxuei" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.16.0">
+  <bpmn:process id="multinodedeploy" name="multinodedeploy" isExecutable="true" camunda:versionTag="1">
+    <bpmn:sequenceFlow id="SequenceFlow_125l5l0" sourceRef="StartEvent_1" targetRef="Task_19usii1" />
+    <bpmn:startEvent id="StartEvent_1" name="ScriptExecutionStartingPoint">
+      <bpmn:outgoing>SequenceFlow_125l5l0</bpmn:outgoing>
+    </bpmn:startEvent>
+    <bpmn:serviceTask id="Task_19usii1" name="ScriptExecutorTask" camunda:delegateExpression="#{multiNodeScript1ExecutorTaskDelegate}">
+      <bpmn:incoming>SequenceFlow_125l5l0</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_05ubysv</bpmn:outgoing>
+    </bpmn:serviceTask>
+    <bpmn:serviceTask id="Task_1jo0y1o" name="WinSCPScriptExecutortask" camunda:delegateExpression="#{multiNodeWinScpScriptDelegate}">
+      <bpmn:incoming>SequenceFlow_05ubysv</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_1jh4nm3</bpmn:outgoing>
+    </bpmn:serviceTask>
+    <bpmn:sequenceFlow id="SequenceFlow_1jh4nm3" sourceRef="Task_1jo0y1o" targetRef="DeployRemoteexecutor" />
+    <bpmn:serviceTask id="DeployRemoteexecutor" name="Deploy Remote Script 1 excutor" camunda:delegateExpression="#{multiNodeDeployRemoteScript1ExecutorTaskDelegate}">
+      <bpmn:incoming>SequenceFlow_1jh4nm3</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_1b4e6j2</bpmn:outgoing>
+    </bpmn:serviceTask>
+    <bpmn:sequenceFlow id="SequenceFlow_05ubysv" sourceRef="Task_19usii1" targetRef="Task_1jo0y1o" />
+    <bpmn:serviceTask id="ServiceTask_1fcq5wy" name="Deploy Remote Script 2 excutor" camunda:delegateExpression="#{multiNodeDeployRemoteScript2ExecutorTaskDelegate}">
+      <bpmn:incoming>SequenceFlow_1b4e6j2</bpmn:incoming>
+    </bpmn:serviceTask>
+    <bpmn:sequenceFlow id="SequenceFlow_1b4e6j2" sourceRef="DeployRemoteexecutor" targetRef="ServiceTask_1fcq5wy" />
+    <bpmn:textAnnotation id="TextAnnotation_1p71e63">
+      <bpmn:text>Rest</bpmn:text>
+    </bpmn:textAnnotation>
+    <bpmn:association id="Association_0bjstyh" sourceRef="StartEvent_1" targetRef="TextAnnotation_1p71e63" />
+    <bpmn:textAnnotation id="TextAnnotation_00kckqx">
+      <bpmn:text>Script  1 execution Task</bpmn:text>
+    </bpmn:textAnnotation>
+    <bpmn:association id="Association_16sojmg" sourceRef="Task_19usii1" targetRef="TextAnnotation_00kckqx" />
+    <bpmn:textAnnotation id="TextAnnotation_08xc1st">
+      <bpmn:text>Win Scp Script Executor</bpmn:text>
+    </bpmn:textAnnotation>
+    <bpmn:association id="Association_05u86o6" sourceRef="Task_1jo0y1o" targetRef="TextAnnotation_08xc1st" />
+    <bpmn:textAnnotation id="TextAnnotation_071um3l">
+      <bpmn:text>Remote Script 1 Executor</bpmn:text>
+    </bpmn:textAnnotation>
+    <bpmn:association id="Association_0xluc8y" sourceRef="DeployRemoteexecutor" targetRef="TextAnnotation_071um3l" />
+    <bpmn:textAnnotation id="TextAnnotation_1xt9xdh">
+      <bpmn:text>Remote Script 2 executor</bpmn:text>
+    </bpmn:textAnnotation>
+    <bpmn:association id="Association_1yfo16k" sourceRef="ServiceTask_1fcq5wy" targetRef="TextAnnotation_1xt9xdh" />
+  </bpmn:process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="multinodedeploy">
+      <bpmndi:BPMNEdge id="SequenceFlow_125l5l0_di" bpmnElement="SequenceFlow_125l5l0">
+        <di:waypoint x="330" y="278" />
+        <di:waypoint x="368" y="278" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="387" y="265" width="90" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="TextAnnotation_1p71e63_di" bpmnElement="TextAnnotation_1p71e63">
+        <dc:Bounds x="339" y="182" width="100" height="30" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="Association_0bjstyh_di" bpmnElement="Association_0bjstyh">
+        <di:waypoint x="324" y="265" />
+        <di:waypoint x="375" y="212" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="TextAnnotation_00kckqx_di" bpmnElement="TextAnnotation_00kckqx">
+        <dc:Bounds x="469" y="153" width="100" height="39" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="Association_16sojmg_di" bpmnElement="Association_16sojmg">
+        <di:waypoint x="456" y="238" />
+        <di:waypoint x="501" y="192" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
+        <dc:Bounds x="294" y="260" width="36" height="36" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="270" y="296" width="88" height="27" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ServiceTask_0y4nqij_di" bpmnElement="Task_19usii1">
+        <dc:Bounds x="368" y="238" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="TextAnnotation_08xc1st_di" bpmnElement="TextAnnotation_08xc1st">
+        <dc:Bounds x="805" y="153" width="100" height="42" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="Association_05u86o6_di" bpmnElement="Association_05u86o6">
+        <di:waypoint x="687" y="254" />
+        <di:waypoint x="811" y="195" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ServiceTask_0ek6xsx_di" bpmnElement="Task_1jo0y1o">
+        <dc:Bounds x="587" y="238" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_1jh4nm3_di" bpmnElement="SequenceFlow_1jh4nm3">
+        <di:waypoint x="687" y="278" />
+        <di:waypoint x="797" y="278" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="704" y="265" width="90" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ServiceTask_0gdjdwl_di" bpmnElement="DeployRemoteexecutor">
+        <dc:Bounds x="797" y="238" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="TextAnnotation_071um3l_di" bpmnElement="TextAnnotation_071um3l">
+        <dc:Bounds x="986" y="159" width="100" height="39" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="Association_0xluc8y_di" bpmnElement="Association_0xluc8y">
+        <di:waypoint x="897" y="252" />
+        <di:waypoint x="1000" y="198" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_05ubysv_di" bpmnElement="SequenceFlow_05ubysv">
+        <di:waypoint x="468" y="278" />
+        <di:waypoint x="587" y="278" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ServiceTask_1fcq5wy_di" bpmnElement="ServiceTask_1fcq5wy">
+        <dc:Bounds x="1018" y="228" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_1b4e6j2_di" bpmnElement="SequenceFlow_1b4e6j2">
+        <di:waypoint x="897" y="278" />
+        <di:waypoint x="958" y="278" />
+        <di:waypoint x="958" y="268" />
+        <di:waypoint x="1018" y="268" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="TextAnnotation_1xt9xdh_di" bpmnElement="TextAnnotation_1xt9xdh">
+        <dc:Bounds x="1118" y="148" width="100" height="41" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="Association_1yfo16k_di" bpmnElement="Association_1yfo16k">
+        <di:waypoint x="1108" y="228" />
+        <di:waypoint x="1148" y="189" />
+      </bpmndi:BPMNEdge>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</bpmn:definitions>
diff --git a/pom.xml b/pom.xml
index f142d61..515f0bd 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -2,9 +2,13 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.akraino</groupId>
   <artifactId>camunda_workflow</artifactId>
-  <version>0.0.1-SNAPSHOT</version>
+  <version>0.0.2-SNAPSHOT</version>
   <packaging>jar</packaging>
 
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+
   <dependencyManagement>
     <dependencies>
       <dependency>
       <groupId>com.h2database</groupId>
       <artifactId>h2</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.yaml</groupId>
-      <artifactId>snakeyaml</artifactId>
-      <version>1.21</version>
-    </dependency>
     <dependency>
       <groupId>commons-net</groupId>
       <artifactId>commons-net</artifactId>
       <artifactId>jsch</artifactId>
       <version>0.1.54</version>
     </dependency>
+    <dependency>
+      <groupId>io.springfox</groupId>
+      <artifactId>springfox-swagger2</artifactId>
+      <version>2.7.0</version>
+    </dependency>
+    <dependency>
+      <groupId>io.springfox</groupId>
+      <artifactId>springfox-swagger-ui</artifactId>
+      <version>2.7.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.yaml</groupId>
+      <artifactId>snakeyaml</artifactId>
+      <version>1.21</version>
+    </dependency>
+<!--
+    These conflict with dependencies in spring-boot-dependencies above.
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-tertifartifactId>
+      <scope>test</scope>
+      <version>1.5.8.RE</ver</version>
+    </dependency>
+-->
   </dependencies>
 
   <build>
@@ -49,6 +72,7 @@
       <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
+        <version>2.1.2.RELEASE</version>
         <executions>
           <execution>
             <goals>
@@ -57,6 +81,6 @@
           </execution>
         </executions>
       </plugin>
-    </plugins>
+     </plugins>
   </build>
-</project>
\ No newline at end of file
+</project>