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());
}
});
}