/* * 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.rest.panels.request; import com.eviware.soapui.config.CredentialsConfig.AuthType; import com.eviware.soapui.impl.EmptyPanelBuilder; import com.eviware.soapui.impl.rest.RestRequest; import com.eviware.soapui.support.components.JPropertiesTable; import com.eviware.soapui.support.types.StringList; import java.awt.Component; /** * PanelBuilder for WsdlInterface * * @author Ole.Matzura */ public class RestRequestPanelBuilder extends EmptyPanelBuilder<RestRequest> { public RestRequestPanelBuilder() { } public RestRequestDesktopPanel buildDesktopPanel(RestRequest request) { return new RestRequestDesktopPanel(request); } public boolean hasDesktopPanel() { return true; } public Component buildOverviewPanel(RestRequest request) { JPropertiesTable<RestRequest> table = new JPropertiesTable<RestRequest>("Request Properties"); table.addProperty("Name", "name"); table.addProperty("Description", "description", true); // table.addProperty( "Method", "method", new Object[]{RequestMethod.GET, // RequestMethod.POST, // RequestMethod.PUT, RequestMethod.DELETE, RequestMethod.HEAD} ); table.addProperty("Encoding", "encoding", new String[]{null, "UTF-8", "iso-8859-1"}); table.addProperty("Endpoint", "endpoint", request.getOperation().getInterface().getEndpoints()); table.addProperty("Timeout", "timeout", true); table.addProperty("Bind Address", "bindAddress", true); table.addProperty("Follow Redirects", "followRedirects", JPropertiesTable.BOOLEAN_OPTIONS); // 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()}); StringList keystores = new StringList(request.getOperation().getInterface().getProject().getWssContainer() .getCryptoNames()); keystores.add(""); table.addProperty("SSL Keystore", "sslKeystore", keystores.toStringArray()); 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); table.addProperty("Multi-Value Delimiter", "multiValueDelimiter", true); // post-processing table.addProperty("Pretty Print", "prettyPrint", JPropertiesTable.BOOLEAN_OPTIONS); table.addProperty("Dump File", "dumpFile").setDescription("Dumps response message to specified file"); table.addProperty("Max Size", "maxSize", true).setDescription("The maximum number of bytes to receive"); table.setPropertyObject(request); return table; } public boolean hasOverviewPanel() { return true; } }