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

(-)F:/Users/Jarek/workspace/apache-jmeter-2.12/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java (-7 / +16 lines)
Lines 202-207 Link Here
202
    // If this is defined, it is assumed to be the alias of a user-supplied certificate; overrides dynamic mode
202
    // If this is defined, it is assumed to be the alias of a user-supplied certificate; overrides dynamic mode
203
    static final String CERT_ALIAS = JMeterUtils.getProperty("proxy.cert.alias"); // $NON-NLS-1$
203
    static final String CERT_ALIAS = JMeterUtils.getProperty("proxy.cert.alias"); // $NON-NLS-1$
204
204
205
    private static JMeterTreeModel treeModel = null;
206
    
205
    public static enum KeystoreMode {
207
    public static enum KeystoreMode {
206
        USER_KEYSTORE,   // user-provided keystore
208
        USER_KEYSTORE,   // user-provided keystore
207
        JMETER_KEYSTORE, // keystore generated by JMeter; single entry
209
        JMETER_KEYSTORE, // keystore generated by JMeter; single entry
Lines 226-231 Link Here
226
                log.warn("HTTP(S) Test Script Recorder SSL Proxy will use keys that may not work for embedded resources in file " + CERT_PATH_ABS);
228
                log.warn("HTTP(S) Test Script Recorder SSL Proxy will use keys that may not work for embedded resources in file " + CERT_PATH_ABS);
227
            }
229
            }
228
        }
230
        }
231
        
232
        if (GuiPackage.getInstance() != null) {
233
        	treeModel = GuiPackage.getInstance().getTreeModel();
234
        }
229
    }
235
    }
230
236
231
    // Whether to use the redirect disabling feature (can be switched off if it does not work)
237
    // Whether to use the redirect disabling feature (can be switched off if it does not work)
Lines 280-285 Link Here
280
        setCaptureHttpHeaders(true); // maintain original behaviour
286
        setCaptureHttpHeaders(true); // maintain original behaviour
281
    }
287
    }
282
288
289
    /**
290
     * When working without GUI required for operation
291
     * @param treeModel JMeterTreeModel used for recording
292
     */
293
    public static void setGlobalTreeRoot(JMeterTreeModel treeModel) {
294
    	ProxyControl.treeModel = treeModel;
295
    }
296
283
    public void setPort(int port) {
297
    public void setPort(int port) {
284
        this.setProperty(new IntegerProperty(PORT, port));
298
        this.setProperty(new IntegerProperty(PORT, port));
285
    }
299
    }
Lines 457-462 Link Here
457
        try {
471
        try {
458
            server = new Daemon(getPort(), this);
472
            server = new Daemon(getPort(), this);
459
            server.start();
473
            server.start();
474
            if (GuiPackage.getInstance() != null)
460
            GuiPackage.getInstance().register(server);
475
            GuiPackage.getInstance().register(server);
461
        } catch (IOException e) {
476
        } catch (IOException e) {
462
            log.error("Could not create Proxy daemon", e);
477
            log.error("Could not create Proxy daemon", e);
Lines 571-576 Link Here
571
    public void stopProxy() {
586
    public void stopProxy() {
572
        if (server != null) {
587
        if (server != null) {
573
            server.stopServer();
588
            server.stopServer();
589
            if (GuiPackage.getInstance() != null)
574
            GuiPackage.getInstance().unregister(server);
590
            GuiPackage.getInstance().unregister(server);
575
            try {
591
            try {
576
                server.join(1000); // wait for server to stop
592
                server.join(1000); // wait for server to stop
Lines 844-850 Link Here
844
     *         <code>null</code> if none was found.
860
     *         <code>null</code> if none was found.
845
     */
861
     */
846
    private JMeterTreeNode findFirstNodeOfType(Class<?> type) {
862
    private JMeterTreeNode findFirstNodeOfType(Class<?> type) {
847
        JMeterTreeModel treeModel = GuiPackage.getInstance().getTreeModel();
848
        List<JMeterTreeNode> nodes = treeModel.getNodesOfType(type);
863
        List<JMeterTreeNode> nodes = treeModel.getNodesOfType(type);
849
        for (JMeterTreeNode node : nodes) {
864
        for (JMeterTreeNode node : nodes) {
850
            if (node.isEnabled()) {
865
            if (node.isEnabled()) {
Lines 910-916 Link Here
910
     */
925
     */
911
    // TODO - could be converted to generic class?
926
    // TODO - could be converted to generic class?
912
    private Collection<?> findApplicableElements(JMeterTreeNode myTarget, Class<? extends TestElement> myClass, boolean ascending) {
927
    private Collection<?> findApplicableElements(JMeterTreeNode myTarget, Class<? extends TestElement> myClass, boolean ascending) {
913
        JMeterTreeModel treeModel = GuiPackage.getInstance().getTreeModel();
914
        LinkedList<TestElement> elements = new LinkedList<TestElement>();
928
        LinkedList<TestElement> elements = new LinkedList<TestElement>();
915
929
916
        // Look for elements directly within the HTTP proxy:
930
        // Look for elements directly within the HTTP proxy:
Lines 968-975 Link Here
968
    private void placeSampler(final HTTPSamplerBase sampler, final TestElement[] subConfigs,
982
    private void placeSampler(final HTTPSamplerBase sampler, final TestElement[] subConfigs,
969
            JMeterTreeNode myTarget) {
983
            JMeterTreeNode myTarget) {
970
        try {
984
        try {
971
            final JMeterTreeModel treeModel = GuiPackage.getInstance().getTreeModel();
972
973
            boolean firstInBatch = false;
985
            boolean firstInBatch = false;
974
            long now = System.currentTimeMillis();
986
            long now = System.currentTimeMillis();
975
            long deltaT = now - lastTime;
987
            long deltaT = now - lastTime;
Lines 1163-1169 Link Here
1163
     *            sampling event to be delivered
1175
     *            sampling event to be delivered
1164
     */
1176
     */
1165
    private void notifySampleListeners(SampleEvent event) {
1177
    private void notifySampleListeners(SampleEvent event) {
1166
        JMeterTreeModel treeModel = GuiPackage.getInstance().getTreeModel();
1167
        JMeterTreeNode myNode = treeModel.getNodeOf(this);
1178
        JMeterTreeNode myNode = treeModel.getNodeOf(this);
1168
        Enumeration<JMeterTreeNode> kids = myNode.children();
1179
        Enumeration<JMeterTreeNode> kids = myNode.children();
1169
        while (kids.hasMoreElements()) {
1180
        while (kids.hasMoreElements()) {
Lines 1182-1188 Link Here
1182
     * (here meaning the proxy recording) has started.
1193
     * (here meaning the proxy recording) has started.
1183
     */
1194
     */
1184
    private void notifyTestListenersOfStart() {
1195
    private void notifyTestListenersOfStart() {
1185
        JMeterTreeModel treeModel = GuiPackage.getInstance().getTreeModel();
1186
        JMeterTreeNode myNode = treeModel.getNodeOf(this);
1196
        JMeterTreeNode myNode = treeModel.getNodeOf(this);
1187
        Enumeration<JMeterTreeNode> kids = myNode.children();
1197
        Enumeration<JMeterTreeNode> kids = myNode.children();
1188
        while (kids.hasMoreElements()) {
1198
        while (kids.hasMoreElements()) {
Lines 1201-1207 Link Here
1201
     * (here meaning the proxy recording) has ended.
1211
     * (here meaning the proxy recording) has ended.
1202
     */
1212
     */
1203
    private void notifyTestListenersOfEnd() {
1213
    private void notifyTestListenersOfEnd() {
1204
        JMeterTreeModel treeModel = GuiPackage.getInstance().getTreeModel();
1205
        JMeterTreeNode myNode = treeModel.getNodeOf(this);
1214
        JMeterTreeNode myNode = treeModel.getNodeOf(this);
1206
        Enumeration<JMeterTreeNode> kids = myNode.children();
1215
        Enumeration<JMeterTreeNode> kids = myNode.children();
1207
        while (kids.hasMoreElements()) {
1216
        while (kids.hasMoreElements()) {

Return to bug 57305