Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 17 additions & 23 deletions src/core/org/apache/jmeter/save/SaveService.java
Original file line number Diff line number Diff line change
Expand Up @@ -243,20 +243,7 @@ private static void initProps() {
log.info("Using SaveService properties file encoding {}", fileEncoding);
} else {
key = key.substring(1);// Remove the leading "_"
try {
final String trimmedValue = val.trim();
if (trimmedValue.equals("collection") // $NON-NLS-1$
|| trimmedValue.equals("mapping")) { // $NON-NLS-1$
registerConverter(key, JMXSAVER, true);
registerConverter(key, JTLSAVER, true);
} else {
registerConverter(key, JMXSAVER, false);
registerConverter(key, JTLSAVER, false);
}
} catch (IllegalAccessException | InstantiationException | ClassNotFoundException | IllegalArgumentException|
SecurityException | InvocationTargetException | NoSuchMethodException e1) {
log.warn("Can't register a converter: {}", key, e1);
}
registerConverter(key, val);
}
}
}
Expand All @@ -266,6 +253,18 @@ private static void initProps() {
}
}

private static void registerConverter(String key, String val) {
try {
final String trimmedValue = val.trim();
boolean useMapper = trimmedValue.equals("collection") || trimmedValue.equals("mapping"); // $NON-NLS-1$ $NON-NLS-2$
registerConverter(key, JMXSAVER, useMapper);
registerConverter(key, JTLSAVER, useMapper);
} catch (IllegalAccessException | InstantiationException | ClassNotFoundException | IllegalArgumentException|
SecurityException | InvocationTargetException | NoSuchMethodException e1) {
log.warn("Can't register a converter: {}", key, e1);
}
}

/**
* Register converter.
* @param key
Expand All @@ -283,9 +282,7 @@ private static void registerConverter(String key, XStream jmxsaver, boolean useM
InvocationTargetException, NoSuchMethodException,
ClassNotFoundException {
if (useMapper){
jmxsaver.registerConverter((Converter) Class.forName(key).getConstructor(
new Class[] { Mapper.class }).newInstance(
new Object[] { jmxsaver.getMapper() }));
jmxsaver.registerConverter((Converter) Class.forName(key).getConstructor(Mapper.class).newInstance(jmxsaver.getMapper()));
} else {
jmxsaver.registerConverter((Converter) Class.forName(key).newInstance());
}
Expand Down Expand Up @@ -344,7 +341,7 @@ public static Object loadElement(InputStream in) throws IOException {
* @throws IOException when writing data to output fails
*/
// Used by ResultCollector.sampleOccurred(SampleEvent event)
public synchronized static void saveSampleResult(SampleEvent evt, Writer writer) throws IOException {
public static synchronized void saveSampleResult(SampleEvent evt, Writer writer) throws IOException {
DataHolder dh = JTLSAVER.newDataHolder();
dh.put(SAMPLE_EVENT_OBJECT, evt);
// This is effectively the same as saver.toXML(Object, Writer) except we get to provide the DataHolder
Expand Down Expand Up @@ -536,11 +533,8 @@ private static void writeXmlHeader(OutputStreamWriter writer) throws IOException
* @return string with details of error
*/
public static String CEtoString(ConversionException ce){
String msg =
"XStream ConversionException at line: " + ce.get("line number")
+ "\n" + ce.get("message")
+ "\nPerhaps a missing jar? See log file.";
return msg;
return "XStream ConversionException at line: " + ce.get("line number") + "\n" + ce.get("message")
+ "\nPerhaps a missing jar? See log file.";
}

public static String getPropertiesVersion() {
Expand Down