details: https://code.openbravo.com/erp/devel/pi/rev/411e649e4822 changeset: 14049:411e649e4822 user: Martin Taal <martin.taal <at> openbravo.com> date: Sat Oct 22 13:17:22 2011 +0200 summary: Solve warnings in export.database
details: https://code.openbravo.com/erp/devel/pi/rev/c2285f2bda0f changeset: 14050:c2285f2bda0f user: Martin Taal <martin.taal <at> openbravo.com> date: Sat Oct 22 13:18:30 2011 +0200 summary: Fixes issue 18829: Set the request/response object in the RequestContext using a filter Set RequestContext information using a filter so that it also works for requests outside of the KernelServlet diffstat: modules/org.openbravo.client.application/src-db/database/model/tables/OBUIAPP_NOTE.xml | 10 +- modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODEL_OBJECT.xml | 14 + modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml | 10 + modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/BaseKernelServlet.java | 3 - modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelFilter.java | 74 ++++++++++ 5 files changed, 106 insertions(+), 5 deletions(-) diffs (164 lines): diff -r f445314a308e -r c2285f2bda0f modules/org.openbravo.client.application/src-db/database/model/tables/OBUIAPP_NOTE.xml --- a/modules/org.openbravo.client.application/src-db/database/model/tables/OBUIAPP_NOTE.xml Fri Oct 21 18:14:29 2011 +0200 +++ b/modules/org.openbravo.client.application/src-db/database/model/tables/OBUIAPP_NOTE.xml Sat Oct 22 13:18:30 2011 +0200 @@ -45,13 +45,19 @@ <default/> <onCreateDefault/> </column> + <foreign-key foreignTable="AD_CLIENT" name="OBUIAPP_NOTE_AD_CLIENT"> + <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/> + </foreign-key> + <foreign-key foreignTable="AD_ORG" name="OBUIAPP_NOTE_AD_ORG"> + <reference local="AD_ORG_ID" foreign="AD_ORG_ID"/> + </foreign-key> <foreign-key foreignTable="AD_TABLE" name="OBUIAPP_NOTE_AD_TABLE"> <reference local="AD_TABLE_ID" foreign="AD_TABLE_ID"/> </foreign-key> - <index name="FKI_OBUISEL_S_AD_TABLE" unique="false"> + <index name="OBUIAPP_NOTE_AD_TABLE" unique="false"> <index-column name="AD_TABLE_ID"/> </index> - <index name="FKI_OBUISEL_S_RECORD" unique="false"> + <index name="OBUIAPP_NOTE_RECORD" unique="false"> <index-column name="RECORD_ID"/> </index> </table> diff -r f445314a308e -r c2285f2bda0f modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODEL_OBJECT.xml --- a/modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODEL_OBJECT.xml Fri Oct 21 18:14:29 2011 +0200 +++ b/modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODEL_OBJECT.xml Sat Oct 22 13:18:30 2011 +0200 @@ -27,4 +27,18 @@ <!--FF8081812DB7706D012DB777A1AD0010--> <NAME><![CDATA[org.openbravo.client.kernel.KernelContextListener]]></NAME> <!--FF8081812DB7706D012DB777A1AD0010--></AD_MODEL_OBJECT> +<!--FF808181332A531601332A63F89D0007--><AD_MODEL_OBJECT> +<!--FF808181332A531601332A63F89D0007--> <AD_MODEL_OBJECT_ID><![CDATA[FF808181332A531601332A63F89D0007]]></AD_MODEL_OBJECT_ID> +<!--FF808181332A531601332A63F89D0007--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--FF808181332A531601332A63F89D0007--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--FF808181332A531601332A63F89D0007--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--FF808181332A531601332A63F89D0007--> <ACTION><![CDATA[M]]></ACTION> +<!--FF808181332A531601332A63F89D0007--> <CLASSNAME><![CDATA[org.openbravo.client.kernel.KernelFilter]]></CLASSNAME> +<!--FF808181332A531601332A63F89D0007--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--FF808181332A531601332A63F89D0007--> <AD_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_MODULE_ID> +<!--FF808181332A531601332A63F89D0007--> <OBJECT_TYPE><![CDATA[F]]></OBJECT_TYPE> +<!--FF808181332A531601332A63F89D0007--> <SEQNO><![CDATA[20]]></SEQNO> +<!--FF808181332A531601332A63F89D0007--> <NAME><![CDATA[Kernel Filter]]></NAME> +<!--FF808181332A531601332A63F89D0007--></AD_MODEL_OBJECT> + </data> diff -r f445314a308e -r c2285f2bda0f modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml --- a/modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml Fri Oct 21 18:14:29 2011 +0200 +++ b/modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml Sat Oct 22 13:18:30 2011 +0200 @@ -10,4 +10,14 @@ <!--3CDE7337975747B5A00189E114DB2948--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> <!--3CDE7337975747B5A00189E114DB2948--></AD_MODEL_OBJECT_MAPPING> +<!--FF808181332A531601332A640FE9000A--><AD_MODEL_OBJECT_MAPPING> +<!--FF808181332A531601332A640FE9000A--> <AD_MODEL_OBJECT_MAPPING_ID><![CDATA[FF808181332A531601332A640FE9000A]]></AD_MODEL_OBJECT_MAPPING_ID> +<!--FF808181332A531601332A640FE9000A--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--FF808181332A531601332A640FE9000A--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--FF808181332A531601332A640FE9000A--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--FF808181332A531601332A640FE9000A--> <AD_MODEL_OBJECT_ID><![CDATA[FF808181332A531601332A63F89D0007]]></AD_MODEL_OBJECT_ID> +<!--FF808181332A531601332A640FE9000A--> <MAPPINGNAME><![CDATA[/*]]></MAPPINGNAME> +<!--FF808181332A531601332A640FE9000A--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--FF808181332A531601332A640FE9000A--></AD_MODEL_OBJECT_MAPPING> + </data> diff -r f445314a308e -r c2285f2bda0f modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/BaseKernelServlet.java --- a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/BaseKernelServlet.java Fri Oct 21 18:14:29 2011 +0200 +++ b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/BaseKernelServlet.java Sat Oct 22 13:18:30 2011 +0200 @@ -50,7 +50,6 @@ public void init(ServletConfig config) { super.init(config); boolHist = false; - RequestContext.setServletContext(config.getServletContext()); } public void service(final HttpServletRequest request, HttpServletResponse response) @@ -60,8 +59,6 @@ final KernelHttpServletResponse localResponse = new KernelHttpServletResponse(); localResponse.setDelegate(response); - RequestContext.get().setRequest(request); - RequestContext.get().setResponse(localResponse); callServiceInSuper(request, localResponse); if (localResponse.isDoLogout()) { diff -r f445314a308e -r c2285f2bda0f modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelFilter.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelFilter.java Sat Oct 22 13:18:30 2011 +0200 @@ -0,0 +1,74 @@ +/* + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.1 (the "License"), being the Mozilla Public License + * Version 1.1 with a permitted attribution clause; you may not use this + * file except in compliance with the License. You may obtain a copy of + * the License at http://www.openbravo.com/legal/license.html + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + * License for the specific language governing rights and limitations + * under the License. + * The Original Code is Openbravo ERP. + * The Initial Developer of the Original Code is Openbravo SLU + * All portions are Copyright (C) 2011 Openbravo SLU + * All Rights Reserved. + * Contributor(s): ______________________________________. + ************************************************************************ + */ + +package org.openbravo.client.kernel; + +import java.io.IOException; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.openbravo.dal.core.DalThreadHandler; + +/** + * Sets the request/response object in the request context. + * + * @author mtaal + */ + +public class KernelFilter implements Filter { + + public void init(FilterConfig fConfig) throws ServletException { + RequestContext.setServletContext(fConfig.getServletContext()); + } + + public void destroy() { + } + + public void doFilter(final ServletRequest request, final ServletResponse response, + final FilterChain chain) throws IOException, ServletException { + final DalThreadHandler dth = new DalThreadHandler() { + + @Override + public void doBefore() { + RequestContext.get().setRequest((HttpServletRequest) request); + RequestContext.get().setResponse((HttpServletResponse) response); + } + + @Override + protected void doAction() throws Exception { + chain.doFilter(request, response); + } + + @Override + public void doFinal(boolean errorOccured) { + RequestContext.clear(); + super.doFinal(errorOccured); + } + }; + + dth.run(); + } +} \ No newline at end of file ------------------------------------------------------------------------------ The demand for IT networking professionals continues to grow, and the demand for specialized networking skills is growing even more rapidly. Take a complimentary Learning@Cisco Self-Assessment and learn about Cisco certifications, training, and career opportunities. http://p.sf.net/sfu/cisco-dev2dev _______________________________________________ Openbravo-commits mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openbravo-commits
