You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by ta...@apache.org on 2011/12/08 17:18:31 UTC
svn commit: r1211946 - in /tapestry/tapestry5/trunk/tapestry-core/src:
main/java/org/apache/tapestry5/
main/java/org/apache/tapestry5/internal/services/
main/java/org/apache/tapestry5/internal/services/assets/
main/java/org/apache/tapestry5/services/ t...
Author: tawus
Date: Thu Dec 8 16:18:30 2011
New Revision: 1211946
URL: http://svn.apache.org/viewvc?rev=1211946&view=rev
Log:
TAP5-1756: Assets path can now be configured using tapestry.asset-path-prefix.
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetDispatcher.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestConstants.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/AssetPathConstructorImpl.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app3/PageCatalogTests.groovy
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/AssetDispatcherTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ClasspathAssetAliasManagerImplTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ContextAssetFactoryTest.java
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java?rev=1211946&r1=1211945&r2=1211946&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java Thu Dec 8 16:18:30 2011
@@ -360,4 +360,9 @@ public class SymbolConstants
* @since 5.3
*/
public static final String ASSET_URL_FULL_QUALIFIED = "tapestry.asset-url-fully-qualified";
+
+ /**
+ * Prefix to be used for all asset paths
+ */
+ public static final String ASSET_PATH_PREFIX = "tapestry.asset-path-prefix";
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetDispatcher.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetDispatcher.java?rev=1211946&r1=1211945&r2=1211946&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetDispatcher.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetDispatcher.java Thu Dec 8 16:18:30 2011
@@ -59,11 +59,16 @@ public class AssetDispatcher implements
@Symbol(SymbolConstants.APPLICATION_VERSION)
String applicationVersion,
- @Symbol(SymbolConstants.APPLICATION_FOLDER) String applicationFolder)
+ @Symbol(SymbolConstants.APPLICATION_FOLDER)
+ String applicationFolder,
+
+ @Symbol(SymbolConstants.ASSET_PATH_PREFIX)
+ String assetPathPrefix
+ )
{
String folder = applicationFolder.equals("") ? "" : "/" + applicationFolder;
- this.pathPrefix = folder + RequestConstants.ASSET_PATH_PREFIX + applicationVersion + "/";
+ this.pathPrefix = folder + assetPathPrefix + applicationVersion + "/";
for (String path : configuration.keySet())
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestConstants.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestConstants.java?rev=1211946&r1=1211945&r2=1211946&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestConstants.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestConstants.java Thu Dec 8 16:18:30 2011
@@ -26,14 +26,9 @@ public final class RequestConstants
{
/**
- * Request path prefix that identifies an internal (on the classpath) asset.
- */
- public static final String ASSET_PATH_PREFIX = "/assets/";
-
- /**
* Virtual folder name for assets that are actually stored in the context, but are exposed (much like classpath
* assets) to gain far-future expires headers and automatic content compression.
- *
+ *
* @since 5.1.0.0
*/
public static final String CONTEXT_FOLDER = "ctx";
@@ -42,7 +37,7 @@ public final class RequestConstants
* Folder for combined {@link JavaScriptStack} JavaScript files. The path consists of the locale (as a folder) and
* the name
* of the stack (suffixed with ".js").
- *
+ *
* @since 5.2.0
*/
public static final String STACK_FOLDER = "stack";
@@ -50,14 +45,14 @@ public final class RequestConstants
/**
* Name of parameter, in an Ajax update, that identifies the client-side id of the {@link Form} being extended. Used
* with {@link Zone}, {@link FormInjector} and other similar components that may be contained within a form.
- *
+ *
* @since 5.2.0
*/
public static final String FORM_CLIENTID_PARAMETER = "t:formid";
/**
* The server-side part of {@link #FORM_CLIENTID_PARAMETER} identifying the server-side component id.
- *
+ *
* @since 5.2.0
*/
public static final String FORM_COMPONENTID_PARAMETER = "t:formcomponentid";
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/AssetPathConstructorImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/AssetPathConstructorImpl.java?rev=1211946&r1=1211945&r2=1211946&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/AssetPathConstructorImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/AssetPathConstructorImpl.java Thu Dec 8 16:18:30 2011
@@ -15,7 +15,6 @@
package org.apache.tapestry5.internal.services.assets;
import org.apache.tapestry5.SymbolConstants;
-import org.apache.tapestry5.internal.services.RequestConstants;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.services.BaseURLSource;
import org.apache.tapestry5.services.Request;
@@ -41,7 +40,10 @@ public class AssetPathConstructorImpl im
String applicationFolder,
@Symbol(SymbolConstants.ASSET_URL_FULL_QUALIFIED)
- boolean fullyQualified)
+ boolean fullyQualified,
+
+ @Symbol(SymbolConstants.ASSET_PATH_PREFIX)
+ String assetPathPrefix)
{
this.request = request;
this.baseURLSource = baseURLSource;
@@ -50,7 +52,7 @@ public class AssetPathConstructorImpl im
String folder = applicationFolder.equals("") ? "" : "/" + applicationFolder;
- this.prefix = folder + RequestConstants.ASSET_PATH_PREFIX + applicationVersion + "/";
+ this.prefix = folder + assetPathPrefix + applicationVersion + "/";
}
public String constructAssetPath(String virtualFolder, String path)
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java?rev=1211946&r1=1211945&r2=1211946&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java Thu Dec 8 16:18:30 2011
@@ -2259,6 +2259,8 @@ public final class TapestryModule
configuration.add(SymbolConstants.CLUSTERED_SESSIONS, true);
+ configuration.add(SymbolConstants.ASSET_PATH_PREFIX, "/assets/");
+
configuration.add(SymbolConstants.COMPRESS_WHITESPACE, true);
configuration.add(MetaDataConstants.SECURE_PAGE, false);
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app3/PageCatalogTests.groovy
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app3/PageCatalogTests.groovy?rev=1211946&r1=1211945&r2=1211946&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app3/PageCatalogTests.groovy (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app3/PageCatalogTests.groovy Thu Dec 8 16:18:30 2011
@@ -16,7 +16,7 @@ class PageCatalogTests extends TapestryC
click "link=clear the cache"
- sleep 500
+ sleep 1000
assertTextPresent "Page cache cleared"
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/AssetDispatcherTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/AssetDispatcherTest.java?rev=1211946&r1=1211945&r2=1211946&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/AssetDispatcherTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/AssetDispatcherTest.java Thu Dec 8 16:18:30 2011
@@ -34,6 +34,7 @@ public class AssetDispatcherTest extends
private static final String SMILEY_PATH = "org/apache/tapestry5/integration/app1/pages/smiley.png";
private static final Resource SMILEY = new ClasspathResource(SMILEY_PATH);
+
private static final String APPLICATION_VERSION = "1.2.3";
// @Test
@@ -153,7 +154,7 @@ public class AssetDispatcherTest extends
// ResourceStreamer streamer = mockResourceStreamer();
// AssetResourceLocator locator = new AssetResourceLocatorImpl(aliasManager, cache, APPLICATION_VERSION, null, response);
//
-// String clientURL = RequestConstants.ASSET_PATH_PREFIX + "app1/pages/smiley.RIGHT.png";
+// String clientURL = "/assets/app1/pages/smiley.RIGHT.png";
// String resourcePath = "org/apache/tapestry5/integration/app1/pages/smiley.RIGHT.png";
//
// train_getPath(request, clientURL);
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ClasspathAssetAliasManagerImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ClasspathAssetAliasManagerImplTest.java?rev=1211946&r1=1211945&r2=1211946&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ClasspathAssetAliasManagerImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ClasspathAssetAliasManagerImplTest.java Thu Dec 8 16:18:30 2011
@@ -86,10 +86,11 @@ public class ClasspathAssetAliasManagerI
replay();
- ClasspathAssetAliasManager manager = new ClasspathAssetAliasManagerImpl(new AssetPathConstructorImpl(request,
- baseURLSource, APP_VERSION, "", false), configuration());
+ ClasspathAssetAliasManager manager = new ClasspathAssetAliasManagerImpl(
+ new AssetPathConstructorImpl(request,
+ baseURLSource, APP_VERSION, "", false, "/assets/"), configuration());
- String expectedPath = "/ctx" + RequestConstants.ASSET_PATH_PREFIX + APP_VERSION + "/" + expectedClientURL;
+ String expectedPath = "/ctx/assets/" + APP_VERSION + "/" + expectedClientURL;
assertEquals(manager.toClientURL(resourcePath), expectedPath);
verify();
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ContextAssetFactoryTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ContextAssetFactoryTest.java?rev=1211946&r1=1211945&r2=1211946&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ContextAssetFactoryTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ContextAssetFactoryTest.java Thu Dec 8 16:18:30 2011
@@ -62,7 +62,8 @@ public class ContextAssetFactoryTest ext
baseURLSource,
"4.5.6",
"",
- false
+ false,
+ "/assets/"
),
context,
new IdentityAssetPathConverter()
@@ -101,7 +102,8 @@ public class ContextAssetFactoryTest ext
baseURLSource,
"4.5.6",
"",
- true
+ true,
+ "/assets/"
),
context,
new IdentityAssetPathConverter()