Re: svn commit: r620376 - /incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java

2008-02-11 Thread Raymond Feng

Hi,

I just tested the WAR with Jetty-5.1.14 and Tomcat-5.5.26. It was broken 
with Jetty-5.1.14 as the getContextPth() method is not available. On 
Tomcat-5.5.26, the implementation class of ServletContext happens to have 
the method and it's by luck working.


Thanks,
Raymond

- Original Message - 
From: Raymond Feng [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Sunday, February 10, 2008 9:46 PM
Subject: Re: svn commit: r620376 - 
/incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java




Hi,

I don't think this is a good fix. The ServletContext.getContextPath() is 
introduced for Servlet Spec 2.5 or later. The major/minor version can tell 
us if the current ServletContext has getContextPath() method. In Servlet 
2.4, the getContextPath() is only available on HttpServletRequest.


With this change, we'll get IllegalStateException for Servlet version 
before 2.5. Is the WebSphere Servlet at the level of 2.5 or later? If so, 
the getContextPath() should return a valid value as required by the spec. 
(See [1]). If it returns null, it should be a WebSphere bug :-).


BTW, I don't know why we check the init-parameter for the contextPath as a 
fall-back. Is it a Tuscany specific thing or a Servlet spec statement (I 
couldn't find it in Servlet spec 2.4)?


Thanks,
Raymond

[1] 
http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletContext.html#getContextPath()


- Original Message - 
From: [EMAIL PROTECTED]

To: [EMAIL PROTECTED]
Sent: Sunday, February 10, 2008 6:06 PM
Subject: svn commit: r620376 - 
/incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java




Author: lresende
Date: Sun Feb 10 18:06:37 2008
New Revision: 620376

URL: http://svn.apache.org/viewvc?rev=620376view=rev
Log:
Comment code that was failing to retrieve contextPath in certain web 
containers


Modified:

incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java

Modified: 
incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java?rev=620376r1=620375r2=620376view=diff

==
---  
incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java 
(original)
+++ 
incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java 
Sun Feb 10 18:06:37 2008

@@ -240,7 +240,8 @@
public void initContextPath(ServletConfig config) {
ServletContext context = config.getServletContext();
int version = context.getMajorVersion() * 100 + 
context.getMinorVersion();

-if (version = 205) {
+//FIXME Do we really need this ? Servlet 2.4 Spec does mention 
getContextPath

+//if (version = 205) {
// The getContextPath() is introduced since Servlet 2.5
Method m;
try {
@@ -254,9 +255,9 @@
throw new IllegalStateException(
'contextPath' init 
parameter must be set for pre-2.5 servlet container);

}
-} else {
-contextPath = config.getInitParameter(contextPath);
-}
+//} else {
+//contextPath = config.getInitParameter(contextPath);
+//}
logger.info(initContextPath:  + contextPath);
}




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: svn commit: r620376 - /incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java

2008-02-11 Thread Luciano Resende
Sorry for the break, I have committed an update fix that should take
care of the web container using old version of servlet api. I also
added code to throw an exception when we fail to get the proper
contextPath using the multiple methods we support.

On Feb 11, 2008 10:31 AM, Raymond Feng [EMAIL PROTECTED] wrote:
 Hi,

 I just tested the WAR with Jetty-5.1.14 and Tomcat-5.5.26. It was broken
 with Jetty-5.1.14 as the getContextPth() method is not available. On
 Tomcat-5.5.26, the implementation class of ServletContext happens to have
 the method and it's by luck working.

 Thanks,
 Raymond


 - Original Message -
 From: Raymond Feng [EMAIL PROTECTED]
 To: tuscany-dev@ws.apache.org
 Sent: Sunday, February 10, 2008 9:46 PM
 Subject: Re: svn commit: r620376 -
 /incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java


  Hi,
 
  I don't think this is a good fix. The ServletContext.getContextPath() is
  introduced for Servlet Spec 2.5 or later. The major/minor version can tell
  us if the current ServletContext has getContextPath() method. In Servlet
  2.4, the getContextPath() is only available on HttpServletRequest.
 
  With this change, we'll get IllegalStateException for Servlet version
  before 2.5. Is the WebSphere Servlet at the level of 2.5 or later? If so,
  the getContextPath() should return a valid value as required by the spec.
  (See [1]). If it returns null, it should be a WebSphere bug :-).
 
  BTW, I don't know why we check the init-parameter for the contextPath as a
  fall-back. Is it a Tuscany specific thing or a Servlet spec statement (I
  couldn't find it in Servlet spec 2.4)?
 
  Thanks,
  Raymond
 
  [1]
  http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletContext.html#getContextPath()
 
  - Original Message -
  From: [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Sunday, February 10, 2008 6:06 PM
  Subject: svn commit: r620376 -
  /incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java
 
 
  Author: lresende
  Date: Sun Feb 10 18:06:37 2008
  New Revision: 620376
 
  URL: http://svn.apache.org/viewvc?rev=620376view=rev
  Log:
  Comment code that was failing to retrieve contextPath in certain web
  containers
 
  Modified:
 
  incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java
 
  Modified:
  incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java
  URL:
  http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java?rev=620376r1=620375r2=620376view=diff
  ==
  ---
  incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java
  (original)
  +++
  incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java
  Sun Feb 10 18:06:37 2008
  @@ -240,7 +240,8 @@
  public void initContextPath(ServletConfig config) {
  ServletContext context = config.getServletContext();
  int version = context.getMajorVersion() * 100 +
  context.getMinorVersion();
  -if (version = 205) {
  +//FIXME Do we really need this ? Servlet 2.4 Spec does mention
  getContextPath
  +//if (version = 205) {
  // The getContextPath() is introduced since Servlet 2.5
  Method m;
  try {
  @@ -254,9 +255,9 @@
  throw new IllegalStateException(
  'contextPath' init
  parameter must be set for pre-2.5 servlet container);
  }
  -} else {
  -contextPath = config.getInitParameter(contextPath);
  -}
  +//} else {
  +//contextPath = config.getInitParameter(contextPath);
  +//}
  logger.info(initContextPath:  + contextPath);
  }
 
 
 
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 


 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]





-- 
Luciano Resende
Apache Tuscany Committer
http://people.apache.org/~lresende
http://lresende.blogspot.com/

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: svn commit: r620376 - /incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java

2008-02-10 Thread Raymond Feng

Hi,

I don't think this is a good fix. The ServletContext.getContextPath() is 
introduced for Servlet Spec 2.5 or later. The major/minor version can tell 
us if the current ServletContext has getContextPath() method. In Servlet 
2.4, the getContextPath() is only available on HttpServletRequest.


With this change, we'll get IllegalStateException for Servlet version before 
2.5. Is the WebSphere Servlet at the level of 2.5 or later? If so, the 
getContextPath() should return a valid value as required by the spec. (See 
[1]). If it returns null, it should be a WebSphere bug :-).


BTW, I don't know why we check the init-parameter for the contextPath as a 
fall-back. Is it a Tuscany specific thing or a Servlet spec statement (I 
couldn't find it in Servlet spec 2.4)?


Thanks,
Raymond

[1] 
http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletContext.html#getContextPath()


- Original Message - 
From: [EMAIL PROTECTED]

To: [EMAIL PROTECTED]
Sent: Sunday, February 10, 2008 6:06 PM
Subject: svn commit: r620376 - 
/incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java




Author: lresende
Date: Sun Feb 10 18:06:37 2008
New Revision: 620376

URL: http://svn.apache.org/viewvc?rev=620376view=rev
Log:
Comment code that was failing to retrieve contextPath in certain web 
containers


Modified:

incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java

Modified: 
incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java?rev=620376r1=620375r2=620376view=diff

==
---  
incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java 
(original)
+++ 
incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java 
Sun Feb 10 18:06:37 2008

@@ -240,7 +240,8 @@
public void initContextPath(ServletConfig config) {
ServletContext context = config.getServletContext();
int version = context.getMajorVersion() * 100 + 
context.getMinorVersion();

-if (version = 205) {
+//FIXME Do we really need this ? Servlet 2.4 Spec does mention 
getContextPath

+//if (version = 205) {
// The getContextPath() is introduced since Servlet 2.5
Method m;
try {
@@ -254,9 +255,9 @@
throw new IllegalStateException(
'contextPath' init 
parameter must be set for pre-2.5 servlet container);

}
-} else {
-contextPath = config.getInitParameter(contextPath);
-}
+//} else {
+//contextPath = config.getInitParameter(contextPath);
+//}
logger.info(initContextPath:  + contextPath);
}




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]