private void addToTestPlan()

in src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/action/ParseCurlCommandAction.java [713:795]


    private void addToTestPlan(final JMeterTreeNode currentNode, Request request,String statusText) throws MalformedURLException {
        final HTTPSamplerProxy sampler = createSampler(request,statusText);
        JMeterTreeModel treeModel = GuiPackage.getInstance().getTreeModel();
        JMeterUtils.runSafe(true, () -> {
            try {
                boolean canAddAuthManagerInHttpRequest = false;
                boolean canAddDnsServer=false;
                boolean canAddDnsResolver=false;
                if (!request.getAuthorization().getUser().isEmpty()) {
                    JMeterTreeNode jMeterTreeNodeAuth = findFirstNodeOfType(AuthManager.class);
                    if (jMeterTreeNodeAuth == null) {
                        AuthManager authManager = new AuthManager();
                        createAuthManager(request, authManager);
                        treeModel.addComponent(authManager, currentNode);
                    } else {
                        AuthManager authManager = (AuthManager) jMeterTreeNodeAuth.getTestElement();
                        if (canUpdateAuthManagerInThreadGroup(request, authManager)) {
                            createAuthManager(request, authManager);
                        } else {
                            canAddAuthManagerInHttpRequest = canAddAuthManagerInHttpRequest(request, authManager);
                        }
                    }
                }
                if (!request.getDnsServers().isEmpty()) {
                    DNSCacheManager dnsCacheManager = findNodeOfTypeDnsCacheManagerByType(false);
                    if ( dnsCacheManager == null) {
                        dnsCacheManager=new DNSCacheManager();
                        createDnsServer(request, dnsCacheManager);
                        treeModel.addComponent(dnsCacheManager, currentNode);
                    } else {
                        canAddDnsServer=canAddDnsServerInHttpRequest(request, dnsCacheManager);
                    }
                }
                if (request.getDnsResolver()!=null) {
                    DNSCacheManager dnsCacheManager = findNodeOfTypeDnsCacheManagerByType(true);
                    if (dnsCacheManager == null) {
                        dnsCacheManager=new DNSCacheManager();
                        createDnsResolver(request, dnsCacheManager);
                        treeModel.addComponent(dnsCacheManager, currentNode);
                    } else {
                        canAddDnsResolver=canAddDnsResolverInHttpRequest(request, dnsCacheManager);
                    }
                }
                if (!request.getCookies(request.getUrl()).isEmpty() || !request.getFilepathCookie().isEmpty()
                        || (!request.getCookieInHeaders(request.getUrl()).isEmpty()&&uploadCookiesCheckBox.isSelected())) {
                    JMeterTreeNode jMeterTreeNodeCookie = findFirstNodeOfType(CookieManager.class);
                    if (jMeterTreeNodeCookie == null) {
                        CookieManager cookieManager = new CookieManager();
                        createCookieManager(cookieManager, request);
                        treeModel.addComponent(cookieManager, currentNode);
                    } else {
                        CookieManager cookieManager = (CookieManager) jMeterTreeNodeCookie.getTestElement();
                        createCookieManager(cookieManager, request);
                    }
                }
                HeaderManager headerManager = sampler.getHeaderManager();
                KeystoreConfig keystoreConfig = sampler.getKeystoreConfig();
                final JMeterTreeNode newNode = treeModel.addComponent(sampler, currentNode);
                treeModel.addComponent(headerManager, newNode);
                if (CERT.equals(request.getCaCert())) {
                    treeModel.addComponent(keystoreConfig, newNode);
                }
                if (canAddAuthManagerInHttpRequest) {
                    AuthManager authManager = new AuthManager();
                    createAuthManager(request, authManager);
                    treeModel.addComponent(authManager, newNode);
                }
                if (canAddDnsServer) {
                    DNSCacheManager dnsCacheManager=new DNSCacheManager();
                    createDnsServer(request, dnsCacheManager);
                    treeModel.addComponent(dnsCacheManager, newNode);
                }
                if (canAddDnsResolver) {
                    DNSCacheManager dnsCacheManager=new DNSCacheManager();
                    createDnsResolver(request, dnsCacheManager);
                    treeModel.addComponent(dnsCacheManager, newNode);
                }
            } catch (IllegalUserActionException ex) {
                LOGGER.error("Error placing sampler", ex);
                JMeterUtils.reportErrorToUser(ex.getMessage());
            }
        });
    }