You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Willem Jiang <ni...@iona.com> on 2007/10/30 02:25:01 UTC
Re: svn commit: r589531 - in /incubator/cxf/trunk: common/common/src/main/java/org/apache/cxf/common/annotation/
common/common/src/main/java/org/apache/cxf/resource/ rt/ rt/core/src/main/java/org/apache/cxf/bus/spring/
rt/transports/http/src/main/java/org/...
Hi Glen,
Thank you for your suggestion and it is better to set the default value
to be false.
I will change the flag in my next commit.
Willem.
Glen Mazza wrote:
> Am Montag, den 29.10.2007, 07:23 +0000 schrieb ningjiang@apache.org:
>
>
>> Author: ningjiang
>> Date: Mon Oct 29 00:23:26 2007
>> New Revision: 589531
>>
>> URL: http://svn.apache.org/viewvc?rev=589531&view=rev
>> Log:
>> CXF-1143 added a generate-service-list flage, also fixed some NPEs of the resource resolver
>>
>>
>
> Nice work! I wonder though it would be better to have this flag called
> "hide-service-list-page" with a default value of "false".
>
> I think if you have an option that is infrequently needed (say less than
> 20% of the time), it is more common to have that option be explicitly
> activated with a value of "true".
>
> If you call it "generate-service-list", I'm concerned (1) people will
> incorrectly think that they need to specify that in order to show the
> service list page (i.e., by default, CXF does not show the page, while
> it actually does), and (2) conversely, people may incorrectly think that
> page will *not* appear if they do not specify that flag, and think that
> it is a CXF bug when it does.
>
> Using the "-page" suffix also helps clarify that they will still be able
> to see the WSDL's, just not the list of them, as well as the fact that
> this is just a HTML feature (turning off viewing of the page)--not
> something affecting internal processing.
>
> Regards,
> Glen
>
>
>
>> Modified: incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
>> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java?rev=589531&r1=589530&r2=589531&view=diff
>> ==============================================================================
>> --- incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java (original)
>> +++ incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java Mon Oct 29 00:23:26 2007
>> @@ -54,10 +54,15 @@
>> private ServletTransportFactory transport;
>> private CXFServlet cxfServlet;
>> private String lastBase = "";
>> + private boolean isGenerateServiceList = true;
>>
>> public ServletController(ServletTransportFactory df, CXFServlet servlet) {
>> this.transport = df;
>> - this.cxfServlet = servlet;
>> + this.cxfServlet = servlet;
>> + }
>> +
>> + public void setGenerateServiceList(boolean generate) {
>> + isGenerateServiceList = generate;
>> }
>>
>> private synchronized void updateDests(HttpServletRequest request) {
>> @@ -165,18 +170,19 @@
>> Collection<ServletDestination> destinations = transport.getDestinations();
>> response.setContentType("text/html");
>> response.getWriter().write("<html><body>");
>> -
>> - if (destinations.size() > 0) {
>> - for (ServletDestination sd : destinations) {
>> - if (null != sd.getEndpointInfo().getName()) {
>> - String address = sd.getEndpointInfo().getAddress();
>> - response.getWriter().write("<p> <a href=\"" + address + "?wsdl\">");
>> - response.getWriter().write(sd.getEndpointInfo().getName() + "</a> </p>");
>> - }
>> + if (isGenerateServiceList) {
>> + if (destinations.size() > 0) {
>> + for (ServletDestination sd : destinations) {
>> + if (null != sd.getEndpointInfo().getName()) {
>> + String address = sd.getEndpointInfo().getAddress();
>> + response.getWriter().write("<p> <a href=\"" + address + "?wsdl\">");
>> + response.getWriter().write(sd.getEndpointInfo().getName() + "</a> </p>");
>> + }
>> + }
>> + } else {
>> + response.getWriter().write("No service was found.");
>> }
>> - } else {
>> - response.getWriter().write("No service was found.");
>> - }
>> + }
>> response.getWriter().write("</body></html>");
>> }
>>
>>
>> Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/SpringServletTest.java
>> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/SpringServletTest.java?rev=589531&r1=589530&r2=589531&view=diff
>> ==============================================================================
>> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/SpringServletTest.java (original)
>> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/SpringServletTest.java Mon Oct 29 00:23:26 2007
>> @@ -118,5 +118,18 @@
>>
>> }
>>
>> + @Test
>> + public void testGetServiceList() throws Exception {
>> + ServletUnitClient client = newClient();
>> + client.setExceptionsThrownOnErrorStatus(true);
>> +
>> + WebRequest req =
>> + new GetMethodQueryWebRequest(CONTEXT_URL + "/services/");
>> + WebResponse res = client.getResponse(req);
>> + assertEquals(200, res.getResponseCode());
>> + assertEquals("text/html", res.getContentType());
>> + assertEquals("Here should have no services links ", 0, res.getLinks().length);
>> +
>> + }
>>
>> }
>>
>> Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/web-spring.xml
>> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/web-spring.xml?rev=589531&r1=589530&r2=589531&view=diff
>> ==============================================================================
>> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/web-spring.xml (original)
>> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/web-spring.xml Mon Oct 29 00:23:26 2007
>> @@ -39,10 +39,14 @@
>>
>> <servlet>
>> <servlet-name>CXFServlet</servlet-name>
>> - <display-name>CXF Servlet</display-name>
>> + <display-name>CXF Servlet</display-name>
>> <servlet-class>
>> org.apache.cxf.transport.servlet.CXFServlet
>> </servlet-class>
>> + <init-param>
>> + <param-name>generate-service-list</param-name>
>> + <param-value>false</param-value>
>> + </init-param>
>> <load-on-startup>1</load-on-startup>
>> </servlet>
>>
>>
>>
>>
>
>