Author: hlship
Date: Fri Feb 19 18:51:47 2010
New Revision: 911906
URL: http://svn.apache.org/viewvc?rev=911906&view=rev
Log:
Recode IncludeJavascriptLibraryWorker using JavascriptSupport environmental
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/AbstractIncludeAssetWorker.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/IncludeJavaScriptLibraryWorker.java
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/AbstractIncludeAssetWorker.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/AbstractIncludeAssetWorker.java?rev=911906&r1=911905&r2=911906&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/AbstractIncludeAssetWorker.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/AbstractIncludeAssetWorker.java
Fri Feb 19 18:51:47 2010
@@ -30,6 +30,7 @@
import org.apache.tapestry5.services.ComponentValueProvider;
import org.apache.tapestry5.services.TransformConstants;
import org.apache.tapestry5.services.TransformField;
+import org.apache.tapestry5.services.javascript.JavascriptSupport;
/**
* Base class for workers that automatically include assets in the page (via
methods on
@@ -59,8 +60,8 @@
* @param assetPaths
* raw paths to be converted to assets
*/
- protected final void addOperationForAssetPaths(ClassTransformation
transformation,
- MutableComponentModel model, String[] assetPaths)
+ protected final void addOperationForAssetPaths(ClassTransformation
transformation, MutableComponentModel model,
+ String[] assetPaths)
{
final Resource baseResource = model.getBaseResource();
final List<String> paths = CollectionFactory.newList();
@@ -104,11 +105,11 @@
}
};
- TransformField runnableField =
transformation.addIndirectInjectedField(Runnable.class,
- "includeAssets", provider);
+ TransformField runnableField =
transformation.addIndirectInjectedField(Runnable.class, "includeAssets",
+ provider);
- transformation.extendMethod(TransformConstants.SETUP_RENDER_SIGNATURE,
String.format(
- "%s.run();", runnableField.getName()));
+ transformation.extendMethod(TransformConstants.SETUP_RENDER_SIGNATURE,
String.format("%s.run();", runnableField
+ .getName()));
model.addRenderPhase(SetupRender.class);
}
@@ -116,7 +117,8 @@
/**
* Invoked, from the component's setup render phase, for each asset. This
method must be
* threadsafe. Most
- * implementations pass the asset to a particular method of {...@link
org.apache.tapestry5.RenderSupport}.
+ * implementations pass the asset to a particular method of {...@link
org.apache.tapestry5.RenderSupport} or
+ * {...@link JavascriptSupport}.
*
* @param asset
* to be processed
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/IncludeJavaScriptLibraryWorker.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/IncludeJavaScriptLibraryWorker.java?rev=911906&r1=911905&r2=911906&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/IncludeJavaScriptLibraryWorker.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/IncludeJavaScriptLibraryWorker.java
Fri Feb 19 18:51:47 2010
@@ -1,10 +1,10 @@
-// Copyright 2007 The Apache Software Foundation
+// Copyright 2007, 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
+// 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,
@@ -15,38 +15,39 @@
package org.apache.tapestry5.internal.transform;
import org.apache.tapestry5.Asset;
-import org.apache.tapestry5.RenderSupport;
import org.apache.tapestry5.annotations.IncludeJavaScriptLibrary;
import org.apache.tapestry5.ioc.services.SymbolSource;
import org.apache.tapestry5.model.MutableComponentModel;
import org.apache.tapestry5.services.AssetSource;
import org.apache.tapestry5.services.ClassTransformation;
+import org.apache.tapestry5.services.javascript.JavascriptSupport;
/**
- * Recognizes the {...@link
org.apache.tapestry5.annotations.IncludeJavaScriptLibrary} annotation, and
ensures that {...@link
- *
org.apache.tapestry5.RenderSupport#addScriptLink(org.apache.tapestry5.Asset[])}
is invoked.
+ * Recognizes the {...@link
org.apache.tapestry5.annotations.IncludeJavaScriptLibrary} annotation, and
ensures that
+ * {...@link JavascriptSupport#importJavascriptLibrary(Asset)} is invoked.
*/
public class IncludeJavaScriptLibraryWorker extends AbstractIncludeAssetWorker
{
- private final RenderSupport renderSupport;
+ private final JavascriptSupport javascriptSupport;
- public IncludeJavaScriptLibraryWorker(AssetSource assetSource,
RenderSupport renderSupport,
- SymbolSource symbolSource)
+ public IncludeJavaScriptLibraryWorker(AssetSource assetSource,
JavascriptSupport renderSupport,
+ SymbolSource symbolSource)
{
super(assetSource, symbolSource);
- this.renderSupport = renderSupport;
+ this.javascriptSupport = renderSupport;
}
public void transform(ClassTransformation transformation, final
MutableComponentModel model)
{
IncludeJavaScriptLibrary annotation =
transformation.getAnnotation(IncludeJavaScriptLibrary.class);
- if (annotation != null) addOperationForAssetPaths(transformation,
model, annotation.value());
+ if (annotation != null)
+ addOperationForAssetPaths(transformation, model,
annotation.value());
}
protected void handleAsset(Asset asset)
{
- renderSupport.addScriptLink(asset);
+ javascriptSupport.importJavascriptLibrary(asset);
}
}