View | Details | Raw Unified | Return to bug 57305
Collapse All | Expand All

(-)a/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java (-7 / +16 lines)
Lines 222-227 public class ProxyControl extends GenericController { Link Here
222
    // If this is defined, it is assumed to be the alias of a user-supplied certificate; overrides dynamic mode
222
    // If this is defined, it is assumed to be the alias of a user-supplied certificate; overrides dynamic mode
223
    static final String CERT_ALIAS = JMeterUtils.getProperty("proxy.cert.alias"); // $NON-NLS-1$
223
    static final String CERT_ALIAS = JMeterUtils.getProperty("proxy.cert.alias"); // $NON-NLS-1$
224
224
225
    private static JMeterTreeModel treeModel = null;
226
225
    public enum KeystoreMode {
227
    public enum KeystoreMode {
226
        USER_KEYSTORE,   // user-provided keystore
228
        USER_KEYSTORE,   // user-provided keystore
227
        JMETER_KEYSTORE, // keystore generated by JMeter; single entry
229
        JMETER_KEYSTORE, // keystore generated by JMeter; single entry
Lines 246-251 public class ProxyControl extends GenericController { Link Here
246
                log.warn("HTTP(S) Test Script Recorder SSL Proxy will use keys that may not work for embedded resources in file " + CERT_PATH_ABS);
248
                log.warn("HTTP(S) Test Script Recorder SSL Proxy will use keys that may not work for embedded resources in file " + CERT_PATH_ABS);
247
            }
249
            }
248
        }
250
        }
251
252
        if (GuiPackage.getInstance() != null) {
253
		treeModel = GuiPackage.getInstance().getTreeModel();
254
        }
249
    }
255
    }
250
256
251
    // Whether to use the redirect disabling feature (can be switched off if it does not work)
257
    // Whether to use the redirect disabling feature (can be switched off if it does not work)
Lines 300-305 public class ProxyControl extends GenericController { Link Here
300
        setCaptureHttpHeaders(true); // maintain original behaviour
306
        setCaptureHttpHeaders(true); // maintain original behaviour
301
    }
307
    }
302
308
309
    /**
310
     * When working without GUI required for operation
311
     * @param treeModel JMeterTreeModel used for recording
312
     */
313
    public static void setGlobalTreeRoot(JMeterTreeModel treeModel) {
314
	ProxyControl.treeModel = treeModel;
315
    }
316
303
    public void setPort(int port) {
317
    public void setPort(int port) {
304
        this.setProperty(new IntegerProperty(PORT, port));
318
        this.setProperty(new IntegerProperty(PORT, port));
305
    }
319
    }
Lines 485-490 public class ProxyControl extends GenericController { Link Here
485
        try {
499
        try {
486
            server = new Daemon(getPort(), this);
500
            server = new Daemon(getPort(), this);
487
            server.start();
501
            server.start();
502
            if (GuiPackage.getInstance() != null)
488
            GuiPackage.getInstance().register(server);
503
            GuiPackage.getInstance().register(server);
489
        } catch (IOException e) {
504
        } catch (IOException e) {
490
            log.error("Could not create Proxy daemon", e);
505
            log.error("Could not create Proxy daemon", e);
Lines 674-679 public class ProxyControl extends GenericController { Link Here
674
    public void stopProxy() {
689
    public void stopProxy() {
675
        if (server != null) {
690
        if (server != null) {
676
            server.stopServer();
691
            server.stopServer();
692
            if (GuiPackage.getInstance() != null)
677
            GuiPackage.getInstance().unregister(server);
693
            GuiPackage.getInstance().unregister(server);
678
            try {
694
            try {
679
                server.join(1000); // wait for server to stop
695
                server.join(1000); // wait for server to stop
Lines 972-978 public class ProxyControl extends GenericController { Link Here
972
     *         <code>null</code> if none was found.
988
     *         <code>null</code> if none was found.
973
     */
989
     */
974
    private JMeterTreeNode findFirstNodeOfType(Class<?> type) {
990
    private JMeterTreeNode findFirstNodeOfType(Class<?> type) {
975
        JMeterTreeModel treeModel = GuiPackage.getInstance().getTreeModel();
976
        List<JMeterTreeNode> nodes = treeModel.getNodesOfType(type);
991
        List<JMeterTreeNode> nodes = treeModel.getNodesOfType(type);
977
        for (JMeterTreeNode node : nodes) {
992
        for (JMeterTreeNode node : nodes) {
978
            if (node.isEnabled()) {
993
            if (node.isEnabled()) {
Lines 1038-1044 public class ProxyControl extends GenericController { Link Here
1038
     */
1053
     */
1039
    // TODO - could be converted to generic class?
1054
    // TODO - could be converted to generic class?
1040
    private Collection<?> findApplicableElements(JMeterTreeNode myTarget, Class<? extends TestElement> myClass, boolean ascending) {
1055
    private Collection<?> findApplicableElements(JMeterTreeNode myTarget, Class<? extends TestElement> myClass, boolean ascending) {
1041
        JMeterTreeModel treeModel = GuiPackage.getInstance().getTreeModel();
1042
        LinkedList<TestElement> elements = new LinkedList<>();
1056
        LinkedList<TestElement> elements = new LinkedList<>();
1043
1057
1044
        // Look for elements directly within the HTTP proxy:
1058
        // Look for elements directly within the HTTP proxy:
Lines 1096-1103 public class ProxyControl extends GenericController { Link Here
1096
    private void placeSampler(final HTTPSamplerBase sampler, final TestElement[] subConfigs,
1110
    private void placeSampler(final HTTPSamplerBase sampler, final TestElement[] subConfigs,
1097
            JMeterTreeNode myTarget) {
1111
            JMeterTreeNode myTarget) {
1098
        try {
1112
        try {
1099
            final JMeterTreeModel treeModel = GuiPackage.getInstance().getTreeModel();
1100
1101
            boolean firstInBatch = false;
1113
            boolean firstInBatch = false;
1102
            long now = System.currentTimeMillis();
1114
            long now = System.currentTimeMillis();
1103
            long deltaT = now - lastTime;
1115
            long deltaT = now - lastTime;
Lines 1288-1294 public class ProxyControl extends GenericController { Link Here
1288
     *            sampling event to be delivered
1300
     *            sampling event to be delivered
1289
     */
1301
     */
1290
    private void notifySampleListeners(SampleEvent event) {
1302
    private void notifySampleListeners(SampleEvent event) {
1291
        JMeterTreeModel treeModel = GuiPackage.getInstance().getTreeModel();
1292
        JMeterTreeNode myNode = treeModel.getNodeOf(this);
1303
        JMeterTreeNode myNode = treeModel.getNodeOf(this);
1293
        Enumeration<JMeterTreeNode> kids = myNode.children();
1304
        Enumeration<JMeterTreeNode> kids = myNode.children();
1294
        while (kids.hasMoreElements()) {
1305
        while (kids.hasMoreElements()) {
Lines 1307-1313 public class ProxyControl extends GenericController { Link Here
1307
     * (here meaning the proxy recording) has started.
1318
     * (here meaning the proxy recording) has started.
1308
     */
1319
     */
1309
    private void notifyTestListenersOfStart() {
1320
    private void notifyTestListenersOfStart() {
1310
        JMeterTreeModel treeModel = GuiPackage.getInstance().getTreeModel();
1311
        JMeterTreeNode myNode = treeModel.getNodeOf(this);
1321
        JMeterTreeNode myNode = treeModel.getNodeOf(this);
1312
        Enumeration<JMeterTreeNode> kids = myNode.children();
1322
        Enumeration<JMeterTreeNode> kids = myNode.children();
1313
        while (kids.hasMoreElements()) {
1323
        while (kids.hasMoreElements()) {
Lines 1326-1332 public class ProxyControl extends GenericController { Link Here
1326
     * (here meaning the proxy recording) has ended.
1336
     * (here meaning the proxy recording) has ended.
1327
     */
1337
     */
1328
    private void notifyTestListenersOfEnd() {
1338
    private void notifyTestListenersOfEnd() {
1329
        JMeterTreeModel treeModel = GuiPackage.getInstance().getTreeModel();
1330
        JMeterTreeNode myNode = treeModel.getNodeOf(this);
1339
        JMeterTreeNode myNode = treeModel.getNodeOf(this);
1331
        Enumeration<JMeterTreeNode> kids = myNode.children();
1340
        Enumeration<JMeterTreeNode> kids = myNode.children();
1332
        while (kids.hasMoreElements()) {
1341
        while (kids.hasMoreElements()) {

Return to bug 57305