Cem was setting his locale to English to avoid this problem, but that has now 
caused him another problem where the class loader cannot find a file in his 
file system (probably because his filesystem is not English).

So, if we fix the problem André identified, Cem can leave his locale alone and 
everything should work.

You wanna file a bug with this info and fix it?  Presumably we should check all 
uses of toUpperCase in the servlet.  Seems plausible someone might have used 
toLowerCase for the same purposes and that might have similar issues...

On 2010-04-16, at 11:19, Henry Minsky wrote:

> That sure sounds like the problem. I wonder why it just showed up now
> though.
> 
> 
> 
> On Fri, Apr 16, 2010 at 11:16 AM, André Bargull <[email protected]>wrote:
> 
>> Concerning the initialization error:
>> According to [1], String#toUpperCase() is equivalent to
>> String#toUpperCase(Locale.getDefault()). And as [1] states, there might be
>> problems with different locales, e.g. Turkish:
>> 
>>> Note: This method is locale sensitive, and may produce unexpected results
>>> if used for strings that are intended to be interpreted locale
>>> independently. Examples are programming language identifiers, protocol keys,
>>> and HTML tags. For instance, "title".toUpperCase() in a Turkish locale
>>> returns "T?TLE", where '?' is the LATIN CAPITAL LETTER I WITH DOT ABOVE
>>> character. To obtain correct results for locale insensitive strings, use
>>> toUpperCase(Locale.ENGLISH).
>>> 
>> 
>> Short version: "i".toUpperCase() leads to 'wrong results' with a Turkish
>> locale.
>> 
>> And in org.openlaszlo.servlets.LZServlet.java l.452, we've got
>> 'lzt.toUpperCase()' (that's in the #getResponder(String) method).
>> #getResponder(String) is called from #initLPS(HttpServletRequest,
>> HttpServletResponse) with getResponder("media"), see ll. 252. Well, and in
>> "media" there is a lower case "i" which doesn't get converted to "I" as
>> expected because of the issue reported above.
>> 
>> 
>> - André
>> 
>> 
>> [1]
>> http://java.sun.com/javase/6/docs/api/java/lang/String.html#toUpperCase()<http://java.sun.com/javase/6/docs/api/java/lang/String.html#toUpperCase%28%29>
>> 
>> 
>> 
>> On 4/16/2010 4:43 PM, P T Withington wrote:
>> 
>>> [cc-ing Henry because I think you recently made some changes that might
>>> have to do with locale or path separators?  cc-ing Max and André, because I
>>> think they recently made a change that requires at least Tomcat 5.5.28?]
>>> 
>>> Sure looks like we must have recently made a change to use the locale and
>>> that is breaking your work-around.
>>> 
>>> The right thing is for us to figure out the real problem that is causing
>>> 
>>> "Error:
>>>>> Initialization error: no request type: media" on browser
>>>>> 
>>>> 
>>> so that you can set your locale correctly.  I suspect with the locale
>>> setting you are using, the class loader is somehow not able to find a file
>>> in your filesystem.
>>> 
>>> On 2010-04-16, at 10:03, cem sonmez wrote:
>>> 
>>> hi
>>>> I have downloaded the latest two nightly builds of openlaszlo (r16156,
>>>> r16139 - openlaszlo-5.0.x-unix.tar.gz)
>>>> I just do the same steps for the other working versions of openlaszlo
>>>> (4.7.1, 4.7.0, 4.6.x ..) :
>>>> - LC_ALL=en_EN.UTF-8 (Doing this to avoid message : "Error:
>>>> Initialization error: no request type: media" on browser )
>>>> - sh $LPS_HOME/Server/tomcat-5.0.24/bin/startup.sh
>>>> 
>>>> Everything seems fine, getting this message on console :
>>>> Using CATALINA_BASE:   /home/cem/Masaüstü/lps-5.0.x/Server/tomcat-5.0.24
>>>> Using CATALINA_HOME:   /home/cem/Masaüstü/lps-5.0.x/Server/tomcat-5.0.24
>>>> Using CATALINA_TMPDIR:
>>>> /home/cem/Masaüstü/lps-5.0.x/Server/tomcat-5.0.24/temp
>>>> Using JAVA_HOME:       /opt/sun-jdk
>>>> 
>>>> But on the browser, any directory of lps is not being accessed. Just
>>>> see the http://localhost:8080/lps-5.0.x/ index page. None of links are
>>>> accessible.
>>>> Then when I try to stop tomcat like :
>>>> - sh $LPS_HOME/Server/tomcat-5.0.24/bin/shutdown.sh
>>>> 
>>>> getting this message on console :
>>>> 
>>>> Using CATALINA_BASE:   /home/cem/Masaüstü/lps-5.0.x/Server/tomcat-5.0.24
>>>> Using CATALINA_HOME:   /home/cem/Masaüstü/lps-5.0.x/Server/tomcat-5.0.24
>>>> Using CATALINA_TMPDIR:
>>>> /home/cem/Masaüstü/lps-5.0.x/Server/tomcat-5.0.24/temp
>>>> Using JAVA_HOME:       /opt/sun-jdk
>>>> Exception in thread "main" java.lang.NoClassDefFoundError:
>>>> org/apache/catalina/startup/Bootstrap
>>>> Caused by: java.lang.ClassNotFoundException:
>>>> org.apache.catalina.startup.Bootstrap
>>>>       at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
>>>>       at java.security.AccessController.doPrivileged(Native Method)
>>>>       at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>>>>       at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>>>>       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
>>>>       at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>>>> Could not find the main class: org.apache.catalina.startup.Bootstrap.
>>>> Program will exit.
>>>> 
>>>> And I want to specify that this problem does not repeats anymore if I
>>>> use my default locale (LC_ALL=tr_Tr.UTF-8).
>>>> But in this case, as I said before, I am getting "Error:
>>>> Initialization error: no request type: media"  on the browser if I
>>>> click the *.lzx file.
>>>> 
>>>> Did any of you face such like problem before?
>>>> Thanks in advance
>>>> Kind regards
>>>> --
>>>> Cem SONMEZ
>>>> 
>>>> 
>>> 
>>> 
> 
> 
> -- 
> Henry Minsky
> Software Architect
> [email protected]


Reply via email to