Fixes Bug 398780 - Remove dependency to servletbridge.extensionbundle
diff --git a/plugins/org.eclipse.libra.warproducts.core/src/org/eclipse/libra/warproducts/core/WARProductExportOperation.java b/plugins/org.eclipse.libra.warproducts.core/src/org/eclipse/libra/warproducts/core/WARProductExportOperation.java
index 26d5557..d168014 100644
--- a/plugins/org.eclipse.libra.warproducts.core/src/org/eclipse/libra/warproducts/core/WARProductExportOperation.java
+++ b/plugins/org.eclipse.libra.warproducts.core/src/org/eclipse/libra/warproducts/core/WARProductExportOperation.java
@@ -417,4 +417,39 @@
     plugin.setAttribute( "unpack", unpack ); //$NON-NLS-1$
   }
   
+  protected String getAssemblyScriptName( String featureID,
+                                          String os,
+                                          String ws,
+                                          String arch,
+                                          String featureLocation )
+  {
+    String configIni = featureLocation + IPath.SEPARATOR + "productRootFiles" + IPath.SEPARATOR + 
+        os + "." + ws + "." + arch + IPath.SEPARATOR + "configuration" + IPath.SEPARATOR + "config.ini";
+    addExtensionbundleToConfigIni( configIni );
+    return super.getAssemblyScriptName( featureID, os, ws, arch, featureLocation );
+  }
+  
+  private void addExtensionbundleToConfigIni( String configIni ) {
+    try {
+      File file = new File( configIni );
+      if( file.exists() ) {
+        BufferedReader reader = new BufferedReader(new FileReader(file));
+        String line = "";
+        String oldtext = "";
+        while( ( line = reader.readLine() ) != null ) {
+          oldtext += line + "\n";
+        }
+        reader.close();
+        String newtext = oldtext.replaceAll( "org.eclipse.equinox.http.servlet@start", 
+                                             "org.eclipse.equinox.servletbridge.extensionbundle,\\\\\n  " +
+                                             "org.eclipse.equinox.http.servlet@start");
+        FileWriter writer = new FileWriter( configIni );
+        writer.write(newtext);
+        writer.close();
+      }
+    } catch( IOException e ) {
+      throw new IllegalStateException( e );
+    }
+  }
+  
 }