DO NOT REPLY [Bug 6058] - Generated java files not in a correct package

2002-03-09 Thread bugzilla

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6058.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6058

Generated java files not in a correct package





--- Additional Comments From [EMAIL PROTECTED]  2002-03-09 16:14 ---
Proposed changes to implement this enhancement :


changes to 3 classes in the jasper source.


1- JasperLoader.java
 
loadClass(string,boolean) method:
 
i changed this:
 
 // Only load classes for this JSP page
 if( name.startsWith(Constants.JSP_PACKAGE_NAME + . + className) ) {
 String classFile = name.substring(Constants.JSP_PACKAGE_NAME.length()+1) +
  .class;
 byte [] cdata = loadClassDataFromFile(classFile);
 
into this:
 
 // Only load classes for this JSP page
 if( name.startsWith(Constants.JSP_PACKAGE_NAME)) {
 byte [] cdata = loadClassDataFromFile(className +.class);

so the test if it is a jsp page is only about the standaard jsp package name
but that should be good enough for everything.
besides that i use the internal classname (which is the real classname without
package or .class)
instead of computing it again. I really don't know why they do that because the
real class name
is given with the constructor of JasperLoader..
 
 
2- JspServlet.java
 
the loadJSP method:
 
changed this:
 
   if( outURI.endsWith(/) )
outURI = outURI + jspUri.substring(1,jspUri.lastIndexOf(/)+1);
else
outURI = outURI + jspUri.substring(0,jspUri.lastIndexOf(/)+1);;
outURL = new URL(outURI);
 
into this:
 
   if( outURI.endsWith(/) )
outURI = outURI + jspUri.substring(1,jspUri.lastIndexOf(/)+1);
else
outURI = outURI + jspUri.substring(0,jspUri.lastIndexOf(/)+1);;
 
StringBuffer sb = new StringBuffer(outURI.length());
  StringTokenizer st = new StringTokenizer(outURI,  );
  while(st.hasMoreTokens())
  {
   sb.append(st.nextToken());
  }
 outURI = sb.toString();
 
outURL = new URL(outURI);
 
for removing the spaces out of the output dir (so it is equal to the classpath,
see below)
 
 
and this
 
  jsw.servletClass = jsw.loader.loadClass(
   Constants.JSP_PACKAGE_NAME + . + ctxt.getServletClassName());
 
into this
 
  jsw.servletClass = jsw.loader.loadClass(ctxt.getServletPackageName() + . +
ctxt.getServletClassName());
 
This should be default anyway because the ctxt (context class) is defining
everything so it should
also be used here. Default it will say: Constants.JSP_PACKAGE_NAME.
 
 
3- JspEngineContext.java
 
This added to the constructor:
 
jspFile = jspFile.replace('\\', '/');
int index = jspFile.lastIndexOf('/');
if(index  0)
{
String sPackageEnd = jspFile.substring(0, index);
  sPackageEnd = sPackageEnd.replace('/', '.');
  StringBuffer sb = new StringBuffer(sPackageEnd.length());
  
  if(!sPackageEnd.startsWith(.)) sb.append(.);
  // filter out spaces
  StringTokenizer st = new StringTokenizer(sPackageEnd,  );
  while(st.hasMoreTokens())
  {
   sb.append(st.nextToken());
  }
  this.servletPackageName += sb.toString();
}
 
so the servletPackageName wil be the default one + the subdirs where it is in.
(i remove the spaces, any idee's what are more allowed in dirs but not in packages?)

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




DO NOT REPLY [Bug 6058] - Generated java files not in a correct package

2002-02-26 Thread bugzilla

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6058.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6058

Generated java files not in a correct package

[EMAIL PROTECTED] changed:

   What|Removed |Added

   Severity|Normal  |Enhancement
 OS/Version|Other   |All
   Priority|Other   |Low
   Platform|Other   |All
Version|4.0.2 Beta 1|Nightly Build



--- Additional Comments From [EMAIL PROTECTED]  2002-02-27 04:12 ---
This is not behavior described in the spec, so reclassify as enhancement.

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