/*
* SoapUI, Copyright (C) 2004-2016 SmartBear Software
*
* Licensed under the EUPL, Version 1.1 or - as soon as they will be approved by the European Commission - subsequent
* versions of the EUPL (the "Licence");
* You may not use this work except in compliance with the Licence.
* You may obtain a copy of the Licence at:
*
* http://ec.europa.eu/idabc/eupl
*
* Unless required by applicable law or agreed to in writing, software distributed under the Licence is
* distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the Licence for the specific language governing permissions and limitations
* under the Licence.
*/
package com.eviware.soapui.impl.wsdl.panels.teststeps;
import com.eviware.soapui.config.CredentialsConfig.AuthType;
import com.eviware.soapui.impl.EmptyPanelBuilder;
import com.eviware.soapui.impl.wsdl.WsdlRequest;
import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequest;
import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStep;
import com.eviware.soapui.support.components.JPropertiesTable;
import com.eviware.soapui.support.types.StringList;
import javax.swing.JPanel;
/**
* PanelBuilder for WsdlTestRequest
*
* @author Ole.Matzura
*/
public class WsdlTestRequestPanelBuilder extends EmptyPanelBuilder<WsdlTestRequestStep> {
public WsdlTestRequestPanelBuilder() {
}
public WsdlTestRequestDesktopPanel buildDesktopPanel(WsdlTestRequestStep testStep) {
return new WsdlTestRequestDesktopPanel(testStep);
}
public boolean hasDesktopPanel() {
return true;
}
public JPanel buildOverviewPanel(WsdlTestRequestStep testStep) {
WsdlTestRequest request = testStep.getTestRequest();
JPropertiesTable<WsdlTestRequest> table = new JPropertiesTable<WsdlTestRequest>("TestRequest Properties");
// basic properties
table.addProperty("Name", "name", true);
table.addProperty("Description", "description", true);
table.addProperty("Message Size", "contentLength", false);
table.addProperty("Encoding", "encoding", new String[]{null, "UTF-8", "iso-8859-1"});
table.addProperty("Endpoint", "endpoint", request.getInterface() == null ? new String[0] : request
.getInterface().getEndpoints());
table.addProperty("Timeout", "timeout", true);
table.addProperty("Bind Address", "bindAddress", true);
table.addProperty("Follow Redirects", "followRedirects", JPropertiesTable.BOOLEAN_OPTIONS);
table.addProperty("Interface", "interfaceName");
table.addProperty("Operation", "operationName");
// security / authentication
table.addProperty("Username", "username", true);
table.addPropertyShadow("Password", "password", true);
table.addProperty("Domain", "domain", true);
table.addProperty("Authentication Type", "authType", new String[]{AuthType.GLOBAL_HTTP_SETTINGS.toString(),
AuthType.PREEMPTIVE.toString(), AuthType.SPNEGO_KERBEROS.toString(), AuthType.NTLM.toString()});
table.addProperty("WSS-Password Type", "wssPasswordType", new String[]{WsdlRequest.PW_TYPE_NONE,
WsdlRequest.PW_TYPE_TEXT, WsdlRequest.PW_TYPE_DIGEST});
table.addProperty("WSS TimeToLive", "wssTimeToLive", true);
StringList keystores = new StringList(request.getOperation().getInterface().getProject().getWssContainer()
.getCryptoNames());
keystores.add(0, null);
table.addProperty("SSL Keystore", "sslKeystore", keystores.toStringArray());
table.addProperty("Skip SOAP Action", "skipSoapAction", JPropertiesTable.BOOLEAN_OPTIONS);
// mtom / attachments
table.addProperty("Enable MTOM", "mtomEnabled", JPropertiesTable.BOOLEAN_OPTIONS);
table.addProperty("Force MTOM", "forceMtom", JPropertiesTable.BOOLEAN_OPTIONS);
table.addProperty("Inline Response Attachments", "inlineResponseAttachments", JPropertiesTable.BOOLEAN_OPTIONS);
table.addProperty("Expand MTOM Attachments", "expandMtomResponseAttachments", JPropertiesTable.BOOLEAN_OPTIONS);
table.addProperty("Disable multiparts", "multipartEnabled", JPropertiesTable.BOOLEAN_OPTIONS);
table.addProperty("Encode Attachments", "encodeAttachments", JPropertiesTable.BOOLEAN_OPTIONS);
// preprocessing
table.addProperty("Enable Inline Files", "inlineFilesEnabled", JPropertiesTable.BOOLEAN_OPTIONS)
.setDescription("Enables inline file references in elements with binary content; file:<path>");
table.addProperty("Strip whitespaces", "stripWhitespaces", JPropertiesTable.BOOLEAN_OPTIONS);
table.addProperty("Remove Empty Content", "removeEmptyContent", JPropertiesTable.BOOLEAN_OPTIONS);
table.addProperty("Entitize Properties", "entitizeProperties", JPropertiesTable.BOOLEAN_OPTIONS);
// post-processing
table.addProperty("Pretty Print", "prettyPrint", JPropertiesTable.BOOLEAN_OPTIONS);
table.addProperty("Dump File", "dumpFile", true).setDescription("Dumps response message to specified file");
table.addProperty("Max Size", "maxSize", true).setDescription("The maximum number of bytes to receive");
table.addProperty("WS-Addressing", "wsAddressing", JPropertiesTable.BOOLEAN_OPTIONS);
table.addProperty("Discard Response", "discardResponse", JPropertiesTable.BOOLEAN_OPTIONS);
table.setPropertyObject(request);
return table;
}
public boolean hasOverviewPanel() {
return true;
}
}