A few questions not necessarily related to the plugin, but to Tuscany
webapps in general:
1.) The plugin doesn't define an application scdl location. I think the
default is WEB-INF/default.scdl and applicationScdlPath allows for
flexibility. But, what is recommended in the context of Tuscany structure
(WEB-INF/tuscany)? Or is this structure strictly is for runtime stuff
only? Should the plugin create a META-INF/tuscany structure? Could the
plugin be application scdl aware and move the scdl to a common location?
2.) Along the lines of #1, where should extension scdls be placed? And how
should the main webapp scdl reference these extension scdls. I've been
hacking webapp.system.scdl with <include.../> references. Obviously this
isn't friendly and invasive to Tuscany's core. Could Tuscany append scdls
located in a specific location (WEB-INF/tuscany/extensions/scdl) or query
the classpath or?
3.) What exactly does Tuscany need in a web.xml - context-params, listeners,
filters, etc? I've seen as little as the TuscanyContextListener and
systemScdlPath and applicationScdlPath and as much as the following:
<context-param>
<param-name>systemScdlPath</param-name>
<param-value>/META-INF/sca/webapp.system.scdl</param-value>
</context-param>
<context-param>
<param-name>applicationScdlPath</param-name>
<param-value>/META-INF/sca/default.scdl</param-value>
</context-param>
<filter>
<filter-name>TuscanyFilter</filter-name>
<filter-class>org.apache.tuscany.runtime.webapp.TuscanyFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>TuscanyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener> <listener-class>
org.apache.tuscany.runtime.webapp.TuscanyContextListener</listener-class>
</listener>
<listener> <listener-class>
org.apache.tuscany.runtime.webapp.TuscanySessionListener</listener-class>
</listener>
<servlet>
<servlet-name>TuscanyServlet</servlet-name>
<display-name>Tuscany Servlet</display-name>
<servlet-class>org.apache.tuscany.runtime.webapp.TuscanyServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TuscanyServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
Thanks.
-Chris