[jboss-svn-commits] JBL Code SVN: r28506 - in labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss: soa/esb/listeners/config and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Jul 27 13:24:22 EDT 2009
Author: tfennelly
Date: 2009-07-27 13:24:22 -0400 (Mon, 27 Jul 2009)
New Revision: 28506
Added:
labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/AbstractWebComponent.java
labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Filter.java
Modified:
labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Servlet.java
labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebModel.java
labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/web.xml.ftl
labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java
Log:
fixes for filtering
Added: labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/AbstractWebComponent.java
===================================================================
--- labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/AbstractWebComponent.java (rev 0)
+++ labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/AbstractWebComponent.java 2009-07-27 17:24:22 UTC (rev 28506)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.internal.soa.esb.listeners.war;
+
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * Abstract web component model.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class AbstractWebComponent {
+
+ protected String name;
+ protected String runtimeClass;
+ private List<KeyValuePair> params = new ArrayList<KeyValuePair>();
+
+ public AbstractWebComponent(String name, String runtimeClass) {
+ AssertArgument.isNotNullAndNotEmpty(name, "name");
+ AssertArgument.isNotNullAndNotEmpty(runtimeClass, "runtimeClass");
+ this.name = name;
+ this.runtimeClass = runtimeClass;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getRuntimeClass() {
+ return runtimeClass;
+ }
+
+ public List<KeyValuePair> getParams() {
+ return params;
+ }
+}
Added: labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Filter.java
===================================================================
--- labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Filter.java (rev 0)
+++ labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Filter.java 2009-07-27 17:24:22 UTC (rev 28506)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.internal.soa.esb.listeners.war;
+
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+
+/**
+ * Filter configuration model.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Filter extends AbstractWebComponent {
+
+ private Servlet targetServlet;
+
+ public Filter(String name, String runtimeClass, Servlet targetServlet) {
+ super(name, runtimeClass);
+ AssertArgument.isNotNull(targetServlet, "targetServlet");
+ this.targetServlet = targetServlet;
+ }
+
+ public Servlet getTargetServlet() {
+ return targetServlet;
+ }
+}
Modified: labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Servlet.java
===================================================================
--- labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Servlet.java 2009-07-27 17:13:03 UTC (rev 28505)
+++ labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Servlet.java 2009-07-27 17:24:22 UTC (rev 28506)
@@ -34,32 +34,14 @@
*
* @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
*/
-public class Servlet {
+public class Servlet extends AbstractWebComponent {
- private String name;
- private String runtimeClass;
- private List<KeyValuePair> params = new ArrayList<KeyValuePair>();
private List<String> urlMappings = new ArrayList<String>();
public Servlet(String name, String runtimeClass) {
- AssertArgument.isNotNullAndNotEmpty(name, "name");
- AssertArgument.isNotNullAndNotEmpty(runtimeClass, "runtimeClass");
- this.name = name;
- this.runtimeClass = runtimeClass;
+ super(name, runtimeClass);
}
- public String getName() {
- return name;
- }
-
- public String getRuntimeClass() {
- return runtimeClass;
- }
-
- public List<KeyValuePair> getParams() {
- return params;
- }
-
public List<String> getUrlMappings() {
return urlMappings;
}
Modified: labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebModel.java
===================================================================
--- labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebModel.java 2009-07-27 17:13:03 UTC (rev 28505)
+++ labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebModel.java 2009-07-27 17:24:22 UTC (rev 28506)
@@ -31,10 +31,10 @@
*/
public class WebModel {
- private List<Servlet> filters = new ArrayList<Servlet>();
+ private List<Filter> filters = new ArrayList<Filter>();
private List<Servlet> servlets = new ArrayList<Servlet>();
- public List<Servlet> getFilters() {
+ public List<Filter> getFilters() {
return filters;
}
Modified: labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/web.xml.ftl
===================================================================
--- labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/web.xml.ftl 2009-07-27 17:13:03 UTC (rev 28505)
+++ labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/web.xml.ftl 2009-07-27 17:24:22 UTC (rev 28506)
@@ -20,13 +20,11 @@
</filter>
- <#list filter.urlMappings as urlMapping>
<filter-mapping>
<filter-name>${filter.name}</filter-name>
- <url-pattern>${urlMapping}</url-pattern>
+ <servlet-name>${filter.targetServlet.name}</servlet-name>
</filter-mapping>
</#list>
- </#list>
<#list webModel.servlets as servlet>
Modified: labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java
===================================================================
--- labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java 2009-07-27 17:13:03 UTC (rev 28505)
+++ labs/jbossesb/workspace/tfennelly/httpg2/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java 2009-07-27 17:24:22 UTC (rev 28506)
@@ -49,6 +49,7 @@
import org.jboss.internal.soa.esb.listeners.war.WebDeploymentArchive;
import org.jboss.internal.soa.esb.listeners.war.WebGatewayDeploymentFactory;
import org.jboss.internal.soa.esb.listeners.war.Servlet;
+import org.jboss.internal.soa.esb.listeners.war.Filter;
import org.jboss.logging.Logger;
import org.jboss.metadata.MetaData;
import org.jboss.metadata.XmlFileLoader;
@@ -456,23 +457,20 @@
final String wsClassName = serviceInfo.getClassName().replace('.', '/') + ".class" ;
webDeployment.addEntry("WEB-INF/classes/" + wsClassName, wsClass);
+ // Servlet....
+ final Servlet servlet = new Servlet(serviceInfo.getServletName(), serviceInfo.getClassName());
+ servlet.getUrlMappings().add(serviceInfo.getServletPath());
+ webDeployment.getWebModel().getServlets().add(servlet);
+
// Filter...
// At the moment we only need the filter to overcome a bug in JBossWS re In-Only endpoints, so
// we only include for one way services...
if(serviceInfo.isOneWay()) {
- String filterName = serviceInfo.getServletName() + "_Filter";
- Servlet filter = new Servlet(filterName, ESBResponseFilter.class.getName());
-
+ Filter filter = new Filter(serviceInfo.getServletName() + "_Filter", ESBResponseFilter.class.getName(), servlet);
filter.getParams().add(new KeyValuePair("OneWay", "true"));
- filter.getUrlMappings().add(serviceInfo.getServletName());
webDeployment.getWebModel().getFilters().add(filter);
}
- // Servlet....
- final Servlet servlet = new Servlet(serviceInfo.getServletName(), serviceInfo.getClassName());
- servlet.getUrlMappings().add(serviceInfo.getServletPath());
- webDeployment.getWebModel().getServlets().add(servlet);
-
final ContractReferencePublisher publisher = new ESBServiceContractPublisher(service, webserviceInfo.getDescription(), serviceInfo.getServletName()) ;
publishers.add(publisher) ;
}
More information about the jboss-svn-commits
mailing list