diff --git a/cms-api/src/main/java/com/condation/cms/api/module/CMSRequestContext.java b/cms-api/src/main/java/com/condation/cms/api/module/CMSRequestContext.java index e931c503c..ac3a596e7 100644 --- a/cms-api/src/main/java/com/condation/cms/api/module/CMSRequestContext.java +++ b/cms-api/src/main/java/com/condation/cms/api/module/CMSRequestContext.java @@ -23,7 +23,9 @@ */ +import com.condation.cms.api.feature.Feature; import com.condation.cms.api.feature.FeatureContainer; +import com.condation.cms.api.request.RequestContext; import com.condation.modules.api.ModuleRequestContext; import lombok.RequiredArgsConstructor; @@ -34,4 +36,39 @@ @RequiredArgsConstructor public class CMSRequestContext extends FeatureContainer implements ModuleRequestContext { + private final RequestContext requestContext; + + @Override + public void close() throws Exception { + if (requestContext == null) { + return; + } + requestContext.close(); + } + + @Override + public T get(Class featureClass) { + if (requestContext == null) { + return null; + } + return requestContext.get(featureClass); + } + + @Override + public void add(Class featureClass, T feature) { + if (requestContext == null) { + return; + } + requestContext.add(featureClass, feature); + } + + @Override + public boolean has(Class featureClass) { + if (requestContext == null) { + return false; + } + return requestContext.has(featureClass); + } + + } diff --git a/cms-server/src/main/java/com/condation/cms/server/configs/ModulesModule.java b/cms-server/src/main/java/com/condation/cms/server/configs/ModulesModule.java index 4b0a4d776..039ed6db8 100644 --- a/cms-server/src/main/java/com/condation/cms/server/configs/ModulesModule.java +++ b/cms-server/src/main/java/com/condation/cms/server/configs/ModulesModule.java @@ -95,12 +95,7 @@ public ModuleManager moduleManager(Injector injector, CMSModuleContext context, @Singleton public ModuleRequestContextFactory requestContextFactory() { return () -> { - final CMSRequestContext requestContext = new CMSRequestContext(); - var rc = ThreadLocalRequestContext.REQUEST_CONTEXT.get(); - if (rc != null) { - requestContext.features.putAll(rc.features); - } - return requestContext; + return new CMSRequestContext(ThreadLocalRequestContext.REQUEST_CONTEXT.get()); }; } diff --git a/distribution/build.xml b/distribution/build.xml index ab1ebee05..48df4d352 100644 --- a/distribution/build.xml +++ b/distribution/build.xml @@ -1,6 +1,6 @@ - 7.5.0 + 7.6.0