diff --git a/android/src/main/java/com/genexus/internet/HttpContextNull.java b/android/src/main/java/com/genexus/internet/HttpContextNull.java index ab8564153..e3ab69618 100644 --- a/android/src/main/java/com/genexus/internet/HttpContextNull.java +++ b/android/src/main/java/com/genexus/internet/HttpContextNull.java @@ -360,4 +360,7 @@ public java.util.Date server2webcli(java.util.Date dt) { return dt; } + + public boolean isHttpContextNull() {return true;} + public boolean isHttpContextWeb() {return false;} } diff --git a/common/src/main/java/com/genexus/IHttpContext.java b/common/src/main/java/com/genexus/IHttpContext.java index 10f36e83e..c7d737ab8 100644 --- a/common/src/main/java/com/genexus/IHttpContext.java +++ b/common/src/main/java/com/genexus/IHttpContext.java @@ -58,6 +58,8 @@ public interface IHttpContext { void webPutSessionValue(String name, long value); void webPutSessionValue(String name, double value); + boolean isHttpContextNull(); + boolean isHttpContextWeb(); } diff --git a/common/src/main/java/com/genexus/ModelContext.java b/common/src/main/java/com/genexus/ModelContext.java index 0098ecd11..b2f85635a 100644 --- a/common/src/main/java/com/genexus/ModelContext.java +++ b/common/src/main/java/com/genexus/ModelContext.java @@ -154,6 +154,11 @@ public void setHttpContext(IHttpContext httpContext) this.httpContext = httpContext; if (this.httpContext!=null) this.httpContext.setStaticContentBase(staticContentBase); + + if (((ModelContext)threadModelContext.get()).getHttpContext().isHttpContextNull() && httpContext.isHttpContextWeb()) + { + threadModelContext.set(this); + } } public boolean getPoolConnections() diff --git a/java/src/main/java/com/genexus/internet/HttpContext.java b/java/src/main/java/com/genexus/internet/HttpContext.java index 065282b2e..b9b7eeb38 100644 --- a/java/src/main/java/com/genexus/internet/HttpContext.java +++ b/java/src/main/java/com/genexus/internet/HttpContext.java @@ -341,6 +341,9 @@ protected void copyCommon(HttpContext ctx) public abstract void ajax_rsp_command_close(); public abstract void dispatchAjaxCommands(); + public abstract boolean isHttpContextNull(); + public abstract boolean isHttpContextWeb(); + public void AddDeferredFrags() { Enumeration vEnum = deferredFragments.elements(); diff --git a/java/src/main/java/com/genexus/internet/HttpContextNull.java b/java/src/main/java/com/genexus/internet/HttpContextNull.java index 7a864e4d4..4a58efa48 100644 --- a/java/src/main/java/com/genexus/internet/HttpContextNull.java +++ b/java/src/main/java/com/genexus/internet/HttpContextNull.java @@ -420,4 +420,7 @@ public void flushStream(){} public void getMultimediaValue(String internalName, String[] blobVar, String[] uriVar) { blobVar[0] = ""; uriVar[0] = ""; } public void cleanup() {} public boolean isMultipartContent() { return false; } + + public boolean isHttpContextNull() {return true;} + public boolean isHttpContextWeb() {return false;} } diff --git a/java/src/main/java/com/genexus/webpanels/HttpContextWeb.java b/java/src/main/java/com/genexus/webpanels/HttpContextWeb.java index 1cced1082..c44d41d5f 100644 --- a/java/src/main/java/com/genexus/webpanels/HttpContextWeb.java +++ b/java/src/main/java/com/genexus/webpanels/HttpContextWeb.java @@ -1447,4 +1447,6 @@ public void cleanup() { } } + public boolean isHttpContextNull() {return false;} + public boolean isHttpContextWeb() {return true;} }