You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by dr...@apache.org on 2009/12/31 13:50:08 UTC
svn commit: r894834 - in
/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src:
main/java/org/apache/tapestry5/services/ test/app6/
test/java/org/apache/tapestry5/integration/ test/java/org/example/pages/
test/java/org/example/services/ test/resou...
Author: drobiazko
Date: Thu Dec 31 12:50:08 2009
New Revision: 894834
URL: http://svn.apache.org/viewvc?rev=894834&view=rev
Log:
TAP5-963: Allow access to static resources (css, js, jpg, jpeg, png, gif) inside the app package
Added:
tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/resources/nonaccessible.css (with props)
Modified:
tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app6/AssetProtectionDemo.tml
tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/CutomAppPackageIntegrationTests.java
tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/pages/AssetProtectionDemo.java
tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/services/AppModule.java
Modified: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java?rev=894834&r1=894833&r2=894834&view=diff
==============================================================================
--- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java (original)
+++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java Thu Dec 31 12:50:08 2009
@@ -2436,11 +2436,19 @@
}
public void contributeRegexAuthorizer(Configuration<String> regex,
+
@Symbol("tapestry.scriptaculous.path") String scriptPath,
+
@Symbol("tapestry.blackbird.path") String blackbirdPath,
+
@Symbol("tapestry.datepicker.path") String datepickerPath,
+
@Symbol(SymbolConstants.CONTEXT_ASSETS_AVAILABLE) boolean contextAvailable,
- @Symbol(SymbolConstants.APPLICATION_VERSION) String appVersion)
+
+ @Symbol(SymbolConstants.APPLICATION_VERSION) String appVersion,
+
+ @Symbol(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM)
+ final String appPackageName)
{
//allow any js, jpg, jpeg, png, or css under org/apache/tapstry5. The funky bit of ([^/.]+/)* is what allows
@@ -2456,6 +2464,8 @@
//allow access to virtual assets. Critical for tapestry-combined js files.
regex.add("virtual/" + pathPattern);
+ regex.add("^" + appPackageName.replace(".", "/") + "/" + pathPattern);
+
if (contextAvailable)
{
//we allow everything underneath the context folder, as long as it's not
Modified: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app6/AssetProtectionDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app6/AssetProtectionDemo.tml?rev=894834&r1=894833&r2=894834&view=diff
==============================================================================
--- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app6/AssetProtectionDemo.tml (original)
+++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app6/AssetProtectionDemo.tml Thu Dec 31 12:50:08 2009
@@ -1,5 +1,6 @@
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd">
<body>
- <a href="${style}">Show CSS</a>
+ <p><a href="${style}">Show CSS</a></p>
+ <p><a href="${nonaccessible}">Non accessible</a></p>
</body>
</html>
Modified: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/CutomAppPackageIntegrationTests.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/CutomAppPackageIntegrationTests.java?rev=894834&r1=894833&r2=894834&view=diff
==============================================================================
--- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/CutomAppPackageIntegrationTests.java (original)
+++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/CutomAppPackageIntegrationTests.java Thu Dec 31 12:50:08 2009
@@ -37,6 +37,10 @@
start("Asset Protection Demo");
clickAndWait("link=Show CSS");
assertTextPresent("//Some CSS");
+
+ start("Asset Protection Demo");
+ clickAndWait("link=Non accessible");
+ assertTextPresent("HTTP ERROR: 404");
}
}
Modified: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/pages/AssetProtectionDemo.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/pages/AssetProtectionDemo.java?rev=894834&r1=894833&r2=894834&view=diff
==============================================================================
--- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/pages/AssetProtectionDemo.java (original)
+++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/pages/AssetProtectionDemo.java Thu Dec 31 12:50:08 2009
@@ -25,4 +25,9 @@
@Path("style.css")
@Property
private Asset style;
+
+ @Inject
+ @Path("classpath:nonaccessible.css")
+ @Property
+ private Asset nonaccessible;
}
Modified: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/services/AppModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/services/AppModule.java?rev=894834&r1=894833&r2=894834&view=diff
==============================================================================
--- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/services/AppModule.java (original)
+++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/services/AppModule.java Thu Dec 31 12:50:08 2009
@@ -14,21 +14,8 @@
package org.example.services;
-import org.apache.tapestry5.internal.InternalConstants;
-import org.apache.tapestry5.ioc.Configuration;
-import org.apache.tapestry5.ioc.annotations.Symbol;
public class AppModule
{
- public void contributeRegexAuthorizer(final Configuration<String> regex,
- @Symbol(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM)
- final String appPackageName)
- {
-
- final String pattern = "([^/.]+/)*[^/.]+\\.((css)|(js)|(jpg)|(jpeg)|(png)|(gif))$";
-
- regex.add("^" + appPackageName.replace(".", "/") + "/" + pattern);
-
- }
}
Added: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/resources/nonaccessible.css
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/resources/nonaccessible.css?rev=894834&view=auto
==============================================================================
--- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/resources/nonaccessible.css (added)
+++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/resources/nonaccessible.css Thu Dec 31 12:50:08 2009
@@ -0,0 +1 @@
+//Bla
\ No newline at end of file
Propchange: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/resources/nonaccessible.css
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/resources/nonaccessible.css
------------------------------------------------------------------------------
svn:mime-type = text/plain