Re: [Mav-user] Character encoding patch?
Hi Jeff, God, no thanks ;) I would be dangerous... seriously, I don't think I have enough energy on this to make it worthwhile. Dan At 02:37 PM 1/7/2006, Jeff Schnitzer wrote: The longstanding tradition here is to grant committer access to anyone who has a change to make. Partly this is because we're lazy (and by "we" I mean "I"), and partly this is an experiment in applying limited wiki concepts to source code. Dan, want access? Jeff Dan Finkelstein wrote: Hi Peter, I had the same problem last summer and made two modifications to Maverick. My app must be able to adjust to any charset based on locale. I'm pasting in the changes I made below. If someone can commit them to the maverick source that would be even better!! Anyway, let me know how you find these changes. Good luck, Dan In AbstractTransformStep.java, change to public HttpServletResponse getResponse() throws IOException, ServletException { log.debug("Getting fake response"); // Should be ok to wrap the real mccoy here. if (this.fakeResponse == null) { this.fakeResponse = new FakeHttpServletResponse(this.getTransformCtx().getRealResponse()); // added by DF 7/26/05 // allows propogating character encoding on to response fakeResponse.setContentType("text/html; charset=" + getTransformCtx().getRequest().getCharacterEncoding()); } return this.fakeResponse; } In Dispatcher.java, change to public void init() throws ServletException { // Make us available in the application attribute collection this.getServletContext().setAttribute(MAVERICK_APPLICATION_KEY, this); // Get defaultRequestCharset from init parameter, null is ok // CLOWN added by DF 7/26/05 -- allows pulling default char set from app defaultRequestCharset = (String)this.getServletContext().getAttribute(INITPARAM_DEFAULT_REQUEST_CHARSET); if(defaultRequestCharset == null) { this.defaultRequestCharset = this.getInitParameter(INITPARAM_DEFAULT_REQUEST_CHARSET); } // Get limitTransformsParam from init parameter, null is ok this.limitTransformsParam = this.getInitParameter(INITPARAM_LIMIT_TRANSFORMS_PARAM); // Get reuseMaverickContext from init parameter, null is ok this.reuseMaverickContext = "true".equals(this.getInitParameter(INITPARAM_REUSE_CONTEXT)); At 09:05 AM 1/5/2006, Peter Chase wrote: Is anything wrong with the following patch, to make Maverick transforms automatically pick up the character encoding? public FakeHttpServletResponse(HttpServletResponse wrapMe) { super(wrapMe); if (log.isDebugEnabled()) log.debug("Creating fake response, original buffer size is " + wrapMe.getBufferSize()); this.charset = wrapMe.getCharacterEncoding(); // THIS IS THE NEW LINE } --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click [INVALID FOOTER] --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click [INVALID FOOTER] --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click [INVALID FOOTER] --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click [INVALID FOOTER]
Re: [Mav-user] Character encoding patch?
The longstanding tradition here is to grant committer access to anyone who has a change to make. Partly this is because we're lazy (and by "we" I mean "I"), and partly this is an experiment in applying limited wiki concepts to source code. Dan, want access? Jeff Dan Finkelstein wrote: Hi Peter, I had the same problem last summer and made two modifications to Maverick. My app must be able to adjust to any charset based on locale. I'm pasting in the changes I made below. If someone can commit them to the maverick source that would be even better!! Anyway, let me know how you find these changes. Good luck, Dan In AbstractTransformStep.java, change to public HttpServletResponse getResponse() throws IOException, ServletException { log.debug("Getting fake response"); // Should be ok to wrap the real mccoy here. if (this.fakeResponse == null) { this.fakeResponse = new FakeHttpServletResponse(this.getTransformCtx().getRealResponse()); // added by DF 7/26/05 // allows propogating character encoding on to response fakeResponse.setContentType("text/html; charset=" + getTransformCtx().getRequest().getCharacterEncoding()); } return this.fakeResponse; } In Dispatcher.java, change to public void init() throws ServletException { // Make us available in the application attribute collection this.getServletContext().setAttribute(MAVERICK_APPLICATION_KEY, this); // Get defaultRequestCharset from init parameter, null is ok // CLOWN added by DF 7/26/05 -- allows pulling default char set from app defaultRequestCharset = (String)this.getServletContext().getAttribute(INITPARAM_DEFAULT_REQUEST_CHARSET); if(defaultRequestCharset == null) { this.defaultRequestCharset = this.getInitParameter(INITPARAM_DEFAULT_REQUEST_CHARSET); } // Get limitTransformsParam from init parameter, null is ok this.limitTransformsParam = this.getInitParameter(INITPARAM_LIMIT_TRANSFORMS_PARAM); // Get reuseMaverickContext from init parameter, null is ok this.reuseMaverickContext = "true".equals(this.getInitParameter(INITPARAM_REUSE_CONTEXT)); At 09:05 AM 1/5/2006, Peter Chase wrote: Is anything wrong with the following patch, to make Maverick transforms automatically pick up the character encoding? public FakeHttpServletResponse(HttpServletResponse wrapMe) { super(wrapMe); if (log.isDebugEnabled()) log.debug("Creating fake response, original buffer size is " + wrapMe.getBufferSize()); this.charset = wrapMe.getCharacterEncoding(); // THIS IS THE NEW LINE } --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click [INVALID FOOTER] --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click [INVALID FOOTER] --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click [INVALID FOOTER]
Re: [Mav-user] Character encoding patch?
Hi Peter, I had the same problem last summer and made two modifications to Maverick. My app must be able to adjust to any charset based on locale. I'm pasting in the changes I made below. If someone can commit them to the maverick source that would be even better!! Anyway, let me know how you find these changes. Good luck, Dan In AbstractTransformStep.java, change to public HttpServletResponse getResponse() throws IOException, ServletException { log.debug("Getting fake response"); // Should be ok to wrap the real mccoy here. if (this.fakeResponse == null) { this.fakeResponse = new FakeHttpServletResponse(this.getTransformCtx().getRealResponse()); // added by DF 7/26/05 // allows propogating character encoding on to response fakeResponse.setContentType("text/html; charset=" + getTransformCtx().getRequest().getCharacterEncoding()); } return this.fakeResponse; } In Dispatcher.java, change to public void init() throws ServletException { // Make us available in the application attribute collection this.getServletContext().setAttribute(MAVERICK_APPLICATION_KEY, this); // Get defaultRequestCharset from init parameter, null is ok // CLOWN added by DF 7/26/05 -- allows pulling default char set from app defaultRequestCharset = (String)this.getServletContext().getAttribute(INITPARAM_DEFAULT_REQUEST_CHARSET); if(defaultRequestCharset == null) { this.defaultRequestCharset = this.getInitParameter(INITPARAM_DEFAULT_REQUEST_CHARSET); } // Get limitTransformsParam from init parameter, null is ok this.limitTransformsParam = this.getInitParameter(INITPARAM_LIMIT_TRANSFORMS_PARAM); // Get reuseMaverickContext from init parameter, null is ok this.reuseMaverickContext = "true".equals(this.getInitParameter(INITPARAM_REUSE_CONTEXT)); At 09:05 AM 1/5/2006, Peter Chase wrote: Is anything wrong with the following patch, to make Maverick transforms automatically pick up the character encoding? public FakeHttpServletResponse(HttpServletResponse wrapMe) { super(wrapMe); if (log.isDebugEnabled()) log.debug("Creating fake response, original buffer size is " + wrapMe.getBufferSize()); this.charset = wrapMe.getCharacterEncoding(); // THIS IS THE NEW LINE } --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click [INVALID FOOTER] --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click [INVALID FOOTER]