You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by th...@apache.org on 2020/10/08 21:38:45 UTC
[tapestry-5] branch java9modules updated: TAP5-2644: split
tapestry-http out of tapestry-core
This is an automated email from the ASF dual-hosted git repository.
thiagohp pushed a commit to branch java9modules
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git
The following commit(s) were added to refs/heads/java9modules by this push:
new c9668b8 TAP5-2644: split tapestry-http out of tapestry-core
c9668b8 is described below
commit c9668b894efaf3b1c8bd267f47d21882ed1a2ece
Author: Thiago H. de Paula Figueiredo <th...@arsmachina.com.br>
AuthorDate: Thu Oct 8 18:33:05 2020 -0300
TAP5-2644: split tapestry-http out of tapestry-core
---
settings.gradle | 2 +-
.../org/example/testapp/services/AppModule.java | 3 +-
tapestry-core/build.gradle | 1 +
.../src/main/java/org/apache/tapestry5/Asset.java | 2 +-
.../BaseOptimizedSessionPersistedObject.java | 4 +-
.../org/apache/tapestry5/ComponentResources.java | 2 +-
.../apache/tapestry5/ComponentResourcesCommon.java | 1 +
.../java/org/apache/tapestry5/CookieBuilder.java | 2 +-
.../java/org/apache/tapestry5/EventConstants.java | 1 +
.../tapestry5/ExceptionHandlerAssistant.java | 1 +
.../java/org/apache/tapestry5/PageCallback.java | 3 +-
.../org/apache/tapestry5/PersistenceConstants.java | 2 +-
.../java/org/apache/tapestry5/StreamResponse.java | 4 +-
.../java/org/apache/tapestry5/SymbolConstants.java | 62 +-
.../org/apache/tapestry5/TapestryConstants.java | 4 +-
.../java/org/apache/tapestry5/TapestryFilter.java | 167 +-----
.../org/apache/tapestry5/alerts/AlertStorage.java | 2 +-
.../annotations/ActivationRequestParameter.java | 4 +-
.../org/apache/tapestry5/annotations/Persist.java | 2 +-
.../tapestry5/annotations/RequestParameter.java | 2 +-
.../tapestry5/annotations/SessionAttribute.java | 3 +-
.../apache/tapestry5/annotations/SessionState.java | 2 +-
.../corelib/base/AbstractComponentEventLink.java | 4 +-
.../tapestry5/corelib/base/AbstractField.java | 2 +-
.../corelib/base/AbstractInternalPage.java | 2 +-
.../tapestry5/corelib/base/AbstractLink.java | 5 +-
.../tapestry5/corelib/components/ActionLink.java | 2 +-
.../tapestry5/corelib/components/AjaxFormLoop.java | 1 +
.../tapestry5/corelib/components/Alerts.java | 4 +-
.../tapestry5/corelib/components/Checklist.java | 2 +-
.../tapestry5/corelib/components/DevTool.java | 8 +-
.../tapestry5/corelib/components/EventLink.java | 2 +-
.../apache/tapestry5/corelib/components/Form.java | 3 +-
.../tapestry5/corelib/components/GridColumns.java | 2 +-
.../tapestry5/corelib/components/GridPager.java | 3 +-
.../tapestry5/corelib/components/Hidden.java | 2 +-
.../apache/tapestry5/corelib/components/Label.java | 3 +-
.../tapestry5/corelib/components/LinkSubmit.java | 2 +-
.../tapestry5/corelib/components/PageLink.java | 2 +-
.../corelib/components/ProgressiveDisplay.java | 1 +
.../tapestry5/corelib/components/RadioGroup.java | 2 +-
.../tapestry5/corelib/components/Select.java | 3 +-
.../tapestry5/corelib/components/Submit.java | 2 +-
.../apache/tapestry5/corelib/components/Tree.java | 1 +
.../tapestry5/corelib/mixins/Autocomplete.java | 1 +
.../tapestry5/corelib/mixins/ZoneRefresh.java | 1 +
.../corelib/pages/ComponentLibraries.java | 4 +-
.../tapestry5/corelib/pages/ExceptionReport.java | 15 +-
.../tapestry5/corelib/pages/PageCatalog.java | 4 +-
.../tapestry5/corelib/pages/ServiceStatus.java | 4 +-
.../tapestry5/corelib/pages/T5Dashboard.java | 3 +-
.../internal/ContextResourceSymbolProvider.java | 4 +-
.../tapestry5/internal/InternalConstants.java | 29 +-
.../apache/tapestry5/internal/InternalSymbols.java | 14 -
.../tapestry5/internal/TapestryInternalUtils.java | 1 +
.../internal/alerts/AlertManagerImpl.java | 2 +-
.../internal/pageload/PageLoaderImpl.java | 2 +-
.../internal/renderers/RequestRenderer.java | 8 +-
.../internal/services/AbstractAssetFactory.java | 2 +-
.../AbstractSessionPersistentFieldStrategy.java | 4 +-
.../services/AjaxComponentEventRequestHandler.java | 2 +-
.../tapestry5/internal/services/AjaxFilter.java | 2 +-
.../AjaxLinkComponentEventResultProcessor.java | 4 +-
.../AjaxPageNameComponentEventResultProcessor.java | 4 +-
.../services/AjaxPartialResponseRendererImpl.java | 9 +-
.../ApplicationStackTraceElementAnalyzer.java | 4 +-
.../internal/services/AssetDispatcher.java | 6 +-
.../internal/services/AssetSourceImpl.java | 2 +-
.../internal/services/CheckForUpdatesFilter.java | 8 +-
.../internal/services/ClasspathAssetFactory.java | 2 +-
.../services/ClientBehaviorSupportImpl.java | 2 +-
.../internal/services/ClientDataEncoderImpl.java | 4 +-
.../services/ClientPersistentFieldStorage.java | 2 +-
.../services/ClientPersistentFieldStorageImpl.java | 6 +-
.../services/ClientPersistentFieldStrategy.java | 2 +-
.../services/ComponentEventDispatcher.java | 6 +-
.../services/ComponentEventLinkEncoderImpl.java | 10 +-
.../services/ComponentEventRequestHandlerImpl.java | 2 +-
.../services/ComponentInstantiatorSourceImpl.java | 4 +-
.../services/ComponentMessagesSourceImpl.java | 4 +-
.../internal/services/ComponentSourceImpl.java | 2 +-
.../services/ComponentTemplateSourceImpl.java | 4 +-
.../internal/services/ContextAssetFactory.java | 4 +-
.../internal/services/ContextResource.java | 2 +-
.../tapestry5/internal/services/CookiesImpl.java | 6 +-
.../services/DefaultRequestExceptionHandler.java | 6 +-
.../services/DeferredResponseRenderer.java | 2 +-
.../services/EndOfRequestEventHubImpl.java | 2 +-
.../services/FlashPersistentFieldStrategy.java | 4 +-
.../HttpErrorComponentEventResultProcessor.java | 2 +-
.../internal/services/IgnoredPathsFilter.java | 4 +-
.../InternalComponentInvalidationEventHubImpl.java | 4 +-
.../services/JSONArrayEventResultProcessor.java | 7 +-
.../internal/services/LinkDecorationListener.java | 2 +-
.../tapestry5/internal/services/LinkImpl.java | 8 +-
.../tapestry5/internal/services/LinkSource.java | 4 +-
.../internal/services/LinkSourceImpl.java | 4 +-
.../internal/services/LocalizationSetterImpl.java | 2 +-
.../internal/services/MarkupWriterFactoryImpl.java | 2 +-
.../internal/services/PageContentTypeAnalyzer.java | 4 +-
.../services/PageContentTypeAnalyzerImpl.java | 6 +-
.../PageNameComponentEventResultProcessor.java | 2 +-
.../internal/services/PageNameMetaInjector.java | 2 +-
.../internal/services/PageRenderDispatcher.java | 6 +-
.../services/PageRenderLinkSourceImpl.java | 2 +-
.../services/PageRenderRequestHandlerImpl.java | 2 +-
.../services/PageResponseRendererImpl.java | 6 +-
.../internal/services/PathConstructorImpl.java | 3 +-
.../ProductionModeUnknownComponentFilter.java | 2 +-
.../internal/services/ReloadHelperImpl.java | 4 +-
.../internal/services/RequestErrorFilter.java | 10 +-
.../internal/services/RequestOperationTracker.java | 2 +-
.../internal/services/RequestPageCacheImpl.java | 2 +-
.../internal/services/RequestSecurityManager.java | 4 +-
.../services/RequestSecurityManagerImpl.java | 8 +-
.../internal/services/ResourceStreamerImpl.java | 10 +-
.../internal/services/ResponseRendererImpl.java | 2 +-
.../services/RestoreDirtySessionObjects.java | 6 +-
.../internal/services/RootPathDispatcher.java | 6 +-
...SessionApplicationStatePersistenceStrategy.java | 4 +-
.../services/SessionPersistentFieldStrategy.java | 4 +-
.../internal/services/StaticFilesFilter.java | 10 +-
.../services/StreamPageContentResultProcessor.java | 4 +-
.../services/StreamResponseResultProcessor.java | 2 +-
.../services/ajax/AjaxFormUpdateFilter.java | 2 +-
.../services/ajax/AjaxResponseRendererImpl.java | 2 +-
.../services/assets/AssetPathConstructorImpl.java | 4 +-
.../internal/services/assets/CSSURLRewriter.java | 2 +-
.../assets/ClasspathAssetRequestHandler.java | 4 +-
.../services/assets/CompressionAnalyzerImpl.java | 2 +-
.../services/assets/ContentTypeAnalyzerImpl.java | 2 +-
.../assets/ContextAssetRequestHandler.java | 4 +-
.../internal/services/assets/DelegatingSRS.java | 2 +-
.../assets/JavaScriptStackAssemblerImpl.java | 2 +-
.../assets/JavaScriptStackMinimizeDisabler.java | 2 +-
.../services/assets/ResourceChangeTrackerImpl.java | 4 +-
.../services/assets/StackAssetRequestHandler.java | 4 +-
.../services/assets/StreamableResourceImpl.java | 4 +-
.../assets/StreamableResourceSourceImpl.java | 3 +-
.../services/assets/UTF8ForTextAssets.java | 2 +-
.../exceptions/ExceptionReportWriterImpl.java | 10 +-
.../javascript/ConfigureHTMLElementFilter.java | 4 +-
.../JavaScriptStackPathConstructorImpl.java | 2 +-
.../services/javascript/ModuleDispatcher.java | 6 +-
.../services/javascript/ModuleManagerImpl.java | 5 +-
.../linktransform/LinkTransformerImpl.java | 4 +-
.../linktransform/LinkTransformerInterceptor.java | 4 +-
.../services/security/ClientWhitelistImpl.java | 2 +-
.../internal/services/security/LocalhostOnly.java | 2 +-
.../structure/ComponentPageElementImpl.java | 1 +
.../structure/ComponentPageElementResources.java | 2 +-
.../ComponentPageElementResourcesImpl.java | 6 +-
.../ComponentPageElementResourcesSourceImpl.java | 5 +-
.../structure/InternalComponentResourcesImpl.java | 1 +
.../apache/tapestry5/internal/structure/Page.java | 2 +-
.../internal/test/EndOfRequestCleanupFilter.java | 10 +-
.../tapestry5/internal/test/PageTesterContext.java | 2 +-
.../tapestry5/internal/test/PageTesterModule.java | 12 +-
.../tapestry5/internal/test/PageTesterSession.java | 2 +-
.../tapestry5/internal/test/TestableRequest.java | 2 +-
.../internal/test/TestableRequestImpl.java | 6 +-
.../tapestry5/internal/test/TestableResponse.java | 6 +-
.../internal/test/TestableResponseImpl.java | 2 +-
.../ActivationRequestParameterWorker.java | 4 +-
.../internal/transform/OnEventWorker.java | 2 +-
.../internal/transform/SessionAttributeWorker.java | 4 +-
.../org/apache/tapestry5/modules/AssetsModule.java | 21 +-
.../apache/tapestry5/modules/InternalModule.java | 7 +-
.../apache/tapestry5/modules/JavaScriptModule.java | 4 +-
.../apache/tapestry5/modules/PageLoadModule.java | 3 +-
.../apache/tapestry5/modules/TapestryModule.java | 626 ++++++++++-----------
.../tapestry5/services/AssetRequestDispatcher.java | 2 +-
.../tapestry5/services/ClientBehaviorSupport.java | 2 +-
.../services/ComponentEventLinkEncoder.java | 11 +-
.../services/ComponentEventResultProcessor.java | 2 +-
.../apache/tapestry5/services/ComponentSource.java | 2 +
.../org/apache/tapestry5/services/Cookies.java | 3 +-
.../tapestry5/services/DelegatingRequest.java | 3 +
.../services/InitializeActivePageName.java | 2 +
.../apache/tapestry5/services/LinkCreationHub.java | 2 +-
.../tapestry5/services/LinkCreationListener.java | 2 +-
.../tapestry5/services/LinkCreationListener2.java | 2 +-
.../tapestry5/services/MarkupWriterFactory.java | 2 +-
.../tapestry5/services/PageRenderLinkSource.java | 2 +-
.../apache/tapestry5/services/PathConstructor.java | 4 +-
.../tapestry5/services/ResponseRenderer.java | 4 +-
.../tapestry5/services/StreamPageContent.java | 2 +-
.../services/assets/AssetRequestHandler.java | 4 +-
.../services/assets/CompressionStatus.java | 2 +-
.../services/assets/ContentTypeAnalyzer.java | 2 +-
.../services/assets/ResourceTransformer.java | 2 +-
.../services/assets/ResponseCustomizer.java | 4 +-
.../services/assets/StreamableResource.java | 2 +-
.../services/assets/StreamableResourceSource.java | 2 +-
.../ComponentEventLinkTransformer.java | 4 +-
.../linktransform/PageRenderLinkTransformer.java | 4 +-
.../pageload/ComponentRequestSelectorAnalyzer.java | 2 +-
.../services/security/WhitelistAnalyzer.java | 2 +-
.../java/org/apache/tapestry5/test/PageTester.java | 16 +-
.../apache/tapestry5/test/TapestryTestCase.java | 17 +-
.../org/apache/tapestry5/util/ResponseWrapper.java | 6 +-
.../apache/tapestry5/util/TextStreamResponse.java | 6 +-
.../corelib/components/PageLinkTest.groovy | 2 +-
.../integration/app5/components/Layout.groovy | 4 +-
.../integration/app5/pages/Error404.groovy | 4 +-
.../integration/app5/services/AppModule.groovy | 2 +-
.../symbolparam/components/Layout.groovy | 4 +-
.../ResponseCompressionAnalyzerTest.groovy | 3 +-
.../assets/AssetPathConstructorImplTest.groovy | 4 +-
.../ComponentPageElementResourcesImplTest.groovy | 4 +-
.../javascript/ModuleDispatcherTests.groovy | 4 +-
.../tapestry5/corelib/base/AbstractLinkTest.java | 2 +-
.../tapestry5/corelib/components/SelectTest.java | 2 +-
.../tapestry5/corelib/components/SubmitTest.java | 2 +-
.../activationctx/services/AppModule.java | 3 +-
.../activationctx2/services/AppModule.java | 3 +-
.../integration/app1/components/Border.java | 2 +-
.../integration/app1/pages/ActionViaLinkDemo.java | 2 +-
.../integration/app1/pages/AtInjectDemo.java | 2 +-
.../app1/pages/ClientPersistenceDemo.java | 4 +-
.../app1/pages/DecorateComponentEventLinkDemo.java | 2 +-
.../app1/pages/DecoratePageRenderLinkDemo.java | 2 +-
.../integration/app1/pages/FormLinkParameters.java | 2 +-
.../tapestry5/integration/app1/pages/Index.java | 2 +-
.../integration/app1/pages/InjectDemo.java | 2 +-
.../app1/pages/LinkQueryParameters.java | 4 +-
.../integration/app1/pages/Localization.java | 2 +-
.../app1/pages/MultiZoneUpdateInsideForm.java | 2 +-
.../integration/app1/pages/OnActivateRedirect.java | 2 +-
.../app1/pages/RequestParameterDemo.java | 2 +-
.../app1/pages/SessionAttributeDemo.java | 2 +-
.../integration/app1/services/AppModule.java | 13 +-
.../app2/pages/TestPageForHttpHeaders.java | 2 +-
.../integration/app3/services/AppModule.java | 7 +-
.../cluster/data/ImmutableByAnnotation.java | 2 +-
.../integration/cluster/services/AppModule.java | 2 +-
.../services/AppComponentEventLinkTransformer.java | 4 +-
.../integration/linktrans/services/AppModule.java | 3 +-
.../services/AppPageRenderLinkTransformer.java | 4 +-
.../integration/pagetester/PageTesterTest.java | 4 +-
.../integration/reload/services/AppModule.java | 3 +-
.../ContextResourceSymbolProviderTest.java | 2 +-
.../tapestry5/internal/ResponseImplTest.java | 4 +-
.../internal/ServletContextSymbolProviderTest.java | 1 +
.../internal/SingleKeySymbolProviderTest.java | 1 +
.../internal/TapestryAppInitializerTest.java | 1 +
.../internal/services/BaseURLSourceImplTest.java | 5 +-
.../ClientPersistentFieldStorageImplTest.java | 6 +-
.../services/ComponentEventDispatcherTest.java | 6 +-
.../ComponentEventLinkEncoderImplTest.java | 8 +-
.../internal/services/ComponentSourceImplTest.java | 2 +-
.../internal/services/ContextImplTest.java | 3 +-
.../internal/services/ContextResourceTest.java | 2 +-
.../DefaultRequestExceptionHandlerTest.java | 6 +-
.../services/EndOfRequestEventHubImplTest.java | 4 +-
.../services/FlashPersistentFieldStrategyTest.java | 4 +-
.../services/ForceDevelopmentModeModule.java | 7 +-
.../internal/services/IgnoredPathsFilterTest.java | 4 +-
.../JSONArrayEventResultProcessorTest.java | 2 +-
.../tapestry5/internal/services/LinkImplTest.java | 8 +-
.../internal/services/LinkSourceImplTest.java | 4 +-
.../services/LocalizationSetterImplTest.java | 2 +-
.../services/PageRenderLinkSourceImplTest.java | 2 +-
.../services/PageRenderRequestHandlerImplTest.java | 2 +-
.../internal/services/RequestImplTest.java | 10 +-
.../services/RequestSecurityManagerImplTest.java | 8 +-
.../services/ResponseRendererImplTest.java | 4 +-
...ionApplicationStatePersistenceStrategyTest.java | 4 +-
.../internal/services/SessionImplTest.java | 7 +-
.../SessionPersistentFieldStrategyTest.java | 4 +-
.../internal/services/StaticFilesFilterTest.java | 10 +-
.../internal/test/InternalBaseTestCase.java | 6 +-
.../org/apache/tapestry5/root/ContentTypeTest.java | 2 +-
.../apache/tapestry5/root/PageCallbackTest.java | 2 +-
.../web/HibernatePersistenceConstants.java | 2 +-
.../EntityApplicationStatePersistenceStrategy.java | 4 +-
.../internal/EntityPersistentFieldStrategy.java | 2 +-
.../hibernate/web/internal/PersistedEntity.java | 2 +-
.../hibernate/web/modules/HibernateModule.java | 4 +-
.../hibernate/web/pages/HibernateStatistics.java | 4 +-
.../java/org/example/app0/pages/SSOEntity.java | 4 +-
.../java/org/example/app0/services/AppModule.java | 6 +-
tapestry-http/build.gradle | 31 +
.../tapestry-core/project.properties | 0
.../org/apache/tapestry5/http}/ContentType.java | 14 +-
.../main/java/org/apache/tapestry5/http}/Link.java | 16 +-
.../org/apache/tapestry5/http}/LinkSecurity.java | 2 +-
.../http}/OptimizedSessionPersistedObject.java | 4 +-
.../org/apache/tapestry5/http}/TapestryFilter.java | 37 +-
.../tapestry5/http/TapestryHttpConstants.java | 28 +-
.../http/TapestryHttpSymbolConstants.java | 136 +++++
.../http}/internal/AbstractContributionDef.java | 2 +-
.../internal/ServletContextSymbolProvider.java | 4 +-
.../http}/internal/SingleKeySymbolProvider.java | 2 +-
.../http}/internal/SyntheticModuleDef.java | 2 +-
.../SyntheticSymbolSourceContributionDef.java | 2 +-
.../http}/internal/TapestryAppInitializer.java | 54 +-
.../internal/TapestryHttpInternalConstants.java | 45 ++
.../http/internal/TapestryHttpInternalSymbols.java | 17 +-
.../internal/gzip/BufferedGZipOutputStream.java | 19 +-
.../http}/internal/gzip/GZIPEnabledResponse.java | 11 +-
.../tapestry5/http}/internal/gzip/GZipFilter.java | 19 +-
.../internal/services/ApplicationGlobalsImpl.java | 8 +-
.../http}/internal/services/BaseURLSourceImpl.java | 12 +-
.../internal/services/ClusteredSessionImpl.java | 6 +-
.../http}/internal/services/ContextImpl.java | 4 +-
.../DefaultSessionPersistedObjectAnalyzer.java | 10 +-
.../OptimizedSessionPersistedObjectAnalyzer.java | 8 +-
.../internal/services/RequestGlobalsImpl.java | 8 +-
.../http}/internal/services/RequestImpl.java | 58 +-
.../services/ResponseCompressionAnalyzerImpl.java | 16 +-
.../http}/internal/services/ResponseImpl.java | 10 +-
.../http}/internal/services/SessionImpl.java | 4 +-
.../http}/internal/services/SessionLock.java | 2 +-
.../internal/services/TapestrySessionFactory.java | 6 +-
.../services/TapestrySessionFactoryImpl.java | 23 +-
.../internal/util/DelegatingSymbolProvider.java | 2 +-
.../tapestry5/http/modules/TapestryHttpModule.java | 411 ++++++++++++++
.../http}/services/ApplicationGlobals.java | 6 +-
.../http}/services/ApplicationInitializer.java | 7 +-
.../services/ApplicationInitializerFilter.java | 6 +-
.../tapestry5/http}/services/BaseURLSource.java | 16 +-
.../http/services}/CompressionAnalyzer.java | 2 +-
.../apache/tapestry5/http}/services/Context.java | 2 +-
.../tapestry5/http}/services/Dispatcher.java | 4 +-
.../http}/services/HttpServletRequestFilter.java | 5 +-
.../http}/services/HttpServletRequestHandler.java | 11 +-
.../apache/tapestry5/http}/services/Request.java | 5 +-
.../tapestry5/http}/services/RequestFilter.java | 4 +-
.../tapestry5/http}/services/RequestGlobals.java | 7 +-
.../tapestry5/http}/services/RequestHandler.java | 8 +-
.../apache/tapestry5/http}/services/Response.java | 4 +-
.../services/ResponseCompressionAnalyzer.java | 7 +-
.../services/ServletApplicationInitializer.java | 6 +-
.../ServletApplicationInitializerFilter.java | 6 +-
.../apache/tapestry5/http}/services/Session.java | 14 +-
.../services/SessionPersistedObjectAnalyzer.java | 4 +-
.../http/test/TapestryHttpIntegrationTests.java | 32 ++
.../apache/tapestry5/http/test/TestDispatcher.java | 38 ++
.../http/test/TestHttpServletRequestFilter.java | 25 +
.../tapestry5/http/test/TestRequestFilter.java | 24 +
.../tapestry5/http/test/services/AppModule.java | 35 ++
tapestry-http/src/test/webapp/WEB-INF/web.xml | 35 ++
tapestry-http/src/test/webapp/index.html | 7 +
.../src/test/webapp/longfile.txt | 626 ++++++++++-----------
.../org/example/testapp/services/AppModule.java | 4 +-
.../EntityApplicationStatePersistenceStrategy.java | 2 +-
.../jpa/EntityPersistentFieldStrategy.java | 2 +-
.../tapestry5/internal/jpa/PersistedEntity.java | 2 +-
.../tapestry5/jpa/JpaPersistenceConstants.java | 2 +-
.../apache/tapestry5/jpa/modules/JpaModule.java | 4 +-
.../org/apache/tapestry5/jpa/test/JpaTest.java | 2 +-
.../apache/tapestry5/jpa/test/JpaTestModule.java | 4 +-
.../java/org/example/app1/pages/SSOEntity.java | 4 +-
.../java/org/example/app1/services/AppModule.java | 4 +-
.../java/org/example/app6/pages/SSOEntity.java | 4 +-
.../java/org/example/app6/services/AppModule.java | 4 +-
.../tapestry5/kaptcha/components/KaptchaImage.java | 4 +-
.../test/java/kaptcha/demo/services/AppModule.java | 5 +-
.../tapestry5/internal/spring/SpringModuleDef.java | 2 +-
.../spring/TapestryApplicationContext.java | 2 +-
.../tapestry5/spring/TapestrySpringFilter.java | 2 +-
.../tapestry5/spring/modules/SpringModule.java | 6 +-
.../spring/TapestryApplicationContextTest.java | 2 +-
.../org/example/testapp/services/AppModule.java | 4 +-
.../testapp/services/SpringStatusProvider.java | 2 +-
.../org/example/testapp1/services/AppModule.java | 4 +-
.../apache/tapestry5/upload/components/Upload.java | 2 +-
.../internal/services/MultipartDecoderImpl.java | 4 +-
.../services/MultipartServletRequestFilter.java | 4 +-
.../services/ParametersServletRequestWrapper.java | 2 +-
.../tapestry5/upload/modules/UploadModule.java | 2 +-
.../tapestry5/upload/components/UploadTest.java | 2 +-
.../MultipartServletRequestFilterTest.java | 2 +-
.../org/example/upload/services/AppModule.java | 4 +-
.../webresources/CoffeeScriptCompiler.java | 2 +-
.../DelegatingResourceTransformer.java | 2 +-
.../webresources/GoogleClosureMinimizer.java | 2 +-
.../webresources/LessResourceTransformer.java | 3 +-
.../ResourceTransformerFactoryImpl.java | 3 +-
.../internal/webresources/TypeScriptCompiler.java | 2 +-
.../tests/TypeScriptCompilerSpec.groovy | 2 +-
.../ImmutableSessionPersistedObject.java | 4 +-
383 files changed, 2360 insertions(+), 1661 deletions(-)
diff --git a/settings.gradle b/settings.gradle
index 5368408..ea133d0 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,4 +1,4 @@
-include "plastic", "tapestry5-annotations", "tapestry-test", "tapestry-func", "tapestry-ioc", "tapestry-json", "tapestry-core"
+include "plastic", "tapestry5-annotations", "tapestry-test", "tapestry-func", "tapestry-ioc", "tapestry-json", "tapestry-http", "tapestry-core"
include "tapestry-hibernate-core", "tapestry-hibernate", "tapestry-jmx", "tapestry-upload", "tapestry-spring"
include "tapestry-beanvalidator", "tapestry-jpa", "tapestry-kaptcha"
include "tapestry-javadoc", "quickstart", "tapestry-clojure", "tapestry-mongodb"
diff --git a/tapestry-beanvalidator/src/test/java/org/example/testapp/services/AppModule.java b/tapestry-beanvalidator/src/test/java/org/example/testapp/services/AppModule.java
index 71f6836..3da7bf7 100644
--- a/tapestry-beanvalidator/src/test/java/org/example/testapp/services/AppModule.java
+++ b/tapestry-beanvalidator/src/test/java/org/example/testapp/services/AppModule.java
@@ -18,6 +18,7 @@ import org.apache.tapestry5.beanvalidator.modules.BeanValidatorModule;
import org.apache.tapestry5.commons.Configuration;
import org.apache.tapestry5.commons.MappedConfiguration;
import org.apache.tapestry5.commons.OrderedConfiguration;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.ioc.annotations.ImportModule;
@ImportModule(BeanValidatorModule.class)
@@ -26,7 +27,7 @@ public class AppModule
public static void contributeApplicationDefaults(MappedConfiguration<String, String> configuration)
{
- configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
+ configuration.add(TapestryHttpSymbolConstants.PRODUCTION_MODE, "false");
configuration.add(SymbolConstants.HMAC_PASSPHRASE, "u93490jhsprf2904rh29-3uj");
}
diff --git a/tapestry-core/build.gradle b/tapestry-core/build.gradle
index 0bf5c12..56cbbf3 100644
--- a/tapestry-core/build.gradle
+++ b/tapestry-core/build.gradle
@@ -15,6 +15,7 @@ dependencies {
compile project(':tapestry-ioc')
compile project(':tapestry-json')
compile project(':beanmodel')
+ compile project(':tapestry-http')
provided project(":tapestry-test")
provided project(":tapestry-test-constants")
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/Asset.java b/tapestry-core/src/main/java/org/apache/tapestry5/Asset.java
index b18488e..4108a7d 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/Asset.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/Asset.java
@@ -40,7 +40,7 @@ public interface Asset
* checksum. This wasn't an issue in earlier releases where the clientURL incorporated a version number.
*
* Finally, starting in 5.4, this value will often be <em>variant</em>: the exact URL returned will depend on
- * whether the underlying resource content is compressable, whether the current {@link org.apache.tapestry5.services.Request}
+ * whether the underlying resource content is compressable, whether the current {@link org.apache.tapestry5.http.services.Request}
* supports compression.
*
* @see org.apache.tapestry5.services.AssetSource
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/BaseOptimizedSessionPersistedObject.java b/tapestry-core/src/main/java/org/apache/tapestry5/BaseOptimizedSessionPersistedObject.java
index b66acf5..f0f040c 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/BaseOptimizedSessionPersistedObject.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/BaseOptimizedSessionPersistedObject.java
@@ -16,9 +16,11 @@ import java.io.IOException;
import java.io.Serializable;
import java.util.concurrent.atomic.AtomicBoolean;
+import org.apache.tapestry5.http.OptimizedSessionPersistedObject;
+
/**
* Base implementation of
- * {@link org.apache.tapestry5.OptimizedSessionPersistedObject}. Subclasses
+ * {@link org.apache.tapestry5.http.OptimizedSessionPersistedObject}. Subclasses
* should invoke {@link #markDirty()} after the internal state of the object changes.
*
* Due to the concurrent nature of session attributes it's important that markDirty occurs <strong>after</strong>
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResources.java b/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResources.java
index 23c23fa..306fc86 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResources.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResources.java
@@ -206,7 +206,7 @@ public interface ComponentResources extends ComponentResourcesCommon
/**
* Discards all persistent field changes for the page containing the component. Changes are eliminated from
- * persistent storage (such as the {@link org.apache.tapestry5.services.Session}) which will take effect in the
+ * persistent storage (such as the {@link org.apache.tapestry5.http.services.Session}) which will take effect in the
* <em>next</em> request (the attached page instance is not affected).
*/
void discardPersistentFieldChanges();
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResourcesCommon.java b/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResourcesCommon.java
index eeb66aa..5e5128c 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResourcesCommon.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResourcesCommon.java
@@ -13,6 +13,7 @@
package org.apache.tapestry5;
import org.apache.tapestry5.commons.Locatable;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.services.pageload.ComponentResourceSelector;
import org.slf4j.Logger;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/CookieBuilder.java b/tapestry-core/src/main/java/org/apache/tapestry5/CookieBuilder.java
index 3f54318..076f41b 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/CookieBuilder.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/CookieBuilder.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5;
-import org.apache.tapestry5.services.Request;
+import org.apache.tapestry5.http.services.Request;
/**
* A fluent API to create and write cookies. Used by the
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/EventConstants.java b/tapestry-core/src/main/java/org/apache/tapestry5/EventConstants.java
index 223f4c8..9e72c10 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/EventConstants.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/EventConstants.java
@@ -12,6 +12,7 @@
package org.apache.tapestry5;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.ioc.util.IdAllocator;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.ComponentSource;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/ExceptionHandlerAssistant.java b/tapestry-core/src/main/java/org/apache/tapestry5/ExceptionHandlerAssistant.java
index bfbc553..f260d6d 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/ExceptionHandlerAssistant.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/ExceptionHandlerAssistant.java
@@ -12,6 +12,7 @@
package org.apache.tapestry5;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.services.RequestExceptionHandler;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/PageCallback.java b/tapestry-core/src/main/java/org/apache/tapestry5/PageCallback.java
index 18574b7..e2b1df4 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/PageCallback.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/PageCallback.java
@@ -12,7 +12,8 @@
package org.apache.tapestry5;
-import org.apache.tapestry5.annotations.ImmutableSessionPersistedObject;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.annotations.ImmutableSessionPersistedObject;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.services.PageRenderLinkSource;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/PersistenceConstants.java b/tapestry-core/src/main/java/org/apache/tapestry5/PersistenceConstants.java
index c722bd2..ddd38c4 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/PersistenceConstants.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/PersistenceConstants.java
@@ -22,7 +22,7 @@ package org.apache.tapestry5;
public class PersistenceConstants
{
/**
- * The field's value is stored in the {@link org.apache.tapestry5.services.Session}.
+ * The field's value is stored in the {@link org.apache.tapestry5.http.services.Session}.
*/
public static final String SESSION = "session";
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/StreamResponse.java b/tapestry-core/src/main/java/org/apache/tapestry5/StreamResponse.java
index 9b0ec89..bb2dba0 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/StreamResponse.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/StreamResponse.java
@@ -14,12 +14,12 @@
package org.apache.tapestry5;
-import org.apache.tapestry5.services.Response;
-
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
+import org.apache.tapestry5.http.services.Response;
+
/**
* An alternate response from a component event handler method used to directly provide a stream of data to be sent to
* the client, rather than indicating what page to send a render redirect request to.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java b/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java
index 7b80cd4..4cb1f40 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java
@@ -19,6 +19,7 @@ import org.apache.tapestry5.corelib.components.BeanEditForm;
import org.apache.tapestry5.corelib.components.BeanEditor;
import org.apache.tapestry5.corelib.components.Errors;
import org.apache.tapestry5.corelib.mixins.FormGroup;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.internal.services.AssetDispatcher;
import org.apache.tapestry5.modules.NoBootstrapModule;
import org.apache.tapestry5.services.Html5Support;
@@ -39,25 +40,28 @@ public class SymbolConstants
* Each modes can contribute a list (comma separated) of Module classes to be loaded during startup,
* the order in which they appear is preserved.
* The default value is: <code>production</code>.
+ * This is an alias for {@link TapestryHttpSymbolConstants.EXECUTION_MODE}.
*/
- public static final String EXECUTION_MODE = "tapestry.execution-mode";
+ public static final String EXECUTION_MODE = TapestryHttpSymbolConstants.EXECUTION_MODE;
/**
* Indicates whether Tapestry is running in production mode or developer mode. This affects a large
* number of Tapestry behaviors related to performance and security, including how exceptions are
* reported, whether far-future expire headers are emitted, whether JavaScript files may be combined,
* whether JSON is compressed, whether component field and parameter values are shadowed to instance
* variables (to assist with debugging), and more.
+ *
+ * This is an alias to {@link TapestryHttpSymbolConstants#PRODUCTION_MODE}.
*/
- public static final String PRODUCTION_MODE = "tapestry.production-mode";
+ public static final String PRODUCTION_MODE = TapestryHttpSymbolConstants.PRODUCTION_MODE;
/**
- * A version of {@link #PRODUCTION_MODE} as a symbol reference. This can be used as the default value
+ * A version of {@link TapestryHttpSymbolConstants#PRODUCTION_MODE} as a symbol reference. This can be used as the default value
* of other symbols, to indicate that their default matches whatever PRODUCTION_MODE is set to, which is quite
* common.
*
* @since 5.2.0
*/
- public static final String PRODUCTION_MODE_VALUE = String.format("${%s}", PRODUCTION_MODE);
+ public static final String PRODUCTION_MODE_VALUE = String.format("${%s}", TapestryHttpSymbolConstants.PRODUCTION_MODE);
/**
* The list of locales supported by the application; locales identified in the incoming request are "narrowed" to
@@ -101,8 +105,9 @@ public class SymbolConstants
/**
* The charset used when rendering page markup; the charset is also used as the request encoding when handling
* incoming requests. The default is "UTF-8".
+ * This is an alias for {@link TapestryHttpSymbolConstants#CHARSET}
*/
- public static final String CHARSET = "tapestry.charset";
+ public static final String CHARSET = TapestryHttpSymbolConstants.CHARSET;
/**
* Used as the default for the Form's autofocus and clientValidation parameters. If overridden to "false", then
@@ -129,11 +134,12 @@ public class SymbolConstants
/**
* Minimum output stream size, in bytes, before output is compressed using GZIP. Shorter streams are not compressed.
* Tapestry buffers this amount and switches to a GZIP output stream as needed. The default is "100".
+ * This is an alias to {@link TapestryHttpSymbolConstants#MIN_GZIP_SIZE}.
*
- * @see #GZIP_COMPRESSION_ENABLED
+ * @see TapestryHttpSymbolConstants#GZIP_COMPRESSION_ENABLED
* @since 5.1.0.0
*/
- public static final String MIN_GZIP_SIZE = "tapestry.min-gzip-size";
+ public static final String MIN_GZIP_SIZE = TapestryHttpSymbolConstants.MIN_GZIP_SIZE;
/**
* Version number of the application. Prior to 5.4, this version number was integrated into asset URLs. Starting
@@ -141,12 +147,14 @@ public class SymbolConstants
* for documentation purposes; it appears in the default exception report page, for example.
*
* The default value is "0.0.1". In 5.3 and earlier, the default value was a random hexadecimal string.
+ *
+ * This is an alias to {@link TapestryHttpSymbolConstants#APPLICATION_VERSION}.
*
* @see AssetDispatcher
* @see AssetPathConstructor
* @since 5.1.0.0
*/
- public static final String APPLICATION_VERSION = "tapestry.application-version";
+ public static final String APPLICATION_VERSION = TapestryHttpSymbolConstants.APPLICATION_VERSION;
/**
* Used to omit the normal Tapestry framework generator meta tag. The meta tag is rendered by default, but clients
@@ -160,13 +168,14 @@ public class SymbolConstants
* If "true" (the default) then GZip compression is enabled for dynamic requests and for static assets. If you are
* using a server that handles GZip compression for you, or you don't want to use the extra processing power
* necessary to GZIP requests, then override this to "false".
+ * This is an alias to {@link TapestryHttpSymbolConstants#GZIP_COMPRESSION_ENABLED}.
*
- * @see #MIN_GZIP_SIZE
- * @see org.apache.tapestry5.services.ResponseCompressionAnalyzer
- * @see org.apache.tapestry5.services.assets.CompressionAnalyzer
+ * @see TapestryHttpSymbolConstants#MIN_GZIP_SIZE
+ * @see org.apache.tapestry5.http.services.ResponseCompressionAnalyzer
+ * @see org.apache.tapestry5.http.services.CompressionAnalyzer
* @since 5.1.0.0
*/
- public static final String GZIP_COMPRESSION_ENABLED = "tapestry.gzip-compression-enabled";
+ public static final String GZIP_COMPRESSION_ENABLED = TapestryHttpSymbolConstants.GZIP_COMPRESSION_ENABLED;
/**
* If "true" (which itself defaults to production mode), then the {@link org.apache.tapestry5.annotations.Secure}
@@ -179,7 +188,7 @@ public class SymbolConstants
/**
* If "true" (the default), then the {@link org.apache.tapestry5.services.PersistentLocale} will be encoded into the
- * {@link org.apache.tapestry5.Link} path by the {@link org.apache.tapestry5.services.ComponentEventLinkEncoder}
+ * {@link org.apache.tapestry5.http.Link} path by the {@link org.apache.tapestry5.services.ComponentEventLinkEncoder}
* service. If overridden to "false" this does not occur, but you should provide a
* {@link org.apache.tapestry5.services.LinkCreationListener2} (registered with the
* {@link org.apache.tapestry5.services.LinkCreationHub}) in order to add the locale as a query parameter (or
@@ -249,7 +258,7 @@ public class SymbolConstants
public static final String COMPACT_JSON = "tapestry.compact-json";
/**
- * If "true" and {@link #PRODUCTION_MODE} is off, comments will be rendered before and after the rendering of any
+ * If "true" and {@link TapestryHttpSymbolConstants#PRODUCTION_MODE} is off, comments will be rendered before and after the rendering of any
* component
* allowing more visibility into which components rendered which markup. Defaults to "false". Component render
* tracing may be
@@ -265,28 +274,30 @@ public class SymbolConstants
* in which case system will use request.getServerName(). Not the same as environment variable HOSTNAME, but you can
* also
* contribute "$HOSTNAME" as the value to make it the same as the environment variable HOSTNAME.
+ * This is an alias to {@link TapestryHttpSymbolConstants#HOSTNAME}.
*
* @since 5.3
*/
- public static final String HOSTNAME = "tapestry.hostname";
+ public static final String HOSTNAME = TapestryHttpSymbolConstants.HOSTNAME;
/**
* The hostport that application should use when constructing an absolute URL. The default is "0", i.e. use the port
* value from
- * the request.
+ * the request. This is an alias to {@link TapestryHttpSymbolConstants#HOSTPORT}.
*
* @since 5.3
*/
- public static final String HOSTPORT = "tapestry.hostport";
+ public static final String HOSTPORT = TapestryHttpSymbolConstants.HOSTPORT;
/**
* The secure (https) hostport that application should use when constructing an absolute URL. The default is "0",
* i.e. use
* the value from the request.
+ * This is an alias to {@link TapestryHttpSymbolConstnats#HOSTPORT_SECURE}.
*
* @since 5.3
*/
- public static final String HOSTPORT_SECURE = "tapestry.hostport-secure";
+ public static final String HOSTPORT_SECURE = TapestryHttpSymbolConstants.HOSTPORT_SECURE;
/**
* If "true", then resources (individually or when aggregated into stacks) will be minimized via the
@@ -302,17 +313,19 @@ public class SymbolConstants
/**
* If "true" then at the end of each request the
- * {@link org.apache.tapestry5.services.SessionPersistedObjectAnalyzer} will be called on each session persisted
+ * {@link org.apache.tapestry5.http.services.SessionPersistedObjectAnalyzer} will be called on each session persisted
* object that was accessed during the request.
*
* This is provided as a performance enhancement for servers that do not use clustered sessions.
*
* The default is {@code true}, to preserve 5.2 behavior. For non-clustered applications (the majority), this value should be
* overridden to {@code false}. A future release of Tapestry may change the default.
+ *
+ * This is an alias to {@link TapestryHttpSymbolConstants.CLUSTERED_SESSIONS}.
*
* @since 5.3
*/
- public static final String CLUSTERED_SESSIONS = "tapestry.clustered-sessions";
+ public static final String CLUSTERED_SESSIONS = TapestryHttpSymbolConstants.CLUSTERED_SESSIONS;
/**
* The name of a folder in which the Tapestry application executes. Prior to 5.3, a Tapestry application always responded to all
@@ -354,7 +367,7 @@ public class SymbolConstants
/**
* Prefix used for all module resources. This may contain slashes, but should not being or end with one.
- * Tapestry will create two {@link org.apache.tapestry5.services.Dispatcher}s from this: one for normal
+ * Tapestry will create two {@link org.apache.tapestry5.http.services.Dispatcher}s from this: one for normal
* modules, the other for GZip compressed modules (by appending ".gz" to this value).
*
* The default is "modules".
@@ -366,10 +379,11 @@ public class SymbolConstants
/**
* Identifies the context path of the application, as determined from {@link javax.servlet.ServletContext#getContextPath()}.
* This is either a blank string or a string that starts with a slash but does not end with one.
+ * This is an alias to {@link TapestryHttpSymbolConstants.CONTEXT_PATH}.
*
* @since 5.4
*/
- public static final String CONTEXT_PATH = "tapestry.context-path";
+ public static final String CONTEXT_PATH = TapestryHttpSymbolConstants.CONTEXT_PATH;
/**
* A passphrase used as the basis of hash-based message authentication (HMAC) for any object stream data stored on
@@ -425,10 +439,12 @@ public class SymbolConstants
* between threads. Leaving this on the default will yield a more robust application; setting it to false may speed
* up processing for more Ajax intensive applications (but care should then be given to ensuring that objects shared inside
* the session are themselves immutable or thread-safe).
+ *
+ * This is an alias to {@link TapestryHttpSymbolConstants#SESSION_LOCKING_ENABLED}.
*
* @since 5.4
*/
- public static final String SESSION_LOCKING_ENABLED = "tapestry.session-locking-enabled";
+ public static final String SESSION_LOCKING_ENABLED = TapestryHttpSymbolConstants.SESSION_LOCKING_ENABLED;
/**
* If true (the default), then Tapestry will automatically include the "core" stack in all
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/TapestryConstants.java b/tapestry-core/src/main/java/org/apache/tapestry5/TapestryConstants.java
index cab8c46..7b39bae 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/TapestryConstants.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/TapestryConstants.java
@@ -38,7 +38,7 @@ public class TapestryConstants
* notification} after the initialization event; the LOOPBACK prevents this reset notification.
*
* @see ComponentEventLinkEncoder#createPageRenderLink(org.apache.tapestry5.services.PageRenderRequestParameters)
- * @see ComponentEventLinkEncoder#decodePageRenderRequest(org.apache.tapestry5.services.Request)
+ * @see ComponentEventLinkEncoder#decodePageRenderRequest(org.apache.tapestry5.http.services.Request)
* @see PageResetListener
* @since 5.2.0
*/
@@ -61,7 +61,7 @@ public class TapestryConstants
public static final String RESPONSE_RENDERER = "tapestry.response-renderer";
/**
- * Name of a {@link org.apache.tapestry5.services.Request} attribute, used
+ * Name of a {@link org.apache.tapestry5.http.services.Request} attribute, used
* to disable JavaScript minimization during asset requests.
*
* @see org.apache.tapestry5.services.javascript.JavaScriptStack#getJavaScriptAggregationStrategy()
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/TapestryFilter.java b/tapestry-core/src/main/java/org/apache/tapestry5/TapestryFilter.java
index d4237e0..2795a03 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/TapestryFilter.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/TapestryFilter.java
@@ -12,23 +12,9 @@
package org.apache.tapestry5;
-import org.apache.tapestry5.internal.ServletContextSymbolProvider;
-import org.apache.tapestry5.internal.SingleKeySymbolProvider;
-import org.apache.tapestry5.internal.TapestryAppInitializer;
-import org.apache.tapestry5.internal.util.DelegatingSymbolProvider;
-import org.apache.tapestry5.ioc.Registry;
-import org.apache.tapestry5.ioc.def.ModuleDef;
-import org.apache.tapestry5.ioc.internal.services.SystemPropertiesSymbolProvider;
-import org.apache.tapestry5.ioc.services.SymbolProvider;
-import org.apache.tapestry5.services.HttpServletRequestHandler;
-import org.apache.tapestry5.services.ServletApplicationInitializer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import javax.servlet.ServletContext;
-import javax.servlet.*;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
+import org.apache.tapestry5.modules.TapestryModule;
/**
* The TapestryFilter is responsible for intercepting all requests into the web application. It
@@ -51,100 +37,10 @@ import java.io.IOException;
* to load. In this way, more precise control over the available modules can be obtained which is
* often needed during testing.
*/
-public class TapestryFilter implements Filter
-{
- private final Logger logger = LoggerFactory.getLogger(TapestryFilter.class);
-
- private FilterConfig config;
-
- private Registry registry;
-
- private HttpServletRequestHandler handler;
-
- /**
- * Key under which the Tapestry IoC {@link org.apache.tapestry5.ioc.Registry} is stored in the
- * ServletContext. This
- * allows other code, beyond Tapestry, to obtain the Registry and, from it, any Tapestry
- * services. Such code should
- * be careful about invoking {@link org.apache.tapestry5.ioc.Registry#cleanupThread()}
- * appropriately.
- */
- public static final String REGISTRY_CONTEXT_NAME = "org.apache.tapestry5.application-registry";
-
- /**
- * Initializes the filter using the {@link TapestryAppInitializer}. The application name is the
- * capitalization of
- * the filter name (as specified in web.xml).
- */
- public final void init(FilterConfig filterConfig) throws ServletException
- {
- config = filterConfig;
-
- final ServletContext context = config.getServletContext();
-
- String filterName = config.getFilterName();
-
- SymbolProvider combinedProvider = new DelegatingSymbolProvider(
- new SystemPropertiesSymbolProvider(),
- new SingleKeySymbolProvider(SymbolConstants.CONTEXT_PATH, context.getContextPath()),
- new ServletContextSymbolProvider(context),
- new SingleKeySymbolProvider(SymbolConstants.EXECUTION_MODE, "production"));
-
- String executionMode = combinedProvider.valueForSymbol(SymbolConstants.EXECUTION_MODE);
-
- TapestryAppInitializer appInitializer = new TapestryAppInitializer(logger, combinedProvider,
- filterName, executionMode);
-
- appInitializer.addModules(provideExtraModuleDefs(context));
- appInitializer.addModules(provideExtraModuleClasses(context));
-
- registry = appInitializer.createRegistry();
-
- context.setAttribute(REGISTRY_CONTEXT_NAME, registry);
-
- ServletApplicationInitializer ai = registry.getService("ServletApplicationInitializer",
- ServletApplicationInitializer.class);
-
- ai.initializeApplication(context);
-
- registry.performRegistryStartup();
-
- handler = registry.getService("HttpServletRequestHandler", HttpServletRequestHandler.class);
-
- init(registry);
-
- appInitializer.announceStartup();
-
- registry.cleanupThread();
- }
-
- protected final FilterConfig getFilterConfig()
- {
- return config;
- }
-
- /**
- * Invoked from {@link #init(FilterConfig)} after the Registry has been created, to allow any
- * additional
- * initialization to occur. This implementation does nothing, and my be overridden in subclasses.
- *
- * @param registry
- * from which services may be extracted
- * @throws ServletException
- */
- protected void init(Registry registry) throws ServletException
- {
-
- }
-
- /**
- * Overridden in subclasses to provide additional module definitions beyond those normally
- * located. This
- * implementation returns an empty array.
- */
- protected ModuleDef[] provideExtraModuleDefs(ServletContext context)
- {
- return new ModuleDef[0];
+public class TapestryFilter extends org.apache.tapestry5.http.TapestryFilter {
+
+ public TapestryFilter() {
+ super();
}
/**
@@ -155,56 +51,7 @@ public class TapestryFilter implements Filter
*/
protected Class[] provideExtraModuleClasses(ServletContext context)
{
- return new Class[0];
- }
-
- public final void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
- throws IOException, ServletException
- {
- try
- {
- boolean handled = handler.service((HttpServletRequest) request,
- (HttpServletResponse) response);
-
- if (!handled)
- {
- chain.doFilter(request, response);
- }
- } finally
- {
- registry.cleanupThread();
- }
+ return new Class[] { TapestryModule.class };
}
- /**
- * Shuts down and discards the registry. Invokes
- * {@link #destroy(org.apache.tapestry5.ioc.Registry)} to allow
- * subclasses to perform any shutdown logic, then shuts down the registry, and removes it from
- * the ServletContext.
- */
- public final void destroy()
- {
- destroy(registry);
-
- registry.shutdown();
-
- config.getServletContext().removeAttribute(REGISTRY_CONTEXT_NAME);
-
- registry = null;
- config = null;
- handler = null;
- }
-
- /**
- * Invoked from {@link #destroy()} to allow subclasses to add additional shutdown logic to the
- * filter. The Registry
- * will be shutdown after this call. This implementation does nothing, and may be overridden in
- * subclasses.
- *
- * @param registry
- */
- protected void destroy(Registry registry)
- {
-
- }
}
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/alerts/AlertStorage.java b/tapestry-core/src/main/java/org/apache/tapestry5/alerts/AlertStorage.java
index 21555c4..a51f29f 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/alerts/AlertStorage.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/alerts/AlertStorage.java
@@ -14,9 +14,9 @@
package org.apache.tapestry5.alerts;
-import org.apache.tapestry5.OptimizedSessionPersistedObject;
import org.apache.tapestry5.commons.internal.util.LockSupport;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.OptimizedSessionPersistedObject;
import java.io.Serializable;
import java.util.Iterator;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/annotations/ActivationRequestParameter.java b/tapestry-core/src/main/java/org/apache/tapestry5/annotations/ActivationRequestParameter.java
index 7dc171b..474b175 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/annotations/ActivationRequestParameter.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/annotations/ActivationRequestParameter.java
@@ -14,8 +14,8 @@ package org.apache.tapestry5.annotations;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.EventConstants;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.ValueEncoder;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.ioc.annotations.UseWith;
import org.apache.tapestry5.services.ValueEncoderSource;
@@ -62,7 +62,7 @@ public @interface ActivationRequestParameter
/**
* If true then a null value is an error. If false, then a null value will result in no update to the field. Either way,
- * a null field value will result in no query parameter added to a {@linkplain org.apache.tapestry5.Link generated link}.
+ * a null field value will result in no query parameter added to a {@linkplain org.apache.tapestry5.http.Link generated link}.
*
* @since 5.4
*/
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/annotations/Persist.java b/tapestry-core/src/main/java/org/apache/tapestry5/annotations/Persist.java
index 0600882..6e8e93b 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/annotations/Persist.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/annotations/Persist.java
@@ -12,8 +12,8 @@
package org.apache.tapestry5.annotations;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.ioc.annotations.UseWith;
-import org.apache.tapestry5.services.Session;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/annotations/RequestParameter.java b/tapestry-core/src/main/java/org/apache/tapestry5/annotations/RequestParameter.java
index fc94bd7..be48db3 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/annotations/RequestParameter.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/annotations/RequestParameter.java
@@ -12,9 +12,9 @@
package org.apache.tapestry5.annotations;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.transform.OnEventWorker;
import org.apache.tapestry5.ioc.annotations.UseWith;
-import org.apache.tapestry5.services.Request;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/annotations/SessionAttribute.java b/tapestry-core/src/main/java/org/apache/tapestry5/annotations/SessionAttribute.java
index c81bb74..4dee941 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/annotations/SessionAttribute.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/annotations/SessionAttribute.java
@@ -21,8 +21,9 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Target;
import static org.apache.tapestry5.ioc.annotations.AnnotationUseContext.*;
+
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.ioc.annotations.UseWith;
-import org.apache.tapestry5.services.Session;
/**
* Used to map a property of a page or component to value stored in session.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/annotations/SessionState.java b/tapestry-core/src/main/java/org/apache/tapestry5/annotations/SessionState.java
index a94697e..80ae8e4 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/annotations/SessionState.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/annotations/SessionState.java
@@ -32,7 +32,7 @@ import static org.apache.tapestry5.ioc.annotations.AnnotationUseContext.*;
* the {@link org.apache.tapestry5.services.ApplicationStateManager}. An SSO property is stored as
* global session object (i.e., in the {@link javax.servlet.ServletContext}), accessible to every
* page or component, but in fact the built-in strategies for SSO management are
- * session-specific, ultimately storing data in the {@link org.apache.tapestry5.services.Session}.
+ * session-specific, ultimately storing data in the {@link org.apache.tapestry5.http.services.Session}.
* <p>
* For each SSO property, you may declare a companion boolean property that can be checked to see if
* the SSO has been created yet. The companion boolean property must have the same name as the SSO
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractComponentEventLink.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractComponentEventLink.java
index 9697fa4..64ac711 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractComponentEventLink.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractComponentEventLink.java
@@ -15,12 +15,12 @@
package org.apache.tapestry5.corelib.base;
import org.apache.tapestry5.BindingConstants;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.MarkupWriter;
import org.apache.tapestry5.annotations.Environmental;
import org.apache.tapestry5.annotations.Parameter;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.javascript.JavaScriptSupport;
/**
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractField.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractField.java
index 590edb4..25767d1 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractField.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractField.java
@@ -17,6 +17,7 @@ import org.apache.tapestry5.annotations.*;
import org.apache.tapestry5.commons.internal.util.TapestryException;
import org.apache.tapestry5.corelib.mixins.DiscardBody;
import org.apache.tapestry5.corelib.mixins.RenderInformals;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.BeanValidationContext;
import org.apache.tapestry5.internal.InternalComponentResources;
import org.apache.tapestry5.internal.services.FormControlNameManager;
@@ -26,7 +27,6 @@ import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.services.ComponentDefaultProvider;
import org.apache.tapestry5.services.Environment;
import org.apache.tapestry5.services.FormSupport;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.javascript.JavaScriptSupport;
import java.io.Serializable;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractInternalPage.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractInternalPage.java
index e78a676..5223bdc 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractInternalPage.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractInternalPage.java
@@ -14,9 +14,9 @@ package org.apache.tapestry5.corelib.base;
import org.apache.tapestry5.annotations.Import;
import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.services.Request;
/**
* Base page for Tapestry internal pages, that should suppress any application changes to the core stack's CSS.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractLink.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractLink.java
index c2ec7bc..05050ab 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractLink.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractLink.java
@@ -19,6 +19,7 @@ import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.annotations.SetupRender;
import org.apache.tapestry5.annotations.SupportsInformalParameters;
import org.apache.tapestry5.dom.Element;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.javascript.JavaScriptSupport;
@@ -107,7 +108,7 @@ public abstract class AbstractLink implements ClientElement
/**
* Adds any user-defined parameters as query parameters.
- * @param link a {@link org.apache.tapestry5.Link}.
+ * @param link a {@link org.apache.tapestry5.http.Link}.
*/
protected final void addParameters(Link link)
{
@@ -128,7 +129,7 @@ public abstract class AbstractLink implements ClientElement
}
/**
- * Returns the most recently rendered {@link org.apache.tapestry5.Link} for this component. Subclasses calculate
+ * Returns the most recently rendered {@link org.apache.tapestry5.http.Link} for this component. Subclasses calculate
* their link value as they render, and the value is valid until the end of the request, or the next time the same
* component renders itself (if inside a loop).
*
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/ActionLink.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/ActionLink.java
index fc6a026..32f0bf1 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/ActionLink.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/ActionLink.java
@@ -15,9 +15,9 @@
package org.apache.tapestry5.corelib.components;
import org.apache.tapestry5.EventConstants;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.annotations.Events;
import org.apache.tapestry5.corelib.base.AbstractComponentEventLink;
+import org.apache.tapestry5.http.Link;
/**
* Component that triggers an action on the server with a subsequent full page refresh.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/AjaxFormLoop.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/AjaxFormLoop.java
index 4db4fe9..789ca01 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/AjaxFormLoop.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/AjaxFormLoop.java
@@ -18,6 +18,7 @@ import org.apache.tapestry5.beanmodel.services.*;
import org.apache.tapestry5.commons.services.TypeCoercer;
import org.apache.tapestry5.corelib.internal.AjaxFormLoopContext;
import org.apache.tapestry5.dom.Element;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.internal.services.RequestConstants;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.json.JSONObject;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java
index 5392f26..cf6e064 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java
@@ -13,15 +13,15 @@
package org.apache.tapestry5.corelib.components;
import org.apache.tapestry5.BindingConstants;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.MarkupWriter;
import org.apache.tapestry5.alerts.Alert;
import org.apache.tapestry5.alerts.AlertStorage;
import org.apache.tapestry5.annotations.*;
import org.apache.tapestry5.corelib.base.BaseClientElement;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.json.JSONObject;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.compatibility.DeprecationWarning;
/**
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Checklist.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Checklist.java
index 9dc7099..382f3b8 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Checklist.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Checklist.java
@@ -18,8 +18,8 @@ import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.corelib.base.AbstractField;
import org.apache.tapestry5.dom.Element;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.services.Request;
import java.util.Collections;
import java.util.List;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/DevTool.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/DevTool.java
index a7c57cd..3c6f9f6 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/DevTool.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/DevTool.java
@@ -14,17 +14,17 @@ package org.apache.tapestry5.corelib.components;
import org.apache.tapestry5.BindingConstants;
import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.alerts.AlertManager;
import org.apache.tapestry5.annotations.Component;
import org.apache.tapestry5.annotations.Environmental;
import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.internal.services.ReloadHelper;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.annotations.Symbol;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Session;
import org.apache.tapestry5.services.javascript.JavaScriptSupport;
/**
@@ -70,7 +70,7 @@ public class DevTool
@Property
@Inject
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
private boolean productionMode;
@Component(inheritInformalParameters = true, parameters = {
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/EventLink.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/EventLink.java
index b23325c..171220e 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/EventLink.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/EventLink.java
@@ -14,9 +14,9 @@ package org.apache.tapestry5.corelib.components;
import org.apache.tapestry5.BindingConstants;
import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.corelib.base.AbstractComponentEventLink;
+import org.apache.tapestry5.http.Link;
/**
* A close relative of {@link org.apache.tapestry5.corelib.components.ActionLink} except in two ways.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Form.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Form.java
index 547ea1c..36477cb 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Form.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Form.java
@@ -25,6 +25,8 @@ import org.apache.tapestry5.corelib.internal.ComponentActionSink;
import org.apache.tapestry5.corelib.internal.FormSupportImpl;
import org.apache.tapestry5.corelib.internal.InternalFormSupport;
import org.apache.tapestry5.dom.Element;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.BeanValidationContext;
import org.apache.tapestry5.internal.BeanValidationContextImpl;
import org.apache.tapestry5.internal.InternalConstants;
@@ -42,7 +44,6 @@ import org.apache.tapestry5.services.ComponentSource;
import org.apache.tapestry5.services.Environment;
import org.apache.tapestry5.services.FormSupport;
import org.apache.tapestry5.services.Heartbeat;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.StreamPageContent;
import org.apache.tapestry5.services.compatibility.DeprecationWarning;
import org.apache.tapestry5.services.javascript.JavaScriptSupport;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridColumns.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridColumns.java
index 5e1e26d..35787e8 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridColumns.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridColumns.java
@@ -24,9 +24,9 @@ import org.apache.tapestry5.commons.Messages;
import org.apache.tapestry5.grid.ColumnSort;
import org.apache.tapestry5.grid.GridModel;
import org.apache.tapestry5.grid.GridSortModel;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.services.Request;
import java.util.List;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridPager.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridPager.java
index bf0e0f8..f34e2a1 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridPager.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridPager.java
@@ -20,9 +20,10 @@ import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.commons.Messages;
import org.apache.tapestry5.dom.Element;
import org.apache.tapestry5.grid.GridDataSource;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.services.Request;
/**
* Generates a series of links used to jump to a particular page index within the overall data set.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java
index cb6f60a..a802f52 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java
@@ -17,11 +17,11 @@ import org.apache.tapestry5.annotations.Environmental;
import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.annotations.SupportsInformalParameters;
import org.apache.tapestry5.dom.Element;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.services.ComponentDefaultProvider;
import org.apache.tapestry5.services.FormSupport;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.javascript.JavaScriptSupport;
/**
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Label.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Label.java
index dd153b3..6dd403a 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Label.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Label.java
@@ -18,6 +18,7 @@ import org.apache.tapestry5.annotations.HeartbeatDeferred;
import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.annotations.SupportsInformalParameters;
import org.apache.tapestry5.dom.Element;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
@@ -66,7 +67,7 @@ public class Label
private JavaScriptSupport javaScriptSupport;
@Inject
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
private boolean productionMode;
/**
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/LinkSubmit.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/LinkSubmit.java
index 8d648fc..4ab44ed 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/LinkSubmit.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/LinkSubmit.java
@@ -17,12 +17,12 @@ package org.apache.tapestry5.corelib.components;
import org.apache.tapestry5.*;
import org.apache.tapestry5.annotations.*;
import org.apache.tapestry5.corelib.SubmitMode;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.json.JSONArray;
import org.apache.tapestry5.services.FormSupport;
import org.apache.tapestry5.services.Heartbeat;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.javascript.JavaScriptSupport;
/**
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/PageLink.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/PageLink.java
index bd738be..5ce116e 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/PageLink.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/PageLink.java
@@ -13,10 +13,10 @@
package org.apache.tapestry5.corelib.components;
import org.apache.tapestry5.BindingConstants;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.MarkupWriter;
import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.corelib.base.AbstractLink;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.PageRenderLinkSource;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/ProgressiveDisplay.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/ProgressiveDisplay.java
index 1a4272f..69da03e 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/ProgressiveDisplay.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/ProgressiveDisplay.java
@@ -17,6 +17,7 @@ import org.apache.tapestry5.annotations.Environmental;
import org.apache.tapestry5.annotations.Events;
import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.annotations.SupportsInformalParameters;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.compatibility.DeprecationWarning;
import org.apache.tapestry5.services.javascript.JavaScriptSupport;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/RadioGroup.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/RadioGroup.java
index cbc3574..1591db6 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/RadioGroup.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/RadioGroup.java
@@ -19,12 +19,12 @@ import org.apache.tapestry5.annotations.Environmental;
import org.apache.tapestry5.annotations.Events;
import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.commons.services.TypeCoercer;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.TapestryInternalUtils;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.ComponentDefaultProvider;
import org.apache.tapestry5.services.Environment;
import org.apache.tapestry5.services.FormSupport;
-import org.apache.tapestry5.services.Request;
/**
* A wrapper component around some number of {@link Radio} components, used to organize the selection and define the
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Select.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Select.java
index 9439ec2..1c15c04 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Select.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Select.java
@@ -21,6 +21,8 @@ import org.apache.tapestry5.corelib.base.AbstractField;
import org.apache.tapestry5.corelib.data.BlankOption;
import org.apache.tapestry5.corelib.data.SecureOption;
import org.apache.tapestry5.corelib.mixins.RenderDisabled;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.AbstractEventContext;
import org.apache.tapestry5.internal.InternalComponentResources;
import org.apache.tapestry5.internal.TapestryInternalUtils;
@@ -30,7 +32,6 @@ import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.services.FieldValidatorDefaultSource;
import org.apache.tapestry5.services.FormSupport;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.ValueEncoderFactory;
import org.apache.tapestry5.services.ValueEncoderSource;
import org.apache.tapestry5.services.javascript.JavaScriptSupport;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Submit.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Submit.java
index efb1c88..b96db2c 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Submit.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Submit.java
@@ -17,13 +17,13 @@ package org.apache.tapestry5.corelib.components;
import org.apache.tapestry5.*;
import org.apache.tapestry5.annotations.*;
import org.apache.tapestry5.corelib.SubmitMode;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.util.Holder;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.json.JSONArray;
import org.apache.tapestry5.services.FormSupport;
import org.apache.tapestry5.services.Heartbeat;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.javascript.JavaScriptSupport;
/**
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Tree.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Tree.java
index 108d1bf..96f7752 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Tree.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Tree.java
@@ -18,6 +18,7 @@ import org.apache.tapestry5.dom.Element;
import org.apache.tapestry5.func.F;
import org.apache.tapestry5.func.Flow;
import org.apache.tapestry5.func.Worker;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.internal.util.CaptureResultCallback;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.json.JSONObject;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Autocomplete.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Autocomplete.java
index 2a9cbad..8d72839 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Autocomplete.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Autocomplete.java
@@ -15,6 +15,7 @@ package org.apache.tapestry5.corelib.mixins;
import org.apache.tapestry5.*;
import org.apache.tapestry5.annotations.*;
import org.apache.tapestry5.commons.services.TypeCoercer;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.internal.AbstractEventContext;
import org.apache.tapestry5.internal.util.Holder;
import org.apache.tapestry5.ioc.annotations.Inject;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/ZoneRefresh.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/ZoneRefresh.java
index 68dec3b..372618c 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/ZoneRefresh.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/ZoneRefresh.java
@@ -18,6 +18,7 @@ import org.apache.tapestry5.annotations.Events;
import org.apache.tapestry5.annotations.InjectContainer;
import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.corelib.components.Zone;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.internal.util.CaptureResultCallback;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.javascript.JavaScriptSupport;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ComponentLibraries.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ComponentLibraries.java
index 0384040..4ebaad2 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ComponentLibraries.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ComponentLibraries.java
@@ -20,12 +20,12 @@ import java.util.Comparator;
import java.util.List;
import org.apache.tapestry5.Block;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.annotations.Cached;
import org.apache.tapestry5.annotations.OnEvent;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.UnknownActivationContextCheck;
import org.apache.tapestry5.annotations.WhitelistAccessOnly;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.ioc.annotations.Description;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.annotations.Symbol;
@@ -90,7 +90,7 @@ public class ComponentLibraries
private Block classesTable;
@Inject
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
@Property
private boolean productionMode;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ExceptionReport.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ExceptionReport.java
index fa93da4..7d55aa1 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ExceptionReport.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ExceptionReport.java
@@ -14,7 +14,6 @@ package org.apache.tapestry5.corelib.pages;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.EventContext;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.alerts.AlertManager;
import org.apache.tapestry5.annotations.ContentType;
@@ -26,6 +25,11 @@ import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.corelib.base.AbstractInternalPage;
import org.apache.tapestry5.func.F;
import org.apache.tapestry5.func.Mapper;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.BaseURLSource;
+import org.apache.tapestry5.http.services.RequestGlobals;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.TapestryInternalUtils;
import org.apache.tapestry5.internal.services.PageActivationContextCollector;
@@ -33,11 +37,8 @@ import org.apache.tapestry5.internal.services.ReloadHelper;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-import org.apache.tapestry5.services.BaseURLSource;
import org.apache.tapestry5.services.ExceptionReporter;
import org.apache.tapestry5.services.PageRenderLinkSource;
-import org.apache.tapestry5.services.RequestGlobals;
-import org.apache.tapestry5.services.Session;
import org.apache.tapestry5.services.URLEncoder;
import java.net.MalformedURLException;
@@ -47,7 +48,7 @@ import java.util.regex.Pattern;
/**
* Responsible for reporting runtime exceptions. This page is quite verbose and is usually overridden in a production
- * application. When {@link org.apache.tapestry5.SymbolConstants#PRODUCTION_MODE} is "true", it is very abbreviated.
+ * application. When {@link org.apache.tapestry5.http.TapestryHttpSymbolConstants#PRODUCTION_MODE} is "true", it is very abbreviated.
*
* @see org.apache.tapestry5.corelib.components.ExceptionDisplay
*/
@@ -66,7 +67,7 @@ public class ExceptionReport extends AbstractInternalPage implements ExceptionRe
private String attributeName;
@Inject
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
@Property(write = false)
private boolean productionMode;
@@ -76,7 +77,7 @@ public class ExceptionReport extends AbstractInternalPage implements ExceptionRe
private String tapestryVersion;
@Inject
- @Symbol(SymbolConstants.APPLICATION_VERSION)
+ @Symbol(TapestryHttpSymbolConstants.APPLICATION_VERSION)
@Property(write = false)
private String applicationVersion;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PageCatalog.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PageCatalog.java
index 266343b..abaedb6 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PageCatalog.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PageCatalog.java
@@ -14,7 +14,6 @@
package org.apache.tapestry5.corelib.pages;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.alerts.AlertManager;
import org.apache.tapestry5.annotations.*;
import org.apache.tapestry5.beaneditor.Validate;
@@ -24,6 +23,7 @@ import org.apache.tapestry5.commons.Messages;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.corelib.components.Zone;
import org.apache.tapestry5.func.*;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.internal.PageCatalogTotals;
import org.apache.tapestry5.internal.services.PageSource;
import org.apache.tapestry5.internal.services.ReloadHelper;
@@ -53,7 +53,7 @@ public class PageCatalog
@Property
@Inject
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
private boolean productionMode;
@Inject
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ServiceStatus.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ServiceStatus.java
index 8e9f2c1..cf98b1c 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ServiceStatus.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ServiceStatus.java
@@ -12,11 +12,11 @@
package org.apache.tapestry5.corelib.pages;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.annotations.*;
import org.apache.tapestry5.beanmodel.BeanModel;
import org.apache.tapestry5.beanmodel.services.BeanModelSource;
import org.apache.tapestry5.commons.Messages;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.ioc.Registry;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.annotations.Symbol;
@@ -51,7 +51,7 @@ public class ServiceStatus
@Property
@Inject
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
private boolean productionMode;
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/T5Dashboard.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/T5Dashboard.java
index aa815f1..40c6bca 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/T5Dashboard.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/T5Dashboard.java
@@ -16,6 +16,7 @@ import org.apache.tapestry5.Block;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.annotations.*;
import org.apache.tapestry5.corelib.base.AbstractInternalPage;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.services.dashboard.DashboardManager;
@@ -37,7 +38,7 @@ public class T5Dashboard extends AbstractInternalPage
@Property
@Inject
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
private boolean productionMode;
@Inject
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/ContextResourceSymbolProvider.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/ContextResourceSymbolProvider.java
index 56a74c5..bab4971 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/ContextResourceSymbolProvider.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/ContextResourceSymbolProvider.java
@@ -14,12 +14,12 @@
package org.apache.tapestry5.internal;
+import org.apache.tapestry5.http.services.Context;
import org.apache.tapestry5.internal.services.ContextResource;
import org.apache.tapestry5.ioc.internal.services.ResourceSymbolProvider;
-import org.apache.tapestry5.services.Context;
/**
- * Makes a {@link org.apache.tapestry5.commons.Resource} in the {@link org.apache.tapestry5.services.Context} available as a
+ * Makes a {@link org.apache.tapestry5.commons.Resource} in the {@link org.apache.tapestry5.http.services.Context} available as a
* {@link org.apache.tapestry5.ioc.services.SymbolProvider}
*
* @since 5.1.0.5
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalConstants.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalConstants.java
index 8f84269..36827e5 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalConstants.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalConstants.java
@@ -12,10 +12,12 @@
package org.apache.tapestry5.internal;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.annotations.PublishEvent;
import org.apache.tapestry5.commons.util.TimeInterval;
import org.apache.tapestry5.dom.MarkupModel;
+import org.apache.tapestry5.http.ContentType;
+import org.apache.tapestry5.http.TapestryHttpConstants;
+import org.apache.tapestry5.http.internal.TapestryHttpInternalConstants;
import org.apache.tapestry5.model.ComponentModel;
import org.apache.tapestry5.services.javascript.JavaScriptStack;
@@ -25,13 +27,15 @@ public final class InternalConstants
* Init parameter used to identify the package from which application classes are loaded. Such
* classes are in the
* pages, components and mixins sub-packages.
+ * @deprecated Use {@link TapestryHttpInternalConstants#TAPESTRY_APP_PACKAGE_PARAM} instead
*/
- public static final String TAPESTRY_APP_PACKAGE_PARAM = "tapestry.app-package";
+ public static final String TAPESTRY_APP_PACKAGE_PARAM = TapestryHttpInternalConstants.TAPESTRY_APP_PACKAGE_PARAM;
/**
* Turns off loading of default modules (as driven by JAR file Manifest entries).
+ * @deprecated Use {@link TapestryHttpInternalConstants#DISABLE_DEFAULT_MODULES_PARAM} instead
*/
- public static final String DISABLE_DEFAULT_MODULES_PARAM = "tapestry.disable-default-modules";
+ public static final String DISABLE_DEFAULT_MODULES_PARAM = TapestryHttpInternalConstants.DISABLE_DEFAULT_MODULES_PARAM;
/**
* The name of the query parameter that stores the page activation context inside an action
@@ -64,11 +68,14 @@ public final class InternalConstants
/**
* Used in some Ajax scenarios to set the content type for the response early, when the Page
* instance (the authority
- * on content types) is known. The value is of type {@link org.apache.tapestry5.ContentType}.
+ * on content types) is known. The value is of type {@link org.apache.tapestry5.http.ContentType}.
*/
public static final String CONTENT_TYPE_ATTRIBUTE_NAME = "content-type";
- public static final String CHARSET_CONTENT_TYPE_PARAMETER = "charset";
+ /**
+ * @deprecated Use {@link TapestryHttpInternalConstants#CHARSET_CONTENT_TYPE_PARAMETER} instead
+ */
+ public static final String CHARSET_CONTENT_TYPE_PARAMETER = TapestryHttpInternalConstants.CHARSET_CONTENT_TYPE_PARAMETER;
/**
* As above but to store the name of the page. Necessary for determining the correct
@@ -88,25 +95,27 @@ public final class InternalConstants
* suppressed. This is
* useful when the code opening the response stream wants to explicitly control whether GZIP
* compression occurs or
- * not.
+ * not. Alias to {@link TapestryHttpConstants#SUPPRESS_COMPRESSION}.
*
* @since 5.1.0.0
*/
- public static final String SUPPRESS_COMPRESSION = "tapestry.supress-compression";
+ public static final String SUPPRESS_COMPRESSION = TapestryHttpConstants.SUPPRESS_COMPRESSION;
/**
* Name of response header for content encoding.
*
* @since 5.1.0.0
+ * @deprecated Use {@link TapestryHttpInternalConstants#CONTENT_ENCODING_HEADER} instead
*/
- public static final String CONTENT_ENCODING_HEADER = "Content-Encoding";
+ public static final String CONTENT_ENCODING_HEADER = TapestryHttpInternalConstants.CONTENT_ENCODING_HEADER;
/**
* Response content encoding value indicating use of GZIP compression.
*
* @since 5.1.0.0
+ * @deprecated Use {@link TapestryHttpInternalConstants#GZIP_CONTENT_ENCODING} instead
*/
- public static final String GZIP_CONTENT_ENCODING = "gzip";
+ public static final String GZIP_CONTENT_ENCODING = TapestryHttpInternalConstants.GZIP_CONTENT_ENCODING;
/**
* Identifies the start of an expansion inside a template.
@@ -196,7 +205,7 @@ public final class InternalConstants
* can most likely occur when a web spider, such as Google, uses an old component event URI from
* a prior deployment, which no longer works in a new deployment, due to structural changes. Since
* changing the APIs that significantly is forbidden, a non-null value is added as an
- * {@link org.apache.tapestry5.services.Request} attribute.
+ * {@link org.apache.tapestry5.http.services.Request} attribute.
*
* @since 5.4
*/
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalSymbols.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalSymbols.java
index b335ac9..c7fb218 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalSymbols.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalSymbols.java
@@ -17,20 +17,6 @@ import org.apache.tapestry5.ioc.annotations.IncompatibleChange;
public class InternalSymbols
{
/**
- * The name of the application (i.e., the name of the application filter). Used, for example, to
- * select additional resources related to the application.
- */
- public static final String APP_NAME = "tapestry.app-name";
-
- /**
- * The application package converted to a path ('.' becomes '/'). Useful for finding resources
- * on the classpath relevant to the application.
- *
- * @since 5.1.0.0
- */
- public static final String APP_PACKAGE_PATH = "tapestry.app-package-path";
-
- /**
* Comma-separated list of pre-allocated Form component control names. Basically, this exists to
* work around name collisions on the client side. Starting in 5.3, these names are
* also pre-allocated as ids.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryInternalUtils.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryInternalUtils.java
index 8678f84..49c544a 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryInternalUtils.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryInternalUtils.java
@@ -20,6 +20,7 @@ import org.apache.tapestry5.commons.Messages;
import org.apache.tapestry5.commons.Resource;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.func.Mapper;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.ioc.Orderable;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/alerts/AlertManagerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/alerts/AlertManagerImpl.java
index 2bfe6be..63ace7c 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/alerts/AlertManagerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/alerts/AlertManagerImpl.java
@@ -15,10 +15,10 @@
package org.apache.tapestry5.internal.alerts;
import org.apache.tapestry5.alerts.*;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.services.PerThreadValue;
import org.apache.tapestry5.ioc.services.PerthreadManager;
import org.apache.tapestry5.services.ApplicationStateManager;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.ajax.AjaxResponseRenderer;
import org.apache.tapestry5.services.ajax.JavaScriptCallback;
import org.apache.tapestry5.services.javascript.JavaScriptSupport;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/PageLoaderImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/PageLoaderImpl.java
index 01cdf6c..781ca73 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/PageLoaderImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/PageLoaderImpl.java
@@ -26,6 +26,7 @@ import org.apache.tapestry5.commons.util.AvailableValues;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.commons.util.Stack;
import org.apache.tapestry5.commons.util.UnknownValueException;
+import org.apache.tapestry5.http.services.RequestGlobals;
import org.apache.tapestry5.internal.InternalComponentResources;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.bindings.LiteralBinding;
@@ -51,7 +52,6 @@ import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.ComponentMessages;
import org.apache.tapestry5.services.ComponentTemplates;
import org.apache.tapestry5.services.MetaDataLocator;
-import org.apache.tapestry5.services.RequestGlobals;
import org.apache.tapestry5.services.pageload.ComponentResourceSelector;
import org.slf4j.Logger;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/renderers/RequestRenderer.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/renderers/RequestRenderer.java
index a03bd7a..b5ebd0c 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/renderers/RequestRenderer.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/renderers/RequestRenderer.java
@@ -15,14 +15,14 @@
package org.apache.tapestry5.internal.renderers;
import org.apache.tapestry5.MarkupWriter;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.Context;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.Primary;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-import org.apache.tapestry5.services.Context;
import org.apache.tapestry5.services.ObjectRenderer;
-import org.apache.tapestry5.services.Request;
import java.util.List;
@@ -34,7 +34,7 @@ public class RequestRenderer implements ObjectRenderer<Request>
private final ObjectRenderer masterObjectRenderer;
- public RequestRenderer(@Primary ObjectRenderer masterObjectRenderer, Context context, @Symbol(SymbolConstants.CONTEXT_PATH) String contextPath)
+ public RequestRenderer(@Primary ObjectRenderer masterObjectRenderer, Context context, @Symbol(TapestryHttpSymbolConstants.CONTEXT_PATH) String contextPath)
{
this.masterObjectRenderer = masterObjectRenderer;
this.context = context;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractAssetFactory.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractAssetFactory.java
index 1e1f263..f1cad8a 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractAssetFactory.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractAssetFactory.java
@@ -19,10 +19,10 @@ import java.io.IOException;
import org.apache.tapestry5.Asset;
import org.apache.tapestry5.commons.Resource;
import org.apache.tapestry5.commons.util.ExceptionUtils;
+import org.apache.tapestry5.http.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.internal.services.assets.ResourceChangeTracker;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.services.AssetFactory;
-import org.apache.tapestry5.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.services.assets.AssetPathConstructor;
import org.apache.tapestry5.services.assets.StreamableResource;
import org.apache.tapestry5.services.assets.StreamableResourceProcessing;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractSessionPersistentFieldStrategy.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractSessionPersistentFieldStrategy.java
index 75b343d..7969234 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractSessionPersistentFieldStrategy.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractSessionPersistentFieldStrategy.java
@@ -20,11 +20,11 @@ import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.services.PersistentFieldChange;
import org.apache.tapestry5.services.PersistentFieldStrategy;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Session;
/**
* Base class for strategies that store their values as keys in the session. Implements a uniform format for the keys,
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxComponentEventRequestHandler.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxComponentEventRequestHandler.java
index 2f8e3ec..96ee1da 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxComponentEventRequestHandler.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxComponentEventRequestHandler.java
@@ -18,6 +18,7 @@ import java.io.IOException;
import org.apache.tapestry5.TrackableComponentEventCallback;
import org.apache.tapestry5.commons.internal.util.TapestryException;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.structure.ComponentPageElement;
import org.apache.tapestry5.internal.structure.Page;
@@ -28,7 +29,6 @@ import org.apache.tapestry5.services.ComponentEventRequestHandler;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.ComponentEventResultProcessor;
import org.apache.tapestry5.services.Environment;
-import org.apache.tapestry5.services.Request;
/**
* Similar to {@link ComponentEventRequestHandlerImpl}, but built around the Ajax request cycle, where the action
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxFilter.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxFilter.java
index 31f004a..2e16c12 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxFilter.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxFilter.java
@@ -17,11 +17,11 @@ package org.apache.tapestry5.internal.services;
import java.io.IOException;
import org.apache.tapestry5.beanmodel.services.*;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.services.Ajax;
import org.apache.tapestry5.services.ComponentEventRequestFilter;
import org.apache.tapestry5.services.ComponentEventRequestHandler;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
-import org.apache.tapestry5.services.Request;
/**
* A filter that intercepts Ajax-oriented requests, thos that originate on the client-side using XmlHttpRequest. In
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxLinkComponentEventResultProcessor.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxLinkComponentEventResultProcessor.java
index ada06d9..ba8eb9e 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxLinkComponentEventResultProcessor.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxLinkComponentEventResultProcessor.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.services.Ajax;
@@ -23,7 +23,7 @@ import org.apache.tapestry5.services.ComponentEventResultProcessor;
import java.io.IOException;
/**
- * Handles {@link org.apache.tapestry5.Link} result types by building a JSON response with key "redirectURL".
+ * Handles {@link org.apache.tapestry5.http.Link} result types by building a JSON response with key "redirectURL".
*/
@SuppressWarnings("all")
public class AjaxLinkComponentEventResultProcessor implements ComponentEventResultProcessor<Link>
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxPageNameComponentEventResultProcessor.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxPageNameComponentEventResultProcessor.java
index 23ddaac..3bd0cd1 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxPageNameComponentEventResultProcessor.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxPageNameComponentEventResultProcessor.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.services.Ajax;
import org.apache.tapestry5.services.ComponentEventResultProcessor;
@@ -41,7 +41,7 @@ public class AjaxPageNameComponentEventResultProcessor implements ComponentEvent
}
/**
- * Obtains a page render {@link org.apache.tapestry5.Link} for the named, then builds a JSON response for the
+ * Obtains a page render {@link org.apache.tapestry5.http.Link} for the named, then builds a JSON response for the
* client.
*
* @param value
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxPartialResponseRendererImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxPartialResponseRendererImpl.java
index 4b95f37..89767ac 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxPartialResponseRendererImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxPartialResponseRendererImpl.java
@@ -12,10 +12,13 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.MarkupWriter;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.TapestryConstants;
+import org.apache.tapestry5.http.ContentType;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.ioc.IOOperation;
import org.apache.tapestry5.ioc.annotations.Inject;
@@ -23,8 +26,6 @@ import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.services.MarkupWriterFactory;
import org.apache.tapestry5.services.PartialMarkupRenderer;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import java.io.IOException;
import java.io.PrintWriter;
@@ -52,7 +53,7 @@ public class AjaxPartialResponseRendererImpl implements AjaxPartialResponseRende
PartialMarkupRenderer partialMarkupRenderer,
@Inject
- @Symbol(SymbolConstants.CHARSET)
+ @Symbol(TapestryHttpSymbolConstants.CHARSET)
String outputEncoding,
@Symbol(SymbolConstants.COMPACT_JSON)
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ApplicationStackTraceElementAnalyzer.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ApplicationStackTraceElementAnalyzer.java
index 3af0ec0..c58aa23 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ApplicationStackTraceElementAnalyzer.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ApplicationStackTraceElementAnalyzer.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.internal.InternalConstants;
+import org.apache.tapestry5.http.internal.TapestryHttpInternalConstants;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.services.StackTraceElementAnalyzer;
import org.apache.tapestry5.services.StackTraceElementClassConstants;
@@ -28,7 +28,7 @@ public class ApplicationStackTraceElementAnalyzer implements StackTraceElementAn
{
private final String appPackage;
- public ApplicationStackTraceElementAnalyzer(@Symbol(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM)
+ public ApplicationStackTraceElementAnalyzer(@Symbol(TapestryHttpInternalConstants.TAPESTRY_APP_PACKAGE_PARAM)
String appPackage)
{
this.appPackage = appPackage;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetDispatcher.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetDispatcher.java
index 90387f2..1283675 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetDispatcher.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetDispatcher.java
@@ -17,15 +17,15 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.beanmodel.services.*;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.services.Dispatcher;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.ioc.annotations.Marker;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.annotations.UsesMappedConfiguration;
import org.apache.tapestry5.services.AssetRequestDispatcher;
import org.apache.tapestry5.services.ClasspathAssetAliasManager;
-import org.apache.tapestry5.services.Dispatcher;
import org.apache.tapestry5.services.PathConstructor;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import org.apache.tapestry5.services.assets.AssetRequestHandler;
import javax.servlet.http.HttpServletResponse;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java
index b54fd7d..0c6b391 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java
@@ -18,6 +18,7 @@ import org.apache.tapestry5.commons.Resource;
import org.apache.tapestry5.commons.internal.util.LockSupport;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.commons.util.StrategyRegistry;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.AssetConstants;
import org.apache.tapestry5.internal.TapestryInternalUtils;
import org.apache.tapestry5.internal.services.assets.ResourceChangeTracker;
@@ -29,7 +30,6 @@ import org.apache.tapestry5.ioc.services.SymbolSource;
import org.apache.tapestry5.ioc.services.ThreadLocale;
import org.apache.tapestry5.services.AssetFactory;
import org.apache.tapestry5.services.AssetSource;
-import org.apache.tapestry5.services.Request;
import org.slf4j.Logger;
import java.lang.ref.Reference;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CheckForUpdatesFilter.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CheckForUpdatesFilter.java
index 4ebd7a4..99d2e55 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CheckForUpdatesFilter.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CheckForUpdatesFilter.java
@@ -17,16 +17,16 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.beanmodel.services.*;
import org.apache.tapestry5.commons.util.TimeInterval;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestFilter;
+import org.apache.tapestry5.http.services.RequestHandler;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.util.Holder;
import org.apache.tapestry5.ioc.Invokable;
import org.apache.tapestry5.ioc.annotations.IntermediateType;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier;
import org.apache.tapestry5.ioc.services.UpdateListenerHub;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.RequestFilter;
-import org.apache.tapestry5.services.RequestHandler;
-import org.apache.tapestry5.services.Response;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClasspathAssetFactory.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClasspathAssetFactory.java
index 7dccc3e..ca0702d 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClasspathAssetFactory.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClasspathAssetFactory.java
@@ -16,13 +16,13 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.Asset;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.internal.services.assets.ResourceChangeTracker;
import org.apache.tapestry5.ioc.annotations.Marker;
import org.apache.tapestry5.ioc.internal.util.ClasspathResource;
import org.apache.tapestry5.services.AssetAlias;
import org.apache.tapestry5.services.ClasspathAssetAliasManager;
import org.apache.tapestry5.services.ClasspathProvider;
-import org.apache.tapestry5.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.services.assets.AssetPathConstructor;
import org.apache.tapestry5.services.assets.StreamableResourceSource;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientBehaviorSupportImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientBehaviorSupportImpl.java
index a9d88b8..1bd14fe 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientBehaviorSupportImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientBehaviorSupportImpl.java
@@ -13,8 +13,8 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.Field;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.corelib.data.InsertPosition;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.services.ClientBehaviorSupport;
public class ClientBehaviorSupportImpl implements ClientBehaviorSupport
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientDataEncoderImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientDataEncoderImpl.java
index 7a26009..ec6063a 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientDataEncoderImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientDataEncoderImpl.java
@@ -16,7 +16,7 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.alerts.AlertManager;
-import org.apache.tapestry5.internal.InternalConstants;
+import org.apache.tapestry5.http.internal.TapestryHttpInternalConstants;
import org.apache.tapestry5.internal.TapestryInternalUtils;
import org.apache.tapestry5.internal.util.Base64InputStream;
import org.apache.tapestry5.internal.util.MacOutputStream;
@@ -43,7 +43,7 @@ public class ClientDataEncoderImpl implements ClientDataEncoder
public ClientDataEncoderImpl(URLEncoder urlEncoder, @Symbol(SymbolConstants.HMAC_PASSPHRASE) String passphrase,
Logger logger,
- @Symbol(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM)
+ @Symbol(TapestryHttpInternalConstants.TAPESTRY_APP_PACKAGE_PARAM)
String applicationPackageName, AlertManager alertManager) throws UnsupportedEncodingException
{
this.urlEncoder = urlEncoder;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStorage.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStorage.java
index 6b6108e..e0e3e02 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStorage.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStorage.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.services.PersistentFieldChange;
import org.apache.tapestry5.services.PersistentFieldStrategy;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStorageImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStorageImpl.java
index fb5d221..4a3cbc3 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStorageImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStorageImpl.java
@@ -12,17 +12,17 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.beanmodel.services.*;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.SessionPersistedObjectAnalyzer;
import org.apache.tapestry5.ioc.ScopeConstants;
import org.apache.tapestry5.ioc.annotations.Scope;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.services.ClientDataEncoder;
import org.apache.tapestry5.services.ClientDataSink;
import org.apache.tapestry5.services.PersistentFieldChange;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.SessionPersistedObjectAnalyzer;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStrategy.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStrategy.java
index 635e295..2e0acda 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStrategy.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStrategy.java
@@ -14,8 +14,8 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.beanmodel.services.*;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.LinkCreationListener2;
import org.apache.tapestry5.services.PageRenderRequestParameters;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventDispatcher.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventDispatcher.java
index 5522d9f..5f421de 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventDispatcher.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventDispatcher.java
@@ -13,13 +13,13 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.beanmodel.services.*;
+import org.apache.tapestry5.http.services.Dispatcher;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.services.ComponentEventLinkEncoder;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.ComponentRequestHandler;
-import org.apache.tapestry5.services.Dispatcher;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventLinkEncoderImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventLinkEncoderImpl.java
index 34abeab..9fab5ea 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventLinkEncoderImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventLinkEncoderImpl.java
@@ -17,11 +17,15 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.*;
import org.apache.tapestry5.beanmodel.services.*;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.BaseURLSource;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.TapestryInternalUtils;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-import org.apache.tapestry5.services.BaseURLSource;
import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.ComponentEventLinkEncoder;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
@@ -30,8 +34,6 @@ import org.apache.tapestry5.services.LocalizationSetter;
import org.apache.tapestry5.services.MetaDataLocator;
import org.apache.tapestry5.services.PageRenderRequestParameters;
import org.apache.tapestry5.services.PersistentLocale;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import org.apache.tapestry5.services.security.ClientWhitelist;
import java.util.List;
@@ -75,7 +77,7 @@ public class ComponentEventLinkEncoderImpl implements ComponentEventLinkEncoder
PersistentLocale persistentLocale,
@Symbol(SymbolConstants.ENCODE_LOCALE_INTO_PATH)
boolean encodeLocaleIntoPath,
- @Symbol(SymbolConstants.CONTEXT_PATH)
+ @Symbol(TapestryHttpSymbolConstants.CONTEXT_PATH)
String contextPath,
@Symbol(SymbolConstants.APPLICATION_FOLDER) String applicationFolder,
MetaDataLocator metaDataLocator,
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventRequestHandlerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventRequestHandlerImpl.java
index e194e09..61076c6 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventRequestHandlerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentEventRequestHandlerImpl.java
@@ -15,6 +15,7 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.TrackableComponentEventCallback;
import org.apache.tapestry5.beanmodel.services.*;
import org.apache.tapestry5.commons.internal.util.TapestryException;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.structure.ComponentPageElement;
import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.ioc.annotations.Primary;
@@ -22,7 +23,6 @@ import org.apache.tapestry5.services.ComponentEventRequestHandler;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.ComponentEventResultProcessor;
import org.apache.tapestry5.services.Environment;
-import org.apache.tapestry5.services.Response;
import org.apache.tapestry5.services.Traditional;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
index 8dbcaff..09c568f 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
@@ -17,12 +17,12 @@ import java.util.Map;
import java.util.Set;
import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.beanmodel.services.PlasticProxyFactoryImpl;
import org.apache.tapestry5.commons.Resource;
import org.apache.tapestry5.commons.services.PlasticProxyFactory;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.commons.util.ExceptionUtils;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.internal.InternalComponentResources;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.model.MutableComponentModelImpl;
@@ -138,7 +138,7 @@ public final class ComponentInstantiatorSourceImpl implements ComponentInstantia
Map<String, ControlledPackageType> configuration,
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
boolean productionMode,
ComponentClassResolver resolver,
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java
index 039ed8f..c88f9bc 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java
@@ -14,10 +14,10 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.Messages;
import org.apache.tapestry5.commons.Resource;
import org.apache.tapestry5.commons.services.InvalidationEventHub;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.ioc.annotations.PostInjection;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.internal.util.URLChangeTracker;
@@ -69,7 +69,7 @@ public class ComponentMessagesSourceImpl implements ComponentMessagesSource, Upd
}
}
- public ComponentMessagesSourceImpl(@Symbol(SymbolConstants.PRODUCTION_MODE)
+ public ComponentMessagesSourceImpl(@Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
boolean productionMode, List<Resource> appCatalogResources, PropertiesFileParser parser,
ComponentResourceLocator resourceLocator, ClasspathURLConverter classpathURLConverter)
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentSourceImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentSourceImpl.java
index 28dd8b5..63cea07 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentSourceImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentSourceImpl.java
@@ -15,13 +15,13 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.ComponentResources;
+import org.apache.tapestry5.http.services.RequestGlobals;
import org.apache.tapestry5.internal.structure.ComponentPageElement;
import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.runtime.Component;
import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.ComponentSource;
-import org.apache.tapestry5.services.RequestGlobals;
@SuppressWarnings("all")
public class ComponentSourceImpl implements ComponentSource
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImpl.java
index 43cde62..88b2d52 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImpl.java
@@ -12,13 +12,13 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.TapestryConstants;
import org.apache.tapestry5.commons.Location;
import org.apache.tapestry5.commons.Resource;
import org.apache.tapestry5.commons.services.InvalidationEventHub;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.commons.util.MultiKey;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.internal.event.InvalidationEventHubImpl;
import org.apache.tapestry5.internal.parser.ComponentTemplate;
import org.apache.tapestry5.internal.parser.TemplateToken;
@@ -102,7 +102,7 @@ public final class ComponentTemplateSourceImpl extends InvalidationEventHubImpl
};
public ComponentTemplateSourceImpl(@Inject
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
boolean productionMode, TemplateParser parser, ComponentResourceLocator locator,
ClasspathURLConverter classpathURLConverter)
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ContextAssetFactory.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ContextAssetFactory.java
index 3b44454..a468096 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ContextAssetFactory.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ContextAssetFactory.java
@@ -16,10 +16,10 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.Asset;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.services.Context;
+import org.apache.tapestry5.http.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.internal.services.assets.ResourceChangeTracker;
import org.apache.tapestry5.services.AssetFactory;
-import org.apache.tapestry5.services.Context;
-import org.apache.tapestry5.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.services.assets.AssetPathConstructor;
import org.apache.tapestry5.services.assets.StreamableResourceSource;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ContextResource.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ContextResource.java
index 0ff3223..9391899 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ContextResource.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ContextResource.java
@@ -15,8 +15,8 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.services.Context;
import org.apache.tapestry5.ioc.internal.util.AbstractResource;
-import org.apache.tapestry5.services.Context;
import java.io.File;
import java.net.MalformedURLException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CookiesImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CookiesImpl.java
index 58e18b2..5d898a5 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CookiesImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CookiesImpl.java
@@ -17,12 +17,12 @@ package org.apache.tapestry5.internal.services;
import javax.servlet.http.Cookie;
import org.apache.tapestry5.CookieBuilder;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.util.TimeInterval;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.IntermediateType;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.services.Cookies;
-import org.apache.tapestry5.services.Request;
/**
* Implementation of the {@link org.apache.tapestry5.services.Cookies} service interface.
@@ -53,7 +53,7 @@ public class CookiesImpl implements Cookies
CookieSink cookieSink,
- @Symbol(SymbolConstants.CONTEXT_PATH)
+ @Symbol(TapestryHttpSymbolConstants.CONTEXT_PATH)
String contextPath,
@Symbol("tapestry.default-cookie-max-age") @IntermediateType(TimeInterval.class)
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandler.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandler.java
index ee85b08..b512990 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandler.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandler.java
@@ -14,11 +14,13 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.ContextAwareException;
import org.apache.tapestry5.ExceptionHandlerAssistant;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.beanmodel.services.*;
import org.apache.tapestry5.commons.internal.util.TapestryException;
import org.apache.tapestry5.commons.util.ExceptionUtils;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.ioc.ServiceResources;
@@ -28,9 +30,7 @@ import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.runtime.ComponentEventException;
import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.ExceptionReporter;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.RequestExceptionHandler;
-import org.apache.tapestry5.services.Response;
import org.slf4j.Logger;
import javax.servlet.http.HttpServletResponse;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DeferredResponseRenderer.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DeferredResponseRenderer.java
index 08cd973..a52eb42 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DeferredResponseRenderer.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DeferredResponseRenderer.java
@@ -16,13 +16,13 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.TapestryConstants;
import org.apache.tapestry5.beanmodel.services.*;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.IOOperation;
import org.apache.tapestry5.ioc.OperationTracker;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.ComponentRequestFilter;
import org.apache.tapestry5.services.ComponentRequestHandler;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.Request;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/EndOfRequestEventHubImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/EndOfRequestEventHubImpl.java
index e0cf073..8b5eabc 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/EndOfRequestEventHubImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/EndOfRequestEventHubImpl.java
@@ -15,8 +15,8 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.services.RequestGlobals;
import org.apache.tapestry5.internal.events.EndOfRequestListener;
-import org.apache.tapestry5.services.RequestGlobals;
import java.util.List;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/FlashPersistentFieldStrategy.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/FlashPersistentFieldStrategy.java
index fca9585..51a7db6 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/FlashPersistentFieldStrategy.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/FlashPersistentFieldStrategy.java
@@ -14,8 +14,8 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Session;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Session;
/**
* The "flash" strategy stores data inside the {@link Session session}, just like {@link
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/HttpErrorComponentEventResultProcessor.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/HttpErrorComponentEventResultProcessor.java
index 7404c81..0599d90 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/HttpErrorComponentEventResultProcessor.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/HttpErrorComponentEventResultProcessor.java
@@ -14,9 +14,9 @@
package org.apache.tapestry5.internal.services;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.services.ComponentEventResultProcessor;
import org.apache.tapestry5.services.HttpError;
-import org.apache.tapestry5.services.Response;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/IgnoredPathsFilter.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/IgnoredPathsFilter.java
index 862b9b8..af33367 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/IgnoredPathsFilter.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/IgnoredPathsFilter.java
@@ -14,8 +14,8 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.services.HttpServletRequestFilter;
-import org.apache.tapestry5.services.HttpServletRequestHandler;
+import org.apache.tapestry5.http.services.HttpServletRequestFilter;
+import org.apache.tapestry5.http.services.HttpServletRequestHandler;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalComponentInvalidationEventHubImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalComponentInvalidationEventHubImpl.java
index fe43063..e536a77 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalComponentInvalidationEventHubImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalComponentInvalidationEventHubImpl.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.internal.event.InvalidationEventHubImpl;
import org.apache.tapestry5.ioc.annotations.PostInjection;
import org.apache.tapestry5.ioc.annotations.Symbol;
@@ -22,7 +22,7 @@ import org.apache.tapestry5.ioc.annotations.Symbol;
public class InternalComponentInvalidationEventHubImpl extends InvalidationEventHubImpl implements
InternalComponentInvalidationEventHub
{
- public InternalComponentInvalidationEventHubImpl(@Symbol(SymbolConstants.PRODUCTION_MODE)
+ public InternalComponentInvalidationEventHubImpl(@Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
boolean productionMode)
{
super(productionMode);
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/JSONArrayEventResultProcessor.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/JSONArrayEventResultProcessor.java
index 0e650b9..9db611c 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/JSONArrayEventResultProcessor.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/JSONArrayEventResultProcessor.java
@@ -12,13 +12,14 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.http.ContentType;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.json.JSONArray;
import org.apache.tapestry5.services.ComponentEventResultProcessor;
-import org.apache.tapestry5.services.Response;
import java.io.IOException;
import java.io.PrintWriter;
@@ -33,7 +34,7 @@ public class JSONArrayEventResultProcessor implements ComponentEventResultProces
public JSONArrayEventResultProcessor(Response response,
- @Symbol(SymbolConstants.CHARSET)
+ @Symbol(TapestryHttpSymbolConstants.CHARSET)
String outputEncoding,
@Symbol(SymbolConstants.COMPACT_JSON)
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkDecorationListener.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkDecorationListener.java
index ba0659a..fe1eaa3 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkDecorationListener.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkDecorationListener.java
@@ -15,7 +15,7 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.EventConstants;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.model.ComponentModel;
import org.apache.tapestry5.runtime.Component;
import org.apache.tapestry5.services.ComponentClassResolver;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkImpl.java
index fafcad5..7531062 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkImpl.java
@@ -14,12 +14,12 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.Link;
-import org.apache.tapestry5.LinkSecurity;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.LinkSecurity;
+import org.apache.tapestry5.http.services.BaseURLSource;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-import org.apache.tapestry5.services.BaseURLSource;
import org.apache.tapestry5.services.ContextPathEncoder;
-import org.apache.tapestry5.services.Response;
import java.util.Arrays;
import java.util.List;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSource.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSource.java
index 40d62ba..9b416d3 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSource.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSource.java
@@ -12,14 +12,14 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.ioc.annotations.UsesOrderedConfiguration;
import org.apache.tapestry5.services.LinkCreationHub;
import org.apache.tapestry5.services.LinkCreationListener2;
/**
- * A source for {@link org.apache.tapestry5.Link} objects.
+ * A source for {@link org.apache.tapestry5.http.Link} objects.
*
* @see org.apache.tapestry5.services.LinkCreationListener2
* @since 5.1.0.0
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSourceImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSourceImpl.java
index eb485ed..eaf9128 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSourceImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSourceImpl.java
@@ -16,9 +16,10 @@ package org.apache.tapestry5.internal.services;
import java.util.List;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.commons.services.TypeCoercer;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.RequestGlobals;
import org.apache.tapestry5.internal.TapestryInternalUtils;
import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
@@ -29,7 +30,6 @@ import org.apache.tapestry5.services.LinkCreationHub;
import org.apache.tapestry5.services.LinkCreationListener;
import org.apache.tapestry5.services.LinkCreationListener2;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.RequestGlobals;
@SuppressWarnings("all")
public class LinkSourceImpl implements LinkSource, LinkCreationHub
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LocalizationSetterImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LocalizationSetterImpl.java
index 6cabf69..1976d39 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LocalizationSetterImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LocalizationSetterImpl.java
@@ -24,6 +24,7 @@ import org.apache.tapestry5.OptionModel;
import org.apache.tapestry5.SelectModel;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.OptionModelImpl;
import org.apache.tapestry5.internal.SelectModelImpl;
import org.apache.tapestry5.internal.TapestryInternalUtils;
@@ -31,7 +32,6 @@ import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.services.ThreadLocale;
import org.apache.tapestry5.services.LocalizationSetter;
import org.apache.tapestry5.services.PersistentLocale;
-import org.apache.tapestry5.services.Request;
/**
* Given a set of supported locales, for a specified desired locale, sets the current thread's locale to a supported
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/MarkupWriterFactoryImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/MarkupWriterFactoryImpl.java
index 3a875c9..1b24521 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/MarkupWriterFactoryImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/MarkupWriterFactoryImpl.java
@@ -16,12 +16,12 @@ package org.apache.tapestry5.internal.services;
import java.util.List;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.MarkupWriter;
import org.apache.tapestry5.dom.DefaultMarkupModel;
import org.apache.tapestry5.dom.Html5MarkupModel;
import org.apache.tapestry5.dom.MarkupModel;
import org.apache.tapestry5.dom.XMLMarkupModel;
+import org.apache.tapestry5.http.ContentType;
import org.apache.tapestry5.internal.parser.DTDToken;
import org.apache.tapestry5.internal.parser.TemplateToken;
import org.apache.tapestry5.internal.parser.TokenType;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageContentTypeAnalyzer.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageContentTypeAnalyzer.java
index 5a3059b..79191f5 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageContentTypeAnalyzer.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageContentTypeAnalyzer.java
@@ -14,13 +14,13 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.ContentType;
+import org.apache.tapestry5.http.ContentType;
import org.apache.tapestry5.internal.structure.Page;
public interface PageContentTypeAnalyzer
{
/**
- * Analyzes the meta-data for the page and identifies the correct {@link org.apache.tapestry5.ContentType}
+ * Analyzes the meta-data for the page and identifies the correct {@link org.apache.tapestry5.http.ContentType}
* (including encoding).
*
* @param page to be rendered
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageContentTypeAnalyzerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageContentTypeAnalyzerImpl.java
index 322ebc7..b73e5e7 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageContentTypeAnalyzerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageContentTypeAnalyzerImpl.java
@@ -13,9 +13,9 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.MetaDataConstants;
-import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.http.ContentType;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.services.MetaDataLocator;
@@ -28,7 +28,7 @@ public class PageContentTypeAnalyzerImpl implements PageContentTypeAnalyzer
public PageContentTypeAnalyzerImpl(MetaDataLocator metaDataLocator,
- @Symbol(SymbolConstants.CHARSET)
+ @Symbol(TapestryHttpSymbolConstants.CHARSET)
String outputCharset)
{
this.metaDataLocator = metaDataLocator;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageNameComponentEventResultProcessor.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageNameComponentEventResultProcessor.java
index f08f520..f4c6ddb 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageNameComponentEventResultProcessor.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageNameComponentEventResultProcessor.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.ioc.annotations.Primary;
import org.apache.tapestry5.services.ComponentEventResultProcessor;
import org.apache.tapestry5.services.Traditional;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageNameMetaInjector.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageNameMetaInjector.java
index 889bfef..36c18dd 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageNameMetaInjector.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageNameMetaInjector.java
@@ -17,9 +17,9 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.MarkupWriter;
import org.apache.tapestry5.dom.Document;
import org.apache.tapestry5.dom.Element;
+import org.apache.tapestry5.http.services.RequestGlobals;
import org.apache.tapestry5.services.MarkupRenderer;
import org.apache.tapestry5.services.MarkupRendererFilter;
-import org.apache.tapestry5.services.RequestGlobals;
/**
* Injects a {@code <meta/>} element into the {@code <head/>} to identify the Tapestry page name.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageRenderDispatcher.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageRenderDispatcher.java
index 5f9fcbc..fd9ae07 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageRenderDispatcher.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageRenderDispatcher.java
@@ -13,13 +13,13 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.beanmodel.services.*;
+import org.apache.tapestry5.http.services.Dispatcher;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.services.ComponentEventLinkEncoder;
import org.apache.tapestry5.services.ComponentRequestHandler;
-import org.apache.tapestry5.services.Dispatcher;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageRenderLinkSourceImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageRenderLinkSourceImpl.java
index 8152a33..5b70184 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageRenderLinkSourceImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageRenderLinkSourceImpl.java
@@ -16,8 +16,8 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.services.PageRenderLinkSource;
import org.apache.tapestry5.services.ComponentClassResolver;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.EventContext;
+import org.apache.tapestry5.http.Link;
public class PageRenderLinkSourceImpl implements PageRenderLinkSource
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageRenderRequestHandlerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageRenderRequestHandlerImpl.java
index f1d633a..9a1d930 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageRenderRequestHandlerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageRenderRequestHandlerImpl.java
@@ -15,13 +15,13 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.beanmodel.services.*;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.ioc.annotations.Primary;
import org.apache.tapestry5.services.ComponentEventResultProcessor;
import org.apache.tapestry5.services.PageRenderRequestHandler;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.Traditional;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
index 71bf591..116be19 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
@@ -17,12 +17,12 @@ package org.apache.tapestry5.internal.services;
import java.io.IOException;
import java.io.PrintWriter;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.MarkupWriter;
+import org.apache.tapestry5.http.ContentType;
+import org.apache.tapestry5.http.services.RequestGlobals;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.services.MarkupWriterFactory;
-import org.apache.tapestry5.services.RequestGlobals;
-import org.apache.tapestry5.services.Response;
import org.slf4j.Logger;
public class PageResponseRendererImpl implements PageResponseRenderer
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PathConstructorImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PathConstructorImpl.java
index c8ac646..ee26f0c 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PathConstructorImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PathConstructorImpl.java
@@ -15,6 +15,7 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.services.PathConstructor;
@@ -23,7 +24,7 @@ public class PathConstructorImpl implements PathConstructor
private final String clientPrefix, dispatchPrefix;
public PathConstructorImpl(
- @Symbol(SymbolConstants.CONTEXT_PATH) String contextPath,
+ @Symbol(TapestryHttpSymbolConstants.CONTEXT_PATH) String contextPath,
@Symbol(SymbolConstants.APPLICATION_FOLDER) String applicationFolder)
{
StringBuilder b = new StringBuilder("/");
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ProductionModeUnknownComponentFilter.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ProductionModeUnknownComponentFilter.java
index 34f631e..3563d2f 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ProductionModeUnknownComponentFilter.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ProductionModeUnknownComponentFilter.java
@@ -14,13 +14,13 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.beanmodel.services.*;
import org.apache.tapestry5.commons.util.UnknownValueException;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.ComponentRequestFilter;
import org.apache.tapestry5.services.ComponentRequestHandler;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.Request;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ReloadHelperImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ReloadHelperImpl.java
index 923a047..3813d12 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ReloadHelperImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ReloadHelperImpl.java
@@ -14,9 +14,9 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.alerts.AlertManager;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.ioc.annotations.Symbol;
import java.util.List;
@@ -29,7 +29,7 @@ public class ReloadHelperImpl implements ReloadHelper
private final List<Runnable> callbacks = CollectionFactory.newThreadSafeList();
- public ReloadHelperImpl(AlertManager alertManager, @Symbol(SymbolConstants.PRODUCTION_MODE) boolean productionMode)
+ public ReloadHelperImpl(AlertManager alertManager, @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE) boolean productionMode)
{
this.alertManager = alertManager;
this.productionMode = productionMode;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestErrorFilter.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestErrorFilter.java
index 7c259e0..20dc209 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestErrorFilter.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestErrorFilter.java
@@ -3,14 +3,14 @@ package org.apache.tapestry5.internal.services;
import java.io.IOException;
import org.apache.tapestry5.beanmodel.services.*;
-import org.apache.tapestry5.services.Request;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestFilter;
+import org.apache.tapestry5.http.services.RequestHandler;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.services.RequestExceptionHandler;
-import org.apache.tapestry5.services.RequestFilter;
-import org.apache.tapestry5.services.RequestHandler;
-import org.apache.tapestry5.services.Response;
/**
- * Filter for the {@link org.apache.tapestry5.services.RequestHandler} pipeline used to intercept and report
+ * Filter for the {@link org.apache.tapestry5.http.services.RequestHandler} pipeline used to intercept and report
* exceptions.
*/
public class RequestErrorFilter implements RequestFilter
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestOperationTracker.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestOperationTracker.java
index 6c37c8b..49cf464 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestOperationTracker.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestOperationTracker.java
@@ -15,6 +15,7 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.beanmodel.services.*;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.util.Holder;
import org.apache.tapestry5.ioc.IOOperation;
import org.apache.tapestry5.ioc.OperationTracker;
@@ -22,7 +23,6 @@ import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.ComponentRequestFilter;
import org.apache.tapestry5.services.ComponentRequestHandler;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.Request;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestPageCacheImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestPageCacheImpl.java
index ba3b288..457b409 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestPageCacheImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestPageCacheImpl.java
@@ -16,6 +16,7 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.commons.util.ExceptionUtils;
+import org.apache.tapestry5.http.services.RequestGlobals;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.ioc.ScopeConstants;
@@ -23,7 +24,6 @@ import org.apache.tapestry5.ioc.annotations.PostInjection;
import org.apache.tapestry5.ioc.annotations.Scope;
import org.apache.tapestry5.ioc.services.PerthreadManager;
import org.apache.tapestry5.services.ComponentClassResolver;
-import org.apache.tapestry5.services.RequestGlobals;
import org.slf4j.Logger;
import java.util.Map;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestSecurityManager.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestSecurityManager.java
index 7321b40..ece9fcd 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestSecurityManager.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestSecurityManager.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.LinkSecurity;
+import org.apache.tapestry5.http.LinkSecurity;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.PageRenderRequestParameters;
@@ -24,7 +24,7 @@ import java.io.IOException;
* Used to manage the relationship between the security of a request and the security of a page. By secure, we mean
* whether a request uses HTTPS and whether a page demands the use of HTTPS.
*
- * @see org.apache.tapestry5.services.Request#isSecure()
+ * @see org.apache.tapestry5.http.services.Request#isSecure()
*/
public interface RequestSecurityManager
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestSecurityManagerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestSecurityManagerImpl.java
index 63c13b3..db56e7b 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestSecurityManagerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestSecurityManagerImpl.java
@@ -14,18 +14,18 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.Link;
-import org.apache.tapestry5.LinkSecurity;
import org.apache.tapestry5.MetaDataConstants;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.beanmodel.services.*;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.LinkSecurity;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.services.ComponentEventLinkEncoder;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.MetaDataLocator;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java
index fa6b6a3..c803282 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java
@@ -15,6 +15,10 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.Asset;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.internal.TapestryHttpInternalConstants;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.services.assets.ResourceChangeTracker;
import org.apache.tapestry5.ioc.IOOperation;
@@ -22,8 +26,6 @@ import org.apache.tapestry5.ioc.OperationTracker;
import org.apache.tapestry5.ioc.annotations.InjectService;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.services.AssetFactory;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import org.apache.tapestry5.services.assets.*;
import javax.servlet.http.HttpServletResponse;
@@ -63,7 +65,7 @@ public class ResourceStreamerImpl implements ResourceStreamer
OperationTracker tracker,
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
boolean productionMode,
ResourceChangeTracker resourceChangeTracker,
@@ -214,7 +216,7 @@ public class ResourceStreamerImpl implements ResourceStreamer
if (streamable.getCompression() == CompressionStatus.COMPRESSED)
{
- response.setHeader(InternalConstants.CONTENT_ENCODING_HEADER, InternalConstants.GZIP_CONTENT_ENCODING);
+ response.setHeader(TapestryHttpInternalConstants.CONTENT_ENCODING_HEADER, TapestryHttpInternalConstants.GZIP_CONTENT_ENCODING);
}
ResponseCustomizer responseCustomizer = streamable.getResponseCustomizer();
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseRendererImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseRendererImpl.java
index a8952ca..ac48ce3 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseRendererImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseRendererImpl.java
@@ -16,7 +16,7 @@ package org.apache.tapestry5.internal.services;
import java.io.IOException;
-import org.apache.tapestry5.ContentType;
+import org.apache.tapestry5.http.ContentType;
import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.runtime.Component;
import org.apache.tapestry5.services.ResponseRenderer;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RestoreDirtySessionObjects.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RestoreDirtySessionObjects.java
index 95902e8..46f003a 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RestoreDirtySessionObjects.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RestoreDirtySessionObjects.java
@@ -14,12 +14,12 @@
package org.apache.tapestry5.internal.services;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.internal.events.EndOfRequestListener;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Session;
/**
- * A listener that invokes {@link org.apache.tapestry5.services.Session#restoreDirtyObjects()}.
+ * A listener that invokes {@link org.apache.tapestry5.http.services.Session#restoreDirtyObjects()}.
*/
public class RestoreDirtySessionObjects implements EndOfRequestListener
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RootPathDispatcher.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RootPathDispatcher.java
index 610a052..4b82e61 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RootPathDispatcher.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RootPathDispatcher.java
@@ -17,15 +17,15 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.EventContext;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.beanmodel.services.*;
+import org.apache.tapestry5.http.services.Dispatcher;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.EmptyEventContext;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.ComponentRequestHandler;
-import org.apache.tapestry5.services.Dispatcher;
import org.apache.tapestry5.services.LocalizationSetter;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SessionApplicationStatePersistenceStrategy.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SessionApplicationStatePersistenceStrategy.java
index a459ae0..1840d8e 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SessionApplicationStatePersistenceStrategy.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SessionApplicationStatePersistenceStrategy.java
@@ -14,10 +14,10 @@
package org.apache.tapestry5.internal.services;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.services.ApplicationStateCreator;
import org.apache.tapestry5.services.ApplicationStatePersistenceStrategy;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Session;
/**
* Stores ASOs in the {@link Session}, which will be created as necessary.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SessionPersistentFieldStrategy.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SessionPersistentFieldStrategy.java
index d53d910..b09a1f9 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SessionPersistentFieldStrategy.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SessionPersistentFieldStrategy.java
@@ -12,8 +12,8 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Session;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Session;
/**
* A strategy for storing persistent page properties into the {@link Session session}.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StaticFilesFilter.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StaticFilesFilter.java
index a282e17..7001db7 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StaticFilesFilter.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StaticFilesFilter.java
@@ -20,11 +20,11 @@ import java.net.URL;
import javax.servlet.http.HttpServletResponse;
import org.apache.tapestry5.TapestryConstants;
-import org.apache.tapestry5.services.Context;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.RequestFilter;
-import org.apache.tapestry5.services.RequestHandler;
-import org.apache.tapestry5.services.Response;
+import org.apache.tapestry5.http.services.Context;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestFilter;
+import org.apache.tapestry5.http.services.RequestHandler;
+import org.apache.tapestry5.http.services.Response;
/**
* Identifies requests that are for actual resource files in the context. For those, Tapestry allows the servlet
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StreamPageContentResultProcessor.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StreamPageContentResultProcessor.java
index 141c5c1..4d18b6a 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StreamPageContentResultProcessor.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StreamPageContentResultProcessor.java
@@ -18,6 +18,8 @@ import org.apache.tapestry5.EventContext;
import org.apache.tapestry5.TapestryConstants;
import org.apache.tapestry5.beanmodel.services.*;
import org.apache.tapestry5.commons.services.TypeCoercer;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestGlobals;
import org.apache.tapestry5.internal.EmptyEventContext;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.ioc.IOOperation;
@@ -25,8 +27,6 @@ import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.ComponentEventResultProcessor;
import org.apache.tapestry5.services.PageRenderRequestHandler;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.RequestGlobals;
import org.apache.tapestry5.services.StreamPageContent;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StreamResponseResultProcessor.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StreamResponseResultProcessor.java
index a2b6e6a..29dd614 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StreamResponseResultProcessor.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StreamResponseResultProcessor.java
@@ -20,10 +20,10 @@ import java.io.InputStream;
import java.io.OutputStream;
import org.apache.tapestry5.StreamResponse;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.TapestryInternalUtils;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.services.ComponentEventResultProcessor;
-import org.apache.tapestry5.services.Response;
public class StreamResponseResultProcessor implements ComponentEventResultProcessor<StreamResponse>
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/AjaxFormUpdateFilter.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/AjaxFormUpdateFilter.java
index 5b914a9..7276f04 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/AjaxFormUpdateFilter.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/AjaxFormUpdateFilter.java
@@ -16,13 +16,13 @@ package org.apache.tapestry5.internal.services.ajax;
import java.io.IOException;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.services.RequestConstants;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.services.Ajax;
import org.apache.tapestry5.services.ComponentEventRequestFilter;
import org.apache.tapestry5.services.ComponentEventRequestHandler;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
-import org.apache.tapestry5.services.Request;
/**
* Filter for the {@link Ajax} {@link ComponentEventRequestHandler} that informs the {@link AjaxFormUpdateController}
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/AjaxResponseRendererImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/AjaxResponseRendererImpl.java
index df74e0c..cddf7e2 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/AjaxResponseRendererImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/AjaxResponseRendererImpl.java
@@ -14,6 +14,7 @@ package org.apache.tapestry5.internal.services.ajax;
import org.apache.tapestry5.ClientBodyElement;
import org.apache.tapestry5.MarkupWriter;
import org.apache.tapestry5.commons.services.TypeCoercer;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.services.PageRenderQueue;
import org.apache.tapestry5.internal.services.PageSource;
@@ -24,7 +25,6 @@ import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.runtime.RenderCommand;
import org.apache.tapestry5.services.PartialMarkupRenderer;
import org.apache.tapestry5.services.PartialMarkupRendererFilter;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.ajax.AjaxResponseRenderer;
import org.apache.tapestry5.services.ajax.JSONCallback;
import org.apache.tapestry5.services.ajax.JavaScriptCallback;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/AssetPathConstructorImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/AssetPathConstructorImpl.java
index 5657463..5b5f3c3 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/AssetPathConstructorImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/AssetPathConstructorImpl.java
@@ -15,12 +15,12 @@
package org.apache.tapestry5.internal.services.assets;
import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.http.services.BaseURLSource;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.services.AssetPathConverter;
-import org.apache.tapestry5.services.BaseURLSource;
import org.apache.tapestry5.services.PathConstructor;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.assets.AssetPathConstructor;
import org.apache.tapestry5.services.assets.CompressionStatus;
import org.apache.tapestry5.services.assets.StreamableResource;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CSSURLRewriter.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CSSURLRewriter.java
index 1e6484c..46313ed 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CSSURLRewriter.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CSSURLRewriter.java
@@ -13,9 +13,9 @@
package org.apache.tapestry5.internal.services.assets;
import org.apache.tapestry5.Asset;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.ContentType;
import org.apache.tapestry5.ioc.IOOperation;
import org.apache.tapestry5.ioc.OperationTracker;
import org.apache.tapestry5.services.AssetSource;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ClasspathAssetRequestHandler.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ClasspathAssetRequestHandler.java
index 88149fb..981774f 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ClasspathAssetRequestHandler.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ClasspathAssetRequestHandler.java
@@ -15,12 +15,12 @@
package org.apache.tapestry5.internal.services.assets;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.services.ResourceStreamer;
import org.apache.tapestry5.services.AssetSource;
import org.apache.tapestry5.services.ClasspathAssetAliasManager;
import org.apache.tapestry5.services.ClasspathAssetProtectionRule;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import org.apache.tapestry5.services.assets.AssetRequestHandler;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CompressionAnalyzerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CompressionAnalyzerImpl.java
index 32acc5c..fdb1554 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CompressionAnalyzerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CompressionAnalyzerImpl.java
@@ -2,7 +2,7 @@ package org.apache.tapestry5.internal.services.assets;
import java.util.Map;
-import org.apache.tapestry5.services.assets.CompressionAnalyzer;
+import org.apache.tapestry5.http.services.CompressionAnalyzer;
public class CompressionAnalyzerImpl implements CompressionAnalyzer
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ContentTypeAnalyzerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ContentTypeAnalyzerImpl.java
index 3114584..0be0a5d 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ContentTypeAnalyzerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ContentTypeAnalyzerImpl.java
@@ -17,8 +17,8 @@ package org.apache.tapestry5.internal.services.assets;
import java.util.Map;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.services.Context;
import org.apache.tapestry5.internal.TapestryInternalUtils;
-import org.apache.tapestry5.services.Context;
import org.apache.tapestry5.services.assets.ContentTypeAnalyzer;
public class ContentTypeAnalyzerImpl implements ContentTypeAnalyzer
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ContextAssetRequestHandler.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ContextAssetRequestHandler.java
index faab6bb..ab0a8c8 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ContextAssetRequestHandler.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ContextAssetRequestHandler.java
@@ -15,9 +15,9 @@
package org.apache.tapestry5.internal.services.assets;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.services.ResourceStreamer;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import org.apache.tapestry5.services.assets.AssetRequestHandler;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/DelegatingSRS.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/DelegatingSRS.java
index 04fff07..ffdbffa 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/DelegatingSRS.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/DelegatingSRS.java
@@ -14,8 +14,8 @@
package org.apache.tapestry5.internal.services.assets;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.ContentType;
import org.apache.tapestry5.services.assets.ResourceDependencies;
import org.apache.tapestry5.services.assets.StreamableResource;
import org.apache.tapestry5.services.assets.StreamableResourceProcessing;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackAssemblerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackAssemblerImpl.java
index bdc79f0..2b12769 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackAssemblerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackAssemblerImpl.java
@@ -13,10 +13,10 @@
package org.apache.tapestry5.internal.services.assets;
import org.apache.tapestry5.Asset;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.Resource;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.ContentType;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.services.ThreadLocale;
import org.apache.tapestry5.services.assets.*;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackMinimizeDisabler.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackMinimizeDisabler.java
index e228727..9bca3fa 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackMinimizeDisabler.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackMinimizeDisabler.java
@@ -14,7 +14,7 @@ package org.apache.tapestry5.internal.services.assets;
import org.apache.tapestry5.TapestryConstants;
import org.apache.tapestry5.commons.Resource;
-import org.apache.tapestry5.services.Request;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.services.assets.ResourceDependencies;
import org.apache.tapestry5.services.assets.StreamableResource;
import org.apache.tapestry5.services.assets.StreamableResourceProcessing;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ResourceChangeTrackerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ResourceChangeTrackerImpl.java
index 13425f5..917af3a 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ResourceChangeTrackerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ResourceChangeTrackerImpl.java
@@ -14,8 +14,8 @@
package org.apache.tapestry5.internal.services.assets;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.internal.event.InvalidationEventHubImpl;
import org.apache.tapestry5.ioc.annotations.PostInjection;
import org.apache.tapestry5.ioc.annotations.Symbol;
@@ -37,7 +37,7 @@ public class ResourceChangeTrackerImpl extends InvalidationEventHubImpl implemen
private final long fixedLastModifiedTime = Math.round(System.currentTimeMillis() / 1000d) * 1000L;
public ResourceChangeTrackerImpl(ClasspathURLConverter classpathURLConverter,
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
boolean productionMode)
{
super(productionMode);
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StackAssetRequestHandler.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StackAssetRequestHandler.java
index 91dc14f..fca88b2 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StackAssetRequestHandler.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StackAssetRequestHandler.java
@@ -12,12 +12,12 @@
package org.apache.tapestry5.internal.services.assets;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.services.ResourceStreamer;
import org.apache.tapestry5.ioc.IOOperation;
import org.apache.tapestry5.ioc.OperationTracker;
import org.apache.tapestry5.services.LocalizationSetter;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import org.apache.tapestry5.services.assets.AssetRequestHandler;
import org.apache.tapestry5.services.assets.StreamableResource;
import org.apache.tapestry5.services.javascript.JavaScriptStack;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StreamableResourceImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StreamableResourceImpl.java
index 40a4e31..8c10d1c 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StreamableResourceImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StreamableResourceImpl.java
@@ -12,8 +12,8 @@
package org.apache.tapestry5.internal.services.assets;
-import org.apache.tapestry5.ContentType;
-import org.apache.tapestry5.services.Response;
+import org.apache.tapestry5.http.ContentType;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.services.assets.AssetChecksumGenerator;
import org.apache.tapestry5.services.assets.CompressionStatus;
import org.apache.tapestry5.services.assets.ResponseCustomizer;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StreamableResourceSourceImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StreamableResourceSourceImpl.java
index 8351429..fcc30f7 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StreamableResourceSourceImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StreamableResourceSourceImpl.java
@@ -12,9 +12,10 @@
package org.apache.tapestry5.internal.services.assets;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.commons.Resource;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.ContentType;
+import org.apache.tapestry5.http.services.CompressionAnalyzer;
import org.apache.tapestry5.internal.TapestryInternalUtils;
import org.apache.tapestry5.services.assets.*;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/UTF8ForTextAssets.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/UTF8ForTextAssets.java
index 0f637d7..0ac2b9f 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/UTF8ForTextAssets.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/UTF8ForTextAssets.java
@@ -12,8 +12,8 @@
package org.apache.tapestry5.internal.services.assets;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.ContentType;
import org.apache.tapestry5.services.assets.ResourceDependencies;
import org.apache.tapestry5.services.assets.StreamableResource;
import org.apache.tapestry5.services.assets.StreamableResourceProcessing;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/exceptions/ExceptionReportWriterImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/exceptions/ExceptionReportWriterImpl.java
index f5c4d37..786e862 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/exceptions/ExceptionReportWriterImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/exceptions/ExceptionReportWriterImpl.java
@@ -12,12 +12,15 @@
package org.apache.tapestry5.internal.services.exceptions;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.func.F;
import org.apache.tapestry5.func.Flow;
import org.apache.tapestry5.func.Mapper;
import org.apache.tapestry5.func.Reducer;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestGlobals;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.internal.TapestryInternalUtils;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.annotations.Symbol;
@@ -26,9 +29,6 @@ import org.apache.tapestry5.ioc.services.ExceptionAnalysis;
import org.apache.tapestry5.ioc.services.ExceptionAnalyzer;
import org.apache.tapestry5.ioc.services.ExceptionInfo;
import org.apache.tapestry5.services.ExceptionReportWriter;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.RequestGlobals;
-import org.apache.tapestry5.services.Session;
import java.io.PrintWriter;
import java.lang.reflect.Array;
@@ -81,7 +81,7 @@ public class ExceptionReportWriterImpl implements ExceptionReportWriter
private RequestGlobals requestGlobals;
@Inject
- @Symbol(SymbolConstants.CONTEXT_PATH)
+ @Symbol(TapestryHttpSymbolConstants.CONTEXT_PATH)
private String contextPath;
@Override
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ConfigureHTMLElementFilter.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ConfigureHTMLElementFilter.java
index 5732ee5..aab9c2e 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ConfigureHTMLElementFilter.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ConfigureHTMLElementFilter.java
@@ -15,8 +15,8 @@
package org.apache.tapestry5.internal.services.javascript;
import org.apache.tapestry5.MarkupWriter;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.dom.Element;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.services.ThreadLocale;
import org.apache.tapestry5.services.MarkupRenderer;
@@ -34,7 +34,7 @@ public class ConfigureHTMLElementFilter implements MarkupRendererFilter
private final boolean debugEnabled;
- public ConfigureHTMLElementFilter(ThreadLocale threadLocale, @Symbol(SymbolConstants.PRODUCTION_MODE) boolean productionMode)
+ public ConfigureHTMLElementFilter(ThreadLocale threadLocale, @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE) boolean productionMode)
{
this.threadLocale = threadLocale;
this.debugEnabled = !productionMode;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/JavaScriptStackPathConstructorImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/JavaScriptStackPathConstructorImpl.java
index 0d1acb2..0c96e39 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/JavaScriptStackPathConstructorImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/JavaScriptStackPathConstructorImpl.java
@@ -18,11 +18,11 @@ import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.commons.util.ExceptionUtils;
import org.apache.tapestry5.func.F;
import org.apache.tapestry5.func.Mapper;
+import org.apache.tapestry5.http.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.internal.services.RequestConstants;
import org.apache.tapestry5.internal.services.assets.JavaScriptStackAssembler;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.services.ThreadLocale;
-import org.apache.tapestry5.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.services.assets.AssetPathConstructor;
import org.apache.tapestry5.services.assets.StreamableResource;
import org.apache.tapestry5.services.javascript.JavaScriptStack;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleDispatcher.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleDispatcher.java
index 1923565..30522b4 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleDispatcher.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleDispatcher.java
@@ -15,17 +15,17 @@ package org.apache.tapestry5.internal.services.javascript;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.Resource;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.services.Dispatcher;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.services.AssetDispatcher;
import org.apache.tapestry5.internal.services.RequestConstants;
import org.apache.tapestry5.internal.services.ResourceStreamer;
import org.apache.tapestry5.ioc.IOOperation;
import org.apache.tapestry5.ioc.OperationTracker;
import org.apache.tapestry5.ioc.annotations.Symbol;
-import org.apache.tapestry5.services.Dispatcher;
import org.apache.tapestry5.services.LocalizationSetter;
import org.apache.tapestry5.services.PathConstructor;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import org.apache.tapestry5.services.javascript.JavaScriptStackSource;
import org.apache.tapestry5.services.javascript.ModuleManager;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleManagerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleManagerImpl.java
index 2e28a6b..c56f45a 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleManagerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleManagerImpl.java
@@ -17,6 +17,8 @@ import org.apache.tapestry5.commons.Messages;
import org.apache.tapestry5.commons.Resource;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.dom.Element;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.services.assets.ResourceChangeTracker;
import org.apache.tapestry5.ioc.annotations.PostInjection;
@@ -26,7 +28,6 @@ import org.apache.tapestry5.json.JSONLiteral;
import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.services.AssetSource;
import org.apache.tapestry5.services.PathConstructor;
-import org.apache.tapestry5.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.services.assets.StreamableResourceSource;
import org.apache.tapestry5.services.javascript.JavaScriptModuleConfiguration;
import org.apache.tapestry5.services.javascript.ModuleConfigurationCallback;
@@ -65,7 +66,7 @@ public class ModuleManagerImpl implements ModuleManager
StreamableResourceSource streamableResourceSource,
@Symbol(SymbolConstants.COMPACT_JSON)
boolean compactJSON,
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
boolean productionMode,
@Symbol(SymbolConstants.MODULE_PATH_PREFIX)
String modulePathPrefix,
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/linktransform/LinkTransformerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/linktransform/LinkTransformerImpl.java
index 7a66e7c..23f97e0 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/linktransform/LinkTransformerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/linktransform/LinkTransformerImpl.java
@@ -14,11 +14,11 @@
package org.apache.tapestry5.internal.services.linktransform;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.Primary;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.linktransform.ComponentEventLinkTransformer;
import org.apache.tapestry5.services.linktransform.LinkTransformer;
import org.apache.tapestry5.services.linktransform.PageRenderLinkTransformer;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/linktransform/LinkTransformerInterceptor.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/linktransform/LinkTransformerInterceptor.java
index f18f471..5f6a187 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/linktransform/LinkTransformerInterceptor.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/linktransform/LinkTransformerInterceptor.java
@@ -14,11 +14,11 @@
package org.apache.tapestry5.internal.services.linktransform;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.services.ComponentEventLinkEncoder;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.linktransform.LinkTransformer;
/**
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/security/ClientWhitelistImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/security/ClientWhitelistImpl.java
index f80e3fc..bf1c855 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/security/ClientWhitelistImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/security/ClientWhitelistImpl.java
@@ -14,8 +14,8 @@
package org.apache.tapestry5.internal.services.security;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.services.ChainBuilder;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.security.ClientWhitelist;
import org.apache.tapestry5.services.security.WhitelistAnalyzer;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/security/LocalhostOnly.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/security/LocalhostOnly.java
index 8b48b23..e5c2871 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/security/LocalhostOnly.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/security/LocalhostOnly.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.internal.services.security;
-import org.apache.tapestry5.services.Request;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.services.security.WhitelistAnalyzer;
/**
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java
index d9628e1..7494647 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java
@@ -20,6 +20,7 @@ import org.apache.tapestry5.commons.util.AvailableValues;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.commons.util.UnknownValueException;
import org.apache.tapestry5.dom.Element;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.internal.AbstractEventContext;
import org.apache.tapestry5.internal.InternalComponentResources;
import org.apache.tapestry5.internal.InternalConstants;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResources.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResources.java
index dc4f634..a3fa8f7 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResources.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResources.java
@@ -15,8 +15,8 @@
package org.apache.tapestry5.internal.structure;
import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.commons.Messages;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.ioc.OperationTracker;
import org.apache.tapestry5.ioc.services.PerThreadValue;
import org.apache.tapestry5.ioc.services.PerthreadManager;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImpl.java
index 85543f6..0e378eb 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImpl.java
@@ -15,9 +15,11 @@
package org.apache.tapestry5.internal.structure;
import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.commons.*;
import org.apache.tapestry5.commons.services.TypeCoercer;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestGlobals;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.services.ComponentClassCache;
import org.apache.tapestry5.internal.services.LinkSource;
@@ -31,8 +33,6 @@ import org.apache.tapestry5.ioc.services.PerthreadManager;
import org.apache.tapestry5.model.ComponentModel;
import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.ContextValueEncoder;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.RequestGlobals;
import org.apache.tapestry5.services.messages.ComponentMessagesSource;
import org.apache.tapestry5.services.pageload.ComponentResourceSelector;
import org.slf4j.Logger;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSourceImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSourceImpl.java
index 6f03e84..e871fbb 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSourceImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSourceImpl.java
@@ -17,6 +17,8 @@ package org.apache.tapestry5.internal.structure;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.services.TypeCoercer;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.RequestGlobals;
import org.apache.tapestry5.internal.services.ComponentClassCache;
import org.apache.tapestry5.internal.services.LinkSource;
import org.apache.tapestry5.internal.services.RequestPageCache;
@@ -26,7 +28,6 @@ import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.services.PerthreadManager;
import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.ContextValueEncoder;
-import org.apache.tapestry5.services.RequestGlobals;
import org.apache.tapestry5.services.messages.ComponentMessagesSource;
import org.apache.tapestry5.services.pageload.ComponentResourceSelector;
@@ -65,7 +66,7 @@ public class ComponentPageElementResourcesSourceImpl implements ComponentPageEle
TypeCoercer typeCoercer, ComponentClassCache componentClassCache, ContextValueEncoder contextValueEncoder,
LinkSource linkSource, RequestPageCache requestPageCache, ComponentClassResolver componentClassResolver,
LoggerSource loggerSource, OperationTracker tracker, PerthreadManager perThreadManager,
- @Symbol(SymbolConstants.PRODUCTION_MODE) boolean productionMode,
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE) boolean productionMode,
@Symbol(SymbolConstants.COMPONENT_RENDER_TRACING_ENABLED) boolean componentTracingEnabled,
RequestGlobals requestGlobals)
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImpl.java
index c1ecd07..08f72aa 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImpl.java
@@ -22,6 +22,7 @@ import org.apache.tapestry5.commons.internal.util.LockSupport;
import org.apache.tapestry5.commons.internal.util.TapestryException;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.func.Worker;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.internal.InternalComponentResources;
import org.apache.tapestry5.internal.bindings.InternalPropBinding;
import org.apache.tapestry5.internal.bindings.PropBinding;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/Page.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/Page.java
index 2968265..c38ce34 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/Page.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/Page.java
@@ -203,7 +203,7 @@ public interface Page extends PageLifecycleCallbackHub
/**
* Discards all persistent field changes for the page containing the component. Changes are
* eliminated from
- * persistent storage (such as the {@link org.apache.tapestry5.services.Session}) which will
+ * persistent storage (such as the {@link org.apache.tapestry5.http.services.Session}) which will
* take effect in the <em>next</em> request (the attached page instance is not affected).
*/
void discardPersistentFieldChanges();
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/EndOfRequestCleanupFilter.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/EndOfRequestCleanupFilter.java
index 2124553..7114c5b 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/EndOfRequestCleanupFilter.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/EndOfRequestCleanupFilter.java
@@ -14,17 +14,17 @@
package org.apache.tapestry5.internal.test;
-import org.apache.tapestry5.services.RequestHandler;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
-import org.apache.tapestry5.services.RequestFilter;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestFilter;
+import org.apache.tapestry5.http.services.RequestHandler;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.ioc.services.PerthreadManager;
import java.io.IOException;
/**
* Makes sure that {@link org.apache.tapestry5.ioc.services.PerthreadManager#cleanup()} is invoked at the end of each
- * request (normally handled by {@link org.apache.tapestry5.TapestryFilter}).
+ * request (normally handled by {@link org.apache.tapestry5.http.TapestryFilter}).
*/
public class EndOfRequestCleanupFilter implements RequestFilter
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/PageTesterContext.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/PageTesterContext.java
index 6e36df4..0b923de 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/PageTesterContext.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/PageTesterContext.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.internal.test;
-import org.apache.tapestry5.services.Context;
+import org.apache.tapestry5.http.services.Context;
import org.apache.tapestry5.test.TapestryRunnerConstants;
import java.io.File;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/PageTesterModule.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/PageTesterModule.java
index 7e92c5b..0dab8ed 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/PageTesterModule.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/PageTesterModule.java
@@ -12,10 +12,15 @@
package org.apache.tapestry5.internal.test;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.commons.MappedConfiguration;
import org.apache.tapestry5.commons.ObjectLocator;
import org.apache.tapestry5.commons.OrderedConfiguration;
+import org.apache.tapestry5.http.ContentType;
+import org.apache.tapestry5.http.services.CompressionAnalyzer;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestFilter;
+import org.apache.tapestry5.http.services.Response;
+import org.apache.tapestry5.http.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.internal.services.CookieSink;
import org.apache.tapestry5.internal.services.CookieSource;
import org.apache.tapestry5.ioc.ServiceBinder;
@@ -23,11 +28,6 @@ import org.apache.tapestry5.ioc.annotations.Contribute;
import org.apache.tapestry5.ioc.annotations.Local;
import org.apache.tapestry5.ioc.services.ServiceOverride;
import org.apache.tapestry5.services.MarkupRendererFilter;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.RequestFilter;
-import org.apache.tapestry5.services.Response;
-import org.apache.tapestry5.services.ResponseCompressionAnalyzer;
-import org.apache.tapestry5.services.assets.CompressionAnalyzer;
import org.apache.tapestry5.test.PageTester;
/**
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/PageTesterSession.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/PageTesterSession.java
index b487f12..2a3b06a 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/PageTesterSession.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/PageTesterSession.java
@@ -15,8 +15,8 @@
package org.apache.tapestry5.internal.test;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-import org.apache.tapestry5.services.Session;
import static org.apache.tapestry5.commons.util.CollectionFactory.newList;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableRequest.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableRequest.java
index 8dda39a..3762c26 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableRequest.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableRequest.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.internal.test;
-import org.apache.tapestry5.services.Request;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.test.PageTester;
import java.util.Locale;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableRequestImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableRequestImpl.java
index 12c128d..89bd851 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableRequestImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableRequestImpl.java
@@ -14,12 +14,12 @@
package org.apache.tapestry5.internal.test;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-import org.apache.tapestry5.services.Session;
import java.util.*;
@@ -38,7 +38,7 @@ public class TestableRequestImpl implements TestableRequest
private Locale locale = Locale.getDefault();
@Inject
- public TestableRequestImpl(@Symbol(SymbolConstants.CONTEXT_PATH) String contextPath)
+ public TestableRequestImpl(@Symbol(TapestryHttpSymbolConstants.CONTEXT_PATH) String contextPath)
{
this.contextPath = contextPath;
}
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableResponse.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableResponse.java
index 5efc7c8..33c6d9b 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableResponse.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableResponse.java
@@ -16,9 +16,9 @@ package org.apache.tapestry5.internal.test;
import java.util.List;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.dom.Document;
-import org.apache.tapestry5.services.Response;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Response;
public interface TestableResponse extends Response
{
@@ -33,7 +33,7 @@ public interface TestableResponse extends Response
Document getRenderedDocument();
/**
- * Returns the link redirected to via {@link org.apache.tapestry5.services.Response#sendRedirect(org.apache.tapestry5.Link)}.
+ * Returns the link redirected to via {@link org.apache.tapestry5.http.services.Response#sendRedirect(org.apache.tapestry5.http.Link)}.
*/
Link getRedirectLink();
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableResponseImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableResponseImpl.java
index 64cac5f..a241240 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableResponseImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/test/TestableResponseImpl.java
@@ -26,9 +26,9 @@ import java.util.Map;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.dom.Document;
+import org.apache.tapestry5.http.Link;
public class TestableResponseImpl implements TestableResponse
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ActivationRequestParameterWorker.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ActivationRequestParameterWorker.java
index 508b4ae..13d615b 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ActivationRequestParameterWorker.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ActivationRequestParameterWorker.java
@@ -13,10 +13,11 @@
package org.apache.tapestry5.internal.transform;
import org.apache.tapestry5.EventConstants;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.ValueEncoder;
import org.apache.tapestry5.annotations.ActivationRequestParameter;
import org.apache.tapestry5.commons.internal.util.TapestryException;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.services.ComponentClassCache;
import org.apache.tapestry5.ioc.util.IdAllocator;
import org.apache.tapestry5.model.MutableComponentModel;
@@ -26,7 +27,6 @@ import org.apache.tapestry5.plastic.PlasticField;
import org.apache.tapestry5.runtime.Component;
import org.apache.tapestry5.runtime.ComponentEvent;
import org.apache.tapestry5.services.ComponentEventHandler;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.URLEncoder;
import org.apache.tapestry5.services.ValueEncoderSource;
import org.apache.tapestry5.services.transform.ComponentClassTransformWorker2;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/OnEventWorker.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/OnEventWorker.java
index e53a04f..506048e 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/OnEventWorker.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/OnEventWorker.java
@@ -32,6 +32,7 @@ import org.apache.tapestry5.func.F;
import org.apache.tapestry5.func.Flow;
import org.apache.tapestry5.func.Mapper;
import org.apache.tapestry5.func.Predicate;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.services.ComponentClassCache;
import org.apache.tapestry5.ioc.OperationTracker;
@@ -52,7 +53,6 @@ import org.apache.tapestry5.plastic.PlasticMethod;
import org.apache.tapestry5.runtime.ComponentEvent;
import org.apache.tapestry5.runtime.Event;
import org.apache.tapestry5.runtime.PageLifecycleListener;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.TransformConstants;
import org.apache.tapestry5.services.ValueEncoderSource;
import org.apache.tapestry5.services.transform.ComponentClassTransformWorker2;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/SessionAttributeWorker.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/SessionAttributeWorker.java
index 0bb8633..c32fe7f 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/SessionAttributeWorker.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/SessionAttributeWorker.java
@@ -15,13 +15,13 @@
package org.apache.tapestry5.internal.transform;
import org.apache.tapestry5.annotations.SessionAttribute;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.model.MutableComponentModel;
import org.apache.tapestry5.plastic.FieldConduit;
import org.apache.tapestry5.plastic.InstanceContext;
import org.apache.tapestry5.plastic.PlasticClass;
import org.apache.tapestry5.plastic.PlasticField;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Session;
import org.apache.tapestry5.services.transform.ComponentClassTransformWorker2;
import org.apache.tapestry5.services.transform.TransformationSupport;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/modules/AssetsModule.java b/tapestry-core/src/main/java/org/apache/tapestry5/modules/AssetsModule.java
index dd85c9b..49ecfdc 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/modules/AssetsModule.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/modules/AssetsModule.java
@@ -19,8 +19,14 @@ import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.beanmodel.internal.services.*;
import org.apache.tapestry5.beanmodel.services.*;
import org.apache.tapestry5.commons.*;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.internal.TapestryHttpInternalConstants;
+import org.apache.tapestry5.http.services.ApplicationGlobals;
+import org.apache.tapestry5.http.services.CompressionAnalyzer;
+import org.apache.tapestry5.http.services.Dispatcher;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.internal.AssetConstants;
-import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.services.AssetSourceImpl;
import org.apache.tapestry5.internal.services.ClasspathAssetAliasManagerImpl;
import org.apache.tapestry5.internal.services.ClasspathAssetFactory;
@@ -37,7 +43,6 @@ import org.apache.tapestry5.ioc.annotations.*;
import org.apache.tapestry5.ioc.services.ChainBuilder;
import org.apache.tapestry5.ioc.services.FactoryDefaults;
import org.apache.tapestry5.ioc.services.SymbolProvider;
-import org.apache.tapestry5.services.ApplicationGlobals;
import org.apache.tapestry5.services.AssetFactory;
import org.apache.tapestry5.services.AssetPathConverter;
import org.apache.tapestry5.services.AssetRequestDispatcher;
@@ -48,9 +53,6 @@ import org.apache.tapestry5.services.ClasspathProvider;
import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.ContextProvider;
import org.apache.tapestry5.services.Core;
-import org.apache.tapestry5.services.Dispatcher;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.services.assets.*;
import org.apache.tapestry5.services.javascript.JavaScriptStackSource;
import org.apache.tapestry5.services.messages.ComponentMessagesSource;
@@ -101,7 +103,6 @@ public class AssetsModule
// Minification may be enabled in production mode, but unless a minimizer is provided, nothing
// will change.
configuration.add(SymbolConstants.MINIFICATION_ENABLED, SymbolConstants.PRODUCTION_MODE_VALUE);
- configuration.add(SymbolConstants.GZIP_COMPRESSION_ENABLED, true);
configuration.add(SymbolConstants.COMBINE_SCRIPTS, SymbolConstants.PRODUCTION_MODE_VALUE);
configuration.add(SymbolConstants.ASSET_URL_FULL_QUALIFIED, false);
@@ -119,8 +120,8 @@ public class AssetsModule
@Decorate(id = "GZipCompression", serviceInterface = StreamableResourceSource.class)
public StreamableResourceSource enableCompression(StreamableResourceSource delegate,
- @Symbol(SymbolConstants.GZIP_COMPRESSION_ENABLED)
- boolean gzipEnabled, @Symbol(SymbolConstants.MIN_GZIP_SIZE)
+ @Symbol(TapestryHttpSymbolConstants.GZIP_COMPRESSION_ENABLED)
+ boolean gzipEnabled, @Symbol(TapestryHttpSymbolConstants.MIN_GZIP_SIZE)
int compressionCutoff,
AssetChecksumGenerator checksumGenerator)
{
@@ -132,7 +133,7 @@ public class AssetsModule
@Decorate(id = "CacheCompressed", serviceInterface = StreamableResourceSource.class)
@Order("before:GZIpCompression")
public StreamableResourceSource enableCompressedCaching(StreamableResourceSource delegate,
- @Symbol(SymbolConstants.GZIP_COMPRESSION_ENABLED)
+ @Symbol(TapestryHttpSymbolConstants.GZIP_COMPRESSION_ENABLED)
boolean gzipEnabled, ResourceChangeTracker tracker)
{
return gzipEnabled
@@ -275,7 +276,7 @@ public class AssetsModule
@Contribute(ClasspathAssetAliasManager.class)
public static void addApplicationAndTapestryMappings(MappedConfiguration<String, String> configuration,
- @Symbol(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM)
+ @Symbol(TapestryHttpInternalConstants.TAPESTRY_APP_PACKAGE_PARAM)
String appPackage)
{
configuration.add("tapestry", "org/apache/tapestry5");
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/modules/InternalModule.java b/tapestry-core/src/main/java/org/apache/tapestry5/modules/InternalModule.java
index 8fa7b7d..0b9b738 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/modules/InternalModule.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/modules/InternalModule.java
@@ -16,6 +16,9 @@ import org.apache.tapestry5.beanmodel.internal.services.*;
import org.apache.tapestry5.beanmodel.services.*;
import org.apache.tapestry5.commons.MappedConfiguration;
import org.apache.tapestry5.commons.OrderedConfiguration;
+import org.apache.tapestry5.http.internal.services.ResponseCompressionAnalyzerImpl;
+import org.apache.tapestry5.http.services.RequestGlobals;
+import org.apache.tapestry5.http.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.internal.pageload.PageLoaderImpl;
import org.apache.tapestry5.internal.services.AjaxPartialResponseRenderer;
import org.apache.tapestry5.internal.services.AjaxPartialResponseRendererImpl;
@@ -60,7 +63,6 @@ import org.apache.tapestry5.internal.services.ResourceDigestManager;
import org.apache.tapestry5.internal.services.ResourceDigestManagerImpl;
import org.apache.tapestry5.internal.services.ResourceStreamer;
import org.apache.tapestry5.internal.services.ResourceStreamerImpl;
-import org.apache.tapestry5.internal.services.ResponseCompressionAnalyzerImpl;
import org.apache.tapestry5.internal.services.TemplateParser;
import org.apache.tapestry5.internal.services.TemplateParserImpl;
import org.apache.tapestry5.internal.services.UnknownActivationContextHandler;
@@ -76,8 +78,6 @@ import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.Core;
import org.apache.tapestry5.services.LinkCreationListener2;
import org.apache.tapestry5.services.LocalizationSetter;
-import org.apache.tapestry5.services.RequestGlobals;
-import org.apache.tapestry5.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.services.transform.ControlledPackageType;
import javax.servlet.http.Cookie;
@@ -111,7 +111,6 @@ public class InternalModule
binder.bind(RequestSecurityManager.class, RequestSecurityManagerImpl.class);
binder.bind(InternalRequestGlobals.class, InternalRequestGlobalsImpl.class);
binder.bind(EndOfRequestEventHub.class);
- binder.bind(ResponseCompressionAnalyzer.class, ResponseCompressionAnalyzerImpl.class);
binder.bind(ComponentModelSource.class);
binder.bind(JavaScriptStackPathConstructor.class);
binder.bind(AjaxFormUpdateController.class);
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
index 5fb0ae5..cd4c585 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
@@ -23,6 +23,8 @@ import org.apache.tapestry5.commons.OrderedConfiguration;
import org.apache.tapestry5.commons.Resource;
import org.apache.tapestry5.corelib.components.FontAwesomeIcon;
import org.apache.tapestry5.corelib.components.Glyphicon;
+import org.apache.tapestry5.http.services.Dispatcher;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.services.DocumentLinker;
import org.apache.tapestry5.internal.services.ResourceStreamer;
@@ -47,7 +49,6 @@ import org.apache.tapestry5.ioc.util.IdAllocator;
import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.services.ComponentOverride;
import org.apache.tapestry5.services.Core;
-import org.apache.tapestry5.services.Dispatcher;
import org.apache.tapestry5.services.Environment;
import org.apache.tapestry5.services.EnvironmentalShadowBuilder;
import org.apache.tapestry5.services.LocalizationSetter;
@@ -56,7 +57,6 @@ import org.apache.tapestry5.services.MarkupRendererFilter;
import org.apache.tapestry5.services.PartialMarkupRenderer;
import org.apache.tapestry5.services.PartialMarkupRendererFilter;
import org.apache.tapestry5.services.PathConstructor;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.compatibility.Compatibility;
import org.apache.tapestry5.services.compatibility.Trait;
import org.apache.tapestry5.services.javascript.AMDWrapper;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/modules/PageLoadModule.java b/tapestry-core/src/main/java/org/apache/tapestry5/modules/PageLoadModule.java
index f1e049c..597a38a 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/modules/PageLoadModule.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/modules/PageLoadModule.java
@@ -13,6 +13,7 @@
package org.apache.tapestry5.modules;
import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.internal.pageload.DefaultComponentRequestSelectorAnalyzer;
import org.apache.tapestry5.internal.pageload.DefaultComponentResourceLocator;
import org.apache.tapestry5.internal.pageload.PagePreloaderImpl;
@@ -46,7 +47,7 @@ public class PageLoadModule
public static void preloadPages(PagePreloader preloader,
@Symbol(SymbolConstants.PRELOADER_MODE)
PreloaderMode mode,
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
boolean productionMode)
{
if (mode.isEnabledFor(productionMode))
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java b/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java
index 567e055..3e441c1 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java
@@ -12,29 +12,133 @@
package org.apache.tapestry5.modules;
-import org.apache.tapestry5.*;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.annotation.Annotation;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.net.URL;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.regex.Pattern;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tapestry5.Asset;
+import org.apache.tapestry5.BindingConstants;
+import org.apache.tapestry5.Block;
+import org.apache.tapestry5.ComponentParameterConstants;
+import org.apache.tapestry5.ComponentResources;
+import org.apache.tapestry5.EventContext;
+import org.apache.tapestry5.Field;
+import org.apache.tapestry5.FieldValidationSupport;
+import org.apache.tapestry5.FieldValidator;
+import org.apache.tapestry5.MarkupWriter;
+import org.apache.tapestry5.MetaDataConstants;
+import org.apache.tapestry5.NullFieldStrategy;
+import org.apache.tapestry5.PersistenceConstants;
+import org.apache.tapestry5.PropertyOverrides;
+import org.apache.tapestry5.Renderable;
+import org.apache.tapestry5.SelectModel;
+import org.apache.tapestry5.StreamResponse;
+import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.Translator;
+import org.apache.tapestry5.ValidationDecorator;
+import org.apache.tapestry5.Validator;
+import org.apache.tapestry5.ValueEncoder;
+import org.apache.tapestry5.VersionUtils;
import org.apache.tapestry5.ajax.MultiZoneUpdate;
import org.apache.tapestry5.alerts.AlertManager;
-import org.apache.tapestry5.annotations.*;
+import org.apache.tapestry5.annotations.ActivationRequestParameter;
+import org.apache.tapestry5.annotations.BindParameter;
import org.apache.tapestry5.annotations.ContentType;
+import org.apache.tapestry5.annotations.DiscardAfter;
+import org.apache.tapestry5.annotations.HeartbeatDeferred;
+import org.apache.tapestry5.annotations.Import;
+import org.apache.tapestry5.annotations.Meta;
+import org.apache.tapestry5.annotations.MixinAfter;
+import org.apache.tapestry5.annotations.PageActivationContext;
+import org.apache.tapestry5.annotations.PageAttached;
+import org.apache.tapestry5.annotations.PageDetached;
+import org.apache.tapestry5.annotations.PageLoaded;
+import org.apache.tapestry5.annotations.PageReset;
+import org.apache.tapestry5.annotations.Path;
+import org.apache.tapestry5.annotations.Persist;
+import org.apache.tapestry5.annotations.Secure;
+import org.apache.tapestry5.annotations.Service;
+import org.apache.tapestry5.annotations.SessionAttribute;
+import org.apache.tapestry5.annotations.UnknownActivationContextCheck;
+import org.apache.tapestry5.annotations.WhitelistAccessOnly;
import org.apache.tapestry5.beaneditor.DataTypeConstants;
import org.apache.tapestry5.beaneditor.Validate;
-import org.apache.tapestry5.beanmodel.*;
-import org.apache.tapestry5.beanmodel.internal.services.*;
-import org.apache.tapestry5.beanmodel.services.*;
-import org.apache.tapestry5.commons.*;
+import org.apache.tapestry5.beanmodel.internal.services.BeanModelSourceImpl;
+import org.apache.tapestry5.beanmodel.internal.services.PropertyConduitSourceImpl;
+import org.apache.tapestry5.beanmodel.services.BeanModelSource;
+import org.apache.tapestry5.beanmodel.services.PropertyConduitSource;
+import org.apache.tapestry5.commons.AnnotationProvider;
+import org.apache.tapestry5.commons.Configuration;
+import org.apache.tapestry5.commons.Location;
+import org.apache.tapestry5.commons.MappedConfiguration;
+import org.apache.tapestry5.commons.Messages;
+import org.apache.tapestry5.commons.ObjectLocator;
+import org.apache.tapestry5.commons.ObjectProvider;
+import org.apache.tapestry5.commons.OrderedConfiguration;
+import org.apache.tapestry5.commons.Resource;
import org.apache.tapestry5.commons.internal.BasicDataTypeAnalyzers;
import org.apache.tapestry5.commons.internal.services.AnnotationDataTypeAnalyzer;
import org.apache.tapestry5.commons.internal.services.DefaultDataTypeAnalyzer;
import org.apache.tapestry5.commons.internal.services.StringInterner;
import org.apache.tapestry5.commons.internal.services.StringInternerImpl;
-import org.apache.tapestry5.commons.services.*;
+import org.apache.tapestry5.commons.services.Coercion;
+import org.apache.tapestry5.commons.services.CoercionTuple;
+import org.apache.tapestry5.commons.services.DataTypeAnalyzer;
+import org.apache.tapestry5.commons.services.InvalidationEventHub;
+import org.apache.tapestry5.commons.services.PlasticProxyFactory;
+import org.apache.tapestry5.commons.services.PropertyAccess;
+import org.apache.tapestry5.commons.services.TypeCoercer;
import org.apache.tapestry5.commons.util.AvailableValues;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.commons.util.StrategyRegistry;
import org.apache.tapestry5.corelib.data.SecureOption;
import org.apache.tapestry5.grid.GridConstants;
import org.apache.tapestry5.grid.GridDataSource;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.internal.TapestryHttpInternalConstants;
+import org.apache.tapestry5.http.internal.TapestryHttpInternalSymbols;
+import org.apache.tapestry5.http.internal.gzip.GZipFilter;
+import org.apache.tapestry5.http.internal.services.ApplicationGlobalsImpl;
+import org.apache.tapestry5.http.internal.services.RequestGlobalsImpl;
+import org.apache.tapestry5.http.internal.services.RequestImpl;
+import org.apache.tapestry5.http.internal.services.ResponseImpl;
+import org.apache.tapestry5.http.internal.services.TapestrySessionFactory;
+import org.apache.tapestry5.http.internal.services.TapestrySessionFactoryImpl;
+import org.apache.tapestry5.http.services.ApplicationGlobals;
+import org.apache.tapestry5.http.services.ApplicationInitializer;
+import org.apache.tapestry5.http.services.ApplicationInitializerFilter;
+import org.apache.tapestry5.http.services.BaseURLSource;
+import org.apache.tapestry5.http.services.Context;
+import org.apache.tapestry5.http.services.Dispatcher;
+import org.apache.tapestry5.http.services.HttpServletRequestFilter;
+import org.apache.tapestry5.http.services.HttpServletRequestHandler;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestFilter;
+import org.apache.tapestry5.http.services.RequestGlobals;
+import org.apache.tapestry5.http.services.RequestHandler;
+import org.apache.tapestry5.http.services.Response;
+import org.apache.tapestry5.http.services.ServletApplicationInitializer;
+import org.apache.tapestry5.http.services.ServletApplicationInitializerFilter;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.internal.ComponentOverrideImpl;
import org.apache.tapestry5.internal.DefaultNullFieldStrategy;
import org.apache.tapestry5.internal.DefaultValueLabelProvider;
@@ -48,12 +152,28 @@ import org.apache.tapestry5.internal.beaneditor.EnvironmentMessages;
import org.apache.tapestry5.internal.beaneditor.MessagesConstraintGenerator;
import org.apache.tapestry5.internal.beaneditor.PrimitiveFieldConstraintGenerator;
import org.apache.tapestry5.internal.beaneditor.ValidateAnnotationConstraintGenerator;
-import org.apache.tapestry5.internal.bindings.*;
+import org.apache.tapestry5.internal.bindings.AssetBindingFactory;
+import org.apache.tapestry5.internal.bindings.BlockBindingFactory;
+import org.apache.tapestry5.internal.bindings.ComponentBindingFactory;
+import org.apache.tapestry5.internal.bindings.ContextBindingFactory;
+import org.apache.tapestry5.internal.bindings.LiteralBindingFactory;
+import org.apache.tapestry5.internal.bindings.MessageBindingFactory;
+import org.apache.tapestry5.internal.bindings.NullFieldStrategyBindingFactory;
+import org.apache.tapestry5.internal.bindings.PropBindingFactory;
+import org.apache.tapestry5.internal.bindings.RenderVariableBindingFactory;
+import org.apache.tapestry5.internal.bindings.SymbolBindingFactory;
+import org.apache.tapestry5.internal.bindings.TranslateBindingFactory;
+import org.apache.tapestry5.internal.bindings.ValidateBindingFactory;
import org.apache.tapestry5.internal.dynamic.DynamicTemplateParserImpl;
import org.apache.tapestry5.internal.grid.CollectionGridDataSource;
import org.apache.tapestry5.internal.grid.NullDataSource;
-import org.apache.tapestry5.internal.gzip.GZipFilter;
-import org.apache.tapestry5.internal.renderers.*;
+import org.apache.tapestry5.internal.renderers.AvailableValuesRenderer;
+import org.apache.tapestry5.internal.renderers.ComponentResourcesRenderer;
+import org.apache.tapestry5.internal.renderers.EventContextRenderer;
+import org.apache.tapestry5.internal.renderers.ListRenderer;
+import org.apache.tapestry5.internal.renderers.LocationRenderer;
+import org.apache.tapestry5.internal.renderers.ObjectArrayRenderer;
+import org.apache.tapestry5.internal.renderers.RequestRenderer;
import org.apache.tapestry5.internal.services.*;
import org.apache.tapestry5.internal.services.ajax.AjaxFormUpdateFilter;
import org.apache.tapestry5.internal.services.ajax.AjaxResponseRendererImpl;
@@ -71,7 +191,38 @@ import org.apache.tapestry5.internal.services.security.ClientWhitelistImpl;
import org.apache.tapestry5.internal.services.security.LocalhostOnly;
import org.apache.tapestry5.internal.services.templates.DefaultTemplateLocator;
import org.apache.tapestry5.internal.services.templates.PageTemplateLocator;
-import org.apache.tapestry5.internal.transform.*;
+import org.apache.tapestry5.internal.transform.ActivationRequestParameterWorker;
+import org.apache.tapestry5.internal.transform.ApplicationStateWorker;
+import org.apache.tapestry5.internal.transform.BindParameterWorker;
+import org.apache.tapestry5.internal.transform.CachedWorker;
+import org.apache.tapestry5.internal.transform.ComponentWorker;
+import org.apache.tapestry5.internal.transform.DiscardAfterWorker;
+import org.apache.tapestry5.internal.transform.EnvironmentalWorker;
+import org.apache.tapestry5.internal.transform.HeartbeatDeferredWorker;
+import org.apache.tapestry5.internal.transform.ImportWorker;
+import org.apache.tapestry5.internal.transform.InjectComponentWorker;
+import org.apache.tapestry5.internal.transform.InjectContainerWorker;
+import org.apache.tapestry5.internal.transform.InjectNamedProvider;
+import org.apache.tapestry5.internal.transform.InjectPageWorker;
+import org.apache.tapestry5.internal.transform.InjectServiceWorker;
+import org.apache.tapestry5.internal.transform.InjectWorker;
+import org.apache.tapestry5.internal.transform.LogWorker;
+import org.apache.tapestry5.internal.transform.MixinAfterWorker;
+import org.apache.tapestry5.internal.transform.MixinWorker;
+import org.apache.tapestry5.internal.transform.OnEventWorker;
+import org.apache.tapestry5.internal.transform.OperationWorker;
+import org.apache.tapestry5.internal.transform.PageActivationContextWorker;
+import org.apache.tapestry5.internal.transform.PageLifecycleAnnotationWorker;
+import org.apache.tapestry5.internal.transform.PageResetAnnotationWorker;
+import org.apache.tapestry5.internal.transform.ParameterWorker;
+import org.apache.tapestry5.internal.transform.PersistWorker;
+import org.apache.tapestry5.internal.transform.PropertyWorker;
+import org.apache.tapestry5.internal.transform.RenderCommandWorker;
+import org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker;
+import org.apache.tapestry5.internal.transform.RetainWorker;
+import org.apache.tapestry5.internal.transform.SessionAttributeWorker;
+import org.apache.tapestry5.internal.transform.SupportsInformalParametersWorker;
+import org.apache.tapestry5.internal.transform.UnclaimedFieldWorker;
import org.apache.tapestry5.internal.translator.NumericTranslator;
import org.apache.tapestry5.internal.translator.NumericTranslatorSupport;
import org.apache.tapestry5.internal.translator.StringTranslator;
@@ -82,7 +233,22 @@ import org.apache.tapestry5.ioc.MethodAdviceReceiver;
import org.apache.tapestry5.ioc.OperationTracker;
import org.apache.tapestry5.ioc.ScopeConstants;
import org.apache.tapestry5.ioc.ServiceBinder;
-import org.apache.tapestry5.ioc.annotations.*;
+import org.apache.tapestry5.ioc.annotations.Advise;
+import org.apache.tapestry5.ioc.annotations.Autobuild;
+import org.apache.tapestry5.ioc.annotations.ComponentClasses;
+import org.apache.tapestry5.ioc.annotations.ComponentLayer;
+import org.apache.tapestry5.ioc.annotations.Contribute;
+import org.apache.tapestry5.ioc.annotations.ImportModule;
+import org.apache.tapestry5.ioc.annotations.Inject;
+import org.apache.tapestry5.ioc.annotations.InjectService;
+import org.apache.tapestry5.ioc.annotations.Local;
+import org.apache.tapestry5.ioc.annotations.Marker;
+import org.apache.tapestry5.ioc.annotations.Match;
+import org.apache.tapestry5.ioc.annotations.Operation;
+import org.apache.tapestry5.ioc.annotations.Primary;
+import org.apache.tapestry5.ioc.annotations.Scope;
+import org.apache.tapestry5.ioc.annotations.Startup;
+import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.services.Builtin;
import org.apache.tapestry5.ioc.services.ChainBuilder;
import org.apache.tapestry5.ioc.services.LazyAdvisor;
@@ -106,7 +272,93 @@ import org.apache.tapestry5.runtime.Component;
import org.apache.tapestry5.runtime.ComponentResourcesAware;
import org.apache.tapestry5.runtime.RenderCommand;
import org.apache.tapestry5.runtime.RenderQueue;
-import org.apache.tapestry5.services.*;
+import org.apache.tapestry5.services.Ajax;
+import org.apache.tapestry5.services.ApplicationStateManager;
+import org.apache.tapestry5.services.ApplicationStatePersistenceStrategy;
+import org.apache.tapestry5.services.ApplicationStatePersistenceStrategySource;
+import org.apache.tapestry5.services.AssetFactory;
+import org.apache.tapestry5.services.AssetSource;
+import org.apache.tapestry5.services.BeanBlockContribution;
+import org.apache.tapestry5.services.BeanBlockOverrideSource;
+import org.apache.tapestry5.services.BeanBlockSource;
+import org.apache.tapestry5.services.BindingFactory;
+import org.apache.tapestry5.services.BindingSource;
+import org.apache.tapestry5.services.ClientBehaviorSupport;
+import org.apache.tapestry5.services.ClientDataEncoder;
+import org.apache.tapestry5.services.ComponentClassResolver;
+import org.apache.tapestry5.services.ComponentDefaultProvider;
+import org.apache.tapestry5.services.ComponentEventLinkEncoder;
+import org.apache.tapestry5.services.ComponentEventRequestFilter;
+import org.apache.tapestry5.services.ComponentEventRequestHandler;
+import org.apache.tapestry5.services.ComponentEventRequestParameters;
+import org.apache.tapestry5.services.ComponentEventResultProcessor;
+import org.apache.tapestry5.services.ComponentLibraryInfo;
+import org.apache.tapestry5.services.ComponentLibraryInfoSource;
+import org.apache.tapestry5.services.ComponentMessages;
+import org.apache.tapestry5.services.ComponentOverride;
+import org.apache.tapestry5.services.ComponentRequestFilter;
+import org.apache.tapestry5.services.ComponentRequestHandler;
+import org.apache.tapestry5.services.ComponentSource;
+import org.apache.tapestry5.services.ComponentTemplates;
+import org.apache.tapestry5.services.ContextPathEncoder;
+import org.apache.tapestry5.services.ContextProvider;
+import org.apache.tapestry5.services.ContextValueEncoder;
+import org.apache.tapestry5.services.Cookies;
+import org.apache.tapestry5.services.Core;
+import org.apache.tapestry5.services.DateUtilities;
+import org.apache.tapestry5.services.DefaultObjectRenderer;
+import org.apache.tapestry5.services.DisplayBlockContribution;
+import org.apache.tapestry5.services.EditBlockContribution;
+import org.apache.tapestry5.services.Environment;
+import org.apache.tapestry5.services.EnvironmentalShadowBuilder;
+import org.apache.tapestry5.services.ExceptionReportWriter;
+import org.apache.tapestry5.services.ExceptionReporter;
+import org.apache.tapestry5.services.FieldTranslatorSource;
+import org.apache.tapestry5.services.FieldValidatorDefaultSource;
+import org.apache.tapestry5.services.FieldValidatorSource;
+import org.apache.tapestry5.services.FormSupport;
+import org.apache.tapestry5.services.Heartbeat;
+import org.apache.tapestry5.services.HiddenFieldLocationRules;
+import org.apache.tapestry5.services.Html5Support;
+import org.apache.tapestry5.services.HttpError;
+import org.apache.tapestry5.services.InitializeActivePageName;
+import org.apache.tapestry5.services.LibraryMapping;
+import org.apache.tapestry5.services.LinkCreationHub;
+import org.apache.tapestry5.services.MarkupRenderer;
+import org.apache.tapestry5.services.MarkupRendererFilter;
+import org.apache.tapestry5.services.MarkupWriterFactory;
+import org.apache.tapestry5.services.MetaDataLocator;
+import org.apache.tapestry5.services.NullFieldStrategySource;
+import org.apache.tapestry5.services.ObjectRenderer;
+import org.apache.tapestry5.services.PageDocumentGenerator;
+import org.apache.tapestry5.services.PageRenderLinkSource;
+import org.apache.tapestry5.services.PageRenderRequestFilter;
+import org.apache.tapestry5.services.PageRenderRequestHandler;
+import org.apache.tapestry5.services.PageRenderRequestParameters;
+import org.apache.tapestry5.services.PartialMarkupRenderer;
+import org.apache.tapestry5.services.PartialMarkupRendererFilter;
+import org.apache.tapestry5.services.PartialTemplateRenderer;
+import org.apache.tapestry5.services.PathConstructor;
+import org.apache.tapestry5.services.PersistentFieldStrategy;
+import org.apache.tapestry5.services.PersistentLocale;
+import org.apache.tapestry5.services.RelativeElementPosition;
+import org.apache.tapestry5.services.RequestExceptionHandler;
+import org.apache.tapestry5.services.ResourceDigestGenerator;
+import org.apache.tapestry5.services.ResponseRenderer;
+import org.apache.tapestry5.services.SelectModelFactory;
+import org.apache.tapestry5.services.StackTraceElementAnalyzer;
+import org.apache.tapestry5.services.StackTraceElementClassConstants;
+import org.apache.tapestry5.services.StreamPageContent;
+import org.apache.tapestry5.services.Traditional;
+import org.apache.tapestry5.services.TransformConstants;
+import org.apache.tapestry5.services.TranslatorAlternatesSource;
+import org.apache.tapestry5.services.TranslatorSource;
+import org.apache.tapestry5.services.URLEncoder;
+import org.apache.tapestry5.services.ValidationConstraintGenerator;
+import org.apache.tapestry5.services.ValidationDecoratorFactory;
+import org.apache.tapestry5.services.ValueEncoderFactory;
+import org.apache.tapestry5.services.ValueEncoderSource;
+import org.apache.tapestry5.services.ValueLabelProvider;
import org.apache.tapestry5.services.ajax.AjaxResponseRenderer;
import org.apache.tapestry5.services.dynamic.DynamicTemplate;
import org.apache.tapestry5.services.dynamic.DynamicTemplateParser;
@@ -126,23 +378,19 @@ import org.apache.tapestry5.services.security.WhitelistAnalyzer;
import org.apache.tapestry5.services.templates.ComponentTemplateLocator;
import org.apache.tapestry5.services.transform.ComponentClassTransformWorker2;
import org.apache.tapestry5.services.transform.InjectionProvider2;
-import org.apache.tapestry5.validator.*;
+import org.apache.tapestry5.validator.Checked;
+import org.apache.tapestry5.validator.Email;
+import org.apache.tapestry5.validator.Max;
+import org.apache.tapestry5.validator.MaxLength;
+import org.apache.tapestry5.validator.Min;
+import org.apache.tapestry5.validator.MinLength;
+import org.apache.tapestry5.validator.None;
+import org.apache.tapestry5.validator.Regexp;
+import org.apache.tapestry5.validator.Required;
+import org.apache.tapestry5.validator.Unchecked;
+import org.apache.tapestry5.validator.ValidatorMacro;
import org.slf4j.Logger;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.annotation.Annotation;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.net.URL;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.regex.Pattern;
-
/**
* The root module for Tapestry.
*/
@@ -153,8 +401,6 @@ public final class TapestryModule
{
private final PipelineBuilder pipelineBuilder;
- private final ApplicationGlobals applicationGlobals;
-
private final PropertyShadowBuilder shadowBuilder;
private final Environment environment;
@@ -191,8 +437,6 @@ public final class TapestryModule
RequestGlobals requestGlobals,
- ApplicationGlobals applicationGlobals,
-
ChainBuilder chainBuilder,
Environment environment,
@@ -212,7 +456,6 @@ public final class TapestryModule
this.pipelineBuilder = pipelineBuilder;
this.shadowBuilder = shadowBuilder;
this.requestGlobals = requestGlobals;
- this.applicationGlobals = applicationGlobals;
this.chainBuilder = chainBuilder;
this.environment = environment;
this.strategyBuilder = strategyBuilder;
@@ -223,121 +466,6 @@ public final class TapestryModule
this.endOfRequestEventHub = endOfRequestEventHub;
}
- // A bunch of classes "promoted" from inline inner class to nested classes,
- // just so that the stack trace would be more readable. Most of these
- // are terminators for pipeline services.
-
- /**
- * @since 5.1.0.0
- */
- private class ApplicationInitializerTerminator implements ApplicationInitializer
- {
- public void initializeApplication(Context context)
- {
- applicationGlobals.storeContext(context);
- }
- }
-
- /**
- * @since 5.1.0.0
- */
- private class HttpServletRequestHandlerTerminator implements HttpServletRequestHandler
- {
- private final RequestHandler handler;
- private final String applicationCharset;
- private final TapestrySessionFactory sessionFactory;
-
- public HttpServletRequestHandlerTerminator(RequestHandler handler, String applicationCharset,
- TapestrySessionFactory sessionFactory)
- {
- this.handler = handler;
- this.applicationCharset = applicationCharset;
- this.sessionFactory = sessionFactory;
- }
-
- public boolean service(HttpServletRequest servletRequest, HttpServletResponse servletResponse)
- throws IOException
- {
- requestGlobals.storeServletRequestResponse(servletRequest, servletResponse);
-
- // Should have started doing this a long time ago: recoding attributes into
- // the request for things that may be needed downstream, without having to extend
- // Request.
-
- servletRequest.setAttribute("servletAPI.protocol", servletRequest.getProtocol());
- servletRequest.setAttribute("servletAPI.characterEncoding", servletRequest.getCharacterEncoding());
- servletRequest.setAttribute("servletAPI.contentLength", servletRequest.getContentLength());
- servletRequest.setAttribute("servletAPI.authType", servletRequest.getAuthType());
- servletRequest.setAttribute("servletAPI.contentType", servletRequest.getContentType());
- servletRequest.setAttribute("servletAPI.scheme", servletRequest.getScheme());
-
- Request request = new RequestImpl(servletRequest, applicationCharset, sessionFactory);
- Response response = new ResponseImpl(servletRequest, servletResponse);
-
- // TAP5-257: Make sure that the "initial guess" for request/response
- // is available, even ifsome filter in the RequestHandler pipeline replaces them.
- // Which just goes to show that there should have been only one way to access the Request/Response:
- // either functionally (via parameters) or global (via ReqeuestGlobals) but not both.
- // That ship has sailed.
-
- requestGlobals.storeRequestResponse(request, response);
-
- // Transition from the Servlet API-based pipeline, to the
- // Tapestry-based pipeline.
-
- return handler.service(request, response);
- }
- }
-
- /**
- * @since 5.1.0.0
- */
- private class ServletApplicationInitializerTerminator implements ServletApplicationInitializer
- {
- private final ApplicationInitializer initializer;
-
- public ServletApplicationInitializerTerminator(ApplicationInitializer initializer)
- {
- this.initializer = initializer;
- }
-
- public void initializeApplication(ServletContext servletContext)
- {
- applicationGlobals.storeServletContext(servletContext);
-
- // And now, down the (Web) ApplicationInitializer pipeline ...
-
- ContextImpl context = new ContextImpl(servletContext);
-
- applicationGlobals.storeContext(context);
-
- initializer.initializeApplication(context);
- }
- }
-
- /**
- * @since 5.1.0.0
- */
- private class RequestHandlerTerminator implements RequestHandler
- {
- private final Dispatcher masterDispatcher;
-
- public RequestHandlerTerminator(Dispatcher masterDispatcher)
- {
- this.masterDispatcher = masterDispatcher;
- }
-
- public boolean service(Request request, Response response) throws IOException
- {
- // Update RequestGlobals with the current request/response (in case
- // some filter replaced the
- // normal set).
- requestGlobals.storeRequestResponse(request, response);
-
- return masterDispatcher.dispatch(request, response);
- }
- }
-
public static void bind(ServiceBinder binder)
{
binder.bind(PersistentLocale.class, PersistentLocaleImpl.class);
@@ -346,10 +474,8 @@ public final class TapestryModule
ApplicationStatePersistenceStrategySourceImpl.class);
binder.bind(BindingSource.class, BindingSourceImpl.class);
binder.bind(FieldValidatorSource.class, FieldValidatorSourceImpl.class);
- binder.bind(ApplicationGlobals.class, ApplicationGlobalsImpl.class);
binder.bind(Cookies.class, CookiesImpl.class);
binder.bind(FieldValidatorDefaultSource.class, FieldValidatorDefaultSourceImpl.class);
- binder.bind(RequestGlobals.class, RequestGlobalsImpl.class);
binder.bind(ResourceDigestGenerator.class, ResourceDigestGeneratorImpl.class); // Remove in 5.5
binder.bind(ValidationConstraintGenerator.class, ValidationConstraintGeneratorImpl.class);
binder.bind(EnvironmentalShadowBuilder.class, EnvironmentalShadowBuilderImpl.class);
@@ -366,7 +492,6 @@ public final class TapestryModule
binder.bind(NullFieldStrategySource.class, NullFieldStrategySourceImpl.class);
binder.bind(HttpServletRequestFilter.class, IgnoredPathsFilter.class).withSimpleId();
binder.bind(ContextValueEncoder.class, ContextValueEncoderImpl.class);
- binder.bind(BaseURLSource.class, BaseURLSourceImpl.class);
binder.bind(BeanBlockOverrideSource.class, BeanBlockOverrideSourceImpl.class);
binder.bind(HiddenFieldLocationRules.class, HiddenFieldLocationRulesImpl.class);
binder.bind(PageDocumentGenerator.class, PageDocumentGeneratorImpl.class);
@@ -382,7 +507,6 @@ public final class TapestryModule
binder.bind(URLEncoder.class, URLEncoderImpl.class);
binder.bind(ContextPathEncoder.class, ContextPathEncoderImpl.class);
binder.bind(ApplicationStatePersistenceStrategy.class, SessionApplicationStatePersistenceStrategy.class).withSimpleId();
- binder.bind(TapestrySessionFactory.class, TapestrySessionFactoryImpl.class);
binder.bind(NumericTranslatorSupport.class);
binder.bind(ClientDataEncoder.class, ClientDataEncoderImpl.class);
binder.bind(ComponentEventLinkEncoder.class, ComponentEventLinkEncoderImpl.class);
@@ -476,7 +600,7 @@ public final class TapestryModule
@Contribute(ComponentClassResolver.class)
public static void provideCoreAndAppLibraries(Configuration<LibraryMapping> configuration,
- @Symbol(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM)
+ @Symbol(TapestryHttpInternalConstants.TAPESTRY_APP_PACKAGE_PARAM)
String appRootPackage)
{
configuration.add(new LibraryMapping(InternalConstants.CORE_LIBRARY, "org.apache.tapestry5.corelib"));
@@ -796,7 +920,7 @@ public final class TapestryModule
/**
* <dl>
* <dt>StoreIntoGlobals</dt>
- * <dd>Stores the request and response into {@link org.apache.tapestry5.services.RequestGlobals} at the start of the
+ * <dd>Stores the request and response into {@link org.apache.tapestry5.http.services.RequestGlobals} at the start of the
* pipeline</dd>
* <dt>IgnoredPaths</dt>
* <dd>Identifies requests that are known (via the IgnoredPathsFilter service's configuration) to be mapped to other
@@ -807,31 +931,10 @@ public final class TapestryModule
*/
public void contributeHttpServletRequestHandler(OrderedConfiguration<HttpServletRequestFilter> configuration,
- @Symbol(SymbolConstants.GZIP_COMPRESSION_ENABLED)
- boolean gzipCompressionEnabled,
-
- @Autobuild
- GZipFilter gzipFilter,
-
@InjectService("IgnoredPathsFilter")
HttpServletRequestFilter ignoredPathsFilter)
{
configuration.add("IgnoredPaths", ignoredPathsFilter);
-
- configuration.add("GZIP", gzipCompressionEnabled ? gzipFilter : null);
-
- HttpServletRequestFilter storeIntoGlobals = new HttpServletRequestFilter()
- {
- public boolean service(HttpServletRequest request, HttpServletResponse response,
- HttpServletRequestHandler handler) throws IOException
- {
- requestGlobals.storeServletRequestResponse(request, response);
-
- return handler.service(request, response);
- }
- };
-
- configuration.add("StoreIntoGlobals", storeIntoGlobals, "before:*");
}
/**
@@ -848,7 +951,7 @@ public final class TapestryModule
* <dd>Catches request errors and lets the {@link org.apache.tapestry5.services.RequestExceptionHandler} handle them
* </dd>
* <dt>StoreIntoGlobals</dt>
- * <dd>Stores the request and response into the {@link org.apache.tapestry5.services.RequestGlobals} service (this
+ * <dd>Stores the request and response into the {@link org.apache.tapestry5.http.services.RequestGlobals} service (this
* is repeated at the end of the pipeline, in case any filter substitutes the request or response).
* <dt>EndOfRequest</dt>
* <dd>Notifies internal services that the request has ended</dd>
@@ -856,7 +959,7 @@ public final class TapestryModule
*/
public void contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration, Context context,
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
boolean productionMode)
{
RequestFilter staticFilesFilter = new StaticFilesFilter(context);
@@ -1277,61 +1380,6 @@ public final class TapestryModule
}
/**
- * Initializes the application, using a pipeline of {@link org.apache.tapestry5.services.ApplicationInitializer}s.
- */
- @Marker(Primary.class)
- public ApplicationInitializer buildApplicationInitializer(Logger logger,
- List<ApplicationInitializerFilter> configuration)
- {
- ApplicationInitializer terminator = new ApplicationInitializerTerminator();
-
- return pipelineBuilder.build(logger, ApplicationInitializer.class, ApplicationInitializerFilter.class,
- configuration, terminator);
- }
-
- public HttpServletRequestHandler buildHttpServletRequestHandler(Logger logger,
-
- List<HttpServletRequestFilter> configuration,
-
- @Primary
- RequestHandler handler,
-
- @Symbol(SymbolConstants.CHARSET)
- String applicationCharset,
-
- TapestrySessionFactory sessionFactory)
- {
- HttpServletRequestHandler terminator = new HttpServletRequestHandlerTerminator(handler, applicationCharset,
- sessionFactory);
-
- return pipelineBuilder.build(logger, HttpServletRequestHandler.class, HttpServletRequestFilter.class,
- configuration, terminator);
- }
-
- @Marker(Primary.class)
- public RequestHandler buildRequestHandler(Logger logger, List<RequestFilter> configuration,
-
- @Primary
- Dispatcher masterDispatcher)
- {
- RequestHandler terminator = new RequestHandlerTerminator(masterDispatcher);
-
- return pipelineBuilder.build(logger, RequestHandler.class, RequestFilter.class, configuration, terminator);
- }
-
- public ServletApplicationInitializer buildServletApplicationInitializer(Logger logger,
- List<ServletApplicationInitializerFilter> configuration,
-
- @Primary
- ApplicationInitializer initializer)
- {
- ServletApplicationInitializer terminator = new ServletApplicationInitializerTerminator(initializer);
-
- return pipelineBuilder.build(logger, ServletApplicationInitializer.class,
- ServletApplicationInitializerFilter.class, configuration, terminator);
- }
-
- /**
* The component event result processor used for normal component requests.
*/
@Marker(
@@ -1427,16 +1475,6 @@ public final class TapestryModule
}
/**
- * Ordered contributions to the MasterDispatcher service allow different URL
- * matching strategies to occur.
- */
- @Marker(Primary.class)
- public Dispatcher buildMasterDispatcher(List<Dispatcher> configuration)
- {
- return chainBuilder.build(Dispatcher.class, configuration);
- }
-
- /**
* Builds a shadow of the RequestGlobals.request property. Note again that
* the shadow can be an ordinary singleton,
* even though RequestGlobals is perthread.
@@ -1447,34 +1485,6 @@ public final class TapestryModule
}
/**
- * Builds a shadow of the RequestGlobals.HTTPServletRequest property.
- * Generally, you should inject the {@link Request} service instead, as
- * future version of Tapestry may operate beyond just the servlet API.
- */
- public HttpServletRequest buildHttpServletRequest()
- {
- return shadowBuilder.build(requestGlobals, "HTTPServletRequest", HttpServletRequest.class);
- }
-
- /**
- * @since 5.1.0.0
- */
- public HttpServletResponse buildHttpServletResponse()
- {
- return shadowBuilder.build(requestGlobals, "HTTPServletResponse", HttpServletResponse.class);
- }
-
- /**
- * Builds a shadow of the RequestGlobals.response property. Note again that
- * the shadow can be an ordinary singleton,
- * even though RequestGlobals is perthread.
- */
- public Response buildResponse()
- {
- return shadowBuilder.build(requestGlobals, "response", Response.class);
- }
-
- /**
* The MarkupRenderer service is used to render a full page as markup.
* Supports an ordered configuration of {@link org.apache.tapestry5.services.MarkupRendererFilter}s.
*/
@@ -1494,7 +1504,6 @@ public final class TapestryModule
List<PartialMarkupRendererFilter> configuration, @Autobuild
PartialMarkupRendererTerminator terminator)
{
-
return pipelineBuilder.build(logger, PartialMarkupRenderer.class, PartialMarkupRendererFilter.class,
configuration, terminator);
}
@@ -1628,7 +1637,7 @@ public final class TapestryModule
* <dd>The stream response is sent as the actual response</dd>
* <dt>String</dt>
* <dd>Interprets the value as a logical page name and sends a client response to redirect to that page</dd>
- * <dt>{@link org.apache.tapestry5.Link}</dt>
+ * <dt>{@link org.apache.tapestry5.http.Link}</dt>
* <dd>Sends a JSON response to redirect to the link</dd>
* <dt>{@link Class}</dt>
* <dd>Treats the class as a page class and sends a redirect for a page render for that page</dd>
@@ -1689,7 +1698,7 @@ public final class TapestryModule
/**
* Contributes a default object renderer for type Object, plus specialized
- * renderers for {@link org.apache.tapestry5.services.Request}, {@link org.apache.tapestry5.commons.Location},
+ * renderers for {@link org.apache.tapestry5.http.services.Request}, {@link org.apache.tapestry5.commons.Location},
* {@link org.apache.tapestry5.ComponentResources}, {@link org.apache.tapestry5.EventContext},
* {@link AvailableValues},
* List, and Object[].
@@ -1746,7 +1755,7 @@ public final class TapestryModule
* </dl>
*
* @see org.apache.tapestry5.SymbolConstants#OMIT_GENERATOR_META
- * @see org.apache.tapestry5.SymbolConstants#PRODUCTION_MODE
+ * @see org.apache.tapestry5.http.TapestryHttpSymbolConstants#PRODUCTION_MODE
* @see org.apache.tapestry5.SymbolConstants#INCLUDE_CORE_STACK
* @see org.apache.tapestry5.SymbolConstants#ENABLE_PAGELOADING_MASK
*/
@@ -1760,7 +1769,7 @@ public final class TapestryModule
@Symbol(SymbolConstants.TAPESTRY_VERSION)
final String tapestryVersion,
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
boolean productionMode,
@Symbol(SymbolConstants.INCLUDE_CORE_STACK)
@@ -2055,9 +2064,7 @@ public final class TapestryModule
configuration.add(SymbolConstants.START_PAGE_NAME, "start");
- configuration.add(SymbolConstants.PRODUCTION_MODE, true);
-
- configuration.add(SymbolConstants.CLUSTERED_SESSIONS, true);
+ configuration.add(TapestryHttpSymbolConstants.PRODUCTION_MODE, true);
configuration.add(SymbolConstants.COMPRESS_WHITESPACE, true);
@@ -2082,17 +2089,11 @@ public final class TapestryModule
configuration.add(MetaDataConstants.RESPONSE_CONTENT_TYPE, "text/html");
- configuration.add(SymbolConstants.CHARSET, "UTF-8");
-
configuration.add(SymbolConstants.APPLICATION_CATALOG,
- String.format("context:WEB-INF/${%s}.properties", InternalSymbols.APP_NAME));
+ String.format("context:WEB-INF/${%s}.properties", TapestryHttpInternalSymbols.APP_NAME));
configuration.add(SymbolConstants.EXCEPTION_REPORT_PAGE, "ExceptionReport");
- configuration.add(SymbolConstants.MIN_GZIP_SIZE, 100);
-
- configuration.add(SymbolConstants.APPLICATION_VERSION, "0.0.1");
-
configuration.add(SymbolConstants.OMIT_GENERATOR_META, false);
configuration.add(SymbolConstants.SECURE_ENABLED, SymbolConstants.PRODUCTION_MODE_VALUE);
@@ -2104,11 +2105,6 @@ public final class TapestryModule
configuration.add(SymbolConstants.COMPONENT_RENDER_TRACING_ENABLED, false);
- // The default values denote "use values from request"
- configuration.add(SymbolConstants.HOSTNAME, "");
- configuration.add(SymbolConstants.HOSTPORT, 0);
- configuration.add(SymbolConstants.HOSTPORT_SECURE, 0);
-
configuration.add(SymbolConstants.APPLICATION_FOLDER, "");
// Grid component parameter defaults
@@ -2138,14 +2134,12 @@ public final class TapestryModule
// By default, no page is on the whitelist unless it has the @WhitelistAccessOnly annotation
configuration.add(MetaDataConstants.WHITELIST_ONLY_PAGE, false);
- configuration.add(SymbolConstants.CONTEXT_PATH, "");
+ configuration.add(TapestryHttpSymbolConstants.CONTEXT_PATH, "");
// Leaving this as the default results in a runtime error logged to the console (and a default password is used);
// you are expected to override this symbol.
configuration.add(SymbolConstants.HMAC_PASSPHRASE, "");
- configuration.add(SymbolConstants.SESSION_LOCKING_ENABLED, true);
-
// TAP5-2070 keep the old behavior, defaults to false
configuration.add(MetaDataConstants.UNKNOWN_ACTIVATION_CONTEXT_CHECK, false);
@@ -2371,46 +2365,6 @@ public final class TapestryModule
}
/**
- * The master SessionPersistedObjectAnalyzer.
- *
- * @since 5.1.0.0
- */
- @Marker(Primary.class)
- public SessionPersistedObjectAnalyzer buildSessionPersistedObjectAnalyzer(
- Map<Class, SessionPersistedObjectAnalyzer> configuration)
- {
- return strategyBuilder.build(SessionPersistedObjectAnalyzer.class, configuration);
- }
-
- /**
- * Identifies String, Number and Boolean as immutable objects, a catch-all
- * handler for Object (that understands
- * the {@link org.apache.tapestry5.annotations.ImmutableSessionPersistedObject} annotation),
- * and a handler for {@link org.apache.tapestry5.OptimizedSessionPersistedObject}.
- *
- * @since 5.1.0.0
- */
- public static void contributeSessionPersistedObjectAnalyzer(
- MappedConfiguration<Class, SessionPersistedObjectAnalyzer> configuration)
- {
- configuration.add(Object.class, new DefaultSessionPersistedObjectAnalyzer());
-
- SessionPersistedObjectAnalyzer<Object> immutable = new SessionPersistedObjectAnalyzer<Object>()
- {
- public boolean checkAndResetDirtyState(Object sessionPersistedObject)
- {
- return false;
- }
- };
-
- configuration.add(String.class, immutable);
- configuration.add(Number.class, immutable);
- configuration.add(Boolean.class, immutable);
-
- configuration.add(OptimizedSessionPersistedObject.class, new OptimizedSessionPersistedObjectAnalyzer());
- }
-
- /**
* @since 5.1.1.0
*/
@Marker(Primary.class)
@@ -2496,7 +2450,7 @@ public final class TapestryModule
*
* @since 5.2.0
*/
- public void contributeComponentRequestHandler(OrderedConfiguration<ComponentRequestFilter> configuration, @Symbol(SymbolConstants.PRODUCTION_MODE) boolean productionMode)
+ public void contributeComponentRequestHandler(OrderedConfiguration<ComponentRequestFilter> configuration, @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE) boolean productionMode)
{
configuration.addInstance("OperationTracker", RequestOperationTracker.class);
@@ -2659,7 +2613,7 @@ public final class TapestryModule
*/
@Contribute(ServiceOverride.class)
public static void productionModeOverrides(MappedConfiguration<Class, Object> configuration,
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
boolean productionMode)
{
if (productionMode)
@@ -2810,5 +2764,5 @@ public final class TapestryModule
return info;
}
}
-
+
}
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/AssetRequestDispatcher.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/AssetRequestDispatcher.java
index 8d9f58d..1f31e97 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/AssetRequestDispatcher.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/AssetRequestDispatcher.java
@@ -25,7 +25,7 @@ import java.lang.annotation.Target;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
- * Marker annotation used to specifically identify the {@link org.apache.tapestry5.services.Dispatcher} used to dispatch
+ * Marker annotation used to specifically identify the {@link org.apache.tapestry5.http.services.Dispatcher} used to dispatch
* asset requests (so that {@link org.apache.tapestry5.services.assets.AssetRequestHandler}s can be contributed).
*/
@Target(
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/ClientBehaviorSupport.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/ClientBehaviorSupport.java
index 22e5bc0..145e89e 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/ClientBehaviorSupport.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/ClientBehaviorSupport.java
@@ -13,8 +13,8 @@
package org.apache.tapestry5.services;
import org.apache.tapestry5.Field;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.corelib.data.InsertPosition;
+import org.apache.tapestry5.http.Link;
/**
* Collects details about zone usage for efficient initialization of the client side objects. This has grown to include
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentEventLinkEncoder.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentEventLinkEncoder.java
index c2c491e..3110ef1 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentEventLinkEncoder.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentEventLinkEncoder.java
@@ -12,12 +12,13 @@
package org.apache.tapestry5.services;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.services.linktransform.ComponentEventLinkTransformer;
import org.apache.tapestry5.services.linktransform.PageRenderLinkTransformer;
/**
- * Responsible for creating {@link org.apache.tapestry5.Link}s for page render requests and for component event
+ * Responsible for creating {@link org.apache.tapestry5.http.Link}s for page render requests and for component event
* requests, and for parsing incoming paths to identify requests that are component event or page render requests. This
* centralizes some logic that was scattered about in Tapestry 5.0.
*
@@ -57,7 +58,7 @@ public interface ComponentEventLinkEncoder
* In many cases the context name is blank, so the path begins with a "/" and then the locale name or page name.
*
* The page name portion may itself consist of a series of folder names, i.e., "admin/user/create". The context
- * portion isn't the concern of this code, since {@link org.apache.tapestry5.services.Request#getPath()} will
+ * portion isn't the concern of this code, since {@link org.apache.tapestry5.http.services.Request#getPath()} will
* already have stripped that off. We can act as if the context is always "/" (the path always starts with a slash).
*
* Passes the resulting Link through the {@link ComponentEventLinkTransformer} chain of command, returning the
@@ -72,7 +73,7 @@ public interface ComponentEventLinkEncoder
Link createComponentEventLink(ComponentEventRequestParameters parameters, boolean forForm);
/**
- * Checks the request, primarily the {@linkplain org.apache.tapestry5.services.Request#getPath() path}, to determine
+ * Checks the request, primarily the {@linkplain org.apache.tapestry5.http.services.Request#getPath() path}, to determine
* the if the request is a component event request. As a side-effect (necessary for historical reasons), responsible
* for setting the locale for the thread, including the {@link org.apache.tapestry5.services.PersistentLocale} ...
* but only if the locale is a component event.
@@ -84,7 +85,7 @@ public interface ComponentEventLinkEncoder
ComponentEventRequestParameters decodeComponentEventRequest(Request request);
/**
- * Checks the request, primarily the {@linkplain org.apache.tapestry5.services.Request#getPath() path}, to determine
+ * Checks the request, primarily the {@linkplain org.apache.tapestry5.http.services.Request#getPath() path}, to determine
* the if the request is a page render request. As a side-effect (necessary for historical reasons), responsible for
* setting the locale for the thread, including the {@link org.apache.tapestry5.services.PersistentLocale} ... but
* only if the request is a page render.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentEventResultProcessor.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentEventResultProcessor.java
index 63ed7a3..468b3f8 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentEventResultProcessor.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentEventResultProcessor.java
@@ -36,7 +36,7 @@ public interface ComponentEventResultProcessor<T>
*
* Starting in release 5.4, it is recommended that for any response that involves Tapestry pages or components,
* the implementation should create an {@link org.apache.tapestry5.ioc.IOOperation} to do the rendering, and
- * add the operation to the {@link org.apache.tapestry5.services.Request} as attribute
+ * add the operation to the {@link org.apache.tapestry5.http.services.Request} as attribute
* {@link org.apache.tapestry5.TapestryConstants#RESPONSE_RENDERER}.
* This avoids a number of issues related to the {@link org.apache.tapestry5.services.Environment}.
*
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentSource.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentSource.java
index bd589d2..2917f67 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentSource.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentSource.java
@@ -15,6 +15,8 @@
package org.apache.tapestry5.services;
import org.apache.tapestry5.EventConstants;
+import org.apache.tapestry5.http.services.Dispatcher;
+import org.apache.tapestry5.http.services.RequestGlobals;
import org.apache.tapestry5.runtime.Component;
/**
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/Cookies.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/Cookies.java
index a275ae9..2cdb34b 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/Cookies.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/Cookies.java
@@ -15,11 +15,12 @@
package org.apache.tapestry5.services;
import org.apache.tapestry5.CookieBuilder;
+import org.apache.tapestry5.http.services.Request;
/**
* Used by other services to obtain cookie values for the current request, or to write cookie values as part of the
* request. Note that when writing cookies, the cookie's secure flag will match {@link
- * org.apache.tapestry5.services.Request#isSecure()}.
+ * org.apache.tapestry5.http.services.Request#isSecure()}.
*/
public interface Cookies
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/DelegatingRequest.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/DelegatingRequest.java
index d2f366f..db4c2b0 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/DelegatingRequest.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/DelegatingRequest.java
@@ -17,6 +17,9 @@ package org.apache.tapestry5.services;
import java.util.List;
import java.util.Locale;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Session;
+
/**
* Class that wraps an {@linkplain Request}, delegating all its methods.
*
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/InitializeActivePageName.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/InitializeActivePageName.java
index c9c6e3d..8daa1bc 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/InitializeActivePageName.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/InitializeActivePageName.java
@@ -16,6 +16,8 @@ package org.apache.tapestry5.services;
import java.io.IOException;
+import org.apache.tapestry5.http.services.RequestGlobals;
+
/**
* Filter contributed into the {@link ComponentRequestHandler} pipeline to set the
* {@link RequestGlobals#getActivePageName() activePageName property}.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/LinkCreationHub.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/LinkCreationHub.java
index f0bfa67..fc5b9e0 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/LinkCreationHub.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/LinkCreationHub.java
@@ -15,7 +15,7 @@
package org.apache.tapestry5.services;
/**
- * A service that allows listeners to be registered to learn about {@link org.apache.tapestry5.Link} creation.
+ * A service that allows listeners to be registered to learn about {@link org.apache.tapestry5.http.Link} creation.
*/
public interface LinkCreationHub
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/LinkCreationListener.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/LinkCreationListener.java
index 4219360..2c61246 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/LinkCreationListener.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/LinkCreationListener.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.services;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
/**
* Listener interface for objects that need to be notified about newly created links.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/LinkCreationListener2.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/LinkCreationListener2.java
index c17b6cf..df28d7c 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/LinkCreationListener2.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/LinkCreationListener2.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.services;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
public interface LinkCreationListener2
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/MarkupWriterFactory.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/MarkupWriterFactory.java
index b00c338..1d358f8 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/MarkupWriterFactory.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/MarkupWriterFactory.java
@@ -14,8 +14,8 @@
package org.apache.tapestry5.services;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.MarkupWriter;
+import org.apache.tapestry5.http.ContentType;
import org.apache.tapestry5.internal.structure.Page;
/**
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/PageRenderLinkSource.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/PageRenderLinkSource.java
index 6ea42ae..003e8d2 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/PageRenderLinkSource.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/PageRenderLinkSource.java
@@ -13,7 +13,7 @@
package org.apache.tapestry5.services;
import org.apache.tapestry5.EventContext;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
/**
* A service that allows other services to create page render links.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/PathConstructor.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/PathConstructor.java
index b6ccb3e..65fc945 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/PathConstructor.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/PathConstructor.java
@@ -14,6 +14,8 @@
package org.apache.tapestry5.services;
+import org.apache.tapestry5.http.services.Dispatcher;
+
/**
* Central location for logic related to building client-side paths, taking into account
* the context path (if any), and the {@link org.apache.tapestry5.SymbolConstants#APPLICATION_FOLDER}
@@ -36,7 +38,7 @@ public interface PathConstructor
/**
* Constructs the dispatch path, which is like the client path, but omits the context path; this aligns
- * the result with the value returned from {@link org.apache.tapestry5.services.Request#getPath()}, and is used
+ * the result with the value returned from {@link org.apache.tapestry5.http.services.Request#getPath()}, and is used
* in code, typically {@link Dispatcher} implementations, that are attempting to route based on the incoming request path.
*
* @param terms
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/ResponseRenderer.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/ResponseRenderer.java
index eddd156..5d3c135 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/ResponseRenderer.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/ResponseRenderer.java
@@ -14,10 +14,10 @@
package org.apache.tapestry5.services;
-import org.apache.tapestry5.ContentType;
-
import java.io.IOException;
+import org.apache.tapestry5.http.ContentType;
+
/**
* Public facade around internal services related to rendering a markup response.
*/
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/StreamPageContent.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/StreamPageContent.java
index 1f54e18..96dd8e8 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/StreamPageContent.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/StreamPageContent.java
@@ -58,7 +58,7 @@ public final class StreamPageContent
* Renders the page using the supplied page activation context.
*
* @param pageClass class of the page to render, or null to render the currently active page (as per
- * {@link org.apache.tapestry5.services.RequestGlobals#getActivePageName()})
+ * {@link org.apache.tapestry5.http.services.RequestGlobals#getActivePageName()})
* @param pageActivationContext activation context of the page
*/
public StreamPageContent(final Class<?> pageClass, final Object... pageActivationContext)
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/AssetRequestHandler.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/AssetRequestHandler.java
index 54d8164..379f960 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/AssetRequestHandler.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/AssetRequestHandler.java
@@ -13,9 +13,9 @@
package org.apache.tapestry5.services.assets;
import org.apache.tapestry5.Asset;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.services.AssetDispatcher;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionStatus.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionStatus.java
index f80bed3..448ce43 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionStatus.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionStatus.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.services.assets;
-import org.apache.tapestry5.services.Response;
+import org.apache.tapestry5.http.services.Response;
/**
* Indicates how the content inside a {@link StreamableResource} is (potentially) compressed.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/ContentTypeAnalyzer.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/ContentTypeAnalyzer.java
index 4424afb..79db1c7 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/ContentTypeAnalyzer.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/ContentTypeAnalyzer.java
@@ -13,8 +13,8 @@
package org.apache.tapestry5.services.assets;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.services.Context;
import org.apache.tapestry5.ioc.annotations.UsesMappedConfiguration;
-import org.apache.tapestry5.services.Context;
/**
* Used to determine the MIME content type for a resource. The service configuration is the first step,
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/ResourceTransformer.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/ResourceTransformer.java
index c853781..8e8f34f 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/ResourceTransformer.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/ResourceTransformer.java
@@ -12,8 +12,8 @@
package org.apache.tapestry5.services.assets;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.ContentType;
import java.io.IOException;
import java.io.InputStream;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/ResponseCustomizer.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/ResponseCustomizer.java
index 6958bdf..dd03d8e 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/ResponseCustomizer.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/ResponseCustomizer.java
@@ -12,10 +12,10 @@
package org.apache.tapestry5.services.assets;
-import org.apache.tapestry5.services.Response;
-
import java.io.IOException;
+import org.apache.tapestry5.http.services.Response;
+
/**
* Used to customize the response prior to streaming content to the client; typically this is used to
* set special headers.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/StreamableResource.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/StreamableResource.java
index 4131610..15b0b83 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/StreamableResource.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/StreamableResource.java
@@ -12,8 +12,8 @@
package org.apache.tapestry5.services.assets;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.ContentType;
import org.apache.tapestry5.ioc.annotations.IncompatibleChange;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/StreamableResourceSource.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/StreamableResourceSource.java
index 60f3009..8acee93 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/StreamableResourceSource.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/StreamableResourceSource.java
@@ -14,8 +14,8 @@
package org.apache.tapestry5.services.assets;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.ContentType;
import org.apache.tapestry5.ioc.annotations.UsesMappedConfiguration;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/linktransform/ComponentEventLinkTransformer.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/linktransform/ComponentEventLinkTransformer.java
index 08556e3..d36cfbd 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/linktransform/ComponentEventLinkTransformer.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/linktransform/ComponentEventLinkTransformer.java
@@ -12,12 +12,12 @@
package org.apache.tapestry5.services.linktransform;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.services.ComponentEventDispatcher;
import org.apache.tapestry5.ioc.annotations.UsesOrderedConfiguration;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.LocalizationSetter;
-import org.apache.tapestry5.services.Request;
/**
* Allows for selective replacement of the default {@link Link} used to represent a component event request.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/linktransform/PageRenderLinkTransformer.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/linktransform/PageRenderLinkTransformer.java
index 03b8133..69bc6c8 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/linktransform/PageRenderLinkTransformer.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/linktransform/PageRenderLinkTransformer.java
@@ -12,13 +12,13 @@
package org.apache.tapestry5.services.linktransform;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.services.PageRenderDispatcher;
import org.apache.tapestry5.ioc.annotations.UsesOrderedConfiguration;
import org.apache.tapestry5.services.ComponentEventLinkEncoder;
import org.apache.tapestry5.services.LocalizationSetter;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.Request;
/**
* Allows the default {@link Link} for a page render request to be replaced.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/ComponentRequestSelectorAnalyzer.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/ComponentRequestSelectorAnalyzer.java
index b543b27..05ac9a1 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/ComponentRequestSelectorAnalyzer.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/ComponentRequestSelectorAnalyzer.java
@@ -18,7 +18,7 @@ import org.apache.tapestry5.ioc.services.ThreadLocale;
/**
* Determines the {@link ComponentResourceSelector} for the current request. This is often based on cookies, query
- * parameters, or other details available in the {@link org.apache.tapestry5.services.Request}. The default implementation simply wraps the
+ * parameters, or other details available in the {@link org.apache.tapestry5.http.services.Request}. The default implementation simply wraps the
* {@linkplain ThreadLocale current locale} as a ComponentResourceSelector. A custom implementation may
* {@linkplain ComponentResourceSelector#withAxis(Class, Object) add additional axes} to the selector.
*
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/security/WhitelistAnalyzer.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/security/WhitelistAnalyzer.java
index b7f81e4..866ae65 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/security/WhitelistAnalyzer.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/security/WhitelistAnalyzer.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.services.security;
-import org.apache.tapestry5.services.Request;
+import org.apache.tapestry5.http.services.Request;
/**
* Given a request, determine if the request is from a client on the whitelist.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/test/PageTester.java b/tapestry-core/src/main/java/org/apache/tapestry5/test/PageTester.java
index 86c84ba..41921d6 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/test/PageTester.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/test/PageTester.java
@@ -12,13 +12,15 @@
package org.apache.tapestry5.test;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.dom.Document;
import org.apache.tapestry5.dom.Element;
import org.apache.tapestry5.dom.Visitor;
-import org.apache.tapestry5.internal.InternalConstants;
-import org.apache.tapestry5.internal.SingleKeySymbolProvider;
-import org.apache.tapestry5.internal.TapestryAppInitializer;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.internal.SingleKeySymbolProvider;
+import org.apache.tapestry5.http.internal.TapestryAppInitializer;
+import org.apache.tapestry5.http.internal.TapestryHttpInternalConstants;
+import org.apache.tapestry5.http.services.ApplicationGlobals;
+import org.apache.tapestry5.http.services.RequestHandler;
import org.apache.tapestry5.internal.test.PageTesterContext;
import org.apache.tapestry5.internal.test.PageTesterModule;
import org.apache.tapestry5.internal.test.TestableRequest;
@@ -27,8 +29,6 @@ import org.apache.tapestry5.ioc.Registry;
import org.apache.tapestry5.ioc.def.ModuleDef;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.ioc.services.SymbolProvider;
-import org.apache.tapestry5.services.ApplicationGlobals;
-import org.apache.tapestry5.services.RequestHandler;
import org.slf4j.LoggerFactory;
import java.io.IOException;
@@ -97,7 +97,7 @@ public class PageTester
assert appName != null;
assert InternalUtils.isNonBlank(contextPath);
- SymbolProvider provider = new SingleKeySymbolProvider(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM, appPackage);
+ SymbolProvider provider = new SingleKeySymbolProvider(TapestryHttpInternalConstants.TAPESTRY_APP_PACKAGE_PARAM, appPackage);
TapestryAppInitializer initializer = new TapestryAppInitializer(LoggerFactory.getLogger(PageTester.class), provider, appName,
null);
@@ -595,7 +595,7 @@ public class PageTester
/**
* Sets the simulated browser's preferred language, i.e., the value returned from
- * {@link org.apache.tapestry5.services.Request#getLocale()}.
+ * {@link org.apache.tapestry5.http.services.Request#getLocale()}.
*
* @param preferedLanguage
* preferred language setting
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/test/TapestryTestCase.java b/tapestry-core/src/main/java/org/apache/tapestry5/test/TapestryTestCase.java
index 539dd51..3b000c9 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/test/TapestryTestCase.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/test/TapestryTestCase.java
@@ -24,6 +24,15 @@ import org.apache.tapestry5.beanmodel.PropertyModel;
import org.apache.tapestry5.beanmodel.services.*;
import org.apache.tapestry5.commons.*;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.BaseURLSource;
+import org.apache.tapestry5.http.services.Context;
+import org.apache.tapestry5.http.services.HttpServletRequestHandler;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestGlobals;
+import org.apache.tapestry5.http.services.RequestHandler;
+import org.apache.tapestry5.http.services.Response;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.internal.services.MapMessages;
import org.apache.tapestry5.internal.services.MarkupWriterImpl;
import org.apache.tapestry5.ioc.annotations.Inject;
@@ -40,7 +49,6 @@ import org.apache.tapestry5.services.ApplicationStatePersistenceStrategy;
import org.apache.tapestry5.services.ApplicationStatePersistenceStrategySource;
import org.apache.tapestry5.services.AssetFactory;
import org.apache.tapestry5.services.AssetSource;
-import org.apache.tapestry5.services.BaseURLSource;
import org.apache.tapestry5.services.BindingFactory;
import org.apache.tapestry5.services.BindingSource;
import org.apache.tapestry5.services.ClasspathAssetAliasManager;
@@ -48,22 +56,15 @@ import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.ComponentEventRequestHandler;
import org.apache.tapestry5.services.ComponentEventResultProcessor;
import org.apache.tapestry5.services.ComponentRequestHandler;
-import org.apache.tapestry5.services.Context;
import org.apache.tapestry5.services.Environment;
import org.apache.tapestry5.services.FieldTranslatorSource;
import org.apache.tapestry5.services.FieldValidatorSource;
import org.apache.tapestry5.services.FormSupport;
import org.apache.tapestry5.services.Heartbeat;
import org.apache.tapestry5.services.Html5Support;
-import org.apache.tapestry5.services.HttpServletRequestHandler;
import org.apache.tapestry5.services.MetaDataLocator;
import org.apache.tapestry5.services.PageRenderLinkSource;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.RequestGlobals;
-import org.apache.tapestry5.services.RequestHandler;
import org.apache.tapestry5.services.ResourceDigestGenerator;
-import org.apache.tapestry5.services.Response;
-import org.apache.tapestry5.services.Session;
import org.apache.tapestry5.services.TranslatorSource;
import org.apache.tapestry5.services.ValidationConstraintGenerator;
import org.apache.tapestry5.services.ValueEncoderSource;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/util/ResponseWrapper.java b/tapestry-core/src/main/java/org/apache/tapestry5/util/ResponseWrapper.java
index 3cb0b71..20c08eb 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/util/ResponseWrapper.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/util/ResponseWrapper.java
@@ -18,11 +18,11 @@ import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
-import org.apache.tapestry5.Link;
-import org.apache.tapestry5.services.Response;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Response;
/**
- * Implementation of {@link org.apache.tapestry5.services.Response} that delegates all method invocations to a delegate
+ * Implementation of {@link org.apache.tapestry5.http.services.Response} that delegates all method invocations to a delegate
* instance. This is used as a base class for overriding just some behaviors of Response.
*/
public class ResponseWrapper implements Response
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/util/TextStreamResponse.java b/tapestry-core/src/main/java/org/apache/tapestry5/util/TextStreamResponse.java
index d3ad2f1..fcc2e1e 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/util/TextStreamResponse.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/util/TextStreamResponse.java
@@ -16,9 +16,9 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.StreamResponse;
-import org.apache.tapestry5.services.Response;
+import org.apache.tapestry5.http.ContentType;
+import org.apache.tapestry5.http.services.Response;
public class TextStreamResponse implements StreamResponse
{
@@ -43,7 +43,7 @@ public class TextStreamResponse implements StreamResponse
* character set of output, usually "UTF-8"
* @param text
* text to be streamed in the response
- * @see org.apache.tapestry5.SymbolConstants#CHARSET
+ * @see org.apache.tapestry5.http.TapestryHttpSymbolConstants#CHARSET
*/
public TextStreamResponse(String contentType, String charset, String text)
{
diff --git a/tapestry-core/src/test/groovy/org/apache/tapestry5/corelib/components/PageLinkTest.groovy b/tapestry-core/src/test/groovy/org/apache/tapestry5/corelib/components/PageLinkTest.groovy
index aaf49d3..34e6a4f 100644
--- a/tapestry-core/src/test/groovy/org/apache/tapestry5/corelib/components/PageLinkTest.groovy
+++ b/tapestry-core/src/test/groovy/org/apache/tapestry5/corelib/components/PageLinkTest.groovy
@@ -1,8 +1,8 @@
package org.apache.tapestry5.corelib.components
import org.apache.tapestry5.ComponentResources
-import org.apache.tapestry5.Link
import org.apache.tapestry5.MarkupWriter
+import org.apache.tapestry5.http.Link
import org.apache.tapestry5.services.PageRenderLinkSource
import org.apache.tapestry5.test.TapestryTestCase
import org.testng.annotations.Test
diff --git a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app5/components/Layout.groovy b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app5/components/Layout.groovy
index 85076f9..66a7aff 100644
--- a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app5/components/Layout.groovy
+++ b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app5/components/Layout.groovy
@@ -15,9 +15,9 @@
package org.apache.tapestry5.integration.app5.components
import org.apache.tapestry5.annotations.Property
+import org.apache.tapestry5.http.services.Request
+import org.apache.tapestry5.http.services.Session
import org.apache.tapestry5.ioc.annotations.Inject
-import org.apache.tapestry5.services.Request
-import org.apache.tapestry5.services.Session;
class Layout {
diff --git a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app5/pages/Error404.groovy b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app5/pages/Error404.groovy
index c180748..d4cbe40 100644
--- a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app5/pages/Error404.groovy
+++ b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app5/pages/Error404.groovy
@@ -2,9 +2,9 @@ package org.apache.tapestry5.integration.app5.pages
import javax.servlet.http.HttpServletResponse
+import org.apache.tapestry5.http.services.Request
+import org.apache.tapestry5.http.services.Response
import org.apache.tapestry5.ioc.annotations.Inject
-import org.apache.tapestry5.services.Request
-import org.apache.tapestry5.services.Response
class Error404 {
diff --git a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app5/services/AppModule.groovy b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app5/services/AppModule.groovy
index cfb5f6e..3ff57f8 100644
--- a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app5/services/AppModule.groovy
+++ b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app5/services/AppModule.groovy
@@ -16,13 +16,13 @@ import org.apache.tapestry5.SymbolConstants
import org.apache.tapestry5.commons.MappedConfiguration
import org.apache.tapestry5.commons.Resource
import org.apache.tapestry5.func.F
+import org.apache.tapestry5.http.services.Response
import org.apache.tapestry5.integration.app5.Client
import org.apache.tapestry5.integration.app5.ClientTracker
import org.apache.tapestry5.internal.services.assets.DelegatingSRS
import org.apache.tapestry5.ioc.annotations.Decorate
import org.apache.tapestry5.model.ComponentModel
import org.apache.tapestry5.services.ApplicationStateManager
-import org.apache.tapestry5.services.Response
import org.apache.tapestry5.services.assets.*
import org.apache.tapestry5.services.pageload.ComponentRequestSelectorAnalyzer
import org.apache.tapestry5.services.pageload.ComponentResourceLocator
diff --git a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/symbolparam/components/Layout.groovy b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/symbolparam/components/Layout.groovy
index 132b69a..165aca5 100644
--- a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/symbolparam/components/Layout.groovy
+++ b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/symbolparam/components/Layout.groovy
@@ -16,9 +16,9 @@ package org.apache.tapestry5.integration.symbolparam.components
import org.apache.tapestry5.annotations.Import
import org.apache.tapestry5.annotations.Property
+import org.apache.tapestry5.http.services.Request
+import org.apache.tapestry5.http.services.Session
import org.apache.tapestry5.ioc.annotations.Inject
-import org.apache.tapestry5.services.Request
-import org.apache.tapestry5.services.Session
@Import(stack="core")
class Layout {
diff --git a/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerTest.groovy b/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerTest.groovy
index db3b0bc..530830f 100644
--- a/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerTest.groovy
+++ b/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerTest.groovy
@@ -2,8 +2,9 @@ package org.apache.tapestry5.internal.services
import javax.servlet.http.HttpServletRequest
+import org.apache.tapestry5.http.internal.services.ResponseCompressionAnalyzerImpl
+import org.apache.tapestry5.http.services.ResponseCompressionAnalyzer
import org.apache.tapestry5.internal.InternalConstants;
-import org.apache.tapestry5.services.ResponseCompressionAnalyzer
import org.apache.tapestry5.test.ioc.TestBase
import org.testng.annotations.Test
diff --git a/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/assets/AssetPathConstructorImplTest.groovy b/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/assets/AssetPathConstructorImplTest.groovy
index 128a151..4fa9521 100644
--- a/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/assets/AssetPathConstructorImplTest.groovy
+++ b/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/assets/AssetPathConstructorImplTest.groovy
@@ -1,9 +1,9 @@
package org.apache.tapestry5.internal.services.assets
+import org.apache.tapestry5.http.services.BaseURLSource
+import org.apache.tapestry5.http.services.Request
import org.apache.tapestry5.internal.services.IdentityAssetPathConverter
-import org.apache.tapestry5.services.BaseURLSource
import org.apache.tapestry5.services.PathConstructor
-import org.apache.tapestry5.services.Request
import org.apache.tapestry5.services.assets.AssetChecksumGenerator
import org.apache.tapestry5.services.assets.CompressionStatus
import org.apache.tapestry5.services.assets.StreamableResource
diff --git a/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImplTest.groovy b/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImplTest.groovy
index 0d5c1c4..1523cbd 100644
--- a/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImplTest.groovy
+++ b/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImplTest.groovy
@@ -1,7 +1,7 @@
package org.apache.tapestry5.internal.structure
-import org.apache.tapestry5.internal.services.RequestGlobalsImpl
-import org.apache.tapestry5.services.Request
+import org.apache.tapestry5.http.internal.services.RequestGlobalsImpl
+import org.apache.tapestry5.http.services.Request
import org.apache.tapestry5.test.ioc.TestBase
import org.testng.annotations.Test
diff --git a/tapestry-core/src/test/groovy/org/apache/tapestry5/services/javascript/ModuleDispatcherTests.groovy b/tapestry-core/src/test/groovy/org/apache/tapestry5/services/javascript/ModuleDispatcherTests.groovy
index 26f5184..7f8eaf3 100644
--- a/tapestry-core/src/test/groovy/org/apache/tapestry5/services/javascript/ModuleDispatcherTests.groovy
+++ b/tapestry-core/src/test/groovy/org/apache/tapestry5/services/javascript/ModuleDispatcherTests.groovy
@@ -2,13 +2,13 @@ package org.apache.tapestry5.services.javascript
import javax.servlet.http.HttpServletResponse
+import org.apache.tapestry5.http.services.Request
+import org.apache.tapestry5.http.services.Response
import org.apache.tapestry5.internal.services.javascript.JavaScriptStackPathConstructor
import org.apache.tapestry5.internal.services.javascript.ModuleDispatcher
import org.apache.tapestry5.ioc.internal.QuietOperationTracker
import org.apache.tapestry5.services.LocalizationSetter
import org.apache.tapestry5.services.PathConstructor
-import org.apache.tapestry5.services.Request
-import org.apache.tapestry5.services.Response
import org.apache.tapestry5.test.ioc.TestBase
import org.easymock.EasyMock
import org.testng.annotations.DataProvider
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/corelib/base/AbstractLinkTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/corelib/base/AbstractLinkTest.java
index ff7a46d..021b51e 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/corelib/base/AbstractLinkTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/corelib/base/AbstractLinkTest.java
@@ -15,9 +15,9 @@
package org.apache.tapestry5.corelib.base;
import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.MarkupWriter;
import org.apache.tapestry5.dom.Element;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.internal.services.MarkupWriterImpl;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.testng.annotations.Test;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/corelib/components/SelectTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/corelib/components/SelectTest.java
index 3fafab8..8e941f7 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/corelib/components/SelectTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/corelib/components/SelectTest.java
@@ -20,6 +20,7 @@ import org.apache.tapestry5.corelib.components.SelectTest.Platform;
import org.apache.tapestry5.corelib.data.BlankOption;
import org.apache.tapestry5.corelib.data.SecureOption;
import org.apache.tapestry5.dom.XMLMarkupModel;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.InternalComponentResources;
import org.apache.tapestry5.internal.OptionGroupModelImpl;
import org.apache.tapestry5.internal.OptionModelImpl;
@@ -32,7 +33,6 @@ import org.apache.tapestry5.internal.services.StringValueEncoder;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.internal.util.Holder;
import org.apache.tapestry5.services.ContextValueEncoder;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.ValueEncoderSource;
import org.apache.tapestry5.util.EnumSelectModel;
import org.apache.tapestry5.util.EnumValueEncoder;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/corelib/components/SubmitTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/corelib/components/SubmitTest.java
index 472c0ea..d2d863f 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/corelib/components/SubmitTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/corelib/components/SubmitTest.java
@@ -20,11 +20,11 @@ import org.apache.tapestry5.Asset;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.EventConstants;
import org.apache.tapestry5.corelib.internal.FormSupportImpl;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.services.HeartbeatImpl;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.services.FormSupport;
import org.apache.tapestry5.services.Heartbeat;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.test.ioc.TestBase;
import org.testng.annotations.Test;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java
index e2e6e82..6fa5e3f 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java
@@ -16,6 +16,7 @@ package org.apache.tapestry5.integration.activationctx.services;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.MappedConfiguration;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
/**
*
@@ -25,6 +26,6 @@ public class AppModule
public static void contributeApplicationDefaults(MappedConfiguration<String, String> configuration)
{
configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en,fr");
- configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
+ configuration.add(TapestryHttpSymbolConstants.PRODUCTION_MODE, "false");
}
}
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx2/services/AppModule.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx2/services/AppModule.java
index a8e201f..190a686 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx2/services/AppModule.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx2/services/AppModule.java
@@ -17,6 +17,7 @@ package org.apache.tapestry5.integration.activationctx2.services;
import org.apache.tapestry5.MetaDataConstants;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.MappedConfiguration;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
/**
*
@@ -26,7 +27,7 @@ public class AppModule
public static void contributeApplicationDefaults(MappedConfiguration<String, String> configuration)
{
configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en");
- configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
+ configuration.add(TapestryHttpSymbolConstants.PRODUCTION_MODE, "false");
configuration.add(SymbolConstants.COMPRESS_WHITESPACE, "false");
// Enable by default the check on activation context parameters
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/Border.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/Border.java
index e2d99fe..9214e2d 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/Border.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/Border.java
@@ -15,8 +15,8 @@ package org.apache.tapestry5.integration.app1.components;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.annotations.Import;
import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.services.Request;
import java.util.Calendar;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ActionViaLinkDemo.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ActionViaLinkDemo.java
index 5289cac..83622e5 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ActionViaLinkDemo.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ActionViaLinkDemo.java
@@ -13,9 +13,9 @@
package org.apache.tapestry5.integration.app1.pages;
import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.PersistenceConstants;
import org.apache.tapestry5.annotations.Persist;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.ioc.annotations.Inject;
public class ActionViaLinkDemo
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/AtInjectDemo.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/AtInjectDemo.java
index 0977ec4..47be9f5 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/AtInjectDemo.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/AtInjectDemo.java
@@ -19,12 +19,12 @@ import javax.inject.Named;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.integration.app1.services.French;
import org.apache.tapestry5.integration.app1.services.Greeter;
import org.apache.tapestry5.integration.app1.services.MusicLibrary;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.services.BindingSource;
-import org.apache.tapestry5.services.Request;
public class AtInjectDemo
{
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ClientPersistenceDemo.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ClientPersistenceDemo.java
index 41b924f..5cd7284 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ClientPersistenceDemo.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ClientPersistenceDemo.java
@@ -13,10 +13,10 @@
package org.apache.tapestry5.integration.app1.pages;
import org.apache.tapestry5.annotations.Persist;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.integration.app1.ClientDataWrapper;
import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Session;
public class ClientPersistenceDemo
{
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DecorateComponentEventLinkDemo.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DecorateComponentEventLinkDemo.java
index 35b66b0..da05480 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DecorateComponentEventLinkDemo.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DecorateComponentEventLinkDemo.java
@@ -14,10 +14,10 @@
package org.apache.tapestry5.integration.app1.pages;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.RequestParameter;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DecoratePageRenderLinkDemo.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DecoratePageRenderLinkDemo.java
index 2bd8099..7785abc 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DecoratePageRenderLinkDemo.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DecoratePageRenderLinkDemo.java
@@ -14,10 +14,10 @@
package org.apache.tapestry5.integration.app1.pages;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.RequestParameter;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.services.PageRenderRequestParameters;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/FormLinkParameters.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/FormLinkParameters.java
index 96d999c..aa3b252 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/FormLinkParameters.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/FormLinkParameters.java
@@ -15,10 +15,10 @@ package org.apache.tapestry5.integration.app1.pages;
import java.net.URLEncoder;
import org.apache.commons.codec.net.URLCodec;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.RequestParameter;
+import org.apache.tapestry5.http.Link;
public class FormLinkParameters {
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
index 6fdd8d1..4af960f 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
@@ -13,12 +13,12 @@
package org.apache.tapestry5.integration.app1.pages;
import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.PersistenceConstants;
import org.apache.tapestry5.annotations.InjectPage;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.services.PageRenderLinkSource;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/InjectDemo.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/InjectDemo.java
index 907e5f4..d052ecc 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/InjectDemo.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/InjectDemo.java
@@ -18,6 +18,7 @@ import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.annotations.InjectPage;
import org.apache.tapestry5.annotations.OnEvent;
import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.integration.app1.services.French;
import org.apache.tapestry5.integration.app1.services.Greeter;
import org.apache.tapestry5.integration.app1.services.MusicLibrary;
@@ -25,7 +26,6 @@ import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.annotations.InjectService;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.services.BindingSource;
-import org.apache.tapestry5.services.Request;
public class InjectDemo
{
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/LinkQueryParameters.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/LinkQueryParameters.java
index f885ab9..13f39d5 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/LinkQueryParameters.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/LinkQueryParameters.java
@@ -13,11 +13,11 @@
// limitations under the License.
package org.apache.tapestry5.integration.app1.pages;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.PageRenderLinkSource;
-import org.apache.tapestry5.services.Request;
import java.util.Collections;
import java.util.HashMap;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Localization.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Localization.java
index b879801..2eb3bf4 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Localization.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Localization.java
@@ -15,9 +15,9 @@
package org.apache.tapestry5.integration.app1.pages;
import org.apache.tapestry5.commons.Messages;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.PersistentLocale;
-import org.apache.tapestry5.services.Request;
import java.util.Locale;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MultiZoneUpdateInsideForm.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MultiZoneUpdateInsideForm.java
index 155e755..326c849 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MultiZoneUpdateInsideForm.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MultiZoneUpdateInsideForm.java
@@ -30,8 +30,8 @@ import org.apache.tapestry5.corelib.components.Select;
import org.apache.tapestry5.corelib.components.Zone;
import org.apache.tapestry5.func.F;
import org.apache.tapestry5.func.Mapper;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.util.AbstractSelectModel;
public class MultiZoneUpdateInsideForm
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/OnActivateRedirect.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/OnActivateRedirect.java
index 557f17b..ec84212 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/OnActivateRedirect.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/OnActivateRedirect.java
@@ -2,8 +2,8 @@ package org.apache.tapestry5.integration.app1.pages;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.services.Request;
public class OnActivateRedirect {
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/RequestParameterDemo.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/RequestParameterDemo.java
index 8e1184c..1556e86 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/RequestParameterDemo.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/RequestParameterDemo.java
@@ -13,10 +13,10 @@
package org.apache.tapestry5.integration.app1.pages;
import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.RequestParameter;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.ioc.annotations.Inject;
import java.util.Arrays;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/SessionAttributeDemo.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/SessionAttributeDemo.java
index a860a32..b4dc042 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/SessionAttributeDemo.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/SessionAttributeDemo.java
@@ -15,9 +15,9 @@
package org.apache.tapestry5.integration.app1.pages;
import org.apache.tapestry5.annotations.SessionAttribute;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.integration.app1.data.Track;
import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.services.Request;
public class SessionAttributeDemo
{
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/AppModule.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/AppModule.java
index da3efe3..db04ba5 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/AppModule.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/AppModule.java
@@ -30,6 +30,12 @@ import org.apache.tapestry5.commons.MappedConfiguration;
import org.apache.tapestry5.commons.OrderedConfiguration;
import org.apache.tapestry5.commons.Resource;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.BaseURLSource;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestFilter;
+import org.apache.tapestry5.http.services.RequestHandler;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.integration.app1.data.Address;
import org.apache.tapestry5.integration.app1.data.Entity;
import org.apache.tapestry5.integration.app1.data.ToDoItem;
@@ -43,17 +49,12 @@ import org.apache.tapestry5.ioc.annotations.Value;
import org.apache.tapestry5.ioc.services.ServiceOverride;
import org.apache.tapestry5.modules.Bootstrap4Module;
import org.apache.tapestry5.modules.NoBootstrapModule;
-import org.apache.tapestry5.services.BaseURLSource;
import org.apache.tapestry5.services.BeanBlockContribution;
import org.apache.tapestry5.services.BeanBlockSource;
import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.EditBlockContribution;
import org.apache.tapestry5.services.LibraryMapping;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.RequestFilter;
-import org.apache.tapestry5.services.RequestHandler;
import org.apache.tapestry5.services.ResourceDigestGenerator;
-import org.apache.tapestry5.services.Response;
import org.apache.tapestry5.services.ValueEncoderFactory;
import org.apache.tapestry5.services.ValueLabelProvider;
import org.apache.tapestry5.services.compatibility.Compatibility;
@@ -165,7 +166,7 @@ public class AppModule
public static void contributeApplicationDefaults(MappedConfiguration<String, Object> configuration)
{
configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en,fr,de");
- configuration.add(SymbolConstants.PRODUCTION_MODE, false);
+ configuration.add(TapestryHttpSymbolConstants.PRODUCTION_MODE, false);
configuration.add(SymbolConstants.COMPRESS_WHITESPACE, false);
configuration.add(SymbolConstants.COMBINE_SCRIPTS, false);
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/pages/TestPageForHttpHeaders.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/pages/TestPageForHttpHeaders.java
index 079ba8b..f4b3e55 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/pages/TestPageForHttpHeaders.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/pages/TestPageForHttpHeaders.java
@@ -13,8 +13,8 @@
// limitations under the License.
package org.apache.tapestry5.integration.app2.pages;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.services.Response;
public class TestPageForHttpHeaders
{
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app3/services/AppModule.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app3/services/AppModule.java
index 1e8c9c5..5319bcc 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app3/services/AppModule.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app3/services/AppModule.java
@@ -18,6 +18,8 @@ import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.Configuration;
import org.apache.tapestry5.commons.MappedConfiguration;
import org.apache.tapestry5.commons.OrderedConfiguration;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.integration.app3.components.OverrideComponent;
import org.apache.tapestry5.integration.app3.components.OverridenComponent;
import org.apache.tapestry5.integration.app3.mixins.OverrideMixin;
@@ -27,7 +29,6 @@ import org.apache.tapestry5.integration.app3.pages.OverridenPage;
import org.apache.tapestry5.ioc.annotations.Contribute;
import org.apache.tapestry5.services.ComponentOverride;
import org.apache.tapestry5.services.DisplayBlockContribution;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.compatibility.Compatibility;
import org.apache.tapestry5.services.compatibility.Trait;
import org.apache.tapestry5.services.security.ClientWhitelist;
@@ -52,9 +53,9 @@ public class AppModule
public static void contributeApplicationDefaults(MappedConfiguration<String, String> configuration)
{
- configuration.add(SymbolConstants.GZIP_COMPRESSION_ENABLED, "false");
+ configuration.add(TapestryHttpSymbolConstants.GZIP_COMPRESSION_ENABLED, "false");
- configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
+ configuration.add(TapestryHttpSymbolConstants.PRODUCTION_MODE, "false");
configuration.add(SymbolConstants.JAVASCRIPT_INFRASTRUCTURE_PROVIDER, "jquery");
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/cluster/data/ImmutableByAnnotation.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/cluster/data/ImmutableByAnnotation.java
index ccb4a44..6586458 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/cluster/data/ImmutableByAnnotation.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/cluster/data/ImmutableByAnnotation.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.integration.cluster.data;
-import org.apache.tapestry5.annotations.ImmutableSessionPersistedObject;
+import org.apache.tapestry5.http.annotations.ImmutableSessionPersistedObject;
@ImmutableSessionPersistedObject
public class ImmutableByAnnotation implements SessionStateObject {
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/cluster/services/AppModule.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/cluster/services/AppModule.java
index 7be73cf..280e2c5 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/cluster/services/AppModule.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/cluster/services/AppModule.java
@@ -15,9 +15,9 @@
package org.apache.tapestry5.integration.cluster.services;
import org.apache.tapestry5.commons.MappedConfiguration;
+import org.apache.tapestry5.http.services.SessionPersistedObjectAnalyzer;
import org.apache.tapestry5.integration.cluster.data.AnalyzedSessionObject;
import org.apache.tapestry5.ioc.annotations.Contribute;
-import org.apache.tapestry5.services.SessionPersistedObjectAnalyzer;
public class AppModule
{
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/linktrans/services/AppComponentEventLinkTransformer.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/linktrans/services/AppComponentEventLinkTransformer.java
index e8aa552..1fcc783 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/linktrans/services/AppComponentEventLinkTransformer.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/linktrans/services/AppComponentEventLinkTransformer.java
@@ -17,15 +17,15 @@ package org.apache.tapestry5.integration.linktrans.services;
import java.util.Locale;
import org.apache.tapestry5.EventContext;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.commons.services.TypeCoercer;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.EmptyEventContext;
import org.apache.tapestry5.internal.services.ArrayEventContext;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.LocalizationSetter;
import org.apache.tapestry5.services.PersistentLocale;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.linktransform.ComponentEventLinkTransformer;
public class AppComponentEventLinkTransformer implements ComponentEventLinkTransformer
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/linktrans/services/AppModule.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/linktrans/services/AppModule.java
index 8de0949..4a3bc44 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/linktrans/services/AppModule.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/linktrans/services/AppModule.java
@@ -17,6 +17,7 @@ package org.apache.tapestry5.integration.linktrans.services;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.MappedConfiguration;
import org.apache.tapestry5.commons.OrderedConfiguration;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.services.linktransform.ComponentEventLinkTransformer;
import org.apache.tapestry5.services.linktransform.PageRenderLinkTransformer;
@@ -25,7 +26,7 @@ public class AppModule
public static void contributeApplicationDefaults(MappedConfiguration<String, String> configuration)
{
configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en,fr,de");
- configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
+ configuration.add(TapestryHttpSymbolConstants.PRODUCTION_MODE, "false");
configuration.add(SymbolConstants.COMPRESS_WHITESPACE, "false");
configuration.add(SymbolConstants.COMBINE_SCRIPTS, "true");
}
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/linktrans/services/AppPageRenderLinkTransformer.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/linktrans/services/AppPageRenderLinkTransformer.java
index 7771db9..a65e7cd 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/linktrans/services/AppPageRenderLinkTransformer.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/linktrans/services/AppPageRenderLinkTransformer.java
@@ -16,15 +16,15 @@ package org.apache.tapestry5.integration.linktrans.services;
import java.util.Locale;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.TapestryConstants;
import org.apache.tapestry5.commons.services.TypeCoercer;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.services.ArrayEventContext;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.LocalizationSetter;
import org.apache.tapestry5.services.PageRenderRequestParameters;
import org.apache.tapestry5.services.PersistentLocale;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.linktransform.PageRenderLinkTransformer;
public class AppPageRenderLinkTransformer implements PageRenderLinkTransformer
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/pagetester/PageTesterTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/pagetester/PageTesterTest.java
index 2604c48..992d9f4 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/pagetester/PageTesterTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/pagetester/PageTesterTest.java
@@ -15,8 +15,8 @@
package org.apache.tapestry5.integration.pagetester;
import org.apache.tapestry5.dom.Document;
+import org.apache.tapestry5.http.internal.TapestryHttpInternalSymbols;
import org.apache.tapestry5.integration.pagelevel.TestConstants;
-import org.apache.tapestry5.internal.InternalSymbols;
import org.apache.tapestry5.ioc.services.SymbolSource;
import org.apache.tapestry5.test.PageTester;
import org.testng.Assert;
@@ -83,6 +83,6 @@ public class PageTesterTest extends Assert
{
SymbolSource source = tester.getRegistry().getService(SymbolSource.class);
- assertEquals(source.valueForSymbol(InternalSymbols.APP_PACKAGE_PATH), "org/apache/tapestry5/integration/app2");
+ assertEquals(source.valueForSymbol(TapestryHttpInternalSymbols.APP_PACKAGE_PATH), "org/apache/tapestry5/integration/app2");
}
}
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/reload/services/AppModule.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/reload/services/AppModule.java
index f4f6781..5a8789a 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/reload/services/AppModule.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/reload/services/AppModule.java
@@ -16,12 +16,13 @@ package org.apache.tapestry5.integration.reload.services;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.MappedConfiguration;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
public class AppModule
{
public static void contributeApplicationDefaults(MappedConfiguration<String, Object> conf)
{
conf.add(SymbolConstants.FILE_CHECK_INTERVAL, "0ms");
- conf.add(SymbolConstants.PRODUCTION_MODE, false);
+ conf.add(TapestryHttpSymbolConstants.PRODUCTION_MODE, false);
}
}
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/ContextResourceSymbolProviderTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/ContextResourceSymbolProviderTest.java
index b9a772b..d2ae8b7 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/ContextResourceSymbolProviderTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/ContextResourceSymbolProviderTest.java
@@ -14,8 +14,8 @@
package org.apache.tapestry5.internal;
+import org.apache.tapestry5.http.services.Context;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
-import org.apache.tapestry5.services.Context;
import org.testng.annotations.Test;
import java.io.File;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/ResponseImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/ResponseImplTest.java
index 15d4e6b..1c76979 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/ResponseImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/ResponseImplTest.java
@@ -17,9 +17,9 @@ package org.apache.tapestry5.internal;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.tapestry5.internal.services.ResponseImpl;
+import org.apache.tapestry5.http.internal.services.ResponseImpl;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
-import org.apache.tapestry5.services.Response;
import org.testng.annotations.Test;
public class ResponseImplTest extends InternalBaseTestCase
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/ServletContextSymbolProviderTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/ServletContextSymbolProviderTest.java
index 204d041..5eec138 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/ServletContextSymbolProviderTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/ServletContextSymbolProviderTest.java
@@ -14,6 +14,7 @@
package org.apache.tapestry5.internal;
+import org.apache.tapestry5.http.internal.ServletContextSymbolProvider;
import org.apache.tapestry5.ioc.services.SymbolProvider;
import org.apache.tapestry5.test.ioc.TestBase;
import org.testng.annotations.Test;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/SingleKeySymbolProviderTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/SingleKeySymbolProviderTest.java
index 8de4967..0acc646 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/SingleKeySymbolProviderTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/SingleKeySymbolProviderTest.java
@@ -14,6 +14,7 @@
package org.apache.tapestry5.internal;
+import org.apache.tapestry5.http.internal.SingleKeySymbolProvider;
import org.apache.tapestry5.ioc.services.SymbolProvider;
import org.testng.Assert;
import org.testng.annotations.Test;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/TapestryAppInitializerTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/TapestryAppInitializerTest.java
index 9e951a0..779a170 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/TapestryAppInitializerTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/TapestryAppInitializerTest.java
@@ -14,6 +14,7 @@
package org.apache.tapestry5.internal;
+import org.apache.tapestry5.http.internal.TapestryAppInitializer;
import org.apache.tapestry5.ioc.Registry;
import org.apache.tapestry5.util.Transformer;
import org.slf4j.Logger;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BaseURLSourceImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BaseURLSourceImplTest.java
index 31edf38..88d325b 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BaseURLSourceImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BaseURLSourceImplTest.java
@@ -12,9 +12,10 @@
package org.apache.tapestry5.internal.services;
+import org.apache.tapestry5.http.internal.services.BaseURLSourceImpl;
+import org.apache.tapestry5.http.services.BaseURLSource;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
-import org.apache.tapestry5.services.BaseURLSource;
-import org.apache.tapestry5.services.Request;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStorageImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStorageImplTest.java
index 08ba051..f9233ab 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStorageImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStorageImplTest.java
@@ -12,14 +12,14 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.SessionPersistedObjectAnalyzer;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.internal.util.Holder;
import org.apache.tapestry5.services.ClientDataEncoder;
import org.apache.tapestry5.services.PersistentFieldChange;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.SessionPersistedObjectAnalyzer;
import org.easymock.EasyMock;
import org.easymock.IAnswer;
import org.testng.annotations.BeforeClass;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentEventDispatcherTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentEventDispatcherTest.java
index a9cb726..219a98d 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentEventDispatcherTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentEventDispatcherTest.java
@@ -15,6 +15,9 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.EventConstants;
import org.apache.tapestry5.MetaDataConstants;
import org.apache.tapestry5.beanmodel.services.*;
+import org.apache.tapestry5.http.services.Dispatcher;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.EmptyEventContext;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.URLEventContext;
@@ -24,11 +27,8 @@ import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.ComponentRequestHandler;
import org.apache.tapestry5.services.ContextPathEncoder;
import org.apache.tapestry5.services.ContextValueEncoder;
-import org.apache.tapestry5.services.Dispatcher;
import org.apache.tapestry5.services.LocalizationSetter;
import org.apache.tapestry5.services.MetaDataLocator;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import org.apache.tapestry5.services.security.ClientWhitelist;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentEventLinkEncoderImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentEventLinkEncoderImplTest.java
index fb791f1..22bd5fc 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentEventLinkEncoderImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentEventLinkEncoderImplTest.java
@@ -14,12 +14,14 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.Link;
-import org.apache.tapestry5.LinkSecurity;
import org.apache.tapestry5.MetaDataConstants;
import org.apache.tapestry5.TapestryConstants;
import org.apache.tapestry5.beanmodel.services.*;
import org.apache.tapestry5.commons.services.TypeCoercer;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.LinkSecurity;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.EmptyEventContext;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
@@ -30,8 +32,6 @@ import org.apache.tapestry5.services.ContextPathEncoder;
import org.apache.tapestry5.services.LocalizationSetter;
import org.apache.tapestry5.services.MetaDataLocator;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import org.apache.tapestry5.services.security.ClientWhitelist;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentSourceImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentSourceImplTest.java
index d33f5cc..7993330 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentSourceImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentSourceImplTest.java
@@ -14,13 +14,13 @@
package org.apache.tapestry5.internal.services;
+import org.apache.tapestry5.http.services.RequestGlobals;
import org.apache.tapestry5.internal.structure.ComponentPageElement;
import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.runtime.Component;
import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.ComponentSource;
-import org.apache.tapestry5.services.RequestGlobals;
import org.testng.annotations.Test;
public class ComponentSourceImplTest extends InternalBaseTestCase
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ContextImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ContextImplTest.java
index ab61610..09f7f48 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ContextImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ContextImplTest.java
@@ -15,8 +15,9 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.internal.services.ContextImpl;
+import org.apache.tapestry5.http.services.Context;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
-import org.apache.tapestry5.services.Context;
import org.testng.annotations.Test;
import javax.servlet.ServletContext;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ContextResourceTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ContextResourceTest.java
index 7f81c9e..3e51761 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ContextResourceTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ContextResourceTest.java
@@ -15,8 +15,8 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.commons.Resource;
+import org.apache.tapestry5.http.services.Context;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
-import org.apache.tapestry5.services.Context;
import org.testng.annotations.Test;
import java.io.File;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandlerTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandlerTest.java
index 9fc1122..a042bb4 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandlerTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandlerTest.java
@@ -14,15 +14,15 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.ContextAwareException;
import org.apache.tapestry5.ExceptionHandlerAssistant;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.commons.internal.util.TapestryException;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.ioc.ServiceResources;
import org.apache.tapestry5.ioc.internal.OperationException;
import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.ExceptionReporter;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import org.easymock.EasyMock;
import org.slf4j.Logger;
import org.testng.annotations.BeforeMethod;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/EndOfRequestEventHubImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/EndOfRequestEventHubImplTest.java
index 35254cc..f3f5ef3 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/EndOfRequestEventHubImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/EndOfRequestEventHubImplTest.java
@@ -14,10 +14,10 @@
package org.apache.tapestry5.internal.services;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestGlobals;
import org.apache.tapestry5.internal.events.EndOfRequestListener;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.RequestGlobals;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/FlashPersistentFieldStrategyTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/FlashPersistentFieldStrategyTest.java
index 1bf4377..42b121a 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/FlashPersistentFieldStrategyTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/FlashPersistentFieldStrategyTest.java
@@ -14,11 +14,11 @@
package org.apache.tapestry5.internal.services;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.services.PersistentFieldChange;
import org.apache.tapestry5.services.PersistentFieldStrategy;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Session;
import org.testng.annotations.Test;
import java.util.Collection;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ForceDevelopmentModeModule.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ForceDevelopmentModeModule.java
index a5f1e00..378fcc0 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ForceDevelopmentModeModule.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ForceDevelopmentModeModule.java
@@ -16,7 +16,8 @@ package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.MappedConfiguration;
-import org.apache.tapestry5.internal.InternalConstants;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.internal.TapestryHttpInternalConstants;
import org.apache.tapestry5.ioc.annotations.Contribute;
import org.apache.tapestry5.ioc.services.ApplicationDefaults;
import org.apache.tapestry5.ioc.services.SymbolProvider;
@@ -27,8 +28,8 @@ public class ForceDevelopmentModeModule
@ApplicationDefaults
public static void enableDevelopmentMode(MappedConfiguration<String, Object> configuration)
{
- configuration.add(SymbolConstants.PRODUCTION_MODE, false);
- configuration.add(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM, "app.root.package");
+ configuration.add(TapestryHttpSymbolConstants.PRODUCTION_MODE, false);
+ configuration.add(TapestryHttpInternalConstants.TAPESTRY_APP_PACKAGE_PARAM, "app.root.package");
configuration.add(SymbolConstants.HMAC_PASSPHRASE, "hmac passphrase for testing");
}
}
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/IgnoredPathsFilterTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/IgnoredPathsFilterTest.java
index d7c319e..171d0f0 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/IgnoredPathsFilterTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/IgnoredPathsFilterTest.java
@@ -15,8 +15,8 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.commons.util.CollectionFactory;
-import org.apache.tapestry5.services.HttpServletRequestFilter;
-import org.apache.tapestry5.services.HttpServletRequestHandler;
+import org.apache.tapestry5.http.services.HttpServletRequestFilter;
+import org.apache.tapestry5.http.services.HttpServletRequestHandler;
import org.apache.tapestry5.test.TapestryTestCase;
import org.testng.annotations.Test;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/JSONArrayEventResultProcessorTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/JSONArrayEventResultProcessorTest.java
index 16e417d..0e980e9 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/JSONArrayEventResultProcessorTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/JSONArrayEventResultProcessorTest.java
@@ -14,9 +14,9 @@
package org.apache.tapestry5.internal.services;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.json.JSONArray;
-import org.apache.tapestry5.services.Response;
import org.testng.annotations.Test;
import java.io.CharArrayWriter;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkImplTest.java
index 6cefbfb..35b0bd7 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkImplTest.java
@@ -14,12 +14,12 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.Link;
-import org.apache.tapestry5.LinkSecurity;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.LinkSecurity;
+import org.apache.tapestry5.http.services.BaseURLSource;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
-import org.apache.tapestry5.services.BaseURLSource;
import org.apache.tapestry5.services.ContextPathEncoder;
-import org.apache.tapestry5.services.Response;
import org.testng.annotations.Test;
public class LinkImplTest extends InternalBaseTestCase
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkSourceImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkSourceImplTest.java
index 0222ca7..8bfdc29 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkSourceImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkSourceImplTest.java
@@ -19,10 +19,11 @@ import java.util.List;
import org.apache.tapestry5.EventConstants;
import org.apache.tapestry5.EventContext;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.beanmodel.services.*;
import org.apache.tapestry5.commons.services.TypeCoercer;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.services.RequestGlobals;
import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.services.ComponentClassResolver;
@@ -30,7 +31,6 @@ import org.apache.tapestry5.services.ComponentEventLinkEncoder;
import org.apache.tapestry5.services.ComponentEventRequestParameters;
import org.apache.tapestry5.services.LinkCreationListener2;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.RequestGlobals;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LocalizationSetterImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LocalizationSetterImplTest.java
index ed09a0e..90502c3 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LocalizationSetterImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LocalizationSetterImplTest.java
@@ -21,11 +21,11 @@ import java.util.Locale;
import org.apache.tapestry5.OptionModel;
import org.apache.tapestry5.SelectModel;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.ioc.services.ThreadLocale;
import org.apache.tapestry5.services.LocalizationSetter;
import org.apache.tapestry5.services.PersistentLocale;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.test.ioc.TestBase;
import org.testng.annotations.Test;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageRenderLinkSourceImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageRenderLinkSourceImplTest.java
index 7fe30d2..a61f3dc 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageRenderLinkSourceImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageRenderLinkSourceImplTest.java
@@ -15,7 +15,7 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.EventContext;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.integration.app3.pages.Index;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.services.ComponentClassResolver;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageRenderRequestHandlerImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageRenderRequestHandlerImplTest.java
index 88ec5ed..a5710d8 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageRenderRequestHandlerImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageRenderRequestHandlerImplTest.java
@@ -15,6 +15,7 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.EventContext;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.InternalComponentResources;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.structure.ComponentPageElement;
@@ -23,7 +24,6 @@ import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.services.ComponentEventResultProcessor;
import org.apache.tapestry5.services.PageRenderRequestHandler;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.Request;
import org.testng.annotations.Test;
public class PageRenderRequestHandlerImplTest extends InternalBaseTestCase
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RequestImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RequestImplTest.java
index bc9b925..3b6fb8d 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RequestImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RequestImplTest.java
@@ -12,9 +12,11 @@
package org.apache.tapestry5.internal.services;
+import org.apache.tapestry5.http.internal.services.RequestImpl;
+import org.apache.tapestry5.http.internal.services.TapestrySessionFactory;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Session;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
@@ -132,7 +134,7 @@ public class RequestImplTest extends InternalBaseTestCase
{
HttpServletRequest sr = mockHttpServletRequest();
- expect(sr.getHeader(RequestImpl.REQUESTED_WITH_HEADER)).andReturn(headerValue);
+ expect(sr.getHeader(Request.REQUESTED_WITH_HEADER)).andReturn(headerValue);
replay();
@@ -283,7 +285,7 @@ public class RequestImplTest extends InternalBaseTestCase
HttpServletRequest sr = mockHttpServletRequest();
expect(sr.isSecure()).andReturn(false);
- expect(sr.getHeader(RequestImpl.X_FORWARDED_PROTO_HEADER)).andReturn("https");
+ expect(sr.getHeader(Request.X_FORWARDED_PROTO_HEADER)).andReturn("https");
replay();
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RequestSecurityManagerImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RequestSecurityManagerImplTest.java
index 9690723..e4874db 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RequestSecurityManagerImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RequestSecurityManagerImplTest.java
@@ -14,17 +14,17 @@
package org.apache.tapestry5.internal.services;
-import org.apache.tapestry5.Link;
-import org.apache.tapestry5.LinkSecurity;
import org.apache.tapestry5.MetaDataConstants;
import org.apache.tapestry5.beanmodel.services.*;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.LinkSecurity;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.EmptyEventContext;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.services.ComponentEventLinkEncoder;
import org.apache.tapestry5.services.MetaDataLocator;
import org.apache.tapestry5.services.PageRenderRequestParameters;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ResponseRendererImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ResponseRendererImplTest.java
index 637bb04..fc0d73d 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ResponseRendererImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ResponseRendererImplTest.java
@@ -15,11 +15,11 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.ContentType;
+import org.apache.tapestry5.http.ContentType;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.structure.Page;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.runtime.Component;
-import org.apache.tapestry5.services.Response;
import org.apache.tapestry5.services.ResponseRenderer;
import org.testng.annotations.Test;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/SessionApplicationStatePersistenceStrategyTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/SessionApplicationStatePersistenceStrategyTest.java
index 594931e..fe71446 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/SessionApplicationStatePersistenceStrategyTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/SessionApplicationStatePersistenceStrategyTest.java
@@ -14,12 +14,12 @@
package org.apache.tapestry5.internal.services;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.internal.transform.pages.ReadOnlyBean;
import org.apache.tapestry5.services.ApplicationStateCreator;
import org.apache.tapestry5.services.ApplicationStatePersistenceStrategy;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Session;
import org.testng.annotations.Test;
import spock.lang.Issue;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/SessionImplTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/SessionImplTest.java
index 4f1aebf..2f7cbd4 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/SessionImplTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/SessionImplTest.java
@@ -14,9 +14,12 @@
package org.apache.tapestry5.internal.services;
+import org.apache.tapestry5.http.internal.services.ClusteredSessionImpl;
+import org.apache.tapestry5.http.internal.services.SessionImpl;
+import org.apache.tapestry5.http.internal.services.SessionLock;
+import org.apache.tapestry5.http.services.Session;
+import org.apache.tapestry5.http.services.SessionPersistedObjectAnalyzer;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
-import org.apache.tapestry5.services.Session;
-import org.apache.tapestry5.services.SessionPersistedObjectAnalyzer;
import org.testng.annotations.Test;
import javax.servlet.http.HttpServletRequest;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/SessionPersistentFieldStrategyTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/SessionPersistentFieldStrategyTest.java
index 332d229..743111d 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/SessionPersistentFieldStrategyTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/SessionPersistentFieldStrategyTest.java
@@ -14,10 +14,10 @@
package org.apache.tapestry5.internal.services;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.services.PersistentFieldChange;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Session;
import org.testng.annotations.Test;
import java.util.Collection;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/StaticFilesFilterTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/StaticFilesFilterTest.java
index e4874dd..308d169 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/StaticFilesFilterTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/StaticFilesFilterTest.java
@@ -15,12 +15,12 @@
package org.apache.tapestry5.internal.services;
import org.apache.tapestry5.beanmodel.services.*;
+import org.apache.tapestry5.http.services.Context;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestFilter;
+import org.apache.tapestry5.http.services.RequestHandler;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
-import org.apache.tapestry5.services.Context;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.RequestFilter;
-import org.apache.tapestry5.services.RequestHandler;
-import org.apache.tapestry5.services.Response;
import org.testng.annotations.Test;
import javax.servlet.http.HttpServletResponse;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java b/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java
index e9a7144..2942a24 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java
@@ -16,7 +16,6 @@ package org.apache.tapestry5.internal.test;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.ComponentResourcesCommon;
-import org.apache.tapestry5.ContentType;
import org.apache.tapestry5.EventContext;
import org.apache.tapestry5.beanmodel.internal.services.*;
import org.apache.tapestry5.beanmodel.services.*;
@@ -26,6 +25,9 @@ import org.apache.tapestry5.commons.services.ClassPropertyAdapter;
import org.apache.tapestry5.commons.services.InvalidationListener;
import org.apache.tapestry5.commons.services.PropertyAccess;
import org.apache.tapestry5.commons.services.PropertyAdapter;
+import org.apache.tapestry5.http.ContentType;
+import org.apache.tapestry5.http.services.BaseURLSource;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.InternalComponentResources;
import org.apache.tapestry5.internal.parser.ComponentTemplate;
import org.apache.tapestry5.internal.services.ComponentModelSource;
@@ -50,13 +52,11 @@ import org.apache.tapestry5.root.FieldComponent;
import org.apache.tapestry5.runtime.Component;
import org.apache.tapestry5.runtime.RenderCommand;
import org.apache.tapestry5.runtime.RenderQueue;
-import org.apache.tapestry5.services.BaseURLSource;
import org.apache.tapestry5.services.ClientBehaviorSupport;
import org.apache.tapestry5.services.ComponentClassResolver;
import org.apache.tapestry5.services.LinkCreationListener2;
import org.apache.tapestry5.services.LocalizationSetter;
import org.apache.tapestry5.services.MetaDataLocator;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.test.TapestryTestCase;
import org.easymock.EasyMock;
import org.testng.annotations.AfterMethod;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/root/ContentTypeTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/root/ContentTypeTest.java
index 371a0b6..5be6bda 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/root/ContentTypeTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/root/ContentTypeTest.java
@@ -12,7 +12,7 @@
package org.apache.tapestry5.root;
-import org.apache.tapestry5.ContentType;
+import org.apache.tapestry5.http.ContentType;
import org.apache.tapestry5.test.ioc.TestBase;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/root/PageCallbackTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/root/PageCallbackTest.java
index bae11fd..207d0cf 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/root/PageCallbackTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/root/PageCallbackTest.java
@@ -15,9 +15,9 @@
package org.apache.tapestry5.root;
import org.apache.tapestry5.EventContext;
-import org.apache.tapestry5.Link;
import org.apache.tapestry5.PageCallback;
import org.apache.tapestry5.commons.services.TypeCoercer;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.internal.services.ArrayEventContext;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.services.PageRenderLinkSource;
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/HibernatePersistenceConstants.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/HibernatePersistenceConstants.java
index 84220c7..2647f1a 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/HibernatePersistenceConstants.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/HibernatePersistenceConstants.java
@@ -26,7 +26,7 @@ public class HibernatePersistenceConstants
{
/**
* If the field's value is a persistent Hibernate entity its type and primary key is stored in the
- * {@link org.apache.tapestry5.services.Session}. Otherwise,
+ * {@link org.apache.tapestry5.http.services.Session}. Otherwise,
* the value is stored as per {@link PersistenceConstants#SESSION}.
*/
public static final String ENTITY = "entity";
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/EntityApplicationStatePersistenceStrategy.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/EntityApplicationStatePersistenceStrategy.java
index e214546..de3be93 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/EntityApplicationStatePersistenceStrategy.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/EntityApplicationStatePersistenceStrategy.java
@@ -14,13 +14,13 @@
package org.apache.tapestry5.hibernate.web.internal;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.services.SessionApplicationStatePersistenceStrategy;
import org.apache.tapestry5.services.ApplicationStateCreator;
-import org.apache.tapestry5.services.Request;
import org.hibernate.Session;
/**
- * Persists Hibernate entities as SSOs by storing their primary key in the {@link org.apache.tapestry5.services.Session}.
+ * Persists Hibernate entities as SSOs by storing their primary key in the {@link org.apache.tapestry5.http.services.Session}.
*
* @see org.apache.tapestry5.hibernate.web.internal.PersistedEntity
*/
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/EntityPersistentFieldStrategy.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/EntityPersistentFieldStrategy.java
index 719a5e6..35d3426 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/EntityPersistentFieldStrategy.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/EntityPersistentFieldStrategy.java
@@ -14,8 +14,8 @@
package org.apache.tapestry5.hibernate.web.internal;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.internal.services.AbstractSessionPersistentFieldStrategy;
-import org.apache.tapestry5.services.Request;
import org.hibernate.HibernateException;
import org.hibernate.Session;
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/PersistedEntity.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/PersistedEntity.java
index be8ed15..5412f78 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/PersistedEntity.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/PersistedEntity.java
@@ -14,7 +14,7 @@
package org.apache.tapestry5.hibernate.web.internal;
-import org.apache.tapestry5.annotations.ImmutableSessionPersistedObject;
+import org.apache.tapestry5.http.annotations.ImmutableSessionPersistedObject;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.hibernate.Session;
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/modules/HibernateModule.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/modules/HibernateModule.java
index 8f28785..129d5b1 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/modules/HibernateModule.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/modules/HibernateModule.java
@@ -28,7 +28,7 @@ import org.apache.tapestry5.hibernate.web.internal.CommitAfterWorker;
import org.apache.tapestry5.hibernate.web.internal.EntityApplicationStatePersistenceStrategy;
import org.apache.tapestry5.hibernate.web.internal.EntityPersistentFieldStrategy;
import org.apache.tapestry5.hibernate.web.internal.HibernateEntityValueEncoder;
-import org.apache.tapestry5.internal.InternalConstants;
+import org.apache.tapestry5.http.internal.TapestryHttpInternalConstants;
import org.apache.tapestry5.ioc.LoggerSource;
import org.apache.tapestry5.ioc.annotations.Contribute;
import org.apache.tapestry5.ioc.annotations.Primary;
@@ -64,7 +64,7 @@ public class HibernateModule
*/
public static void contributeHibernateEntityPackageManager(Configuration<String> configuration,
- @Symbol(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM)
+ @Symbol(TapestryHttpInternalConstants.TAPESTRY_APP_PACKAGE_PARAM)
String appRootPackage)
{
configuration.add(appRootPackage + ".entities");
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/pages/HibernateStatistics.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/pages/HibernateStatistics.java
index c13f378..b2de246 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/pages/HibernateStatistics.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/pages/HibernateStatistics.java
@@ -14,10 +14,10 @@
package org.apache.tapestry5.hibernate.web.pages;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.UnknownActivationContextCheck;
import org.apache.tapestry5.annotations.WhitelistAccessOnly;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.hibernate.Session;
@@ -40,7 +40,7 @@ public class HibernateStatistics
@Property
@Inject
- @Symbol(SymbolConstants.PRODUCTION_MODE)
+ @Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
private boolean productionMode;
@Property
diff --git a/tapestry-hibernate/src/test/java/org/example/app0/pages/SSOEntity.java b/tapestry-hibernate/src/test/java/org/example/app0/pages/SSOEntity.java
index b59f6fa..5e6fe83 100644
--- a/tapestry-hibernate/src/test/java/org/example/app0/pages/SSOEntity.java
+++ b/tapestry-hibernate/src/test/java/org/example/app0/pages/SSOEntity.java
@@ -15,9 +15,9 @@ package org.example.app0.pages;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.SessionState;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Session;
import org.example.app0.entities.User;
import org.example.app0.services.UserDAO;
diff --git a/tapestry-hibernate/src/test/java/org/example/app0/services/AppModule.java b/tapestry-hibernate/src/test/java/org/example/app0/services/AppModule.java
index bc4db36..584f388 100644
--- a/tapestry-hibernate/src/test/java/org/example/app0/services/AppModule.java
+++ b/tapestry-hibernate/src/test/java/org/example/app0/services/AppModule.java
@@ -12,19 +12,19 @@
package org.example.app0.services;
-import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.commons.MappedConfiguration;
import org.apache.tapestry5.commons.OrderedConfiguration;
import org.apache.tapestry5.hibernate.HibernateSymbols;
import org.apache.tapestry5.hibernate.HibernateTransactionDecorator;
import org.apache.tapestry5.hibernate.modules.HibernateCoreModule;
import org.apache.tapestry5.hibernate.web.modules.HibernateModule;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.ServiceBinder;
import org.apache.tapestry5.ioc.ServiceResources;
import org.apache.tapestry5.ioc.annotations.Contribute;
import org.apache.tapestry5.ioc.annotations.ImportModule;
import org.apache.tapestry5.ioc.annotations.Match;
-import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.security.ClientWhitelist;
import org.apache.tapestry5.services.security.WhitelistAnalyzer;
@@ -39,7 +39,7 @@ public class AppModule
public static void contributeApplicationDefaults(MappedConfiguration<String, String> configuration)
{
- configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
+ configuration.add(TapestryHttpSymbolConstants.PRODUCTION_MODE, "false");
configuration.add(HibernateSymbols.ENTITY_SESSION_STATE_PERSISTENCE_STRATEGY_ENABLED, "true");
}
diff --git a/tapestry-http/build.gradle b/tapestry-http/build.gradle
new file mode 100644
index 0000000..8debeb9
--- /dev/null
+++ b/tapestry-http/build.gradle
@@ -0,0 +1,31 @@
+import org.gradle.plugins.ide.idea.model.*
+import org.apache.tools.ant.filters.ReplaceTokens
+import t5build.*
+
+description = "Tapestry classes that handle HTTP requests"
+
+dependencies {
+ compile project(':tapestry-ioc')
+ compile project(':tapestry-json')
+ compile project(':beanmodel')
+
+ provided project(":tapestry-test")
+ provided project(":tapestry-test-constants")
+
+ provided "javax.servlet:javax.servlet-api:${versions.servletapi}"
+
+ compile "commons-codec:commons-codec:1.10"
+
+ testRuntime "org.hsqldb:hsqldb:1.8.0.10"
+
+ testRuntime 'com.google.inject:guice:3.0'
+}
+
+// Not sure why this is necessary:
+compileTestGroovy.dependsOn compileTestJava
+
+jar {
+ from("src/main/filtered-resources") {
+ filter(ReplaceTokens, tokens: [version: project.version])
+ }
+}
\ No newline at end of file
diff --git a/tapestry-core/src/main/filtered-resources/META-INF/gradle/org.apache.tapestry/tapestry-core/project.properties b/tapestry-http/src/main/filtered-resources/META-INF/gradle/org.apache.tapestry/tapestry-core/project.properties
similarity index 100%
rename from tapestry-core/src/main/filtered-resources/META-INF/gradle/org.apache.tapestry/tapestry-core/project.properties
rename to tapestry-http/src/main/filtered-resources/META-INF/gradle/org.apache.tapestry/tapestry-core/project.properties
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/ContentType.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/ContentType.java
similarity index 95%
rename from tapestry-core/src/main/java/org/apache/tapestry5/ContentType.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/ContentType.java
index 4aaa96d..0c8b01a 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/ContentType.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/ContentType.java
@@ -10,11 +10,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5;
-
-import org.apache.tapestry5.commons.util.CollectionFactory;
-import org.apache.tapestry5.internal.InternalConstants;
-import org.apache.tapestry5.ioc.internal.util.InternalUtils;
+package org.apache.tapestry5.http;
import java.util.Collections;
import java.util.List;
@@ -23,6 +19,10 @@ import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.internal.TapestryHttpInternalConstants;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
+
/**
* Represents an HTTP content type. Allows to set various elements like the MIME type, the character set, and other
* parameters. This is similar to a number of other implementations of the same concept in JAF, etc. We have created
@@ -143,7 +143,7 @@ public final class ContentType
*/
public String getCharset()
{
- return getParameter(InternalConstants.CHARSET_CONTENT_TYPE_PARAMETER);
+ return getParameter(TapestryHttpInternalConstants.CHARSET_CONTENT_TYPE_PARAMETER);
}
/**
@@ -192,7 +192,7 @@ public final class ContentType
public ContentType withCharset(String charset)
{
- return withParameter(InternalConstants.CHARSET_CONTENT_TYPE_PARAMETER, charset);
+ return withParameter(TapestryHttpInternalConstants.CHARSET_CONTENT_TYPE_PARAMETER, charset);
}
/**
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/Link.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/Link.java
similarity index 93%
rename from tapestry-core/src/main/java/org/apache/tapestry5/Link.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/Link.java
index c9437e7..81c15f9 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/Link.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/Link.java
@@ -10,20 +10,19 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5;
+package org.apache.tapestry5.http;
+
+import java.util.List;
import org.apache.commons.codec.net.URLCodec;
+import org.apache.tapestry5.http.services.BaseURLSource;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.IncompatibleChange;
-import org.apache.tapestry5.services.BaseURLSource;
-import org.apache.tapestry5.services.ContextPathEncoder;
-import org.apache.tapestry5.services.Request;
-
-import java.util.List;
/**
* A link is the Tapestry representation of a URL or URI that triggers dynamic behavior. This link is in three parts: a
* path portion, an optional anchor, and a set of query parameters. A request for a link will ultimately be recognized
- * by a {@link org.apache.tapestry5.services.Dispatcher}.
+ * by a {@link org.apache.tapestry5.http.services.Dispatcher}.
*
* Query parameter values are kept separate from the path portion to support encoding those values into hidden form
* fields (where appropriate).
@@ -68,7 +67,8 @@ public interface Link
/**
* Adds a parameter value as a value object; the value object is converted to a string via
- * {@link ContextPathEncoder#encodeValue(Object)} and the result is added via {@link #addParameter(String, String)}.
+ * <a href="http://tapestry.apache.org/current/apidocs/src-html/org/apache/tapestry5/services/ContextPathEncoder.html#line.31>ContextPathEncoder.encodeValue(Object)</a>
+ * from tapestry-core and the result is added via {@link #addParameter(String, String)}.
* The Link object is returned for further configuration.
*
* @since 5.2.2
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/LinkSecurity.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/LinkSecurity.java
similarity index 98%
rename from tapestry-core/src/main/java/org/apache/tapestry5/LinkSecurity.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/LinkSecurity.java
index 34ff445..0579ed9 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/LinkSecurity.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/LinkSecurity.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5;
+package org.apache.tapestry5.http;
/**
* Identifies how a {@link Link} should handle security.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/OptimizedSessionPersistedObject.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/OptimizedSessionPersistedObject.java
similarity index 93%
rename from tapestry-core/src/main/java/org/apache/tapestry5/OptimizedSessionPersistedObject.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/OptimizedSessionPersistedObject.java
index 41c5334..5205957 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/OptimizedSessionPersistedObject.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/OptimizedSessionPersistedObject.java
@@ -10,10 +10,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5;
+package org.apache.tapestry5.http;
/**
- * An optional interface implemented by objects that are persisted in the {@link org.apache.tapestry5.services.Session}.
+ * An optional interface implemented by objects that are persisted in the {@link org.apache.tapestry5.http.services.Session}.
* At the end of each request, any objects read from the session are re-stored into the session, to ensure that
* in-memory changes are flushed to other persistent session stores (e.g. RDBMS, servers in a cluster, etc). Objects
* that implement this interface are expected to track when they are dirty (have pending changes), so that the save
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/TapestryFilter.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/TapestryFilter.java
similarity index 86%
copy from tapestry-core/src/main/java/org/apache/tapestry5/TapestryFilter.java
copy to tapestry-http/src/main/java/org/apache/tapestry5/http/TapestryFilter.java
index d4237e0..7aea81f 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/TapestryFilter.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/TapestryFilter.java
@@ -10,26 +10,33 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5;
+package org.apache.tapestry5.http;
-import org.apache.tapestry5.internal.ServletContextSymbolProvider;
-import org.apache.tapestry5.internal.SingleKeySymbolProvider;
-import org.apache.tapestry5.internal.TapestryAppInitializer;
-import org.apache.tapestry5.internal.util.DelegatingSymbolProvider;
+import java.io.IOException;
+
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tapestry5.http.internal.ServletContextSymbolProvider;
+import org.apache.tapestry5.http.internal.SingleKeySymbolProvider;
+import org.apache.tapestry5.http.internal.TapestryAppInitializer;
+import org.apache.tapestry5.http.internal.util.DelegatingSymbolProvider;
+import org.apache.tapestry5.http.services.HttpServletRequestHandler;
+import org.apache.tapestry5.http.services.ServletApplicationInitializer;
import org.apache.tapestry5.ioc.Registry;
import org.apache.tapestry5.ioc.def.ModuleDef;
import org.apache.tapestry5.ioc.internal.services.SystemPropertiesSymbolProvider;
import org.apache.tapestry5.ioc.services.SymbolProvider;
-import org.apache.tapestry5.services.HttpServletRequestHandler;
-import org.apache.tapestry5.services.ServletApplicationInitializer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.*;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
/**
* The TapestryFilter is responsible for intercepting all requests into the web application. It
* identifies the requests
@@ -86,11 +93,11 @@ public class TapestryFilter implements Filter
SymbolProvider combinedProvider = new DelegatingSymbolProvider(
new SystemPropertiesSymbolProvider(),
- new SingleKeySymbolProvider(SymbolConstants.CONTEXT_PATH, context.getContextPath()),
+ new SingleKeySymbolProvider(TapestryHttpSymbolConstants.CONTEXT_PATH, context.getContextPath()),
new ServletContextSymbolProvider(context),
- new SingleKeySymbolProvider(SymbolConstants.EXECUTION_MODE, "production"));
+ new SingleKeySymbolProvider(TapestryHttpSymbolConstants.EXECUTION_MODE, "production"));
- String executionMode = combinedProvider.valueForSymbol(SymbolConstants.EXECUTION_MODE);
+ String executionMode = combinedProvider.valueForSymbol(TapestryHttpSymbolConstants.EXECUTION_MODE);
TapestryAppInitializer appInitializer = new TapestryAppInitializer(logger, combinedProvider,
filterName, executionMode);
diff --git a/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/JpaPersistenceConstants.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/TapestryHttpConstants.java
similarity index 52%
copy from tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/JpaPersistenceConstants.java
copy to tapestry-http/src/main/java/org/apache/tapestry5/http/TapestryHttpConstants.java
index 8a04a6a..16a1821 100644
--- a/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/JpaPersistenceConstants.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/TapestryHttpConstants.java
@@ -1,5 +1,3 @@
-// Copyright 2011 The Apache Software Foundation
-//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
@@ -11,22 +9,22 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-
-package org.apache.tapestry5.jpa;
-
-import org.apache.tapestry5.PersistenceConstants;
+package org.apache.tapestry5.http;
/**
- * Constants for persistent field strategies.
- *
- * @since 5.3
+ * Class defining constants for Tapestry HTTP.
*/
-public class JpaPersistenceConstants
-{
+final public class TapestryHttpConstants {
+
/**
- * If the field's value is a persistent JPA entity, its type and primary key is stored in the
- * {@link org.apache.tapestry5.services.Session}. Otherwise,
- * the value is stored as per {@link PersistenceConstants#SESSION}.
+ * Request attribute key; if non-null, then automatic GZIP compression of response stream is
+ * suppressed. This is
+ * useful when the code opening the response stream wants to explicitly control whether GZIP
+ * compression occurs or
+ * not.
+ *
+ * @since 5.1.0.0
*/
- public static final String ENTITY = "entity";
+ public static final String SUPPRESS_COMPRESSION = "tapestry.supress-compression";
+
}
diff --git a/tapestry-http/src/main/java/org/apache/tapestry5/http/TapestryHttpSymbolConstants.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/TapestryHttpSymbolConstants.java
new file mode 100644
index 0000000..79aa2c5
--- /dev/null
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/TapestryHttpSymbolConstants.java
@@ -0,0 +1,136 @@
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package org.apache.tapestry5.http;
+
+/**
+ * Class defining constants for Tapestry HTTP symbols.
+ */
+final public class TapestryHttpSymbolConstants {
+
+ /**
+ * The hostname that application should use when constructing an absolute URL. The default is "", i.e. an empty
+ * string,
+ * in which case system will use request.getServerName(). Not the same as environment variable HOSTNAME, but you can
+ * also
+ * contribute "$HOSTNAME" as the value to make it the same as the environment variable HOSTNAME.
+ *
+ * @since 5.3
+ */
+ public static final String HOSTNAME = "tapestry.hostname";
+ /**
+ * The hostport that application should use when constructing an absolute URL. The default is "0", i.e. use the port
+ * value from
+ * the request.
+ *
+ * @since 5.3
+ */
+ public static final String HOSTPORT = "tapestry.hostport";
+ /**
+ * The secure (https) hostport that application should use when constructing an absolute URL. The default is "0",
+ * i.e. use
+ * the value from the request.
+ * This is an alias to {@link TapestryHttpSymbolConstnats#HOSTPORT_SECURE}.
+ *
+ * @since 5.3
+ */
+ public static final String HOSTPORT_SECURE = "tapestry.hostport-secure";
+ /**
+ * If "true" then at the end of each request the
+ * {@link org.apache.tapestry5.http.services.SessionPersistedObjectAnalyzer} will be called on each session persisted
+ * object that was accessed during the request.
+ *
+ * This is provided as a performance enhancement for servers that do not use clustered sessions.
+ *
+ * The default is {@code true}, to preserve 5.2 behavior. For non-clustered applications (the majority), this value should be
+ * overridden to {@code false}. A future release of Tapestry may change the default.
+ *
+ * @since 5.3
+ */
+ public static final String CLUSTERED_SESSIONS = "tapestry.clustered-sessions";
+ /**
+ * If true (the default), then Tapestry will apply locking semantics around access to the {@link javax.servlet.http.HttpSession}.
+ * Reading attribute names occurs with a shared read lock; getting or setting an attribute upgrades to an exclusive write lock.
+ * This can tend to serialize threads when a number of simultaneous (Ajax) requests from the client arrive ... however,
+ * many implementations of HttpSession are not thread safe, and often mutable objects are stored in the session and shared
+ * between threads. Leaving this on the default will yield a more robust application; setting it to false may speed
+ * up processing for more Ajax intensive applications (but care should then be given to ensuring that objects shared inside
+ * the session are themselves immutable or thread-safe).
+ *
+ * @since 5.4
+ */
+ public static final String SESSION_LOCKING_ENABLED = "tapestry.session-locking-enabled";
+ /**
+ * Version number of the application. Prior to 5.4, this version number was integrated into asset URLs. Starting
+ * with 5.4, a checksum of the individual asset's content is used instead, and this version number is only used
+ * for documentation purposes; it appears in the default exception report page, for example.
+ *
+ * The default value is "0.0.1". In 5.3 and earlier, the default value was a random hexadecimal string.
+ *
+ * @since 5.1.0.0
+ */
+ public static final String APPLICATION_VERSION = "tapestry.application-version";
+
+ /**
+ * Indicates whether Tapestry is running in production mode or developer mode. This affects a large
+ * number of Tapestry behaviors related to performance and security, including how exceptions are
+ * reported, whether far-future expire headers are emitted, whether JavaScript files may be combined,
+ * whether JSON is compressed, whether component field and parameter values are shadowed to instance
+ * variables (to assist with debugging), and more.
+ */
+ public static final String PRODUCTION_MODE = "tapestry.production-mode";
+
+ /**
+ * The version number of the core Tapestry framework, or UNKNOWN if the version number is not available (which
+ * should only occur when developing Tapestry).
+ */
+ public static final String TAPESTRY_VERSION = "tapestry.version";
+
+ /**
+ * Identifies the context path of the application, as determined from {@link javax.servlet.ServletContext#getContextPath()}.
+ * This is either a blank string or a string that starts with a slash but does not end with one.
+ *
+ * @since 5.4
+ */
+ public static final String CONTEXT_PATH = "tapestry.context-path";
+ /**
+ * A comma separated list of execution modes used to control how the application is initialized.
+ * Each modes can contribute a list (comma separated) of Module classes to be loaded during startup,
+ * the order in which they appear is preserved.
+ * The default value is: <code>production</code>.
+ */
+ public static final String EXECUTION_MODE = "tapestry.execution-mode";
+ /**
+ * The charset used when rendering page markup; the charset is also used as the request encoding when handling
+ * incoming requests. The default is "UTF-8".
+ */
+ public static final String CHARSET = "tapestry.charset";
+ /**
+ * Minimum output stream size, in bytes, before output is compressed using GZIP. Shorter streams are not compressed.
+ * Tapestry buffers this amount and switches to a GZIP output stream as needed. The default is "100".
+ *
+ * @see SymbolConstants#GZIP_COMPRESSION_ENABLED
+ * @since 5.1.0.0
+ */
+ public static final String MIN_GZIP_SIZE = "tapestry.min-gzip-size";
+ /**
+ * If "true" (the default) then GZip compression is enabled for dynamic requests and for static assets. If you are
+ * using a server that handles GZip compression for you, or you don't want to use the extra processing power
+ * necessary to GZIP requests, then override this to "false".
+ *
+ * @see MIN_GZIP_SIZE
+ * @see org.apache.tapestry5.services.ResponseCompressionAnalyzer
+ * @see org.apache.tapestry5.services.assets.CompressionAnalyzer
+ * @since 5.1.0.0
+ */
+ public static final String GZIP_COMPRESSION_ENABLED = "tapestry.gzip-compression-enabled";
+
+}
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/AbstractContributionDef.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/AbstractContributionDef.java
similarity index 97%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/AbstractContributionDef.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/AbstractContributionDef.java
index 64a6704..2b625e7 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/AbstractContributionDef.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/AbstractContributionDef.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal;
+package org.apache.tapestry5.http.internal;
import org.apache.tapestry5.commons.*;
import org.apache.tapestry5.ioc.ModuleBuilderSource;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/ServletContextSymbolProvider.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/ServletContextSymbolProvider.java
similarity index 93%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/ServletContextSymbolProvider.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/ServletContextSymbolProvider.java
index cc17091..a827791 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/ServletContextSymbolProvider.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/ServletContextSymbolProvider.java
@@ -1,4 +1,4 @@
-// Copyright 2007 The Apache Software Foundation
+// Copyright 2007, 2020 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal;
+package org.apache.tapestry5.http.internal;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/SingleKeySymbolProvider.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/SingleKeySymbolProvider.java
similarity index 96%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/SingleKeySymbolProvider.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/SingleKeySymbolProvider.java
index 5332cfa..886b1ec 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/SingleKeySymbolProvider.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/SingleKeySymbolProvider.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal;
+package org.apache.tapestry5.http.internal;
import org.apache.tapestry5.ioc.services.SymbolProvider;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/SyntheticModuleDef.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/SyntheticModuleDef.java
similarity index 97%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/SyntheticModuleDef.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/SyntheticModuleDef.java
index 28af69b..c85746a 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/SyntheticModuleDef.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/SyntheticModuleDef.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal;
+package org.apache.tapestry5.http.internal;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.ioc.def.ContributionDef;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/SyntheticSymbolSourceContributionDef.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/SyntheticSymbolSourceContributionDef.java
similarity index 97%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/SyntheticSymbolSourceContributionDef.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/SyntheticSymbolSourceContributionDef.java
index 1ef7592..d787ef5 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/SyntheticSymbolSourceContributionDef.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/SyntheticSymbolSourceContributionDef.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal;
+package org.apache.tapestry5.http.internal;
import org.apache.tapestry5.commons.OrderedConfiguration;
import org.apache.tapestry5.ioc.ModuleBuilderSource;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryAppInitializer.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/TapestryAppInitializer.java
similarity index 82%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryAppInitializer.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/TapestryAppInitializer.java
index 3e25262..14fb4f3 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryAppInitializer.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/TapestryAppInitializer.java
@@ -10,10 +10,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal;
+package org.apache.tapestry5.http.internal;
-import org.apache.tapestry5.SymbolConstants;
-import org.apache.tapestry5.commons.services.*;
+import java.util.Formatter;
+import java.util.List;
+import java.util.regex.Pattern;
+
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.modules.TapestryHttpModule;
import org.apache.tapestry5.ioc.IOCUtilities;
import org.apache.tapestry5.ioc.Registry;
import org.apache.tapestry5.ioc.RegistryBuilder;
@@ -25,12 +29,8 @@ import org.apache.tapestry5.ioc.services.ServiceActivityScoreboard;
import org.apache.tapestry5.ioc.services.Status;
import org.apache.tapestry5.ioc.services.SymbolProvider;
import org.apache.tapestry5.ioc.services.SymbolSource;
-import org.apache.tapestry5.modules.TapestryModule;
import org.slf4j.Logger;
-import java.util.Formatter;
-import java.util.List;
-
/**
* This class is used to build the {@link Registry}. The Registry contains
* {@link org.apache.tapestry5.ioc.modules.TapestryIOCModule} and {@link TapestryModule}, any
@@ -68,7 +68,7 @@ public class TapestryAppInitializer
*/
public TapestryAppInitializer(Logger logger, String appPackage, String appName)
{
- this(logger, new SingleKeySymbolProvider(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM, appPackage), appName,
+ this(logger, new SingleKeySymbolProvider(TapestryHttpInternalConstants.TAPESTRY_APP_PACKAGE_PARAM, appPackage), appName,
null);
}
@@ -91,20 +91,20 @@ public class TapestryAppInitializer
this.logger = logger;
this.appProvider = appProvider;
- String appPackage = appProvider.valueForSymbol(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM);
+ String appPackage = appProvider.valueForSymbol(TapestryHttpInternalConstants.TAPESTRY_APP_PACKAGE_PARAM);
this.appName = appName;
startTime = System.currentTimeMillis();
- if (!Boolean.parseBoolean(appProvider.valueForSymbol(InternalConstants.DISABLE_DEFAULT_MODULES_PARAM)))
+ if (!Boolean.parseBoolean(appProvider.valueForSymbol(TapestryHttpInternalConstants.DISABLE_DEFAULT_MODULES_PARAM)))
{
IOCUtilities.addDefaultModules(builder);
}
// This gets added automatically.
- addModules(TapestryModule.class);
+ addModules(TapestryHttpModule.class);
String className = appPackage + ".services." + InternalUtils.capitalize(this.appName) + "Module";
@@ -129,12 +129,12 @@ public class TapestryAppInitializer
addSyntheticSymbolSourceModule(appPackage);
- for (String mode : TapestryInternalUtils.splitAtCommas(executionModes))
+ for (String mode : splitAtCommas(executionModes))
{
String key = String.format("tapestry.%s-modules", mode);
String moduleList = appProvider.valueForSymbol(key);
- for (String moduleClassName : TapestryInternalUtils.splitAtCommas(moduleList))
+ for (String moduleClassName : splitAtCommas(moduleList))
{
builder.add(moduleClassName);
}
@@ -160,13 +160,13 @@ public class TapestryAppInitializer
private void addSyntheticSymbolSourceModule(String appPackage)
{
ContributionDef appPathContribution = new SyntheticSymbolSourceContributionDef("AppPath",
- new SingleKeySymbolProvider(InternalSymbols.APP_PACKAGE_PATH, appPackage.replace('.', '/')));
+ new SingleKeySymbolProvider(TapestryHttpInternalSymbols.APP_PACKAGE_PATH, appPackage.replace('.', '/')));
ContributionDef symbolSourceContribution = new SyntheticSymbolSourceContributionDef("ServletContext",
appProvider, "before:ApplicationDefaults", "after:EnvironmentVariables");
ContributionDef appNameContribution = new SyntheticSymbolSourceContributionDef("AppName",
- new SingleKeySymbolProvider(InternalSymbols.APP_NAME, appName), "before:ServletContext");
+ new SingleKeySymbolProvider(TapestryHttpInternalSymbols.APP_NAME, appName), "before:ServletContext");
builder.add(new SyntheticModuleDef(symbolSourceContribution, appNameContribution, appPathContribution));
}
@@ -232,12 +232,12 @@ public class TapestryAppInitializer
f.format("\nApplication '%s' (version %s) startup time: %,d ms to build IoC Registry, %,d ms overall.", appName,
- source.valueForSymbol(SymbolConstants.APPLICATION_VERSION),
+ source.valueForSymbol(TapestryHttpSymbolConstants.APPLICATION_VERSION),
registryCreatedTime - startTime,
toFinish - startTime);
- String version = source.valueForSymbol(SymbolConstants.TAPESTRY_VERSION);
- boolean productionMode = Boolean.parseBoolean(source.valueForSymbol(SymbolConstants.PRODUCTION_MODE));
+ String version = source.valueForSymbol(TapestryHttpSymbolConstants.TAPESTRY_VERSION);
+ boolean productionMode = Boolean.parseBoolean(source.valueForSymbol(TapestryHttpSymbolConstants.PRODUCTION_MODE));
buffer.append("\n\n");
@@ -251,4 +251,22 @@ public class TapestryAppInitializer
// log multi-line string with OS-specific line endings (TAP5-2294)
logger.info(buffer.toString().replaceAll("\\n", System.getProperty("line.separator")));
}
+
+ private static final String[] EMPTY_STRING_ARRAY = new String[0];
+
+ private static final Pattern COMMA_PATTERN = Pattern.compile("\\s*,\\s*");
+
+ /**
+ * Splits a value around commas. Whitespace around the commas is removed, as is leading and trailing whitespace.
+ *
+ * @since 5.1.0.0
+ */
+ public static String[] splitAtCommas(String value)
+ {
+ if (InternalUtils.isBlank(value))
+ return EMPTY_STRING_ARRAY;
+
+ return COMMA_PATTERN.split(value.trim());
+ }
+
}
diff --git a/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/TapestryHttpInternalConstants.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/TapestryHttpInternalConstants.java
new file mode 100644
index 0000000..52158b9
--- /dev/null
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/TapestryHttpInternalConstants.java
@@ -0,0 +1,45 @@
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package org.apache.tapestry5.http.internal;
+
+
+public class TapestryHttpInternalConstants {
+
+ /**
+ * Init parameter used to identify the package from which application classes are loaded. Such
+ * classes are in the
+ * pages, components and mixins sub-packages.
+ */
+ public static final String TAPESTRY_APP_PACKAGE_PARAM = "tapestry.app-package";
+
+ /**
+ * Turns off loading of default modules (as driven by JAR file Manifest entries).
+ */
+ public static final String DISABLE_DEFAULT_MODULES_PARAM = "tapestry.disable-default-modules";
+
+ public static final String CHARSET_CONTENT_TYPE_PARAMETER = "charset";
+
+ /**
+ * Name of response header for content encoding.
+ *
+ * @since 5.1.0.0
+ */
+ public static final String CONTENT_ENCODING_HEADER = "Content-Encoding";
+
+ /**
+ * Response content encoding value indicating use of GZIP compression.
+ *
+ * @since 5.1.0.0
+ */
+ public static final String GZIP_CONTENT_ENCODING = "gzip";
+
+}
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalSymbols.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/TapestryHttpInternalSymbols.java
similarity index 64%
copy from tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalSymbols.java
copy to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/TapestryHttpInternalSymbols.java
index b335ac9..f64c0ad 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/InternalSymbols.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/TapestryHttpInternalSymbols.java
@@ -9,19 +9,16 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
+package org.apache.tapestry5.http.internal;
-package org.apache.tapestry5.internal;
-import org.apache.tapestry5.ioc.annotations.IncompatibleChange;
+public class TapestryHttpInternalSymbols {
-public class InternalSymbols
-{
/**
* The name of the application (i.e., the name of the application filter). Used, for example, to
* select additional resources related to the application.
*/
public static final String APP_NAME = "tapestry.app-name";
-
/**
* The application package converted to a path ('.' becomes '/'). Useful for finding resources
* on the classpath relevant to the application.
@@ -30,14 +27,4 @@ public class InternalSymbols
*/
public static final String APP_PACKAGE_PATH = "tapestry.app-package-path";
- /**
- * Comma-separated list of pre-allocated Form component control names. Basically, this exists to
- * work around name collisions on the client side. Starting in 5.3, these names are
- * also pre-allocated as ids.
- *
- *
- * @since 5.2.0
- */
- @IncompatibleChange(release = "5.4", details = "Renamed from PRE_SELECTED_FORM_NAMES.")
- public static final String RESERVED_FORM_CONTROL_NAMES = "tapestry.reserved-form-control-names";
}
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/gzip/BufferedGZipOutputStream.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/gzip/BufferedGZipOutputStream.java
similarity index 89%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/gzip/BufferedGZipOutputStream.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/gzip/BufferedGZipOutputStream.java
index 3c4c362..76aa341 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/gzip/BufferedGZipOutputStream.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/gzip/BufferedGZipOutputStream.java
@@ -12,22 +12,23 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.gzip;
+package org.apache.tapestry5.http.internal.gzip;
-import org.apache.tapestry5.internal.InternalConstants;
-import org.apache.tapestry5.services.assets.CompressionAnalyzer;
-
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.zip.GZIPOutputStream;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tapestry5.http.internal.TapestryHttpInternalConstants;
+import org.apache.tapestry5.http.services.CompressionAnalyzer;
+
/**
* A buffered output stream that, when a certain number of bytes is buffered (the cutover point) will open a compressed
- * stream (via {@link org.apache.tapestry5.services.Response#getOutputStream(String)}
+ * stream (via {@link org.apache.tapestry5.http.services.Response#getOutputStream(String)}
*/
public class BufferedGZipOutputStream extends ServletOutputStream
{
@@ -82,7 +83,9 @@ public class BufferedGZipOutputStream extends ServletOutputStream
if (useCompression)
{
- response.setHeader(InternalConstants.CONTENT_ENCODING_HEADER, InternalConstants.GZIP_CONTENT_ENCODING);
+ response.setHeader(
+ TapestryHttpInternalConstants.CONTENT_ENCODING_HEADER,
+ TapestryHttpInternalConstants.GZIP_CONTENT_ENCODING);
}
currentOutputStream =
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/gzip/GZIPEnabledResponse.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/gzip/GZIPEnabledResponse.java
similarity index 88%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/gzip/GZIPEnabledResponse.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/gzip/GZIPEnabledResponse.java
index 736adb5..330f2bd 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/gzip/GZIPEnabledResponse.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/gzip/GZIPEnabledResponse.java
@@ -12,16 +12,17 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.gzip;
+package org.apache.tapestry5.http.internal.gzip;
-import org.apache.tapestry5.internal.InternalConstants;
-import org.apache.tapestry5.services.assets.CompressionAnalyzer;
+import java.io.IOException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
-import java.io.IOException;
+
+import org.apache.tapestry5.http.TapestryHttpConstants;
+import org.apache.tapestry5.http.services.CompressionAnalyzer;
public class GZIPEnabledResponse extends HttpServletResponseWrapper
{
@@ -66,6 +67,6 @@ public class GZIPEnabledResponse extends HttpServletResponseWrapper
private boolean isCompressionDisabled()
{
- return request.getAttribute(InternalConstants.SUPPRESS_COMPRESSION) != null;
+ return request.getAttribute(TapestryHttpConstants.SUPPRESS_COMPRESSION) != null;
}
}
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/gzip/GZipFilter.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/gzip/GZipFilter.java
similarity index 80%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/gzip/GZipFilter.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/gzip/GZipFilter.java
index a1b06fc..dab0551 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/gzip/GZipFilter.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/gzip/GZipFilter.java
@@ -12,18 +12,19 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.gzip;
+package org.apache.tapestry5.http.internal.gzip;
-import org.apache.tapestry5.SymbolConstants;
-import org.apache.tapestry5.ioc.annotations.Symbol;
-import org.apache.tapestry5.services.HttpServletRequestFilter;
-import org.apache.tapestry5.services.HttpServletRequestHandler;
-import org.apache.tapestry5.services.ResponseCompressionAnalyzer;
-import org.apache.tapestry5.services.assets.CompressionAnalyzer;
+import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
+
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.CompressionAnalyzer;
+import org.apache.tapestry5.http.services.HttpServletRequestFilter;
+import org.apache.tapestry5.http.services.HttpServletRequestHandler;
+import org.apache.tapestry5.http.services.ResponseCompressionAnalyzer;
+import org.apache.tapestry5.ioc.annotations.Symbol;
/**
* Filter that adds GZIP compression to the response, if the client supports it.
@@ -37,7 +38,7 @@ public class GZipFilter implements HttpServletRequestFilter
private final CompressionAnalyzer compressionAnalyzer;
public GZipFilter(
- @Symbol(SymbolConstants.MIN_GZIP_SIZE)
+ @Symbol(TapestryHttpSymbolConstants.MIN_GZIP_SIZE)
int cutover,
ResponseCompressionAnalyzer responseAnalyzer,
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ApplicationGlobalsImpl.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/ApplicationGlobalsImpl.java
similarity index 82%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ApplicationGlobalsImpl.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/ApplicationGlobalsImpl.java
index bde755e..ac06bce 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ApplicationGlobalsImpl.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/ApplicationGlobalsImpl.java
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007, 2008 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 2020 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,10 +12,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.services;
+package org.apache.tapestry5.http.internal.services;
-import org.apache.tapestry5.services.ApplicationGlobals;
-import org.apache.tapestry5.services.Context;
+import org.apache.tapestry5.http.services.ApplicationGlobals;
+import org.apache.tapestry5.http.services.Context;
import javax.servlet.ServletContext;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BaseURLSourceImpl.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/BaseURLSourceImpl.java
similarity index 82%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BaseURLSourceImpl.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/BaseURLSourceImpl.java
index 11b6bd8..5e82b49 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BaseURLSourceImpl.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/BaseURLSourceImpl.java
@@ -10,14 +10,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.services;
+package org.apache.tapestry5.http.internal.services;
-import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.BaseURLSource;
+import org.apache.tapestry5.http.services.Request;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-import org.apache.tapestry5.services.BaseURLSource;
-import org.apache.tapestry5.services.Request;
public class BaseURLSourceImpl implements BaseURLSource
{
@@ -27,8 +27,8 @@ public class BaseURLSourceImpl implements BaseURLSource
private int hostPort;
private int secureHostPort;
- public BaseURLSourceImpl(Request request, @Inject @Symbol(SymbolConstants.HOSTNAME) String hostname,
- @Symbol(SymbolConstants.HOSTPORT) int hostPort, @Symbol(SymbolConstants.HOSTPORT_SECURE) int secureHostPort)
+ public BaseURLSourceImpl(Request request, @Inject @Symbol(TapestryHttpSymbolConstants.HOSTNAME) String hostname,
+ @Symbol(TapestryHttpSymbolConstants.HOSTPORT) int hostPort, @Symbol(TapestryHttpSymbolConstants.HOSTPORT_SECURE) int secureHostPort)
{
this.request = request;
this.hostname = hostname;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClusteredSessionImpl.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/ClusteredSessionImpl.java
similarity index 93%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClusteredSessionImpl.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/ClusteredSessionImpl.java
index 8fd2ad7..29099bf 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClusteredSessionImpl.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/ClusteredSessionImpl.java
@@ -1,4 +1,4 @@
-// Copyright 2011, 2013 The Apache Software Foundation
+// Copyright 2011, 2013, 2020 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,11 +12,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.services;
+package org.apache.tapestry5.http.internal.services;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.services.SessionPersistedObjectAnalyzer;
import org.apache.tapestry5.ioc.services.PerthreadManager;
-import org.apache.tapestry5.services.SessionPersistedObjectAnalyzer;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ContextImpl.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/ContextImpl.java
similarity index 96%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ContextImpl.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/ContextImpl.java
index 2b10d22..be1ced0 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ContextImpl.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/ContextImpl.java
@@ -12,12 +12,12 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.services;
+package org.apache.tapestry5.http.internal.services;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.commons.util.Stack;
+import org.apache.tapestry5.http.services.Context;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-import org.apache.tapestry5.services.Context;
import javax.servlet.ServletContext;
import java.io.File;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DefaultSessionPersistedObjectAnalyzer.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/DefaultSessionPersistedObjectAnalyzer.java
similarity index 81%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DefaultSessionPersistedObjectAnalyzer.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/DefaultSessionPersistedObjectAnalyzer.java
index 280aa12..a525b34 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DefaultSessionPersistedObjectAnalyzer.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/DefaultSessionPersistedObjectAnalyzer.java
@@ -12,20 +12,20 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.services;
+package org.apache.tapestry5.http.internal.services;
-import org.apache.tapestry5.annotations.ImmutableSessionPersistedObject;
-import org.apache.tapestry5.services.SessionPersistedObjectAnalyzer;
+import org.apache.tapestry5.http.annotations.ImmutableSessionPersistedObject;
+import org.apache.tapestry5.http.services.SessionPersistedObjectAnalyzer;
/**
- * Default catch-all implementation of {@link org.apache.tapestry5.services.SessionPersistedObjectAnalyzer}.
+ * Default catch-all implementation of {@link org.apache.tapestry5.http.services.SessionPersistedObjectAnalyzer}.
*
* @since 5.1.0.0
*/
public class DefaultSessionPersistedObjectAnalyzer implements SessionPersistedObjectAnalyzer<Object>
{
/**
- * An object is dirty <em>unless</em> it has the {@link org.apache.tapestry5.annotations.ImmutableSessionPersistedObject}
+ * An object is dirty <em>unless</em> it has the {@link org.apache.tapestry5.http.annotations.ImmutableSessionPersistedObject}
* annotation.
*
* @param sessionPersistedObject to analyze
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/OptimizedSessionPersistedObjectAnalyzer.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/OptimizedSessionPersistedObjectAnalyzer.java
similarity index 77%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/services/OptimizedSessionPersistedObjectAnalyzer.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/OptimizedSessionPersistedObjectAnalyzer.java
index abb24a3..3e93f86 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/OptimizedSessionPersistedObjectAnalyzer.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/OptimizedSessionPersistedObjectAnalyzer.java
@@ -1,4 +1,4 @@
-// Copyright 2008, 2011 The Apache Software Foundation
+// Copyright 2008, 2011, 2020 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,10 +12,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.services;
+package org.apache.tapestry5.http.internal.services;
-import org.apache.tapestry5.OptimizedSessionPersistedObject;
-import org.apache.tapestry5.services.SessionPersistedObjectAnalyzer;
+import org.apache.tapestry5.http.OptimizedSessionPersistedObject;
+import org.apache.tapestry5.http.services.SessionPersistedObjectAnalyzer;
public class OptimizedSessionPersistedObjectAnalyzer implements SessionPersistedObjectAnalyzer<OptimizedSessionPersistedObject>
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestGlobalsImpl.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/RequestGlobalsImpl.java
similarity index 90%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestGlobalsImpl.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/RequestGlobalsImpl.java
index bdea69e..66d6703 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestGlobalsImpl.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/RequestGlobalsImpl.java
@@ -12,13 +12,13 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.services;
+package org.apache.tapestry5.http.internal.services;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestGlobals;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.ioc.ScopeConstants;
import org.apache.tapestry5.ioc.annotations.Scope;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.RequestGlobals;
-import org.apache.tapestry5.services.Response;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestImpl.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/RequestImpl.java
similarity index 77%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestImpl.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/RequestImpl.java
index 6226e86..6694a14 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestImpl.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/RequestImpl.java
@@ -10,29 +10,38 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.services;
+package org.apache.tapestry5.http.internal.services;
-import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Session;
-
-import javax.servlet.http.HttpServletRequest;
import java.io.UnsupportedEncodingException;
+import java.util.Collections;
+import java.util.Enumeration;
import java.util.List;
import java.util.Locale;
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Session;
+
/**
- * Basic implementation of {@link org.apache.tapestry5.services.Request} that wraps around an
+ * Basic implementation of {@link org.apache.tapestry5.http.services.Request} that wraps around an
* {@link javax.servlet.http.HttpServletRequest}. This is not threadsafe, nor should it need to be (each Request is
* handled by its own Thread).
*/
public class RequestImpl implements Request
{
- static final String REQUESTED_WITH_HEADER = "X-Requested-With";
+ /**
+ * @deprecated Use {@link Request#REQUESTED_WITH_HEADER} instead
+ */
+ static final String REQUESTED_WITH_HEADER = Request.REQUESTED_WITH_HEADER;
static final String XML_HTTP_REQUEST = "XMLHttpRequest";
- static final String X_FORWARDED_PROTO_HEADER = "X-Forwarded-Proto";
+ /**
+ * @deprecated Use {@link Request#X_FORWARDED_PROTO_HEADER} instead
+ */
+ static final String X_FORWARDED_PROTO_HEADER = Request.X_FORWARDED_PROTO_HEADER;
static final String X_FORWARDED_PROTO_HTTPS = "https";
private final HttpServletRequest request;
@@ -59,12 +68,12 @@ public class RequestImpl implements Request
{
setupEncoding();
- return InternalUtils.toList(request.getParameterNames());
+ return toList(request.getParameterNames());
}
public List<String> getHeaderNames()
{
- return InternalUtils.toList(request.getHeaderNames());
+ return toList(request.getHeaderNames());
}
public String getParameter(String name)
@@ -167,13 +176,13 @@ public class RequestImpl implements Request
public boolean isXHR()
{
- return XML_HTTP_REQUEST.equals(request.getHeader(REQUESTED_WITH_HEADER));
+ return XML_HTTP_REQUEST.equals(request.getHeader(Request.REQUESTED_WITH_HEADER));
}
public boolean isSecure()
{
return request.isSecure() ||
- X_FORWARDED_PROTO_HTTPS.equals(request.getHeader(X_FORWARDED_PROTO_HEADER));
+ X_FORWARDED_PROTO_HTTPS.equals(request.getHeader(Request.X_FORWARDED_PROTO_HEADER));
}
public boolean isRequestedSessionIdValid()
@@ -190,7 +199,7 @@ public class RequestImpl implements Request
{
setupEncoding();
- return InternalUtils.toList(request.getAttributeNames());
+ return toList(request.getAttributeNames());
}
public void setAttribute(String name, Object value)
@@ -225,5 +234,26 @@ public class RequestImpl implements Request
{
return request.getRemoteHost();
}
+
+ /**
+ * Converts an enumeration (of Strings) into a sorted list of Strings.
+ */
+ @SuppressWarnings("rawtypes")
+ private static List<String> toList(Enumeration e)
+ {
+ List<String> result = CollectionFactory.newList();
+
+ while (e.hasMoreElements())
+ {
+ String name = (String) e.nextElement();
+
+ result.add(name);
+ }
+
+ Collections.sort(result);
+
+ return result;
+ }
+
}
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerImpl.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/ResponseCompressionAnalyzerImpl.java
similarity index 80%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerImpl.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/ResponseCompressionAnalyzerImpl.java
index 0b393d0..3b11aab 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerImpl.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/ResponseCompressionAnalyzerImpl.java
@@ -10,15 +10,15 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.services;
+package org.apache.tapestry5.http.internal.services;
-import org.apache.tapestry5.ContentType;
-import org.apache.tapestry5.SymbolConstants;
-import org.apache.tapestry5.internal.InternalConstants;
+import org.apache.tapestry5.http.ContentType;
+import org.apache.tapestry5.http.TapestryHttpConstants;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.CompressionAnalyzer;
+import org.apache.tapestry5.http.services.ResponseCompressionAnalyzer;
import org.apache.tapestry5.internal.TapestryInternalUtils;
import org.apache.tapestry5.ioc.annotations.Symbol;
-import org.apache.tapestry5.services.ResponseCompressionAnalyzer;
-import org.apache.tapestry5.services.assets.CompressionAnalyzer;
import javax.servlet.http.HttpServletRequest;
@@ -31,7 +31,7 @@ public class ResponseCompressionAnalyzerImpl implements ResponseCompressionAnaly
private final CompressionAnalyzer compressionAnalyzer;
public ResponseCompressionAnalyzerImpl(HttpServletRequest request,
- @Symbol(SymbolConstants.GZIP_COMPRESSION_ENABLED)
+ @Symbol(TapestryHttpSymbolConstants.GZIP_COMPRESSION_ENABLED)
boolean gzipCompressionEnabled, CompressionAnalyzer compressionAnalyzer)
{
this.request = request;
@@ -53,7 +53,7 @@ public class ResponseCompressionAnalyzerImpl implements ResponseCompressionAnaly
}
// TAP5-2264:
- if (request.getAttribute(InternalConstants.SUPPRESS_COMPRESSION) != null)
+ if (request.getAttribute(TapestryHttpConstants.SUPPRESS_COMPRESSION) != null)
{
return false;
}
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseImpl.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/ResponseImpl.java
similarity index 92%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseImpl.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/ResponseImpl.java
index fff8db9..bf2c27e 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseImpl.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/ResponseImpl.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.services;
+package org.apache.tapestry5.http.internal.services;
import java.io.BufferedWriter;
import java.io.IOException;
@@ -24,10 +24,10 @@ import java.io.Writer;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.tapestry5.Link;
-import org.apache.tapestry5.internal.InternalConstants;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.TapestryHttpConstants;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-import org.apache.tapestry5.services.Response;
/**
* Implementation of {@link Response} that wraps around an underlying {@link HttpServletResponse}.
@@ -130,6 +130,6 @@ public class ResponseImpl implements Response
public void disableCompression()
{
- request.setAttribute(InternalConstants.SUPPRESS_COMPRESSION, true);
+ request.setAttribute(TapestryHttpConstants.SUPPRESS_COMPRESSION, true);
}
}
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SessionImpl.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/SessionImpl.java
similarity index 96%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SessionImpl.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/SessionImpl.java
index 3b7fc5e..01047d5 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SessionImpl.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/SessionImpl.java
@@ -12,12 +12,12 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.services;
+package org.apache.tapestry5.http.internal.services;
import org.apache.tapestry5.commons.util.CollectionFactory;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.ioc.services.PerthreadManager;
-import org.apache.tapestry5.services.Session;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SessionLock.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/SessionLock.java
similarity index 96%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SessionLock.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/SessionLock.java
index d234bd4..17e9764 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SessionLock.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/SessionLock.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.services;
+package org.apache.tapestry5.http.internal.services;
/**
* A wrapper around {@link java.util.concurrent.locks.ReentrantReadWriteLock} used to manage the lock for a session.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/TapestrySessionFactory.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/TapestrySessionFactory.java
similarity index 84%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/services/TapestrySessionFactory.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/TapestrySessionFactory.java
index 33814a2..05885c0 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/TapestrySessionFactory.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/TapestrySessionFactory.java
@@ -1,4 +1,4 @@
-// Copyright 2011 The Apache Software Foundation
+// Copyright 2011, 2020 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,9 +12,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.services;
+package org.apache.tapestry5.http.internal.services;
-import org.apache.tapestry5.services.Session;
+import org.apache.tapestry5.http.services.Session;
/**
* Encapsulates logic for accessing the Tapestry {@link Session} (a wrapper around the {@link javax.servlet.http.HttpSession}).
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/TapestrySessionFactoryImpl.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/TapestrySessionFactoryImpl.java
similarity index 92%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/services/TapestrySessionFactoryImpl.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/TapestrySessionFactoryImpl.java
index bc221a6..9cd5c96 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/TapestrySessionFactoryImpl.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/services/TapestrySessionFactoryImpl.java
@@ -12,22 +12,23 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.services;
+package org.apache.tapestry5.http.internal.services;
-import org.apache.tapestry5.SymbolConstants;
-import org.apache.tapestry5.ioc.annotations.Symbol;
-import org.apache.tapestry5.ioc.services.PerthreadManager;
-import org.apache.tapestry5.services.Session;
-import org.apache.tapestry5.services.SessionPersistedObjectAnalyzer;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
import java.util.Map;
import java.util.WeakHashMap;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.Session;
+import org.apache.tapestry5.http.services.SessionPersistedObjectAnalyzer;
+import org.apache.tapestry5.ioc.annotations.Symbol;
+import org.apache.tapestry5.ioc.services.PerthreadManager;
+
public class TapestrySessionFactoryImpl implements TapestrySessionFactory
{
private boolean clustered;
@@ -120,12 +121,12 @@ public class TapestrySessionFactoryImpl implements TapestrySessionFactory
}
public TapestrySessionFactoryImpl(
- @Symbol(SymbolConstants.CLUSTERED_SESSIONS)
+ @Symbol(TapestryHttpSymbolConstants.CLUSTERED_SESSIONS)
boolean clustered,
SessionPersistedObjectAnalyzer analyzer,
HttpServletRequest request,
PerthreadManager perthreadManager,
- @Symbol(SymbolConstants.SESSION_LOCKING_ENABLED)
+ @Symbol(TapestryHttpSymbolConstants.SESSION_LOCKING_ENABLED)
boolean sessionLockingEnabled)
{
this.clustered = clustered;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/util/DelegatingSymbolProvider.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/util/DelegatingSymbolProvider.java
similarity index 96%
rename from tapestry-core/src/main/java/org/apache/tapestry5/internal/util/DelegatingSymbolProvider.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/internal/util/DelegatingSymbolProvider.java
index dd1d89c..c701554 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/util/DelegatingSymbolProvider.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/internal/util/DelegatingSymbolProvider.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.util;
+package org.apache.tapestry5.http.internal.util;
import org.apache.tapestry5.ioc.services.SymbolProvider;
diff --git a/tapestry-http/src/main/java/org/apache/tapestry5/http/modules/TapestryHttpModule.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/modules/TapestryHttpModule.java
new file mode 100644
index 0000000..0bc9ed9
--- /dev/null
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/modules/TapestryHttpModule.java
@@ -0,0 +1,411 @@
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry5.http.modules;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tapestry5.commons.MappedConfiguration;
+import org.apache.tapestry5.commons.OrderedConfiguration;
+import org.apache.tapestry5.http.OptimizedSessionPersistedObject;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.internal.gzip.GZipFilter;
+import org.apache.tapestry5.http.internal.services.ApplicationGlobalsImpl;
+import org.apache.tapestry5.http.internal.services.BaseURLSourceImpl;
+import org.apache.tapestry5.http.internal.services.ContextImpl;
+import org.apache.tapestry5.http.internal.services.DefaultSessionPersistedObjectAnalyzer;
+import org.apache.tapestry5.http.internal.services.OptimizedSessionPersistedObjectAnalyzer;
+import org.apache.tapestry5.http.internal.services.RequestGlobalsImpl;
+import org.apache.tapestry5.http.internal.services.RequestImpl;
+import org.apache.tapestry5.http.internal.services.ResponseImpl;
+import org.apache.tapestry5.http.internal.services.TapestrySessionFactory;
+import org.apache.tapestry5.http.internal.services.TapestrySessionFactoryImpl;
+import org.apache.tapestry5.http.services.ApplicationGlobals;
+import org.apache.tapestry5.http.services.ApplicationInitializer;
+import org.apache.tapestry5.http.services.ApplicationInitializerFilter;
+import org.apache.tapestry5.http.services.BaseURLSource;
+import org.apache.tapestry5.http.services.Context;
+import org.apache.tapestry5.http.services.Dispatcher;
+import org.apache.tapestry5.http.services.HttpServletRequestFilter;
+import org.apache.tapestry5.http.services.HttpServletRequestHandler;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestFilter;
+import org.apache.tapestry5.http.services.RequestGlobals;
+import org.apache.tapestry5.http.services.RequestHandler;
+import org.apache.tapestry5.http.services.Response;
+import org.apache.tapestry5.http.services.ResponseCompressionAnalyzer;
+import org.apache.tapestry5.http.services.ServletApplicationInitializer;
+import org.apache.tapestry5.http.services.ServletApplicationInitializerFilter;
+import org.apache.tapestry5.http.services.SessionPersistedObjectAnalyzer;
+import org.apache.tapestry5.internal.services.ResponseCompressionAnalyzerImpl;
+import org.apache.tapestry5.ioc.ServiceBinder;
+import org.apache.tapestry5.ioc.annotations.Autobuild;
+import org.apache.tapestry5.ioc.annotations.Marker;
+import org.apache.tapestry5.ioc.annotations.Primary;
+import org.apache.tapestry5.ioc.annotations.Symbol;
+import org.apache.tapestry5.ioc.services.ChainBuilder;
+import org.apache.tapestry5.ioc.services.PipelineBuilder;
+import org.apache.tapestry5.ioc.services.PropertyShadowBuilder;
+import org.apache.tapestry5.ioc.services.StrategyBuilder;
+import org.slf4j.Logger;
+
+/**
+ * The Tapestry module for HTTP handling classes.
+ */
+public final class TapestryHttpModule {
+
+ final private PropertyShadowBuilder shadowBuilder;
+ final private RequestGlobals requestGlobals;
+ final private PipelineBuilder pipelineBuilder;
+ final private ApplicationGlobals applicationGlobals;
+
+ public TapestryHttpModule(PropertyShadowBuilder shadowBuilder,
+ RequestGlobals requestGlobals, PipelineBuilder pipelineBuilder,
+ ApplicationGlobals applicationGlobals)
+ {
+ this.shadowBuilder = shadowBuilder;
+ this.requestGlobals = requestGlobals;
+ this.pipelineBuilder = pipelineBuilder;
+ this.applicationGlobals = applicationGlobals;
+ }
+
+ public static void bind(ServiceBinder binder)
+ {
+ binder.bind(RequestGlobals.class, RequestGlobalsImpl.class);
+ binder.bind(ApplicationGlobals.class, ApplicationGlobalsImpl.class);
+ binder.bind(TapestrySessionFactory.class, TapestrySessionFactoryImpl.class);
+ binder.bind(BaseURLSource.class, BaseURLSourceImpl.class);
+ binder.bind(ResponseCompressionAnalyzer.class, ResponseCompressionAnalyzerImpl.class);
+ }
+
+ /**
+ * Contributes factory defaults that may be overridden.
+ */
+ public static void contributeFactoryDefaults(MappedConfiguration<String, Object> configuration)
+ {
+ configuration.add(TapestryHttpSymbolConstants.SESSION_LOCKING_ENABLED, true);
+ configuration.add(TapestryHttpSymbolConstants.CLUSTERED_SESSIONS, true);
+ configuration.add(TapestryHttpSymbolConstants.CHARSET, "UTF-8");
+ configuration.add(TapestryHttpSymbolConstants.APPLICATION_VERSION, "0.0.1");
+ configuration.add(TapestryHttpSymbolConstants.GZIP_COMPRESSION_ENABLED, true);
+ configuration.add(TapestryHttpSymbolConstants.MIN_GZIP_SIZE, 100);
+
+ // The default values denote "use values from request"
+ configuration.add(TapestryHttpSymbolConstants.HOSTNAME, "");
+ configuration.add(TapestryHttpSymbolConstants.HOSTPORT, 0);
+ configuration.add(TapestryHttpSymbolConstants.HOSTPORT_SECURE, 0);
+ }
+
+ /**
+ * Builds a shadow of the RequestGlobals.request property. Note again that
+ * the shadow can be an ordinary singleton,
+ * even though RequestGlobals is perthread.
+ */
+ public Request buildRequest(PropertyShadowBuilder shadowBuilder)
+ {
+ return shadowBuilder.build(requestGlobals, "request", Request.class);
+ }
+
+ /**
+ * Builds a shadow of the RequestGlobals.HTTPServletRequest property.
+ * Generally, you should inject the {@link Request} service instead, as
+ * future version of Tapestry may operate beyond just the servlet API.
+ */
+ public HttpServletRequest buildHttpServletRequest()
+ {
+ return shadowBuilder.build(requestGlobals, "HTTPServletRequest", HttpServletRequest.class);
+ }
+
+ /**
+ * @since 5.1.0.0
+ */
+ public HttpServletResponse buildHttpServletResponse()
+ {
+ return shadowBuilder.build(requestGlobals, "HTTPServletResponse", HttpServletResponse.class);
+ }
+
+ /**
+ * Builds a shadow of the RequestGlobals.response property. Note again that
+ * the shadow can be an ordinary singleton,
+ * even though RequestGlobals is perthread.
+ */
+ public Response buildResponse()
+ {
+ return shadowBuilder.build(requestGlobals, "response", Response.class);
+ }
+
+ /**
+ * Ordered contributions to the MasterDispatcher service allow different URL
+ * matching strategies to occur.
+ */
+ @Marker(Primary.class)
+ public Dispatcher buildMasterDispatcher(List<Dispatcher> configuration,
+ ChainBuilder chainBuilder)
+ {
+ return chainBuilder.build(Dispatcher.class, configuration);
+ }
+
+ /**
+ * The master SessionPersistedObjectAnalyzer.
+ *
+ * @since 5.1.0.0
+ */
+ @SuppressWarnings("rawtypes")
+ @Marker(Primary.class)
+ public SessionPersistedObjectAnalyzer buildSessionPersistedObjectAnalyzer(
+ Map<Class, SessionPersistedObjectAnalyzer> configuration,
+ StrategyBuilder strategyBuilder)
+ {
+ return strategyBuilder.build(SessionPersistedObjectAnalyzer.class, configuration);
+ }
+
+ /**
+ * Identifies String, Number and Boolean as immutable objects, a catch-all
+ * handler for Object (that understands
+ * the {@link org.apache.tapestry5.http.annotations.ImmutableSessionPersistedObject} annotation),
+ * and a handler for {@link org.apache.tapestry5.http.OptimizedSessionPersistedObject}.
+ *
+ * @since 5.1.0.0
+ */
+ @SuppressWarnings("rawtypes")
+ public static void contributeSessionPersistedObjectAnalyzer(
+ MappedConfiguration<Class, SessionPersistedObjectAnalyzer> configuration)
+ {
+ configuration.add(Object.class, new DefaultSessionPersistedObjectAnalyzer());
+
+ SessionPersistedObjectAnalyzer<Object> immutable = new SessionPersistedObjectAnalyzer<Object>()
+ {
+ public boolean checkAndResetDirtyState(Object sessionPersistedObject)
+ {
+ return false;
+ }
+ };
+
+ configuration.add(String.class, immutable);
+ configuration.add(Number.class, immutable);
+ configuration.add(Boolean.class, immutable);
+
+ configuration.add(OptimizedSessionPersistedObject.class, new OptimizedSessionPersistedObjectAnalyzer());
+ }
+
+ /**
+ * Initializes the application, using a pipeline of {@link org.apache.tapestry5.services.ApplicationInitializer}s.
+ */
+ @Marker(Primary.class)
+ public ApplicationInitializer buildApplicationInitializer(Logger logger,
+ List<ApplicationInitializerFilter> configuration)
+ {
+ ApplicationInitializer terminator = new ApplicationInitializerTerminator();
+
+ return pipelineBuilder.build(logger, ApplicationInitializer.class, ApplicationInitializerFilter.class,
+ configuration, terminator);
+ }
+
+ public HttpServletRequestHandler buildHttpServletRequestHandler(Logger logger,
+
+ List<HttpServletRequestFilter> configuration,
+
+ @Primary
+ RequestHandler handler,
+
+ @Symbol(TapestryHttpSymbolConstants.CHARSET)
+ String applicationCharset,
+
+ TapestrySessionFactory sessionFactory)
+ {
+ HttpServletRequestHandler terminator = new HttpServletRequestHandlerTerminator(handler, applicationCharset,
+ sessionFactory);
+
+ return pipelineBuilder.build(logger, HttpServletRequestHandler.class, HttpServletRequestFilter.class,
+ configuration, terminator);
+ }
+
+ @Marker(Primary.class)
+ public RequestHandler buildRequestHandler(Logger logger, List<RequestFilter> configuration,
+
+ @Primary
+ Dispatcher masterDispatcher)
+ {
+ RequestHandler terminator = new RequestHandlerTerminator(masterDispatcher);
+
+ return pipelineBuilder.build(logger, RequestHandler.class, RequestFilter.class, configuration, terminator);
+ }
+
+ public ServletApplicationInitializer buildServletApplicationInitializer(Logger logger,
+ List<ServletApplicationInitializerFilter> configuration,
+
+ @Primary
+ ApplicationInitializer initializer)
+ {
+ ServletApplicationInitializer terminator = new ServletApplicationInitializerTerminator(initializer);
+
+ return pipelineBuilder.build(logger, ServletApplicationInitializer.class,
+ ServletApplicationInitializerFilter.class, configuration, terminator);
+ }
+
+ /**
+ * <dl>
+ * <dt>StoreIntoGlobals</dt>
+ * <dd>Stores the request and response into {@link org.apache.tapestry5.http.services.RequestGlobals} at the start of the
+ * pipeline</dd>
+ * <dt>IgnoredPaths</dt>
+ * <dd>Identifies requests that are known (via the IgnoredPathsFilter service's configuration) to be mapped to other
+ * applications</dd>
+ * <dt>GZip</dt>
+ * <dd>Handles GZIP compression of response streams (if supported by client)</dd>
+ * </dl>
+ */
+ public void contributeHttpServletRequestHandler(OrderedConfiguration<HttpServletRequestFilter> configuration,
+ @Symbol(TapestryHttpSymbolConstants.GZIP_COMPRESSION_ENABLED) boolean gzipCompressionEnabled,
+ @Autobuild GZipFilter gzipFilter)
+ {
+
+ HttpServletRequestFilter storeIntoGlobals = new HttpServletRequestFilter()
+ {
+ public boolean service(HttpServletRequest request, HttpServletResponse response,
+ HttpServletRequestHandler handler) throws IOException
+ {
+ requestGlobals.storeServletRequestResponse(request, response);
+
+ return handler.service(request, response);
+ }
+ };
+
+ configuration.add("StoreIntoGlobals", storeIntoGlobals, "before:*");
+
+ configuration.add("GZIP", gzipCompressionEnabled ? gzipFilter : null);
+
+ }
+
+
+ // A bunch of classes "promoted" from inline inner class to nested classes,
+ // just so that the stack trace would be more readable. Most of these
+ // are terminators for pipeline services.
+
+ /**
+ * @since 5.1.0.0
+ */
+ private class ApplicationInitializerTerminator implements ApplicationInitializer
+ {
+ public void initializeApplication(Context context)
+ {
+ applicationGlobals.storeContext(context);
+ }
+ }
+
+ /**
+ * @since 5.1.0.0
+ */
+ private class HttpServletRequestHandlerTerminator implements HttpServletRequestHandler
+ {
+ private final RequestHandler handler;
+ private final String applicationCharset;
+ private final TapestrySessionFactory sessionFactory;
+
+ public HttpServletRequestHandlerTerminator(RequestHandler handler, String applicationCharset,
+ TapestrySessionFactory sessionFactory)
+ {
+ this.handler = handler;
+ this.applicationCharset = applicationCharset;
+ this.sessionFactory = sessionFactory;
+ }
+
+ public boolean service(HttpServletRequest servletRequest, HttpServletResponse servletResponse)
+ throws IOException
+ {
+ requestGlobals.storeServletRequestResponse(servletRequest, servletResponse);
+
+ // Should have started doing this a long time ago: recoding attributes into
+ // the request for things that may be needed downstream, without having to extend
+ // Request.
+
+ servletRequest.setAttribute("servletAPI.protocol", servletRequest.getProtocol());
+ servletRequest.setAttribute("servletAPI.characterEncoding", servletRequest.getCharacterEncoding());
+ servletRequest.setAttribute("servletAPI.contentLength", servletRequest.getContentLength());
+ servletRequest.setAttribute("servletAPI.authType", servletRequest.getAuthType());
+ servletRequest.setAttribute("servletAPI.contentType", servletRequest.getContentType());
+ servletRequest.setAttribute("servletAPI.scheme", servletRequest.getScheme());
+
+ Request request = new RequestImpl(servletRequest, applicationCharset, sessionFactory);
+ Response response = new ResponseImpl(servletRequest, servletResponse);
+
+ // TAP5-257: Make sure that the "initial guess" for request/response
+ // is available, even ifsome filter in the RequestHandler pipeline replaces them.
+ // Which just goes to show that there should have been only one way to access the Request/Response:
+ // either functionally (via parameters) or global (via ReqeuestGlobals) but not both.
+ // That ship has sailed.
+
+ requestGlobals.storeRequestResponse(request, response);
+
+ // Transition from the Servlet API-based pipeline, to the
+ // Tapestry-based pipeline.
+
+ return handler.service(request, response);
+ }
+ }
+
+ /**
+ * @since 5.1.0.0
+ */
+ private class RequestHandlerTerminator implements RequestHandler
+ {
+ private final Dispatcher masterDispatcher;
+
+ public RequestHandlerTerminator(Dispatcher masterDispatcher)
+ {
+ this.masterDispatcher = masterDispatcher;
+ }
+
+ public boolean service(Request request, Response response) throws IOException
+ {
+ // Update RequestGlobals with the current request/response (in case
+ // some filter replaced the
+ // normal set).
+ requestGlobals.storeRequestResponse(request, response);
+
+ return masterDispatcher.dispatch(request, response);
+ }
+ }
+
+ /**
+ * @since 5.1.0.0
+ */
+ private class ServletApplicationInitializerTerminator implements ServletApplicationInitializer
+ {
+ private final ApplicationInitializer initializer;
+
+ public ServletApplicationInitializerTerminator(ApplicationInitializer initializer)
+ {
+ this.initializer = initializer;
+ }
+
+ public void initializeApplication(ServletContext servletContext)
+ {
+ applicationGlobals.storeServletContext(servletContext);
+
+ // And now, down the (Web) ApplicationInitializer pipeline ...
+
+ ContextImpl context = new ContextImpl(servletContext);
+
+ applicationGlobals.storeContext(context);
+
+ initializer.initializeApplication(context);
+ }
+ }
+
+}
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/ApplicationGlobals.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/ApplicationGlobals.java
similarity index 86%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/ApplicationGlobals.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/ApplicationGlobals.java
index 747222e..ab4f6ee 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/ApplicationGlobals.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/ApplicationGlobals.java
@@ -1,4 +1,4 @@
-// Copyright 2006, 2008 The Apache Software Foundation
+// Copyright 2006, 2008, 2020 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,9 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
-
-import org.apache.tapestry5.services.Context;
+package org.apache.tapestry5.http.services;
import javax.servlet.ServletContext;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/ApplicationInitializer.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/ApplicationInitializer.java
similarity index 79%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/ApplicationInitializer.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/ApplicationInitializer.java
index 4674192..b2cf749 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/ApplicationInitializer.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/ApplicationInitializer.java
@@ -1,4 +1,4 @@
-// Copyright 2006, 2008 The Apache Software Foundation
+// Copyright 2006, 2008, 2020 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,14 +12,15 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
+package org.apache.tapestry5.http.services;
import org.apache.tapestry5.ioc.annotations.UsesOrderedConfiguration;
+import org.apache.tapestry5.http.services.Context;
/**
* Service interface for initializing Tapestry for the application. The service is a {@linkplain
* org.apache.tapestry5.ioc.services.PipelineBuilder pipeline}, into which {@linkplain
- * org.apache.tapestry5.services.ApplicationInitializerFilter filters} may be contributed.
+ * org.apache.tapestry5.http.services.ApplicationInitializerFilter filters} may be contributed.
*/
@UsesOrderedConfiguration(ApplicationInitializerFilter.class)
public interface ApplicationInitializer
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/ApplicationInitializerFilter.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/ApplicationInitializerFilter.java
similarity index 84%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/ApplicationInitializerFilter.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/ApplicationInitializerFilter.java
index e9e2980..3d5e517 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/ApplicationInitializerFilter.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/ApplicationInitializerFilter.java
@@ -1,4 +1,4 @@
-// Copyright 2006 The Apache Software Foundation
+// Copyright 2006, 2020 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,9 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
-
-import org.apache.tapestry5.services.Context;
+package org.apache.tapestry5.http.services;
/**
* Filter interface for {@link ApplicationInitializer}.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/BaseURLSource.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/BaseURLSource.java
similarity index 76%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/BaseURLSource.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/BaseURLSource.java
index b4738b7..bf2337f 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/BaseURLSource.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/BaseURLSource.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
+package org.apache.tapestry5.http.services;
import org.apache.tapestry5.ioc.services.ServiceOverride;
@@ -20,21 +20,21 @@ import org.apache.tapestry5.ioc.services.ServiceOverride;
* Used when switching between normal/insecure (HTTP) and secure (HTTPS) mode. When a switch occurs, it is no longer
* possible to use just paths, instead absolute URLs (including the scheme, hostname and possibly port) must be
* generated. The default implementation of this is simple-minded: it just tacks the correct scheme in front of
- * {@link org.apache.tapestry5.services.Request#getServerName()}. In production, behind a firewall, it is often
+ * {@link org.apache.tapestry5.http.services.Request#getServerName()}. In production, behind a firewall, it is often
* necessary to do a bit more, since <code>getServerName()</code> will often be the name of the internal server (not
* visible to the client web browser), and a hard-coded name of a server that <em>is</em> visible to the web browser
* is needed. Further, in testing, non-default ports are often used. In those cases, an overriding contribution to the
* {@link ServiceOverride} service will allow a custom implementation to supercede the default version. You may also
* contribute application specific values for the following {@link org.apache.tapestry5.SymbolConstants}:
- * {@link org.apache.tapestry5.SymbolConstants#HOSTNAME}, {@link org.apache.tapestry5.SymbolConstants#HOSTPORT} and
- * {@link org.apache.tapestry5.SymbolConstants#HOSTPORT_SECURE} to alter the behavior of the default BaseURLSource
- * implementation. The default values for the SymbolConstants require {@link org.apache.tapestry5.services.Request}
+ * {@link org.apache.tapestry5.http.TapestryHttpSymbolConstants#HOSTNAME}, {@link org.apache.tapestry5.http.TapestryHttpSymbolConstants#HOSTPORT} and
+ * {@link org.apache.tapestry5.http.TapestryHttpSymbolConstants#HOSTPORT_SECURE} to alter the behavior of the default BaseURLSource
+ * implementation. The default values for the SymbolConstants require {@link org.apache.tapestry5.http.services.Request}
* context to be available. If you contribute specific values for the specified SymbolConstants, it's safe to use
* the default implementation of this service outside of request context, for example in a batch job. For
- * {@link org.apache.tapestry5.SymbolConstants#HOSTNAME}, a value starting with a dollar sign ($) will be resolved
- * using {@link java.lang.System#getenv()} - contributing "$HOSTNAME" for {@link org.apache.tapestry5.SymbolConstants#HOSTNAME}
+ * {@link org.apache.tapestry5.http.TapestryHttpSymbolConstants#HOSTNAME}, a value starting with a dollar sign ($) will be resolved
+ * using {@link java.lang.System#getenv()} - contributing "$HOSTNAME" for {@link org.apache.tapestry5.http.TapestryHttpSymbolConstants#HOSTNAME}
* is the most sensible choice for a dynamic value that doesn't use
- * {@link org.apache.tapestry5.services.Request#getServerName()}.
+ * {@link org.apache.tapestry5.http.services.Request#getServerName()}.
*/
public interface BaseURLSource
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionAnalyzer.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/CompressionAnalyzer.java
similarity index 97%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionAnalyzer.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/CompressionAnalyzer.java
index a61e56c..000a662 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionAnalyzer.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/CompressionAnalyzer.java
@@ -10,7 +10,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services.assets;
+package org.apache.tapestry5.http.services;
import org.apache.tapestry5.ioc.annotations.UsesMappedConfiguration;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/Context.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/Context.java
similarity index 98%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/Context.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/Context.java
index 98be32f..e9a4f7e 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/Context.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/Context.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
+package org.apache.tapestry5.http.services;
import java.io.File;
import java.net.URL;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/Dispatcher.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/Dispatcher.java
similarity index 91%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/Dispatcher.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/Dispatcher.java
index 133cdf6..64731fa 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/Dispatcher.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/Dispatcher.java
@@ -12,8 +12,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
+package org.apache.tapestry5.http.services;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
import org.apache.tapestry5.ioc.annotations.UsesOrderedConfiguration;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/HttpServletRequestFilter.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/HttpServletRequestFilter.java
similarity index 90%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/HttpServletRequestFilter.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/HttpServletRequestFilter.java
index 537e82c..f2611b9 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/HttpServletRequestFilter.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/HttpServletRequestFilter.java
@@ -12,14 +12,15 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
+package org.apache.tapestry5.http.services;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
import java.io.IOException;
/**
- * Filter interface for {@link org.apache.tapestry5.services.HttpServletRequestHandler}.
+ * Filter interface for {@link org.apache.tapestry5.http.services.HttpServletRequestHandler}.
*/
public interface HttpServletRequestFilter
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/HttpServletRequestHandler.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/HttpServletRequestHandler.java
similarity index 88%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/HttpServletRequestHandler.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/HttpServletRequestHandler.java
index bb9d761..dfa8363 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/HttpServletRequestHandler.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/HttpServletRequestHandler.java
@@ -1,4 +1,4 @@
-// Copyright 2006, 2008 The Apache Software Foundation
+// Copyright 2006, 2008, 2020 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,16 +12,17 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
+package org.apache.tapestry5.http.services;
-import org.apache.tapestry5.ioc.annotations.UsesOrderedConfiguration;
+import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
+
+import org.apache.tapestry5.ioc.annotations.UsesOrderedConfiguration;
/**
- * The first step in handing an incoming request to the {@linkplain org.apache.tapestry5.TapestryFilter servlet filter},
+ * The first step in handing an incoming request to the {@linkplain org.apache.tapestry5.http.TapestryFilter servlet filter},
* this constructed as a {@linkplain org.apache.tapestry5.ioc.services.PipelineBuilder pipeline}. The main
* implementation hands off to the {@link org.apache.tapestry5.services.RequestHandler} service.
*/
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/Request.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/Request.java
similarity index 97%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/Request.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/Request.java
index 7166264..aaea711 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/Request.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/Request.java
@@ -10,7 +10,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
+package org.apache.tapestry5.http.services;
import java.util.List;
import java.util.Locale;
@@ -24,6 +24,9 @@ import java.util.Locale;
*/
public interface Request
{
+ public String REQUESTED_WITH_HEADER = "X-Requested-With";
+ public String X_FORWARDED_PROTO_HEADER = "X-Forwarded-Proto";
+
/**
* Gets the {@link Session}. If create is false and the session has not be created previously, returns null. Also,
* if the session is invalidated and create is false, returns null. Invoking this method with true, when the session exists but has
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/RequestFilter.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/RequestFilter.java
similarity index 84%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/RequestFilter.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/RequestFilter.java
index bbf9bfa..1b5b89e 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/RequestFilter.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/RequestFilter.java
@@ -12,12 +12,12 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
+package org.apache.tapestry5.http.services;
import java.io.IOException;
/**
- * Filter interface for {@link org.apache.tapestry5.services.RequestHandler}. Implementations of this interface may be
+ * Filter interface for {@link org.apache.tapestry5.http.services.RequestHandler}. Implementations of this interface may be
* contributed into the RequestHandler service configuration.
*/
public interface RequestFilter
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/RequestGlobals.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/RequestGlobals.java
similarity index 89%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/RequestGlobals.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/RequestGlobals.java
index 65f53b1..6dcd4f5 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/RequestGlobals.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/RequestGlobals.java
@@ -12,10 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
-
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
+package org.apache.tapestry5.http.services;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -52,7 +49,7 @@ public interface RequestGlobals
Response getResponse();
/**
- * Stores the {@linkplain ComponentClassResolver#canonicalizePageName(String) canonicalized}
+ * Stores the <a href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/ComponentClassResolver.html#canonicalizePageName-java.lang.String-">canonicalized</a>
* name of the active page for this request.
*
* @param pageName
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/RequestHandler.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/RequestHandler.java
similarity index 91%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/RequestHandler.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/RequestHandler.java
index 9a012c0..54f6f99 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/RequestHandler.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/RequestHandler.java
@@ -12,15 +12,15 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
-
-import org.apache.tapestry5.ioc.annotations.UsesOrderedConfiguration;
+package org.apache.tapestry5.http.services;
import java.io.IOException;
+import org.apache.tapestry5.ioc.annotations.UsesOrderedConfiguration;
+
/**
* Service interface for the RequestHandler {@linkplain org.apache.tapestry5.ioc.services.PipelineBuilder pipeline}
- * service. At the end of the pipeline, the service hands off to the {@linkplain org.apache.tapestry5.services.Dispatcher
+ * service. At the end of the pipeline, the service hands off to the {@linkplain org.apache.tapestry5.http.services.Dispatcher
* master dispatcher service}.
*/
@UsesOrderedConfiguration(RequestFilter.class)
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/Response.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/Response.java
similarity index 98%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/Response.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/Response.java
index 7b2795c..074346b 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/Response.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/Response.java
@@ -10,9 +10,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
+package org.apache.tapestry5.http.services;
-import org.apache.tapestry5.Link;
+import org.apache.tapestry5.http.Link;
import org.apache.tapestry5.ioc.annotations.IncompatibleChange;
import java.io.IOException;
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/ResponseCompressionAnalyzer.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/ResponseCompressionAnalyzer.java
similarity index 86%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/ResponseCompressionAnalyzer.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/ResponseCompressionAnalyzer.java
index 3518f20..62adc9f 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/ResponseCompressionAnalyzer.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/ResponseCompressionAnalyzer.java
@@ -10,16 +10,15 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
+package org.apache.tapestry5.http.services;
-import org.apache.tapestry5.ContentType;
-import org.apache.tapestry5.services.assets.CompressionAnalyzer;
+import org.apache.tapestry5.http.ContentType;
/**
* Used to determine if the client supports GZip compression of the response.
*
* @see CompressionAnalyzer
- * @see org.apache.tapestry5.SymbolConstants#GZIP_COMPRESSION_ENABLED
+ * @see org.apache.tapestry5.http.TapestryHttpSymbolConstants#GZIP_COMPRESSION_ENABLED
* @since 5.1.0.0
*/
public interface ResponseCompressionAnalyzer
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/ServletApplicationInitializer.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/ServletApplicationInitializer.java
similarity index 96%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/ServletApplicationInitializer.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/ServletApplicationInitializer.java
index af3b65d..f423205 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/ServletApplicationInitializer.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/ServletApplicationInitializer.java
@@ -12,12 +12,12 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
-
-import org.apache.tapestry5.ioc.annotations.UsesOrderedConfiguration;
+package org.apache.tapestry5.http.services;
import javax.servlet.ServletContext;
+import org.apache.tapestry5.ioc.annotations.UsesOrderedConfiguration;
+
/**
* Service interface for initializing a servlet application, as a {@linkplain org.apache.tapestry5.ioc.services.PipelineBuilder
* pipeline}. The terminator hands off to the {@link org.apache.tapestry5.services.ApplicationInitializer} service.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/ServletApplicationInitializerFilter.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/ServletApplicationInitializerFilter.java
similarity index 81%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/ServletApplicationInitializerFilter.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/ServletApplicationInitializerFilter.java
index 0004826..762532a 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/ServletApplicationInitializerFilter.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/ServletApplicationInitializerFilter.java
@@ -12,14 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
+package org.apache.tapestry5.http.services;
import javax.servlet.ServletContext;
/**
- * Filter interface for {@link org.apache.tapestry5.services.ServletApplicationInitializer}.
+ * Filter interface for {@link org.apache.tapestry5.http.services.ServletApplicationInitializer}.
*
- * @see org.apache.tapestry5.services.ServletApplicationInitializer
+ * @see org.apache.tapestry5.http.services.ServletApplicationInitializer
*/
public interface ServletApplicationInitializerFilter
{
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/Session.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/Session.java
similarity index 90%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/Session.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/Session.java
index 5d0fa3a..70019a1 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/Session.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/Session.java
@@ -1,4 +1,4 @@
-// Copyright 2006, 2008 The Apache Software Foundation
+// Copyright 2006, 2008, 2020 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,15 +12,15 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
+package org.apache.tapestry5.http.services;
-import javax.servlet.http.HttpSession;
+import java.util.List;
-import org.apache.tapestry5.OptimizedSessionPersistedObject;
-import org.apache.tapestry5.annotations.ImmutableSessionPersistedObject;
-import org.apache.tapestry5.internal.services.OptimizedSessionPersistedObjectAnalyzer;
+import javax.servlet.http.HttpSession;
-import java.util.List;
+import org.apache.tapestry5.http.OptimizedSessionPersistedObject;
+import org.apache.tapestry5.http.annotations.ImmutableSessionPersistedObject;
+import org.apache.tapestry5.http.internal.services.OptimizedSessionPersistedObjectAnalyzer;
/**
* Generic version of {@link HttpSession}, used to bridge the gaps between the Servlet API and the Portlet API.
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/SessionPersistedObjectAnalyzer.java b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/SessionPersistedObjectAnalyzer.java
similarity index 94%
rename from tapestry-core/src/main/java/org/apache/tapestry5/services/SessionPersistedObjectAnalyzer.java
rename to tapestry-http/src/main/java/org/apache/tapestry5/http/services/SessionPersistedObjectAnalyzer.java
index 25c7ee0..8cc0e06 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/SessionPersistedObjectAnalyzer.java
+++ b/tapestry-http/src/main/java/org/apache/tapestry5/http/services/SessionPersistedObjectAnalyzer.java
@@ -10,7 +10,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.services;
+package org.apache.tapestry5.http.services;
import org.apache.tapestry5.ioc.annotations.UsesMappedConfiguration;
@@ -26,7 +26,7 @@ import org.apache.tapestry5.ioc.annotations.UsesMappedConfiguration;
* injected using the {@link org.apache.tapestry5.ioc.annotations.Primary} marker annotation.
*
* @see org.apache.tapestry5.annotations.ImmutableSessionPersistedObject
- * @see org.apache.tapestry5.OptimizedSessionPersistedObject
+ * @see org.apache.tapestry5.http.OptimizedSessionPersistedObject
* @since 5.1.0.0
*/
@UsesMappedConfiguration(key = Class.class, value = SessionPersistedObjectAnalyzer.class)
diff --git a/tapestry-http/src/test/java/org/apache/tapestry5/http/test/TapestryHttpIntegrationTests.java b/tapestry-http/src/test/java/org/apache/tapestry5/http/test/TapestryHttpIntegrationTests.java
new file mode 100644
index 0000000..afee951
--- /dev/null
+++ b/tapestry-http/src/test/java/org/apache/tapestry5/http/test/TapestryHttpIntegrationTests.java
@@ -0,0 +1,32 @@
+// Copyright 2020 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package org.apache.tapestry5.http.test;
+
+import org.apache.tapestry5.test.SeleniumTestCase;
+import org.apache.tapestry5.test.TapestryTestConfiguration;
+import org.testng.annotations.Test;
+
+@Test(singleThreaded = true, groups = "integration")
+@TapestryTestConfiguration(webAppFolder = "src/test/webapp")
+public class TapestryHttpIntegrationTests extends SeleniumTestCase {
+
+ @Test
+ public void testSimpleDispatcher() throws Exception {
+ open("/hello");
+ assertEquals("Return to base URL", getText("//a"));
+ clickAndWait("//a");
+ assertEquals("Hello!", getText("//body/a"));
+ }
+
+}
diff --git a/tapestry-http/src/test/java/org/apache/tapestry5/http/test/TestDispatcher.java b/tapestry-http/src/test/java/org/apache/tapestry5/http/test/TestDispatcher.java
new file mode 100644
index 0000000..e619b14
--- /dev/null
+++ b/tapestry-http/src/test/java/org/apache/tapestry5/http/test/TestDispatcher.java
@@ -0,0 +1,38 @@
+package org.apache.tapestry5.http.test;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+
+import org.apache.tapestry5.http.services.BaseURLSource;
+import org.apache.tapestry5.http.services.Dispatcher;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.Response;
+
+public class TestDispatcher implements Dispatcher {
+
+ final private BaseURLSource baseUrlSource;
+
+ public TestDispatcher(BaseURLSource baseUrlSouce) {
+ super();
+ this.baseUrlSource = baseUrlSouce;
+ }
+
+ @Override
+ public boolean dispatch(Request request, Response response) throws IOException {
+
+ boolean dispatched = request.getPath().startsWith("/hello");
+ if (dispatched)
+ {
+ try (OutputStream outputStream = response.getOutputStream("text/html");
+ PrintWriter writer = new PrintWriter(outputStream);)
+ {
+ writer.append(String.format(
+ "<html><body>Hello, world! <a href='%s'>Return to base URL</a></body></html>",
+ baseUrlSource.getBaseURL(request.isSecure())));
+ }
+ }
+ return dispatched;
+ }
+
+}
diff --git a/tapestry-http/src/test/java/org/apache/tapestry5/http/test/TestHttpServletRequestFilter.java b/tapestry-http/src/test/java/org/apache/tapestry5/http/test/TestHttpServletRequestFilter.java
new file mode 100644
index 0000000..1c96b96
--- /dev/null
+++ b/tapestry-http/src/test/java/org/apache/tapestry5/http/test/TestHttpServletRequestFilter.java
@@ -0,0 +1,25 @@
+package org.apache.tapestry5.http.test;
+
+import java.io.IOException;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tapestry5.http.services.HttpServletRequestFilter;
+import org.apache.tapestry5.http.services.HttpServletRequestHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class TestHttpServletRequestFilter implements HttpServletRequestFilter {
+
+ final private static Logger LOGGER = LoggerFactory.getLogger(TestHttpServletRequestFilter.class);
+
+ @Override
+ public boolean service(HttpServletRequest request, HttpServletResponse response, HttpServletRequestHandler handler) throws IOException {
+ LOGGER.info("Before: " + request.getServerName() + " : " + new java.util.Date());
+ boolean serviced = handler.service(request, response);
+ LOGGER.info("After: " + request.getServerName() + " : " + new java.util.Date());
+ return serviced;
+ }
+
+}
diff --git a/tapestry-http/src/test/java/org/apache/tapestry5/http/test/TestRequestFilter.java b/tapestry-http/src/test/java/org/apache/tapestry5/http/test/TestRequestFilter.java
new file mode 100644
index 0000000..6520ec4
--- /dev/null
+++ b/tapestry-http/src/test/java/org/apache/tapestry5/http/test/TestRequestFilter.java
@@ -0,0 +1,24 @@
+package org.apache.tapestry5.http.test;
+
+import java.io.IOException;
+
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestFilter;
+import org.apache.tapestry5.http.services.RequestHandler;
+import org.apache.tapestry5.http.services.Response;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class TestRequestFilter implements RequestFilter {
+
+ final private static Logger LOGGER = LoggerFactory.getLogger(TestRequestFilter.class);
+
+ @Override
+ public boolean service(Request request, Response response, RequestHandler handler) throws IOException {
+ LOGGER.info("Before: " + new java.util.Date());
+ boolean serviced = handler.service(request, response);
+ LOGGER.info("After: " + new java.util.Date());
+ return serviced;
+ }
+
+}
diff --git a/tapestry-http/src/test/java/org/apache/tapestry5/http/test/services/AppModule.java b/tapestry-http/src/test/java/org/apache/tapestry5/http/test/services/AppModule.java
new file mode 100644
index 0000000..f7eab0d
--- /dev/null
+++ b/tapestry-http/src/test/java/org/apache/tapestry5/http/test/services/AppModule.java
@@ -0,0 +1,35 @@
+package org.apache.tapestry5.http.test.services;
+
+import org.apache.tapestry5.commons.MappedConfiguration;
+import org.apache.tapestry5.commons.OrderedConfiguration;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.services.Dispatcher;
+import org.apache.tapestry5.http.services.HttpServletRequestFilter;
+import org.apache.tapestry5.http.services.RequestFilter;
+import org.apache.tapestry5.http.test.TestDispatcher;
+import org.apache.tapestry5.http.test.TestHttpServletRequestFilter;
+import org.apache.tapestry5.http.test.TestRequestFilter;
+
+public class AppModule {
+
+ public static void contributeMasterDispatcher(OrderedConfiguration<Dispatcher> configuration)
+ {
+ configuration.addInstance("Hello", TestDispatcher.class);
+ }
+
+ public static void contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration)
+ {
+ configuration.addInstance("Test", TestRequestFilter.class);
+ }
+
+ public static void contributeHttpServletRequestHandler(OrderedConfiguration<HttpServletRequestFilter> configuration)
+ {
+ configuration.addInstance("Test", TestHttpServletRequestFilter.class);
+ }
+
+ public static void contributeApplicationDefaults(MappedConfiguration<String, Object> configuration)
+ {
+ configuration.add(TapestryHttpSymbolConstants.GZIP_COMPRESSION_ENABLED, true);
+ }
+
+}
diff --git a/tapestry-http/src/test/webapp/WEB-INF/web.xml b/tapestry-http/src/test/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..408d44b
--- /dev/null
+++ b/tapestry-http/src/test/webapp/WEB-INF/web.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2006, 2010 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!DOCTYPE web-app
+ PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+ <display-name>Integration test for tapestry-http</display-name>
+ <context-param>
+ <param-name>tapestry.app-package</param-name>
+ <param-value>org.apache.tapestry5.http.test</param-value>
+ </context-param>
+ <filter>
+ <filter-name>app</filter-name>
+ <filter-class>org.apache.tapestry5.http.TapestryFilter</filter-class>
+ </filter>
+ <filter-mapping>
+ <filter-name>app</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+</web-app>
diff --git a/tapestry-http/src/test/webapp/index.html b/tapestry-http/src/test/webapp/index.html
new file mode 100644
index 0000000..ee5d1a0
--- /dev/null
+++ b/tapestry-http/src/test/webapp/index.html
@@ -0,0 +1,7 @@
+<html>
+ <head>
+ </head>
+ <body>
+ <a href="/hello">Hello!</a>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java b/tapestry-http/src/test/webapp/longfile.txt
similarity index 87%
copy from tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java
copy to tapestry-http/src/test/webapp/longfile.txt
index 567e055..3e441c1 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java
+++ b/tapestry-http/src/test/webapp/longfile.txt
@@ -12,29 +12,133 @@
package org.apache.tapestry5.modules;
-import org.apache.tapestry5.*;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.annotation.Annotation;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.net.URL;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.regex.Pattern;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tapestry5.Asset;
+import org.apache.tapestry5.BindingConstants;
+import org.apache.tapestry5.Block;
+import org.apache.tapestry5.ComponentParameterConstants;
+import org.apache.tapestry5.ComponentResources;
+import org.apache.tapestry5.EventContext;
+import org.apache.tapestry5.Field;
+import org.apache.tapestry5.FieldValidationSupport;
+import org.apache.tapestry5.FieldValidator;
+import org.apache.tapestry5.MarkupWriter;
+import org.apache.tapestry5.MetaDataConstants;
+import org.apache.tapestry5.NullFieldStrategy;
+import org.apache.tapestry5.PersistenceConstants;
+import org.apache.tapestry5.PropertyOverrides;
+import org.apache.tapestry5.Renderable;
+import org.apache.tapestry5.SelectModel;
+import org.apache.tapestry5.StreamResponse;
+import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.Translator;
+import org.apache.tapestry5.ValidationDecorator;
+import org.apache.tapestry5.Validator;
+import org.apache.tapestry5.ValueEncoder;
+import org.apache.tapestry5.VersionUtils;
import org.apache.tapestry5.ajax.MultiZoneUpdate;
import org.apache.tapestry5.alerts.AlertManager;
-import org.apache.tapestry5.annotations.*;
+import org.apache.tapestry5.annotations.ActivationRequestParameter;
+import org.apache.tapestry5.annotations.BindParameter;
import org.apache.tapestry5.annotations.ContentType;
+import org.apache.tapestry5.annotations.DiscardAfter;
+import org.apache.tapestry5.annotations.HeartbeatDeferred;
+import org.apache.tapestry5.annotations.Import;
+import org.apache.tapestry5.annotations.Meta;
+import org.apache.tapestry5.annotations.MixinAfter;
+import org.apache.tapestry5.annotations.PageActivationContext;
+import org.apache.tapestry5.annotations.PageAttached;
+import org.apache.tapestry5.annotations.PageDetached;
+import org.apache.tapestry5.annotations.PageLoaded;
+import org.apache.tapestry5.annotations.PageReset;
+import org.apache.tapestry5.annotations.Path;
+import org.apache.tapestry5.annotations.Persist;
+import org.apache.tapestry5.annotations.Secure;
+import org.apache.tapestry5.annotations.Service;
+import org.apache.tapestry5.annotations.SessionAttribute;
+import org.apache.tapestry5.annotations.UnknownActivationContextCheck;
+import org.apache.tapestry5.annotations.WhitelistAccessOnly;
import org.apache.tapestry5.beaneditor.DataTypeConstants;
import org.apache.tapestry5.beaneditor.Validate;
-import org.apache.tapestry5.beanmodel.*;
-import org.apache.tapestry5.beanmodel.internal.services.*;
-import org.apache.tapestry5.beanmodel.services.*;
-import org.apache.tapestry5.commons.*;
+import org.apache.tapestry5.beanmodel.internal.services.BeanModelSourceImpl;
+import org.apache.tapestry5.beanmodel.internal.services.PropertyConduitSourceImpl;
+import org.apache.tapestry5.beanmodel.services.BeanModelSource;
+import org.apache.tapestry5.beanmodel.services.PropertyConduitSource;
+import org.apache.tapestry5.commons.AnnotationProvider;
+import org.apache.tapestry5.commons.Configuration;
+import org.apache.tapestry5.commons.Location;
+import org.apache.tapestry5.commons.MappedConfiguration;
+import org.apache.tapestry5.commons.Messages;
+import org.apache.tapestry5.commons.ObjectLocator;
+import org.apache.tapestry5.commons.ObjectProvider;
+import org.apache.tapestry5.commons.OrderedConfiguration;
+import org.apache.tapestry5.commons.Resource;
import org.apache.tapestry5.commons.internal.BasicDataTypeAnalyzers;
import org.apache.tapestry5.commons.internal.services.AnnotationDataTypeAnalyzer;
import org.apache.tapestry5.commons.internal.services.DefaultDataTypeAnalyzer;
import org.apache.tapestry5.commons.internal.services.StringInterner;
import org.apache.tapestry5.commons.internal.services.StringInternerImpl;
-import org.apache.tapestry5.commons.services.*;
+import org.apache.tapestry5.commons.services.Coercion;
+import org.apache.tapestry5.commons.services.CoercionTuple;
+import org.apache.tapestry5.commons.services.DataTypeAnalyzer;
+import org.apache.tapestry5.commons.services.InvalidationEventHub;
+import org.apache.tapestry5.commons.services.PlasticProxyFactory;
+import org.apache.tapestry5.commons.services.PropertyAccess;
+import org.apache.tapestry5.commons.services.TypeCoercer;
import org.apache.tapestry5.commons.util.AvailableValues;
import org.apache.tapestry5.commons.util.CollectionFactory;
import org.apache.tapestry5.commons.util.StrategyRegistry;
import org.apache.tapestry5.corelib.data.SecureOption;
import org.apache.tapestry5.grid.GridConstants;
import org.apache.tapestry5.grid.GridDataSource;
+import org.apache.tapestry5.http.Link;
+import org.apache.tapestry5.http.TapestryHttpSymbolConstants;
+import org.apache.tapestry5.http.internal.TapestryHttpInternalConstants;
+import org.apache.tapestry5.http.internal.TapestryHttpInternalSymbols;
+import org.apache.tapestry5.http.internal.gzip.GZipFilter;
+import org.apache.tapestry5.http.internal.services.ApplicationGlobalsImpl;
+import org.apache.tapestry5.http.internal.services.RequestGlobalsImpl;
+import org.apache.tapestry5.http.internal.services.RequestImpl;
+import org.apache.tapestry5.http.internal.services.ResponseImpl;
+import org.apache.tapestry5.http.internal.services.TapestrySessionFactory;
+import org.apache.tapestry5.http.internal.services.TapestrySessionFactoryImpl;
+import org.apache.tapestry5.http.services.ApplicationGlobals;
+import org.apache.tapestry5.http.services.ApplicationInitializer;
+import org.apache.tapestry5.http.services.ApplicationInitializerFilter;
+import org.apache.tapestry5.http.services.BaseURLSource;
+import org.apache.tapestry5.http.services.Context;
+import org.apache.tapestry5.http.services.Dispatcher;
+import org.apache.tapestry5.http.services.HttpServletRequestFilter;
+import org.apache.tapestry5.http.services.HttpServletRequestHandler;
+import org.apache.tapestry5.http.services.Request;
+import org.apache.tapestry5.http.services.RequestFilter;
+import org.apache.tapestry5.http.services.RequestGlobals;
+import org.apache.tapestry5.http.services.RequestHandler;
+import org.apache.tapestry5.http.services.Response;
+import org.apache.tapestry5.http.services.ServletApplicationInitializer;
+import org.apache.tapestry5.http.services.ServletApplicationInitializerFilter;
+import org.apache.tapestry5.http.services.Session;
import org.apache.tapestry5.internal.ComponentOverrideImpl;
import org.apache.tapestry5.internal.DefaultNullFieldStrategy;
import org.apache.tapestry5.internal.DefaultValueLabelProvider;
@@ -48,12 +152,28 @@ import org.apache.tapestry5.internal.beaneditor.EnvironmentMessages;
import org.apache.tapestry5.internal.beaneditor.MessagesConstraintGenerator;
import org.apache.tapestry5.internal.beaneditor.PrimitiveFieldConstraintGenerator;
import org.apache.tapestry5.internal.beaneditor.ValidateAnnotationConstraintGenerator;
-import org.apache.tapestry5.internal.bindings.*;
+import org.apache.tapestry5.internal.bindings.AssetBindingFactory;
+import org.apache.tapestry5.internal.bindings.BlockBindingFactory;
+import org.apache.tapestry5.internal.bindings.ComponentBindingFactory;
+import org.apache.tapestry5.internal.bindings.ContextBindingFactory;
+import org.apache.tapestry5.internal.bindings.LiteralBindingFactory;
+import org.apache.tapestry5.internal.bindings.MessageBindingFactory;
+import org.apache.tapestry5.internal.bindings.NullFieldStrategyBindingFactory;
+import org.apache.tapestry5.internal.bindings.PropBindingFactory;
+import org.apache.tapestry5.internal.bindings.RenderVariableBindingFactory;
+import org.apache.tapestry5.internal.bindings.SymbolBindingFactory;
+import org.apache.tapestry5.internal.bindings.TranslateBindingFactory;
+import org.apache.tapestry5.internal.bindings.ValidateBindingFactory;
import org.apache.tapestry5.internal.dynamic.DynamicTemplateParserImpl;
import org.apache.tapestry5.internal.grid.CollectionGridDataSource;
import org.apache.tapestry5.internal.grid.NullDataSource;
-import org.apache.tapestry5.internal.gzip.GZipFilter;
-import org.apache.tapestry5.internal.renderers.*;
+import org.apache.tapestry5.internal.renderers.AvailableValuesRenderer;
+import org.apache.tapestry5.internal.renderers.ComponentResourcesRenderer;
+import org.apache.tapestry5.internal.renderers.EventContextRenderer;
+import org.apache.tapestry5.internal.renderers.ListRenderer;
+import org.apache.tapestry5.internal.renderers.LocationRenderer;
+import org.apache.tapestry5.internal.renderers.ObjectArrayRenderer;
+import org.apache.tapestry5.internal.renderers.RequestRenderer;
import org.apache.tapestry5.internal.services.*;
import org.apache.tapestry5.internal.services.ajax.AjaxFormUpdateFilter;
import org.apache.tapestry5.internal.services.ajax.AjaxResponseRendererImpl;
@@ -71,7 +191,38 @@ import org.apache.tapestry5.internal.services.security.ClientWhitelistImpl;
import org.apache.tapestry5.internal.services.security.LocalhostOnly;
import org.apache.tapestry5.internal.services.templates.DefaultTemplateLocator;
import org.apache.tapestry5.internal.services.templates.PageTemplateLocator;
-import org.apache.tapestry5.internal.transform.*;
+import org.apache.tapestry5.internal.transform.ActivationRequestParameterWorker;
+import org.apache.tapestry5.internal.transform.ApplicationStateWorker;
+import org.apache.tapestry5.internal.transform.BindParameterWorker;
+import org.apache.tapestry5.internal.transform.CachedWorker;
+import org.apache.tapestry5.internal.transform.ComponentWorker;
+import org.apache.tapestry5.internal.transform.DiscardAfterWorker;
+import org.apache.tapestry5.internal.transform.EnvironmentalWorker;
+import org.apache.tapestry5.internal.transform.HeartbeatDeferredWorker;
+import org.apache.tapestry5.internal.transform.ImportWorker;
+import org.apache.tapestry5.internal.transform.InjectComponentWorker;
... 1392 lines suppressed ...