### Eclipse Workspace Patch 1.0
#P org.eclipse.mylyn.bugzilla.core
Index: src/org/eclipse/mylyn/internal/bugzilla/core/AbstractReportFactory.java
===================================================================
RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/AbstractReportFactory.java,v
retrieving revision 1.40
diff -u -r1.40 AbstractReportFactory.java
--- src/org/eclipse/mylyn/internal/bugzilla/core/AbstractReportFactory.java 20 May 2008 23:13:39 -0000 1.40
+++ src/org/eclipse/mylyn/internal/bugzilla/core/AbstractReportFactory.java 10 Aug 2008 19:21:32 -0000
@@ -9,7 +9,7 @@
package org.eclipse.mylyn.internal.bugzilla.core;
import java.io.BufferedInputStream;
-import java.io.BufferedReader;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -48,6 +48,7 @@
* @throws GeneralSecurityException
*/
protected void collectResults(DefaultHandler contentHandler, boolean clean) throws IOException {
+ File tempFile = null;
if (inStream == null) {
return;
@@ -77,9 +78,9 @@
}
if (clean) {
- StringBuffer result = XmlCleaner.clean(in);
- StringReader strReader = new StringReader(result.toString());
- in = new BufferedReader(strReader);
+ tempFile = File.createTempFile("XmlCleaner-", "tmp");
+ tempFile.deleteOnExit();
+ in = XmlCleaner.clean(in, tempFile);
}
try {
@@ -125,6 +126,12 @@
throw new IOException(e.getMessage());
// }
}
+
+ finally {
+ if (tempFile != null) {
+ tempFile.delete();
+ }
+ }
}
}
Index: src/org/eclipse/mylyn/internal/bugzilla/core/XmlCleaner.java
===================================================================
RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/XmlCleaner.java,v
retrieving revision 1.11
diff -u -r1.11 XmlCleaner.java
--- src/org/eclipse/mylyn/internal/bugzilla/core/XmlCleaner.java 30 Apr 2008 15:34:35 -0000 1.11
+++ src/org/eclipse/mylyn/internal/bugzilla/core/XmlCleaner.java 10 Aug 2008 19:21:33 -0000
@@ -8,6 +8,11 @@
package org.eclipse.mylyn.internal.bugzilla.core;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.text.ParseException;
@@ -25,14 +30,13 @@
*/
public class XmlCleaner {
- public static StringBuffer clean(Reader in) {
+ public static BufferedReader clean(Reader in, File tempFile) {
HtmlStreamTokenizer tokenizer = new HtmlStreamTokenizer(in, null);
- StringBuffer content = new StringBuffer();
-
- // Hack since HtmlStreamTokenizer not familiar with xml tag.
- content.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
try {
+ BufferedWriter content = new BufferedWriter(new FileWriter(tempFile));
+ // Hack since HtmlStreamTokenizer not familiar with xml tag.
+ content.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
for (Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
if (token.getType() == Token.TAG) {
@@ -50,12 +54,15 @@
content.append(token.toString());
}
}
+ content.flush();
+ content.close();
+ return new BufferedReader(new FileReader(tempFile));
} catch (IOException e) {
} catch (ParseException e) {
}
- return content;
+ return null;
}
}