560985 - AdditionalResourceService does not handle HTML Runnable resource correctly (limitation to image resources)
Update DOCXAdditionalResourceService to handle Runnable for other than images for insertion into Docx document
diff --git a/plugins/org.eclipse.gendoc.services.docx/src/org/eclipse/gendoc/services/docx/DOCXAdditionalResourceService.java b/plugins/org.eclipse.gendoc.services.docx/src/org/eclipse/gendoc/services/docx/DOCXAdditionalResourceService.java
index 53cef42..048b630 100644
--- a/plugins/org.eclipse.gendoc.services.docx/src/org/eclipse/gendoc/services/docx/DOCXAdditionalResourceService.java
+++ b/plugins/org.eclipse.gendoc.services.docx/src/org/eclipse/gendoc/services/docx/DOCXAdditionalResourceService.java
@@ -17,7 +17,10 @@
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
+import java.util.Arrays;
import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.regex.Matcher;
@@ -45,6 +48,8 @@
public class DOCXAdditionalResourceService extends AdditionalResourceService {
private static String DOCUMENT_XML_RELS = "document.xml.rels";
+ // List of file extensions supported by <altChunk> tag
+ private static List<String> ALTCHUNK_FILE_EXTENSIONS = Arrays.asList(new String[]{"html", "rtf", "xhtml", "txt","docx"});
private DOCXImageService imageHandler;
/**
@@ -253,8 +258,15 @@
// Run the resource
runnable.run(diagramKey, getResourceFolder());
// add relationship in document.xml.rels
- String newRelationShips = newRelationship(diagramKey, diagramKey + "."
+ String newRelationShips ="";
+ if( ALTCHUNK_FILE_EXTENSIONS.contains(extension)) {
+ newRelationShips = newExternalChunkRelationship(diagramKey, diagramKey + "."
+ + extension);
+ }
+ else {
+ newRelationShips = newRelationship(diagramKey, diagramKey + "."
+ extension);
+ }
if (relationShipsToAdd.indexOf(newRelationShips) == -1) {
relationShipsToAdd.append(newRelationShips);
}