You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by jk...@apache.org on 2006/12/16 21:49:56 UTC
svn commit: r487880 - in /tapestry/tapestry4/trunk/tapestry-framework/src:
java/org/apache/tapestry/asset/AssetSource.java
java/org/apache/tapestry/asset/AssetSourceImpl.java
test/org/apache/tapestry/asset/TestAssetSource.java
Author: jkuhnert
Date: Sat Dec 16 12:49:55 2006
New Revision: 487880
URL: http://svn.apache.org/viewvc?view=rev&rev=487880
Log:
Fixes TAPESTRY-726. Base parameter for finding asset was documented as optional but required because of
a Defense.notNull check. Confirmed that base wasn't required to operate and removed the defense check.
Modified:
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/asset/AssetSource.java
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/asset/AssetSourceImpl.java
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/asset/TestAssetSource.java
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/asset/AssetSource.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/asset/AssetSource.java?view=diff&rev=487880&r1=487879&r2=487880
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/asset/AssetSource.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/asset/AssetSource.java Sat Dec 16 12:49:55 2006
@@ -34,7 +34,7 @@
* specification).
*
* @param base
- * the base resource used for resolving the asset
+ * The base resource used for resolving the asset
* @param path
* the path relative to the base resource; alternately, the path may include a prefix
* that defines a domain (such as "classpath:" or "context:") in which case the base
@@ -44,7 +44,9 @@
* localization
* @param location
* used to report errors (such as missing resources)
+ *
* @return the asset, possibly localized
+ *
* @throws org.apache.hivemind.ApplicationRuntimeException
* if the asset does not exist
*/
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/asset/AssetSourceImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/asset/AssetSourceImpl.java?view=diff&rev=487880&r1=487879&r2=487880
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/asset/AssetSourceImpl.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/asset/AssetSourceImpl.java Sat Dec 16 12:49:55 2006
@@ -54,18 +54,17 @@
public IAsset findAsset(Resource base, String path, Locale locale, Location location)
{
- Defense.notNull(base, "base");
Defense.notNull(path, "path");
Defense.notNull(location, "location");
int colonx = path.indexOf(':');
-
+
if (colonx < 0)
return _lookupAssetFactory.createAsset(base, path, locale, location);
-
+
String prefix = path.substring(0, colonx);
String truePath = path.substring(colonx + 1);
-
+
AssetFactory factory = (AssetFactory) _assetFactoryByPrefix.get(prefix);
// Unknown prefix is expected to happen when an external asset (using an established
@@ -80,7 +79,7 @@
truePath = path;
}
-
+
if (truePath.startsWith("/"))
return factory.createAbsoluteAsset(truePath, locale, location);
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/asset/TestAssetSource.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/asset/TestAssetSource.java?view=diff&rev=487880&r1=487879&r2=487880
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/asset/TestAssetSource.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/asset/TestAssetSource.java Sat Dec 16 12:49:55 2006
@@ -59,7 +59,7 @@
return f;
}
- public void testKnownPrefix()
+ public void test_Known_Prefix()
{
Location l = newLocation();
@@ -87,7 +87,7 @@
verify();
}
- public void testUnknownPrefix()
+ public void test_Unknown_Prefix()
{
Location l = fabricateLocation(17);
@@ -108,7 +108,7 @@
verify();
}
- public void testNoPrefix()
+ public void test_No_Prefix()
{
Location l = fabricateLocation(17);
@@ -123,6 +123,32 @@
as.setLookupAssetFactory(f);
IAsset actual = as.findAsset(r, "path/to/asset", Locale.ENGLISH, l);
+
+ assertSame(actual, asset);
+
+ verify();
+ }
+
+ public void test_Known_Prefix_Null_Base()
+ {
+ Location l = newLocation();
+ IAsset asset = newAsset();
+
+ List contributions = newContributions("known", newAssetFactory(
+ null,
+ "path/to/asset",
+ Locale.ENGLISH,
+ l,
+ asset));
+
+ replay();
+
+ AssetSourceImpl as = new AssetSourceImpl();
+ as.setContributions(contributions);
+
+ as.initializeService();
+
+ IAsset actual = as.findAsset(null, "known:path/to/asset", Locale.ENGLISH, l);
assertSame(actual, asset);