Bug 421217 - Invalid Product files for Template Projects due to platform

https://bugs.eclipse.org/bugs/show_bug.cgi?id=421217

Resolves classloading issues.

Change-Id: Id90e27e3a29ccabc8baf1aa055276be4990564ec
Reviewed-on: https://git.eclipse.org/r/18333
Tested-by: Hudson CI
Reviewed-by: Ken Lee <kle@bsiag.com>
IP-Clean: Ken Lee <kle@bsiag.com>
diff --git a/org.eclipse.scout.rt.batik.dependency-feature/feature.xml b/org.eclipse.scout.rt.batik.dependency-feature/feature.xml
index cf619c1..0a34742 100644
--- a/org.eclipse.scout.rt.batik.dependency-feature/feature.xml
+++ b/org.eclipse.scout.rt.batik.dependency-feature/feature.xml
@@ -134,4 +134,12 @@
          version="3.0.0.draft20060413_v201105210656"
          unpack="false"/>
 
+   <plugin
+         id="org.w3c.dom.svg.fragment"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+
 </feature>
diff --git a/org.eclipse.scout.rt.batik.dependency-feature/pom.xml b/org.eclipse.scout.rt.batik.dependency-feature/pom.xml
index ee3f945..10f009a 100644
--- a/org.eclipse.scout.rt.batik.dependency-feature/pom.xml
+++ b/org.eclipse.scout.rt.batik.dependency-feature/pom.xml
@@ -51,6 +51,11 @@
             <goals>
               <goal>source-feature</goal>
             </goals>
+            <configuration>
+              <excludes>
+                <plugin id="org.w3c.dom.svg.fragment" />
+              </excludes>
+            </configuration>
           </execution>
         </executions>
       </plugin>
diff --git a/org.eclipse.scout.rt.parent/pom.xml b/org.eclipse.scout.rt.parent/pom.xml
index 5785089..b7e6f0e 100644
--- a/org.eclipse.scout.rt.parent/pom.xml
+++ b/org.eclipse.scout.rt.parent/pom.xml
@@ -61,6 +61,7 @@
     <module>../org.eclipse.scout.rt.feature.about</module>
     <module>../org.eclipse.scout.rt.core-feature</module>
     <module>../org.eclipse.scout.rt-feature</module>
+    <module>../org.w3c.dom.svg.fragment</module>
     <module>../org.eclipse.scout.rt.batik.dependency-feature</module>
   </modules>
 
diff --git a/org.eclipse.scout.svg.client/META-INF/MANIFEST.MF b/org.eclipse.scout.svg.client/META-INF/MANIFEST.MF
index cf7f351..ee49304 100644
--- a/org.eclipse.scout.svg.client/META-INF/MANIFEST.MF
+++ b/org.eclipse.scout.svg.client/META-INF/MANIFEST.MF
@@ -18,4 +18,5 @@
  org.apache.batik.swing;version="[1.6.0,2.0.0)",
  org.apache.batik.swing.svg;version="[1.6.0,2.0.0)",
  org.apache.batik.util;version="[1.6.0,2.0.0)",
+ org.w3c.dom.events;version="[3.0.0,4.0.0)",
  org.w3c.dom.svg;version="[1.1.0,2.0.0)"
diff --git a/org.w3c.dom.svg.fragment/.classpath b/org.w3c.dom.svg.fragment/.classpath
new file mode 100644
index 0000000..3dd533f
--- /dev/null
+++ b/org.w3c.dom.svg.fragment/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.w3c.dom.svg.fragment/.project b/org.w3c.dom.svg.fragment/.project
new file mode 100644
index 0000000..b33c498
--- /dev/null
+++ b/org.w3c.dom.svg.fragment/.project
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.w3c.dom.svg.fragment</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.sonar.ide.eclipse.core.sonarNature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+	<linkedResources>
+		<link>
+			<name>.settings/de.loskutov.anyedit.AnyEditTools.prefs</name>
+			<type>1</type>
+			<locationURI>PARENT-1-PROJECT_LOC/org.eclipse.scout.rt-feature/.settings/de.loskutov.anyedit.AnyEditTools.prefs</locationURI>
+		</link>
+		<link>
+			<name>.settings/org.eclipse.core.resources.prefs</name>
+			<type>1</type>
+			<locationURI>PARENT-1-PROJECT_LOC/org.eclipse.scout.rt-feature/.settings/org.eclipse.core.resources.prefs</locationURI>
+		</link>
+		<link>
+			<name>.settings/org.eclipse.core.runtime.prefs</name>
+			<type>1</type>
+			<locationURI>PARENT-1-PROJECT_LOC/org.eclipse.scout.rt-feature/.settings/org.eclipse.core.runtime.prefs</locationURI>
+		</link>
+		<link>
+			<name>.settings/org.eclipse.jdt.core.prefs</name>
+			<type>1</type>
+			<locationURI>PARENT-1-PROJECT_LOC/org.eclipse.scout.rt-feature/.settings/org.eclipse.jdt.core.prefs</locationURI>
+		</link>
+		<link>
+			<name>.settings/org.eclipse.jdt.ui.prefs</name>
+			<type>1</type>
+			<locationURI>PARENT-1-PROJECT_LOC/org.eclipse.scout.rt-feature/.settings/org.eclipse.jdt.ui.prefs</locationURI>
+		</link>
+		<link>
+			<name>.settings/org.eclipse.m2e.core.prefs</name>
+			<type>1</type>
+			<locationURI>PARENT-1-PROJECT_LOC/org.eclipse.scout.rt-feature/.settings/org.eclipse.m2e.core.prefs</locationURI>
+		</link>
+		<link>
+			<name>.settings/org.eclipse.pde.core.prefs</name>
+			<type>1</type>
+			<locationURI>PARENT-1-PROJECT_LOC/org.eclipse.scout.rt-feature/.settings/org.eclipse.pde.core.prefs</locationURI>
+		</link>
+	</linkedResources>
+</projectDescription>
diff --git a/org.w3c.dom.svg.fragment/META-INF/MANIFEST.MF b/org.w3c.dom.svg.fragment/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..ea92e1c
--- /dev/null
+++ b/org.w3c.dom.svg.fragment/META-INF/MANIFEST.MF
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Fragment for org.w3c.dom.svg version 1.1.0
+Bundle-SymbolicName: org.w3c.dom.svg.fragment
+Bundle-Version: 1.1.0.qualifier
+Bundle-Vendor: Eclipse Scout Project
+Fragment-Host: org.w3c.dom.svg;bundle-version="[1.1.0,1.2.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Import-Package: org.w3c.dom.events;version="[3.0.0,4.0.0)"
diff --git a/org.w3c.dom.svg.fragment/README.txt b/org.w3c.dom.svg.fragment/README.txt
new file mode 100644
index 0000000..b032a80
--- /dev/null
+++ b/org.w3c.dom.svg.fragment/README.txt
@@ -0,0 +1,13 @@
+Due to classloading issues when using SVG in org.apache.batik 1.7 that is described in bug [1], the bundle
+org.w3c.dom.svg (version 1.1.0) should have a dependency to the bundle org.w3c.dom.events (version 3.0.0).
+Without the dependency the classes in the package "org.w3c.dom.events" are loaded from the JRE.
+Batik 1.7 however requires the classes to be loaded from package located inside the bundle
+org.w3c.dom.events (version 3.0.0). As a consequence a LinkageError appears.
+
+This fragment to the bundle org.w3c.dom.svg is a workaround. It imports the package org.w3c.dom.events version [3.0.0,4.0.0)
+and creates a dependency to the bundle org.w3c.dom.events. As a result, the bundle classloader of org.w3c.dom.svg is able
+to load the classes from the correct location.
+
+This fragment becomes unnecessary when the bug [1] gets fixed.
+
+[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=421553
diff --git a/org.w3c.dom.svg.fragment/about.html b/org.w3c.dom.svg.fragment/about.html
new file mode 100644
index 0000000..2d18f92
--- /dev/null
+++ b/org.w3c.dom.svg.fragment/about.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>&lt;<em>insert current release date here, e.g., June 5, 2007</em>&gt;</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+		
+		<h3>Third Party Content</h3>
+		<p>The Content includes items that have been sourced from third parties as set out below. If you 
+		did not receive this Content directly from the Eclipse Foundation, the following is provided 
+		for informational purposes only, and you should look to the Redistributor's license for 
+		terms and conditions of use.</p>
+		<p><strong>Apache Derby 10.5</strong> <br/><br/>
+		The fragment provides JDBC drivers for Apache Derby databases. It is developed by the Apache Software Foundation.</p>
+		
+		<p>Apache Derby JDBC drivers is available from <a href="http://db.apache.org/derby/derby_downloads.html"><code>http://db.apache.org/derby/derby_downloads.html</code></a></p>
+</body>
+</html>
\ No newline at end of file
diff --git a/org.w3c.dom.svg.fragment/build.properties b/org.w3c.dom.svg.fragment/build.properties
new file mode 100644
index 0000000..cb7bec9
--- /dev/null
+++ b/org.w3c.dom.svg.fragment/build.properties
@@ -0,0 +1,9 @@
+###############################################################################
+# Copyright (c) 2010,2013 BSI Business Systems Integration AG.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+###############################################################################
+bin.includes = META-INF/,\
+               about.html
diff --git a/org.w3c.dom.svg.fragment/pom.xml b/org.w3c.dom.svg.fragment/pom.xml
new file mode 100644
index 0000000..f20f386
--- /dev/null
+++ b/org.w3c.dom.svg.fragment/pom.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Copyright (c) 2012,2013 BSI Business Systems Integration AG.
+   All rights reserved. This program and the accompanying materials
+   are made available under the terms of the Eclipse Public License v1.0
+   which accompanies this distribution, and is available at
+   http://www.eclipse.org/legal/epl-v10.html
+
+  Contributors:
+     Stephan Leicht Vogt - initial implementation
+-->
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.eclipse.scout.rt</groupId>
+    <artifactId>org.eclipse.scout.rt.parent</artifactId>
+    <version>3.10.0-SNAPSHOT</version>
+    <relativePath>../org.eclipse.scout.rt.parent</relativePath>
+  </parent>
+
+  <artifactId>org.w3c.dom.svg.fragment</artifactId>
+  <version>1.1.0-SNAPSHOT</version>
+  <packaging>eclipse-plugin</packaging>
+</project>