[jboss-svn-commits] JBL Code SVN: r20125 - labs/jbossesb/trunk/product/tools/console/contract-web/src/main/webapp.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri May 23 08:47:41 EDT 2008
Author: mark.little at jboss.com
Date: 2008-05-23 08:47:41 -0400 (Fri, 23 May 2008)
New Revision: 20125
Modified:
labs/jbossesb/trunk/product/tools/console/contract-web/src/main/webapp/contract.jsp
Log:
http://jira.jboss.com/jira/browse/JBESB-1547
Modified: labs/jbossesb/trunk/product/tools/console/contract-web/src/main/webapp/contract.jsp
===================================================================
--- labs/jbossesb/trunk/product/tools/console/contract-web/src/main/webapp/contract.jsp 2008-05-23 12:47:24 UTC (rev 20124)
+++ labs/jbossesb/trunk/product/tools/console/contract-web/src/main/webapp/contract.jsp 2008-05-23 12:47:41 UTC (rev 20125)
@@ -1,66 +1,86 @@
-<%@ page import="java.util.List" %>
-<%@ page import="org.jboss.soa.esb.listeners.config.ServicePublisher" %>
-<%@ page import="org.jboss.soa.esb.services.registry.RegistryFactory" %>
-<%@ page import="org.jboss.soa.esb.services.registry.Registry" %>
-<%@ page import="org.jboss.soa.esb.services.registry.RegistryException" %>
-<%@ page import="java.util.ArrayList" %>
-<%@ page import="org.jboss.soa.esb.addressing.EPR" %>
-<%@ page import="java.net.URI" %>
-<%@ page import="org.jboss.internal.soa.esb.publish.ContractInfo" %>
-<%@ page import="org.jboss.soa.esb.actions.soap.WebserviceContractPublisher" %>
-<%@ page import="org.jboss.internal.soa.esb.publish.ContractPublisher" %>
-<%
- List publishers = ServicePublisher.getServicePublishers();
- Registry registry = RegistryFactory.getRegistry();
- String targetServiceCat = request.getParameter("serviceCat");
- String targetServiceName = request.getParameter("serviceName");
- String targetProtocol = request.getParameter("protocol");
- ContractInfo contractInfo = null;
- String contractData = null;
-
- for (int i = 0; i < publishers.size() && contractInfo == null; i++) {
- ServicePublisher publisher = (ServicePublisher) publishers.get(i);
- String serviceCategory = publisher.getCategory();
- String serviceName = publisher.getServiceName();
- List eprs;
-
- if (publisher.getContractPublisher() == null) {
- continue;
- } else if (!serviceCategory.equalsIgnoreCase(targetServiceCat) ||
- !serviceName.equalsIgnoreCase(targetServiceName)) {
- continue;
- }
-
- try {
- eprs = (List) registry.findEPRs(serviceCategory, serviceName);
- } catch (RegistryException e) {
- // ignore for now - just return an empty list
- eprs = new ArrayList();
- }
-
- for (int ii = 0; ii < eprs.size(); ii++) {
- EPR epr = (EPR) eprs.get(ii);
- URI eprURI = URI.create(epr.getAddr().getAddress());
- String protocol = eprURI.getScheme();
-
- if (protocol.equalsIgnoreCase(targetProtocol)) {
- ContractPublisher contractPublisher = publisher.getContractPublisher();
-
- if(contractPublisher instanceof WebserviceContractPublisher) {
- contractInfo = ((WebserviceContractPublisher)contractPublisher).getContractInfo(epr, request);
- } else {
- contractInfo = contractPublisher.getContractInfo(epr);
- }
- break;
- }
- }
-
- if (contractInfo != null) {
- contractData = contractInfo.getData();
- response.setContentType(contractInfo.getMimeType());
- } else {
- contractData = "<Unavailable/>";
- response.setContentType("text/xml");
- }
- }
-%><%=contractData%>
\ No newline at end of file
+<%@ page import="java.util.List" %>
+<%@ page import="org.jboss.soa.esb.listeners.config.ServicePublisher" %>
+<%@ page import="org.jboss.soa.esb.services.registry.RegistryFactory" %>
+<%@ page import="org.jboss.soa.esb.services.registry.Registry" %>
+<%@ page import="org.jboss.soa.esb.services.registry.RegistryException" %>
+<%@ page import="org.jboss.soa.esb.services.registry.ServiceNotFoundException" %>
+<%@ page import="java.util.ArrayList" %>
+<%@ page import="org.jboss.soa.esb.addressing.EPR" %>
+<%@ page import="java.net.URI" %>
+<%@ page import="org.jboss.internal.soa.esb.publish.ContractInfo" %>
+<%@ page import="org.jboss.soa.esb.actions.soap.WebserviceContractPublisher" %>
+<%@ page import="org.jboss.internal.soa.esb.publish.ContractPublisher" %>
+<%
+ List publishers = ServicePublisher.getServicePublishers();
+ Registry registry = RegistryFactory.getRegistry();
+ String targetServiceCat = request.getParameter("serviceCat");
+ String targetServiceName = request.getParameter("serviceName");
+ String targetProtocol = request.getParameter("protocol");
+ ContractInfo contractInfo = null;
+ String contractData = null;
+ List eprs;
+
+ try {
+ List allEprs = (List) registry.findEPRs(targetServiceCat, targetServiceName);
+ eprs = new ArrayList(allEprs.size());
+
+ for (int i = 0; i < allEprs.size(); i++) {
+ EPR epr = (EPR) allEprs.get(i);
+ URI eprURI = URI.create(epr.getAddr().getAddress());
+ String protocol = eprURI.getScheme();
+
+ if (protocol.equalsIgnoreCase(targetProtocol)) {
+ eprs.add(epr);
+ }
+
+ }
+ } catch (ServiceNotFoundException e) {
+ // ignore for now - just return an empty list
+ eprs = new ArrayList();
+ } catch (RegistryException e) {
+ // ignore for now - just return an empty list
+ eprs = new ArrayList();
+ }
+
+ // JBESB-1547 - Contract console should generate HTTP 404 when asking for non-deployed service WSDL
+ if (eprs == null || eprs.isEmpty()) {
+ response.sendError(HttpServletResponse.SC_NOT_FOUND);
+ return;
+ }
+
+ for (int i = 0; i < publishers.size() && contractInfo == null; i++) {
+ ServicePublisher publisher = (ServicePublisher) publishers.get(i);
+ String serviceCategory = publisher.getCategory();
+ String serviceName = publisher.getServiceName();
+
+ if (publisher.getContractPublisher() == null) {
+ continue;
+ } else if (!serviceCategory.equalsIgnoreCase(targetServiceCat) ||
+ !serviceName.equalsIgnoreCase(targetServiceName)) {
+ continue;
+ }
+
+ for (int ii = 0; ii < eprs.size(); ii++) {
+ EPR epr = (EPR) eprs.get(ii);
+
+ ContractPublisher contractPublisher = publisher.getContractPublisher();
+
+ if(contractPublisher instanceof WebserviceContractPublisher) {
+ contractInfo = ((WebserviceContractPublisher)contractPublisher).getContractInfo(epr, request);
+ } else {
+ contractInfo = contractPublisher.getContractInfo(epr);
+ }
+ break;
+ }
+
+ if (contractInfo != null && contractInfo.getData() != null) {
+ contractData = contractInfo.getData();
+ response.setContentType(contractInfo.getMimeType());
+ }
+ }
+
+ if (contractData == null) {
+ contractData = "<Unavailable/>";
+ response.setContentType("text/xml");
+ }
+%><%= contractData %>
\ No newline at end of file
More information about the jboss-svn-commits
mailing list