パスに全角文字が含まれていた場合に、TraceAnalyzer側で正しく処理できる文字コードで出力されていなかったのを修正。(URL
encode で出力されていた。)
1 parent 2c1628f commit a9161d978b37be672762b708b2e7741fe7862de9
n-nitta authored on 5 Nov 2017
Showing 1 changed file
View
18
org.ntlab.traceCollector/src/org/ntlab/traceCollector/tracer/OutputStatementsGenerator.java
package org.ntlab.traceCollector.tracer;
 
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.ArrayList;
 
import javassist.CtBehavior;
import javassist.CtClass;
return generator.generateInsertStatementsForBlockEntry(m, blockId, incomings, threadId, lineNum, timeStamp);
}
 
public String generateInsertBeforeStatementsForClassDefinition(CtClass cc, CtConstructor classInitializer) throws NotFoundException {
String className = "\"" + cc.getName() + "\"";
String classPath = "\"" + cc.getURL().getPath() + "\"";
String loaderPath = "\"" + cc.getClassPool().getClassLoader().getResource("").getPath() + "\"";
return generator.generateInsertBeforeStatementsForClassDefinition(className, classPath, loaderPath);
try {
String className = "\"" + cc.getName() + "\"";
String classPath = "\"" + URLDecoder.decode(cc.getURL().getPath(), "UTF-8") + "\""; // パスが URL encode になっているため
String loaderPath = "\"" + URLDecoder.decode(cc.getClassPool().getClassLoader().getResource("").getPath(), "UTF-8") + "\""; // パスが URL encode になっているため
return generator.generateInsertBeforeStatementsForClassDefinition(className, classPath, loaderPath);
} catch (UnsupportedEncodingException e) {
return "";
}
}
}