You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2010/05/21 22:05:56 UTC
svn commit: r947153 - in /tapestry/tapestry5/trunk/tapestry-core/src:
main/java/org/apache/tapestry5/internal/
main/java/org/apache/tapestry5/internal/services/
main/java/org/apache/tapestry5/internal/services/ajax/
main/java/org/apache/tapestry5/inter...
Author: hlship
Date: Fri May 21 20:05:56 2010
New Revision: 947153
URL: http://svn.apache.org/viewvc?rev=947153&view=rev
Log:
TAP5-65: Make StylesheetLink public; change JavascriptSupport and JavascriptStack to make use of it
Added:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/StylesheetLink.java (contents, props changed)
- copied, changed from r947152, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StylesheetLink.java
Removed:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StylesheetLink.java
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryInternalUtils.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinker.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PartialMarkupDocumentLinker.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderSupportImpl.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/CoreJavascriptStack.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/DateFieldStack.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavascriptStack.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavascriptSupport.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DocumentLinkerImplTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PartialMarkupDocumentLinkerTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RenderSupportImplTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImplTest.java
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryInternalUtils.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryInternalUtils.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryInternalUtils.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryInternalUtils.java Fri May 21 20:05:56 2010
@@ -4,7 +4,7 @@
// 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,
@@ -14,14 +14,6 @@
package org.apache.tapestry5.internal;
-import org.apache.tapestry5.*;
-import org.apache.tapestry5.ioc.Messages;
-import org.apache.tapestry5.ioc.Resource;
-import org.apache.tapestry5.ioc.Orderable;
-import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.internal.util.Defense;
-import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -30,6 +22,22 @@ import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
+import org.apache.tapestry5.Asset;
+import org.apache.tapestry5.Asset2;
+import org.apache.tapestry5.EventContext;
+import org.apache.tapestry5.OptionModel;
+import org.apache.tapestry5.PropertyConduit;
+import org.apache.tapestry5.SelectModel;
+import org.apache.tapestry5.ioc.Messages;
+import org.apache.tapestry5.ioc.Orderable;
+import org.apache.tapestry5.ioc.Resource;
+import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
+import org.apache.tapestry5.ioc.internal.util.Defense;
+import org.apache.tapestry5.ioc.internal.util.Func;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
+import org.apache.tapestry5.ioc.services.Coercion;
+import org.apache.tapestry5.services.javascript.StylesheetLink;
+
/**
* Shared utility methods used by various implementation classes.
*/
@@ -77,7 +85,8 @@ public class TapestryInternalUtils
boolean upperCase = Character.isUpperCase(ch);
- if (upperCase && !postSpace) builder.append(' ');
+ if (upperCase && !postSpace)
+ builder.append(' ');
builder.append(ch);
@@ -106,7 +115,7 @@ public class TapestryInternalUtils
/**
* Converts a string to an {@link OptionModel}. The string is of the form "value=label". If the equals sign is
* omitted, then the same value is used for both value and label.
- *
+ *
* @param input
* @return
*/
@@ -116,7 +125,8 @@ public class TapestryInternalUtils
int equalsx = input.indexOf('=');
- if (equalsx < 0) return new OptionModelImpl(input);
+ if (equalsx < 0)
+ return new OptionModelImpl(input);
String value = input.substring(0, equalsx);
String label = input.substring(equalsx + 1);
@@ -127,8 +137,9 @@ public class TapestryInternalUtils
/**
* Parses a string input into a series of value=label pairs compatible with {@link #toOptionModel(String)}. Splits
* on commas. Ignores whitespace around commas.
- *
- * @param input comma seperated list of terms
+ *
+ * @param input
+ * comma seperated list of terms
* @return list of option models
*/
public static List<OptionModel> toOptionModels(String input)
@@ -145,7 +156,7 @@ public class TapestryInternalUtils
/**
* Wraps the result of {@link #toOptionModels(String)} as a {@link SelectModel} (with no option groups).
- *
+ *
* @param input
* @return
*/
@@ -158,7 +169,7 @@ public class TapestryInternalUtils
/**
* Converts a map entry to an {@link OptionModel}.
- *
+ *
* @param input
* @return
*/
@@ -173,8 +184,9 @@ public class TapestryInternalUtils
/**
* Processes a map input into a series of map entries compatible with {@link #toOptionModel(Map.Entry)}.
- *
- * @param input map of elements
+ *
+ * @param input
+ * map of elements
* @return list of option models
*/
public static <K, V> List<OptionModel> toOptionModels(Map<K, V> input)
@@ -191,7 +203,7 @@ public class TapestryInternalUtils
/**
* Wraps the result of {@link #toOptionModels(Map)} as a {@link SelectModel} (with no option groups).
- *
+ *
* @param input
* @return
*/
@@ -204,7 +216,7 @@ public class TapestryInternalUtils
/**
* Converts an object to an {@link OptionModel}.
- *
+ *
* @param input
* @return
*/
@@ -217,8 +229,9 @@ public class TapestryInternalUtils
/**
* Processes a list input into a series of objects compatible with {@link #toOptionModel(Object)}.
- *
- * @param input list of elements
+ *
+ * @param input
+ * list of elements
* @return list of option models
*/
public static <E> List<OptionModel> toOptionModels(List<E> input)
@@ -235,7 +248,7 @@ public class TapestryInternalUtils
/**
* Wraps the result of {@link #toOptionModels(List)} as a {@link SelectModel} (with no option groups).
- *
+ *
* @param input
* @return
*/
@@ -249,7 +262,7 @@ public class TapestryInternalUtils
/**
* Parses a key/value pair where the key and the value are seperated by an equals sign. The key and value are
* trimmed of leading and trailing whitespace, and returned as a {@link KeyValue}.
- *
+ *
* @param input
* @return
*/
@@ -257,7 +270,8 @@ public class TapestryInternalUtils
{
int pos = input.indexOf('=');
- if (pos < 1) throw new IllegalArgumentException(InternalMessages.badKeyValue(input));
+ if (pos < 1)
+ throw new IllegalArgumentException(InternalMessages.badKeyValue(input));
String key = input.substring(0, pos);
String value = input.substring(pos + 1);
@@ -265,13 +279,13 @@ public class TapestryInternalUtils
return new KeyValue(key.trim(), value.trim());
}
-
/**
* Used to convert a property expression into a key that can be used to locate various resources (Blocks, messages,
* etc.). Strips out any punctuation characters, leaving just words characters (letters, number and the
* underscore).
- *
- * @param expression a property expression
+ *
+ * @param expression
+ * a property expression
* @return the expression with punctuation removed
*/
public static String extractIdFromPropertyExpression(String expression)
@@ -287,7 +301,8 @@ public class TapestryInternalUtils
{
String key = id + "-label";
- if (messages.contains(key)) return messages.get(key);
+ if (messages.contains(key))
+ return messages.get(key);
return toUserPresentable(extractIdFromPropertyExpression(lastTerm(propertyExpression)));
}
@@ -306,28 +321,33 @@ public class TapestryInternalUtils
/**
* Converts an list of strings into a space-separated string combining them all, suitable for use as an HTML class
* attribute value.
- *
- * @param classes classes to combine
+ *
+ * @param classes
+ * classes to combine
* @return the joined classes, or null if classes is empty
*/
public static String toClassAttributeValue(List<String> classes)
{
- if (classes.isEmpty()) return null;
+ if (classes.isEmpty())
+ return null;
return InternalUtils.join(classes, " ");
}
-
/**
* Converts an enum to a label string, allowing for overrides from a message catalog.
* <p/>
- * <ul> <li>As key <em>prefix</em>.<em>name</em> if present. Ex: "ElementType.LOCAL_VARIABLE" <li>As key
- * <em>name</em> if present, i.e., "LOCAL_VARIABLE". <li>As a user-presentable version of the name, i.e., "Local
- * Variable". </ul>
- *
- * @param messages the messages to search for the label
+ * <ul>
+ * <li>As key <em>prefix</em>.<em>name</em> if present. Ex: "ElementType.LOCAL_VARIABLE"
+ * <li>As key <em>name</em> if present, i.e., "LOCAL_VARIABLE".
+ * <li>As a user-presentable version of the name, i.e., "Local Variable".
+ * </ul>
+ *
+ * @param messages
+ * the messages to search for the label
* @param prefix
- * @param value to get a label for
+ * @param value
+ * to get a label for
* @return the label
*/
public static String getLabelForEnum(Messages messages, String prefix, Enum value)
@@ -336,9 +356,11 @@ public class TapestryInternalUtils
String key = prefix + "." + name;
- if (messages.contains(key)) return messages.get(key);
+ if (messages.contains(key))
+ return messages.get(key);
- if (messages.contains(name)) return messages.get(name);
+ if (messages.contains(name))
+ return messages.get(name);
return toUserPresentable(name.toLowerCase());
}
@@ -358,22 +380,25 @@ public class TapestryInternalUtils
/**
* Determines if the two values are equal. They are equal if they are the exact same value (including if they are
* both null). Otherwise standard equals() comparison is used.
- *
+ *
* @param <T>
- * @param left value to compare, possibly null
- * @param right value to compare, possibly null
+ * @param left
+ * value to compare, possibly null
+ * @param right
+ * value to compare, possibly null
* @return true if same value, both null, or equal
*/
public static <T> boolean isEqual(T left, T right)
{
- if (left == right) return true;
+ if (left == right)
+ return true;
- if (left == null) return right == null;
+ if (left == null)
+ return right == null;
return left.equals(right);
}
-
/**
* Splits a path at each slash.
*/
@@ -383,24 +408,26 @@ public class TapestryInternalUtils
}
/**
- * Splits a value around commas. Whitespace around the commas is removed, as is leading and trailing whitespace.
- *
+ * 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 InternalConstants.EMPTY_STRING_ARRAY;
-
+
return COMMA_PATTERN.split(value.trim());
}
/**
* Copies some content from an input stream to an output stream. It is the caller's responsibility to close the
* streams.
- *
- * @param in source of data
- * @param out sink of data
+ *
+ * @param in
+ * source of data
+ * @param out
+ * sink of data
* @throws IOException
* @since 5.1.0.0
*/
@@ -412,7 +439,8 @@ public class TapestryInternalUtils
{
int length = in.read(buffer);
- if (length < 0) break;
+ if (length < 0)
+ break;
out.write(buffer, 0, length);
}
@@ -423,11 +451,13 @@ public class TapestryInternalUtils
public static boolean isEqual(EventContext left, EventContext right)
{
- if (left == right) return true;
+ if (left == right)
+ return true;
int count = left.getCount();
- if (count != right.getCount()) return false;
+ if (count != right.getCount())
+ return false;
for (int i = 0; i < count; i++)
{
@@ -441,7 +471,7 @@ public class TapestryInternalUtils
/**
* Converts an Asset to an Asset2 if necessary. When actually wrapping an Asset as an Asset2, the asset is assumed
* to be variant (i.e., not cacheable).
- *
+ *
* @since 5.1.0.0
*/
public static Asset2 toAsset2(final Asset asset)
@@ -474,62 +504,72 @@ public class TapestryInternalUtils
}
};
}
-
+
public static InternalPropertyConduit toInternalPropertyConduit(final PropertyConduit conduit)
{
- if(conduit instanceof InternalPropertyConduit)
- return (InternalPropertyConduit) conduit;
-
- return new InternalPropertyConduit() {
-
- public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
- {
- return conduit.getAnnotation(annotationClass);
- }
-
- public void set(Object instance, Object value)
- {
- conduit.set(instance, value);
- }
-
- public Class getPropertyType()
- {
- return conduit.getPropertyType();
- }
-
- public Object get(Object instance)
- {
- return conduit.get(instance);
- }
-
- public String getPropertyName()
- {
- return null;
- }
- };
+ if (conduit instanceof InternalPropertyConduit)
+ return (InternalPropertyConduit) conduit;
+
+ return new InternalPropertyConduit()
+ {
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
+ {
+ return conduit.getAnnotation(annotationClass);
+ }
+
+ public void set(Object instance, Object value)
+ {
+ conduit.set(instance, value);
+ }
+
+ public Class getPropertyType()
+ {
+ return conduit.getPropertyType();
+ }
+
+ public Object get(Object instance)
+ {
+ return conduit.get(instance);
+ }
+
+ public String getPropertyName()
+ {
+ return null;
+ }
+ };
}
/**
- *
- * @param mixinDef the original mixin definition.
+ * @param mixinDef
+ * the original mixin definition.
* @return an Orderable whose id is the mixin name.
*/
- public static Orderable<String> mixinTypeAndOrder(String mixinDef) {
+ public static Orderable<String> mixinTypeAndOrder(String mixinDef)
+ {
int idx = mixinDef.indexOf("::");
- if (idx == -1)
- {
- return new Orderable(mixinDef,mixinDef);
- }
- String type = mixinDef.substring(0,idx);
- String[] constraints = splitMixinConstraints(mixinDef.substring(idx+2));
+ if (idx == -1) { return new Orderable(mixinDef, mixinDef); }
+ String type = mixinDef.substring(0, idx);
+ String[] constraints = splitMixinConstraints(mixinDef.substring(idx + 2));
- return new Orderable(type,type,constraints);
+ return new Orderable(type, type, constraints);
}
-
public static String[] splitMixinConstraints(String s)
{
- return InternalUtils.isBlank(s)?null:s.split(";");
+ return InternalUtils.isBlank(s) ? null : s.split(";");
}
+ /**
+ * Common coercion, used primarily with {@link Func#map(Coercion, java.util.Collection)}
+ *
+ * @since 5.2.0
+ */
+ public static Coercion<Asset, StylesheetLink> assetToStylesheetLink = new Coercion<Asset, StylesheetLink>()
+ {
+ public StylesheetLink coerce(Asset input)
+ {
+ return new StylesheetLink(input);
+ };
+ };
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinker.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinker.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinker.java Fri May 21 20:05:56 2010
@@ -16,6 +16,7 @@ package org.apache.tapestry5.internal.se
import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.services.javascript.InitializationPriority;
+import org.apache.tapestry5.services.javascript.StylesheetLink;
/**
* Responsible for injecting script and style links into the <head> and <body> element of the rendered HTML
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java Fri May 21 20:05:56 2010
@@ -25,6 +25,7 @@ import org.apache.tapestry5.ioc.internal
import org.apache.tapestry5.ioc.internal.util.Operation;
import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.services.javascript.InitializationPriority;
+import org.apache.tapestry5.services.javascript.StylesheetLink;
public class DocumentLinkerImpl implements DocumentLinker
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PartialMarkupDocumentLinker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PartialMarkupDocumentLinker.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PartialMarkupDocumentLinker.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PartialMarkupDocumentLinker.java Fri May 21 20:05:56 2010
@@ -20,6 +20,7 @@ import org.apache.tapestry5.ioc.internal
import org.apache.tapestry5.json.JSONArray;
import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.services.javascript.InitializationPriority;
+import org.apache.tapestry5.services.javascript.StylesheetLink;
public class PartialMarkupDocumentLinker implements DocumentLinker
{
@@ -40,7 +41,7 @@ public class PartialMarkupDocumentLinker
{
JSONObject object = new JSONObject(
- "href", stylesheet.getUrl(),
+ "href", stylesheet.getURL(),
"media", stylesheet.getOptions().getMedia());
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderSupportImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderSupportImpl.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderSupportImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderSupportImpl.java Fri May 21 20:05:56 2010
@@ -24,6 +24,7 @@ import org.apache.tapestry5.json.JSONArr
import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.services.AssetSource;
import org.apache.tapestry5.services.javascript.JavascriptSupport;
+import org.apache.tapestry5.services.javascript.StylesheetLink;
import org.apache.tapestry5.services.javascript.StylesheetOptions;
public class RenderSupportImpl implements RenderSupport
@@ -168,11 +169,11 @@ public class RenderSupportImpl implement
public void addStylesheetLink(Asset stylesheet, String media)
{
- javascriptSupport.importStylesheet(stylesheet, new StylesheetOptions(media));
+ javascriptSupport.importStylesheet(new StylesheetLink(stylesheet, new StylesheetOptions(media)));
}
public void addStylesheetLink(String stylesheetURL, String media)
{
- javascriptSupport.importStylesheet(stylesheetURL, new StylesheetOptions(media));
+ javascriptSupport.importStylesheet(new StylesheetLink(stylesheetURL, new StylesheetOptions(media)));
}
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java Fri May 21 20:05:56 2010
@@ -22,7 +22,6 @@ import org.apache.tapestry5.Asset;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.services.DocumentLinker;
-import org.apache.tapestry5.internal.services.StylesheetLink;
import org.apache.tapestry5.internal.services.javascript.JavascriptStackPathConstructor;
import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
import org.apache.tapestry5.ioc.internal.util.Defense;
@@ -36,7 +35,7 @@ import org.apache.tapestry5.services.jav
import org.apache.tapestry5.services.javascript.JavascriptStack;
import org.apache.tapestry5.services.javascript.JavascriptStackSource;
import org.apache.tapestry5.services.javascript.JavascriptSupport;
-import org.apache.tapestry5.services.javascript.StylesheetOptions;
+import org.apache.tapestry5.services.javascript.StylesheetLink;
public class JavascriptSupportImpl implements JavascriptSupport
{
@@ -52,11 +51,9 @@ public class JavascriptSupportImpl imple
private final List<String> otherLibraries = CollectionFactory.newList();
- private final List<String> stackStylesheets = CollectionFactory.newList();
+ private final Set<String> importedStylesheetURLs = CollectionFactory.newSet();
- private final Set<String> importedStylesheets = CollectionFactory.newSet();
-
- private final List<StylesheetLink> otherStylesheets = CollectionFactory.newList();
+ private final List<StylesheetLink> stylesheetLinks = CollectionFactory.newList();
private final Map<InitializationPriority, JSONObject> inits = CollectionFactory.newMap();
@@ -95,21 +92,13 @@ public class JavascriptSupportImpl imple
public void commit()
{
- Func.each(new Operation<String>()
- {
- public void op(String value)
- {
- linker.addStylesheetLink(new StylesheetLink(value, null));
- }
- }, stackStylesheets);
-
Func.each(new Operation<StylesheetLink>()
{
public void op(StylesheetLink value)
{
linker.addStylesheetLink(value);
}
- }, otherStylesheets);
+ }, stylesheetLinks);
Operation<String> linkLibrary = new Operation<String>()
{
@@ -236,9 +225,7 @@ public class JavascriptSupportImpl imple
stackLibraries.addAll(stackPathConstructor.constructPathsForJavascriptStack(stackName));
- List<String> stylesheetPaths = Func.map(toPath, stack.getStylesheets());
-
- stackStylesheets.addAll(stylesheetPaths);
+ stylesheetLinks.addAll(stack.getStylesheets());
String initialization = stack.getInitialization();
@@ -248,25 +235,27 @@ public class JavascriptSupportImpl imple
addedStacks.put(stackName, true);
}
- public void importStylesheet(Asset stylesheet, StylesheetOptions options)
+ public void importStylesheet(Asset stylesheet)
{
Defense.notNull(stylesheet, "stylesheet");
- importStylesheet(stylesheet.toClientURL(), options);
+ importStylesheet(new StylesheetLink(stylesheet));
}
- public void importStylesheet(String stylesheetURL, StylesheetOptions options)
+ public void importStylesheet(StylesheetLink stylesheetLink)
{
- Defense.notBlank(stylesheetURL, "stylesheetURL");
+ Defense.notNull(stylesheetLink, "stylesheetLink");
// Assumes no overlap between stack stylesheets and all other stylesheets
- if (importedStylesheets.contains(stylesheetURL))
+ String stylesheetURL = stylesheetLink.getURL();
+
+ if (importedStylesheetURLs.contains(stylesheetURL))
return;
- importedStylesheets.add(stylesheetURL);
+ importedStylesheetURLs.add(stylesheetURL);
- otherStylesheets.add(new StylesheetLink(stylesheetURL, options));
+ stylesheetLinks.add(stylesheetLink);
}
public void importStack(String stackName)
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/CoreJavascriptStack.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/CoreJavascriptStack.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/CoreJavascriptStack.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/CoreJavascriptStack.java Fri May 21 20:05:56 2010
@@ -18,9 +18,12 @@ import java.util.List;
import org.apache.tapestry5.Asset;
import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.internal.TapestryInternalUtils;
import org.apache.tapestry5.ioc.annotations.Symbol;
+import org.apache.tapestry5.ioc.internal.util.Func;
import org.apache.tapestry5.services.ClientInfrastructure;
import org.apache.tapestry5.services.javascript.JavascriptStack;
+import org.apache.tapestry5.services.javascript.StylesheetLink;
/**
* JavascriptStack based on the information retrieved from {@link ClientInfrastructure}.
@@ -52,9 +55,9 @@ public class CoreJavascriptStack impleme
return clientInfrastructure.getJavascriptStack();
}
- public List<Asset> getStylesheets()
+ public List<StylesheetLink> getStylesheets()
{
- return clientInfrastructure.getStylesheetStack();
+ return Func.map(TapestryInternalUtils.assetToStylesheetLink, clientInfrastructure.getStylesheetStack());
}
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/DateFieldStack.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/DateFieldStack.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/DateFieldStack.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/DateFieldStack.java Fri May 21 20:05:56 2010
@@ -21,6 +21,7 @@ import java.util.Locale;
import org.apache.tapestry5.Asset;
import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.internal.TapestryInternalUtils;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.internal.util.Func;
import org.apache.tapestry5.ioc.services.Coercion;
@@ -29,6 +30,7 @@ import org.apache.tapestry5.json.JSONArr
import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.services.AssetSource;
import org.apache.tapestry5.services.javascript.JavascriptStack;
+import org.apache.tapestry5.services.javascript.StylesheetLink;
public class DateFieldStack implements JavascriptStack
{
@@ -36,7 +38,9 @@ public class DateFieldStack implements J
private final boolean compactJSON;
- private final List<Asset> javascriptStack, stylesheetStack;
+ private final List<Asset> javascriptStack;
+
+ private final List<StylesheetLink> stylesheetStack;
public DateFieldStack(ThreadLocale threadLocale, @Symbol(SymbolConstants.COMPACT_JSON)
boolean compactJSON, final AssetSource assetSource)
@@ -52,10 +56,13 @@ public class DateFieldStack implements J
}
};
+ Coercion<String, StylesheetLink> pathToStylesheetLink = Func.combine(pathToAsset,
+ TapestryInternalUtils.assetToStylesheetLink);
+
javascriptStack = Func.map(pathToAsset, "${tapestry.datepicker}/js/datepicker.js",
"org/apache/tapestry5/corelib/components/datefield.js");
- stylesheetStack = Func.map(pathToAsset, "${tapestry.datepicker}/css/datepicker.css");
+ stylesheetStack = Func.map(pathToStylesheetLink, "${tapestry.datepicker}/css/datepicker.css");
}
public String getInitialization()
@@ -101,7 +108,7 @@ public class DateFieldStack implements J
return javascriptStack;
}
- public List<Asset> getStylesheets()
+ public List<StylesheetLink> getStylesheets()
{
return stylesheetStack;
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java Fri May 21 20:05:56 2010
@@ -64,7 +64,7 @@ public class ImportWorker implements Com
{
public void op(Asset asset)
{
- javascriptSupport.importStylesheet(asset, null);
+ javascriptSupport.importStylesheet(asset);
};
};
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=947153&r1=947152&r2=947153&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 Fri May 21 20:05:56 2010
@@ -114,6 +114,7 @@ import org.apache.tapestry5.services.ass
import org.apache.tapestry5.services.javascript.JavascriptStack;
import org.apache.tapestry5.services.javascript.JavascriptStackSource;
import org.apache.tapestry5.services.javascript.JavascriptSupport;
+import org.apache.tapestry5.services.javascript.StylesheetLink;
import org.apache.tapestry5.services.messages.ComponentMessagesSource;
import org.apache.tapestry5.services.messages.PropertiesFileParser;
import org.apache.tapestry5.services.meta.FixedExtractor;
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavascriptStack.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavascriptStack.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavascriptStack.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavascriptStack.java Fri May 21 20:05:56 2010
@@ -52,9 +52,9 @@ public interface JavascriptStack
List<Asset> getJavascriptLibraries();
/**
- * Returns a list of <em>localized<m/e> assets for stylesheets that form the stack.
+ * Returns a list of <em>localized<m/e> links for stylesheets that form the stack.
*/
- List<Asset> getStylesheets();
+ List<StylesheetLink> getStylesheets();
/**
* Returns static JavaScript initialization for the stack. This block of JavaScript code will be added to the
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavascriptSupport.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavascriptSupport.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavascriptSupport.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavascriptSupport.java Fri May 21 20:05:56 2010
@@ -148,27 +148,22 @@ public interface JavascriptSupport
void importJavascriptLibrary(Asset asset);
/**
- * Imports a CSS stylesheet as part of the rendered page. CSS stylesheets are added in the
- * order they are first imported; duplicate imports are ignored. However, CSS stylesheets
- * added as part of a {@link JavascriptStack} are added before other stylesheets (in the order
- * the stack is imported).
+ * A convenience method that wraps the Asset as a {@link StylesheetLink}.
*
* @param stylesheet
* asset for the stylesheet
- * @param options
- * describes options for importing the stylesheet (may be null)
+ * @see #importStylesheet(StylesheetLink)
*/
- void importStylesheet(Asset stylesheet, StylesheetOptions options);
+ void importStylesheet(Asset stylesheet);
/**
- * As with {@link #importStylesheet(Asset, StylesheetOptions)}, but the stylesheet is represented as a URL string.
+ * Imports a Cascading Style Sheet file as part of the rendered page. Stylesheets are added in the
+ * order they are first imported; duplicate imports are ignored.
*
- * @param stylesheet
- * URL for the stylesheet
- * @param options
- * describes options for importing the stylesheet (may be null)
+ * @param stylesheetLink
+ * encapsulates the link URL plus any additional options
*/
- void importStylesheet(String stylesheetURL, StylesheetOptions options);
+ void importStylesheet(StylesheetLink stylesheetLink);
/**
* Imports a {@link JavascriptStack} by name, a related set of JavaScript libraries and stylesheets.
Copied: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/StylesheetLink.java (from r947152, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StylesheetLink.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/StylesheetLink.java?p2=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/StylesheetLink.java&p1=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StylesheetLink.java&r1=947152&r2=947153&rev=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/StylesheetLink.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/StylesheetLink.java Fri May 21 20:05:56 2010
@@ -12,17 +12,22 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry5.internal.services;
+package org.apache.tapestry5.services.javascript;
+import org.apache.tapestry5.Asset;
+import org.apache.tapestry5.dom.Document;
import org.apache.tapestry5.dom.Element;
import org.apache.tapestry5.internal.TapestryInternalUtils;
+import org.apache.tapestry5.internal.services.DocumentLinker;
+import org.apache.tapestry5.ioc.internal.util.Defense;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-import org.apache.tapestry5.services.javascript.StylesheetOptions;
/**
- * Captures the information needed to create a stylesheet link in the final {@link Document}.
+ * Captures the information needed to create a stylesheet link in the final {@link Document}, or
+ * as part of a JSON partial page render response.
*
* @see DocumentLinker
+ * @see JavascriptStack
* @since 5.2.0
*/
public final class StylesheetLink
@@ -33,6 +38,16 @@ public final class StylesheetLink
private static final StylesheetOptions BLANK_OPTIONS = new StylesheetOptions(null);
+ public StylesheetLink(Asset asset)
+ {
+ this(asset, null);
+ }
+
+ public StylesheetLink(Asset asset, StylesheetOptions options)
+ {
+ this(Defense.notNull(asset, "asset").toClientURL(), options);
+ }
+
public StylesheetLink(String url)
{
this(url, null);
@@ -40,11 +55,11 @@ public final class StylesheetLink
public StylesheetLink(String url, StylesheetOptions options)
{
- this.url = url;
+ this.url = Defense.notBlank(url, "url");
this.options = options != null ? options : BLANK_OPTIONS;
}
- public String getUrl()
+ public String getURL()
{
return url;
}
@@ -64,7 +79,7 @@ public final class StylesheetLink
* @param container
* to add the new element to
*/
- void add(Element container)
+ public void add(Element container)
{
String condition = options.getCondition();
boolean hasCondition = InternalUtils.isNonBlank(condition);
Propchange: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/StylesheetLink.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java Fri May 21 20:05:56 2010
@@ -20,6 +20,7 @@ import org.apache.tapestry5.annotations.
import org.apache.tapestry5.annotations.Path;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.javascript.JavascriptSupport;
+import org.apache.tapestry5.services.javascript.StylesheetLink;
import org.apache.tapestry5.services.javascript.StylesheetOptions;
/**
@@ -46,7 +47,7 @@ public class AssetDemo
@Import(stylesheet = "context:css/via-import.css")
void afterRender()
{
- javascriptSupport.importStylesheet(ieOnly, new StylesheetOptions(null, "IE"));
+ javascriptSupport.importStylesheet(new StylesheetLink(ieOnly, new StylesheetOptions(null, "IE")));
}
public Asset getIcon()
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DocumentLinkerImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DocumentLinkerImplTest.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DocumentLinkerImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DocumentLinkerImplTest.java Fri May 21 20:05:56 2010
@@ -21,6 +21,7 @@ import org.apache.tapestry5.internal.tes
import org.apache.tapestry5.json.JSONArray;
import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.services.javascript.InitializationPriority;
+import org.apache.tapestry5.services.javascript.StylesheetLink;
import org.apache.tapestry5.services.javascript.StylesheetOptions;
import org.testng.annotations.Test;
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PartialMarkupDocumentLinkerTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PartialMarkupDocumentLinkerTest.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PartialMarkupDocumentLinkerTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PartialMarkupDocumentLinkerTest.java Fri May 21 20:05:56 2010
@@ -17,6 +17,7 @@ package org.apache.tapestry5.internal.se
import org.apache.tapestry5.json.JSONArray;
import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.services.javascript.InitializationPriority;
+import org.apache.tapestry5.services.javascript.StylesheetLink;
import org.apache.tapestry5.services.javascript.StylesheetOptions;
import org.testng.Assert;
import org.testng.annotations.Test;
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RenderSupportImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RenderSupportImplTest.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RenderSupportImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RenderSupportImplTest.java Fri May 21 20:05:56 2010
@@ -23,6 +23,7 @@ import org.apache.tapestry5.json.JSONArr
import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.services.AssetSource;
import org.apache.tapestry5.services.javascript.JavascriptSupport;
+import org.apache.tapestry5.services.javascript.StylesheetLink;
import org.apache.tapestry5.services.javascript.StylesheetOptions;
import org.testng.annotations.Test;
@@ -110,9 +111,9 @@ public class RenderSupportImplTest exten
{
String media = "print";
JavascriptSupport javascriptSupport = mockJavascriptSupport();
- Asset asset = mockAsset();
+ Asset asset = mockAsset("foo.css");
- javascriptSupport.importStylesheet(asset, new StylesheetOptions(media));
+ javascriptSupport.importStylesheet(new StylesheetLink("foo.css", new StylesheetOptions(media)));
replay();
@@ -129,7 +130,7 @@ public class RenderSupportImplTest exten
String media = "print";
JavascriptSupport javascriptSupport = mockJavascriptSupport();
- javascriptSupport.importStylesheet(ASSET_URL, new StylesheetOptions(media));
+ javascriptSupport.importStylesheet(new StylesheetLink(ASSET_URL, new StylesheetOptions(media)));
replay();
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImplTest.java?rev=947153&r1=947152&r2=947153&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImplTest.java Fri May 21 20:05:56 2010
@@ -21,7 +21,6 @@ import org.apache.tapestry5.Asset;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.internal.InternalConstants;
import org.apache.tapestry5.internal.services.DocumentLinker;
-import org.apache.tapestry5.internal.services.StylesheetLink;
import org.apache.tapestry5.internal.services.javascript.JavascriptStackPathConstructor;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
@@ -32,6 +31,7 @@ import org.apache.tapestry5.services.jav
import org.apache.tapestry5.services.javascript.JavascriptStack;
import org.apache.tapestry5.services.javascript.JavascriptStackSource;
import org.apache.tapestry5.services.javascript.JavascriptSupport;
+import org.apache.tapestry5.services.javascript.StylesheetLink;
import org.apache.tapestry5.services.javascript.StylesheetOptions;
import org.testng.annotations.Test;
@@ -109,7 +109,7 @@ public class JavascriptSupportImplTest e
JavascriptStack stack = mockJavascriptStack();
List<String> libraryPaths = Collections.emptyList();
- List<Asset> stylesheets = Collections.emptyList();
+ List<StylesheetLink> stylesheets = Collections.emptyList();
expect(stackSource.getStack(InternalConstants.CORE_STACK_NAME)).andReturn(stack);
expect(pathConstructor.constructPathsForJavascriptStack(InternalConstants.CORE_STACK_NAME)).andReturn(
@@ -124,18 +124,18 @@ public class JavascriptSupportImplTest e
{
JavascriptStack stack = mockJavascriptStack();
- Asset stylesheet = mockAsset("style.css");
+ StylesheetLink stylesheetLink = new StylesheetLink("style.css");
expect(stackSource.getStack(InternalConstants.CORE_STACK_NAME)).andReturn(stack);
expect(pathConstructor.constructPathsForJavascriptStack(InternalConstants.CORE_STACK_NAME)).andReturn(
CollectionFactory.newList("stack1.js", "stack2.js"));
- expect(stack.getStylesheets()).andReturn(CollectionFactory.newList(stylesheet));
+ expect(stack.getStylesheets()).andReturn(CollectionFactory.newList(stylesheetLink));
expect(stack.getInitialization()).andReturn("stackInit();");
linker.addScriptLink("stack1.js");
linker.addScriptLink("stack2.js");
- linker.addStylesheetLink(new StylesheetLink("style.css"));
+ linker.addStylesheetLink(stylesheetLink);
}
protected final JavascriptStack mockJavascriptStack()
@@ -206,17 +206,17 @@ public class JavascriptSupportImplTest e
JavascriptStack stack = mockJavascriptStack();
- Asset stylesheet = mockAsset("stack.css");
+ StylesheetLink stylesheetLink = new StylesheetLink("stack.css");
expect(stackSource.getStack("custom")).andReturn(stack);
expect(pathConstructor.constructPathsForJavascriptStack("custom")).andReturn(
CollectionFactory.newList("stack.js"));
- expect(stack.getStylesheets()).andReturn(CollectionFactory.newList(stylesheet));
+ expect(stack.getStylesheets()).andReturn(CollectionFactory.newList(stylesheetLink));
expect(stack.getInitialization()).andReturn("customInit();");
linker.addScriptLink("stack.js");
- linker.addStylesheetLink(new StylesheetLink("stack.css"));
+ linker.addStylesheetLink(stylesheetLink);
linker.addScript(InitializationPriority.IMMEDIATE, "stackInit();");
linker.addScript(InitializationPriority.IMMEDIATE, "customInit();");
@@ -342,15 +342,15 @@ public class JavascriptSupportImplTest e
{
DocumentLinker linker = mockDocumentLinker();
Asset stylesheet = mockAsset("style.css");
- StylesheetOptions options = new StylesheetOptions("print");
- linker.addStylesheetLink(new StylesheetLink("style.css", options));
+ StylesheetLink link = new StylesheetLink("style.css");
+ linker.addStylesheetLink(link);
replay();
JavascriptSupportImpl jss = new JavascriptSupportImpl(linker, null, null);
- jss.importStylesheet(stylesheet, options);
+ jss.importStylesheet(stylesheet);
jss.commit();
@@ -369,8 +369,8 @@ public class JavascriptSupportImplTest e
JavascriptSupportImpl jss = new JavascriptSupportImpl(linker, null, null);
- jss.importStylesheet("style.css", options);
- jss.importStylesheet("style.css", new StylesheetOptions("hologram"));
+ jss.importStylesheet(new StylesheetLink("style.css", options));
+ jss.importStylesheet(new StylesheetLink("style.css", new StylesheetOptions("hologram")));
jss.commit();