Author: pmouawad Date: Sun Dec 23 21:04:42 2018 New Revision: 1849663 URL: http://svn.apache.org/viewvc?rev=1849663&view=rev Log: Bug 63034 - ClientJMeterEngine: Make rsetProperties use HashMap<String,String> instead of Properties Bugzilla Id: 63034
Modified: jmeter/trunk/src/core/org/apache/jmeter/engine/ClientJMeterEngine.java jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngine.java jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java jmeter/trunk/xdocs/changes.xml Modified: jmeter/trunk/src/core/org/apache/jmeter/engine/ClientJMeterEngine.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/engine/ClientJMeterEngine.java?rev=1849663&r1=1849662&r2=1849663&view=diff ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/engine/ClientJMeterEngine.java (original) +++ jmeter/trunk/src/core/org/apache/jmeter/engine/ClientJMeterEngine.java Sun Dec 23 21:04:42 2018 @@ -25,7 +25,9 @@ import java.rmi.RemoteException; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import java.rmi.server.RemoteObject; +import java.util.HashMap; import java.util.Properties; +import java.util.stream.Collectors; import org.apache.jmeter.rmi.RmiUtils; import org.apache.jmeter.services.FileServer; @@ -157,7 +159,7 @@ public class ClientJMeterEngine implemen log.info("Sending properties {}", savep); try { methodName="rsetProperties()";// NOSONAR Used for tracing - remote.rsetProperties(savep); + remote.rsetProperties(toHashMapOfString(savep)); } catch (RemoteException e) { log.warn("Could not set properties: {}, error:{}", savep, e.getMessage(), e); } @@ -175,6 +177,13 @@ public class ClientJMeterEngine implemen } } + private static final HashMap<String, String> toHashMapOfString(Properties properties) { + return new HashMap<>( + properties.entrySet().stream().collect(Collectors.toMap( + e -> e.getKey().toString(), + e -> e.getValue().toString()))); + } + /** * Tidy up RMI access to allow JMeter client to exit. * Currently just interrupts the "RMI Reaper" thread. Modified: jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngine.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngine.java?rev=1849663&r1=1849662&r2=1849663&view=diff ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngine.java (original) +++ jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngine.java Sun Dec 23 21:04:42 2018 @@ -21,7 +21,7 @@ package org.apache.jmeter.engine; import java.io.File; import java.rmi.Remote; import java.rmi.RemoteException; -import java.util.Properties; +import java.util.HashMap; import org.apache.jorphan.collections.HashTree; @@ -37,7 +37,7 @@ public interface RemoteJMeterEngine exte void rreset() throws RemoteException; - void rsetProperties(Properties p) throws RemoteException; + void rsetProperties(HashMap<String,String> p) throws RemoteException; void rexit() throws RemoteException; } Modified: jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java?rev=1849663&r1=1849662&r2=1849663&view=diff ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java (original) +++ jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java Sun Dec 23 21:04:42 2018 @@ -25,6 +25,7 @@ import java.rmi.RemoteException; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import java.rmi.server.ServerNotActiveException; +import java.util.HashMap; import java.util.Properties; import org.apache.jmeter.rmi.RmiUtils; @@ -212,7 +213,7 @@ public final class RemoteJMeterEngineImp } @Override - public void rsetProperties(Properties p) throws RemoteException { + public void rsetProperties(HashMap<String, String> map) throws RemoteException { // NOSONAR checkOwner("setProperties"); if(remotelySetProperties != null) { Properties jmeterProperties = JMeterUtils.getJMeterProperties(); @@ -221,8 +222,10 @@ public final class RemoteJMeterEngineImp jmeterProperties.remove(key); } } - backingEngine.setProperties(p); - this.remotelySetProperties = p; + Properties props = new Properties(); + props.putAll(map); + backingEngine.setProperties(props); + this.remotelySetProperties = props; } /** Modified: jmeter/trunk/xdocs/changes.xml URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1849663&r1=1849662&r2=1849663&view=diff ============================================================================== --- jmeter/trunk/xdocs/changes.xml [utf-8] (original) +++ jmeter/trunk/xdocs/changes.xml [utf-8] Sun Dec 23 21:04:42 2018 @@ -71,6 +71,7 @@ Summary <li>In <code>Response Time Percentiles Over Time (successful responses)</code> graph of the HTML report, before this version, percentile computation of each time slot used the percentile data of previous time slot as a base. Starting with this version, each time slot is independant. See <bugzilla>62883</bugzilla></li> +<li><code>ClientJMeterEngine#rsetProperties</code> signature has been changed to use <code>HashMap<String,String></code> instead of Properties, see <bugzilla>63034</bugzilla></li> <!-- =================== Improvements =================== --> @@ -153,6 +154,7 @@ of previous time slot as a base. Startin <li><bug>62893</bug>Use StringEscapeUtils from commons-text (version 1.6) instead of the deprecated ones from commons-lang3.</li> <li>Update to ActiveMQ 5.15.7 (from 5.5.16)</li> <li><bug>62972</bug><pr>435</pr>Replace calls to deprecated method <code>Class#newInstance</code>.</li> + <li><bug>63034</bug>ClientJMeterEngine: Make rsetProperties use <code>HashMap<String,String></code> instead of Properties</li> </ul> <!-- =================== Bug fixes =================== -->