/******************************************************************************* * Copyright (c) 2006-2010 eBay Inc. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 *******************************************************************************/ package org.ebayopensource.turmeric.runtime.sif.impl.internal.service; import java.net.URL; import java.util.Map; import org.ebayopensource.turmeric.runtime.common.binding.DataBindingDesc; import org.ebayopensource.turmeric.runtime.common.impl.internal.service.BaseServiceBrowserCompStatus; import org.ebayopensource.turmeric.runtime.common.impl.internal.service.ServiceDesc; import org.ebayopensource.turmeric.runtime.common.types.G11nOptions; import org.ebayopensource.turmeric.runtime.sif.impl.internal.markdown.SOAClientMarkdownStateManager; import com.ebay.kernel.markdown.MarkdownStateSnapshot; import com.ebay.kernel.util.xml.IXmlStreamWriter; import com.ebay.kernel.util.xml.XmlStreamUtil; /** * @author ichernyshev */ final class ClientServiceBrowserCompStatus extends BaseServiceBrowserCompStatus { public ClientServiceBrowserCompStatus() { super("TurmericClientBrowser", true, "Client"); } @Override protected MarkdownStateSnapshot getMarkdownStatus(ServiceDesc desc, String operation) { return SOAClientMarkdownStateManager.getInstance().getStateSnapshot((ClientServiceDesc)desc, operation); } @Override protected void renderServiceDescAttrs(ServiceDesc desc, boolean isFullView, IXmlStreamWriter xmlWriter, Map<String, String> props) { ClientServiceDesc desc2 = (ClientServiceDesc)desc; String clientName = desc2.getClientName(); xmlWriter.writeAttribute("client-name", (clientName != null ? clientName : "")); } @Override protected void renderServiceDescElements(ServiceDesc desc, boolean isFullView, IXmlStreamWriter xmlWriter, Map<String, String> props) { ClientServiceDesc desc2 = (ClientServiceDesc)desc; String serviceVersion = desc2.getServiceVersion(); if (serviceVersion != null) { XmlStreamUtil.safeWriteChildCData(xmlWriter, "service-version", serviceVersion); } String useCase = desc2.getUseCase(); if (useCase != null) { XmlStreamUtil.safeWriteChildCData(xmlWriter, "use-case", useCase); } URL defServiceLocationURL = desc2.getDefServiceLocationURL(); if (defServiceLocationURL != null) { XmlStreamUtil.safeWriteChildCData(xmlWriter, "url", defServiceLocationURL.toExternalForm()); } if (!isFullView) { return; } DataBindingDesc defRequestDataBinding = desc2.getDefRequestDataBinding(); if (defRequestDataBinding != null) { XmlStreamUtil.writeChildText(xmlWriter, "def-request-data-binding", defRequestDataBinding.getName()); } DataBindingDesc defResponseDataBinding = desc2.getDefResponseDataBinding(); if (defResponseDataBinding != null) { XmlStreamUtil.writeChildText(xmlWriter, "def-response-data-binding", defResponseDataBinding.getName()); } String defTransportName = desc2.getDefTransportName(); if (defTransportName != null) { XmlStreamUtil.writeChildText(xmlWriter, "def-transport", defTransportName); } String messageProtocolName = desc2.getMessageProtocolName(); if (messageProtocolName != null) { XmlStreamUtil.writeChildText(xmlWriter, "message-protocol", messageProtocolName); } Integer appLevelNumRetries = desc2.getAppLevelNumRetries(); if (appLevelNumRetries != null) { XmlStreamUtil.writeChildText(xmlWriter, "app-level-retries", appLevelNumRetries.toString()); } G11nOptions g11nOptions = desc2.getG11nOptions(); if (g11nOptions != null) { writeG11Options(g11nOptions, xmlWriter, "g11n-options"); } String configFileName = desc2.getConfig().getMessageProcessorConfig().getConfigFilename(); if (configFileName != null) { XmlStreamUtil.writeChildText(xmlWriter, "config-file-name", configFileName); } // TODO: add these //ApplicationRetryHandler retryHandler = desc2.getRetryHandler(); //ErrorResponseAdapter customErrorResponseAdapter = desc2.getCustomErrorResponseAdapter(); //AutoMarkdownStateFactory autoMarkdownStateFactory = desc2.getAutoMarkdownStateFactory(); // TODO: add all transports } }