You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2010/08/13 09:17:19 UTC
svn commit: r985109 [1/2] - in /wicket/trunk:
wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/
wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/
wicket-examples/src/main/java/org/apache/wicket/examples/sourc...
Author: ivaynberg
Date: Fri Aug 13 07:17:16 2010
New Revision: 985109
URL: http://svn.apache.org/viewvc?rev=985109&view=rev
Log:
WICKET-2981 WICKET-2982 WICKET-2983
Added:
wicket/trunk/wicket/Wicket - Regenerate Tests.launch (with props)
Removed:
wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/AbstractHeaderContributor.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/CssHeaderContributor.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/CssLocationHeaderContributor.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/CssReferenceHeaderContributor.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/HeaderContributor.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/JavascriptHeaderContributor.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/JavascriptLocationHeaderContributor.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/JavascriptReferenceHeaderContributor.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/StringHeaderContributor.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/template/TextTemplateHeaderContributor.java
Modified:
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/AbstractCalendar.java
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/GuestBook.java
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/LinksPage.java
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/source/SourcesPage.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxIndicatorAppender.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/DefaultCssAutoCompleteTextField.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/DefaultAbstractTree.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/rating/RatingPanel.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/Wizard.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/IAjaxCallDecorator.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxCallDecorator.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxCallThrottlingDecorator.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxPostprocessingCallDecorator.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxPreprocessingCallDecorator.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/CancelEventIfNoAjaxDecorator.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/AbstractAjaxBehavior.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/AbstractBehavior.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/IBehavior.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/tree/BaseTree.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage2_ajax_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage2_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage_ajax_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxPostprocessingCallDecoratorTest.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxPreprocessingCallDecoratorTest.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/MockComponent3.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/form/AjaxFormSubmitTestPage_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/form/OnChangeAjaxBehaviorTestPage_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/SimplePage_13.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/SimplePage_15.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/border/BoxBorderTestPage_ExpectedResult_3.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupDisabledTestPage_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage1_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage2_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage3_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage4_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/FormMethodTestPage_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupDisabledTestPage_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage1_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage3_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result1.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result2.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result1.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/validation/HomePage1_ExpectedResult.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/header/MyPage2.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-1-1.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-1.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-2-1.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-2.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-3-1.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-3-2.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-3.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-4.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/tags/InputTagNotVisibleWebPageResult.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/tags/InputTagVisibleWebPageResult.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/parser/filter/PanelWithHeaderPart.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/renderStrategy/SimplePage1.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/renderStrategy/SimplePage2.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/renderStrategy/SimplePanel1.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/resolver/HomePage_2.java
Modified: wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/AbstractCalendar.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/AbstractCalendar.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/AbstractCalendar.java (original)
+++ wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/AbstractCalendar.java Fri Aug 13 07:17:16 2010
@@ -20,14 +20,13 @@ import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Iterator;
import java.util.Map;
-import java.util.Properties;
import java.util.Map.Entry;
+import java.util.Properties;
-import org.apache.wicket.behavior.HeaderContributor;
-import org.apache.wicket.behavior.StringHeaderContributor;
import org.apache.wicket.extensions.yui.YuiLib;
+import org.apache.wicket.markup.html.IHeaderResponse;
import org.apache.wicket.markup.html.WebComponent;
-import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.wicket.request.resource.PackageResourceReference;
import org.apache.wicket.util.string.JavascriptUtils;
@@ -66,6 +65,8 @@ public abstract class AbstractCalendar e
public static final DateFormat FORMAT_PAGEDATE = new SimpleDateFormat("MM/yyyy");
private static final long serialVersionUID = 1L;
+ private final boolean contributeDependencies;
+
/**
* Construct. Contributes packaged dependencies.
*
@@ -101,102 +102,7 @@ public abstract class AbstractCalendar e
super(id);
setOutputMarkupId(true);
- if (contributeDependencies)
- {
- contributeDependencies();
- }
-
- add(new StringHeaderContributor(new LoadableDetachableModel<CharSequence>()
- {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected CharSequence load()
- {
- // not pretty to look at, but cheaper than using a template
- String markupId = AbstractCalendar.this.getMarkupId();
- String javascriptId = getJavascriptId();
- String javascriptWidgetId = getJavascriptWidgetId();
- StringBuffer b = new StringBuffer();
- b.append(JavascriptUtils.SCRIPT_OPEN_TAG);
- // initialize wicket namespace and register the init function
- // for the YUI widget
- b.append("YAHOO.namespace(\"wicket\");\nfunction init");
- b.append(javascriptId);
- b.append("() {\n");
-
- // instantiate the calendar object
- b.append(" ");
- b.append(javascriptWidgetId);
- b.append(" = new YAHOO.widget.Calendar(\"");
- b.append(javascriptId);
- b.append("\",\"");
- b.append(markupId);
-
- Properties p = new Properties();
- configureWidgetProperties(p);
- b.append("\", { ");
- for (Iterator<Entry<Object, Object>> i = p.entrySet().iterator(); i.hasNext();)
- {
- Entry<Object, Object> entry = i.next();
- b.append(entry.getKey());
- Object value = entry.getValue();
- if (value instanceof CharSequence)
- {
- b.append(":\"");
- b.append(value);
- b.append("\"");
- }
- else if (value instanceof CharSequence[])
- {
- b.append(":[");
- CharSequence[] valueArray = (CharSequence[])value;
- for (int j = 0; j < valueArray.length; j++)
- {
- CharSequence tmpValue = valueArray[j];
- b.append("\"");
- b.append(tmpValue);
- b.append("\"");
- if (j < valueArray.length - 1)
- {
- b.append(",");
- }
- }
- b.append("]");
- }
- else
- {
- b.append(":");
- b.append(value);
- }
- // TODO handle arrays
- if (i.hasNext())
- {
- b.append(",");
- }
- }
-
- b.append(" });\n");
-
- // append the javascript we want for our init function; call
- // this in an overridable method so that clients can add their
- // stuff without needing a big ass API
- appendToInit(markupId, javascriptId, javascriptWidgetId, b);
-
- // trigger rendering
- b.append(" ");
- b.append(javascriptWidgetId);
- b.append(".render();\n");
-
- b.append("}\n");
- // register the function for execution when the page is loaded
- b.append("YAHOO.util.Event.addListener(window, \"load\", init");
- b.append(javascriptId);
- b.append(");");
- b.append(JavascriptUtils.SCRIPT_CLOSE_TAG);
- return b;
- }
- }));
+ this.contributeDependencies = contributeDependencies;
}
/**
@@ -226,11 +132,14 @@ public abstract class AbstractCalendar e
/**
* add header contributions for packaged resources.
*/
- private void contributeDependencies()
+ private void contributeDependencies(IHeaderResponse response)
{
- add(HeaderContributor.forJavaScript(YuiLib.class, "yahoo-dom-event/yahoo-dom-event.js"));
- add(HeaderContributor.forJavaScript(AbstractCalendar.class, "calendar-min.js"));
- add(HeaderContributor.forCss(AbstractCalendar.class, "assets/skins/sam/calendar.css"));
+ response.renderJavascriptReference(new PackageResourceReference(YuiLib.class,
+ "yahoo-dom-event/yahoo-dom-event.js"));
+ response.renderJavascriptReference(new PackageResourceReference(AbstractCalendar.class,
+ "calendar-min.js"));
+ response.renderCSSReference(new PackageResourceReference(AbstractCalendar.class,
+ "assets/skins/sam/calendar.css"));
}
/**
@@ -265,4 +174,98 @@ public abstract class AbstractCalendar e
protected void configureWidgetProperties(Map<Object, Object> widgetProperties)
{
}
+
+ @Override
+ public void renderHead(IHeaderResponse response)
+ {
+ if (contributeDependencies)
+ {
+ contributeDependencies(response);
+ }
+
+
+ // not pretty to look at, but cheaper than using a template
+ String markupId = AbstractCalendar.this.getMarkupId();
+ String javascriptId = getJavascriptId();
+ String javascriptWidgetId = getJavascriptWidgetId();
+ StringBuffer b = new StringBuffer();
+ b.append(JavascriptUtils.SCRIPT_OPEN_TAG);
+ // initialize wicket namespace and register the init function
+ // for the YUI widget
+ b.append("YAHOO.namespace(\"wicket\");\nfunction init");
+ b.append(javascriptId);
+ b.append("() {\n");
+
+ // instantiate the calendar object
+ b.append(" ");
+ b.append(javascriptWidgetId);
+ b.append(" = new YAHOO.widget.Calendar(\"");
+ b.append(javascriptId);
+ b.append("\",\"");
+ b.append(markupId);
+
+ Properties p = new Properties();
+ configureWidgetProperties(p);
+ b.append("\", { ");
+ for (Iterator<Entry<Object, Object>> i = p.entrySet().iterator(); i.hasNext();)
+ {
+ Entry<Object, Object> entry = i.next();
+ b.append(entry.getKey());
+ Object value = entry.getValue();
+ if (value instanceof CharSequence)
+ {
+ b.append(":\"");
+ b.append(value);
+ b.append("\"");
+ }
+ else if (value instanceof CharSequence[])
+ {
+ b.append(":[");
+ CharSequence[] valueArray = (CharSequence[])value;
+ for (int j = 0; j < valueArray.length; j++)
+ {
+ CharSequence tmpValue = valueArray[j];
+ b.append("\"");
+ b.append(tmpValue);
+ b.append("\"");
+ if (j < valueArray.length - 1)
+ {
+ b.append(",");
+ }
+ }
+ b.append("]");
+ }
+ else
+ {
+ b.append(":");
+ b.append(value);
+ }
+ // TODO handle arrays
+ if (i.hasNext())
+ {
+ b.append(",");
+ }
+ }
+
+ b.append(" });\n");
+
+ // append the javascript we want for our init function; call
+ // this in an overridable method so that clients can add their
+ // stuff without needing a big ass API
+ appendToInit(markupId, javascriptId, javascriptWidgetId, b);
+
+ // trigger rendering
+ b.append(" ");
+ b.append(javascriptWidgetId);
+ b.append(".render();\n");
+
+ b.append("}\n");
+ // register the function for execution when the page is loaded
+ b.append("YAHOO.util.Event.addListener(window, \"load\", init");
+ b.append(javascriptId);
+ b.append(");");
+ b.append(JavascriptUtils.SCRIPT_CLOSE_TAG);
+
+ response.renderString(b);
+ }
}
Modified: wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java (original)
+++ wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java Fri Aug 13 07:17:16 2010
@@ -72,7 +72,7 @@ import org.joda.time.DateTime;
*
* @author eelcohillenius
*/
-public class DatePicker extends AbstractBehavior implements IHeaderContributor
+public class DatePicker extends AbstractBehavior
{
private static Method GETINSTANCEMETHOD = null;
@@ -133,7 +133,7 @@ public class DatePicker extends Abstract
/** The target component. */
private Component component;
-
+
private boolean showOnFieldClick = false;
/**
@@ -217,6 +217,7 @@ public class DatePicker extends Abstract
/**
* @see org.apache.wicket.markup.html.IHeaderContributor#renderHead(org.apache.wicket.markup.html.IHeaderResponse)
*/
+ @Override
public void renderHead(IHeaderResponse response)
{
if (includeYUILibraries())
@@ -235,10 +236,12 @@ public class DatePicker extends Abstract
variables.put("hideOnSelect", hideOnSelect());
variables.put("showOnFieldClick", showOnFieldClick());
// variables for YUILoader
- variables.put("basePath", Strings.stripJSessionId(RequestCycle.get().renderUrlFor(
- new ResourceReferenceRequestHandler(YUI))));
- variables.put("wicketDatePath", RequestCycle.get().renderUrlFor(
- new ResourceReferenceRequestHandler(WICKET_DATE)));
+ variables.put(
+ "basePath",
+ Strings.stripJSessionId(RequestCycle.get().renderUrlFor(
+ new ResourceReferenceRequestHandler(YUI))));
+ variables.put("wicketDatePath",
+ RequestCycle.get().renderUrlFor(new ResourceReferenceRequestHandler(WICKET_DATE)));
if (Application.DEVELOPMENT.equals(Application.get().getConfigurationType()))
{
variables.put("filter", "filter: \"RAW\",");
@@ -253,8 +256,8 @@ public class DatePicker extends Abstract
String script = getAdditionalJavascript();
if (script != null)
{
- variables.put("additionalJavascript", Strings.replaceAll(script, "${calendar}",
- "YAHOO.wicket." + widgetId + "DpJs"));
+ variables.put("additionalJavascript",
+ Strings.replaceAll(script, "${calendar}", "YAHOO.wicket." + widgetId + "DpJs"));
}
// print out the initialization properties
Map<String, Object> p = new HashMap<String, Object>();
@@ -605,8 +608,8 @@ public class DatePicker extends Abstract
setWidgetProperty(widgetProperties, "MONTHS_SHORT", filterEmpty(dfSymbols.getShortMonths()));
setWidgetProperty(widgetProperties, "MONTHS_LONG", filterEmpty(dfSymbols.getMonths()));
- setWidgetProperty(widgetProperties, "WEEKDAYS_MEDIUM", filterEmpty(dfSymbols
- .getShortWeekdays()));
+ setWidgetProperty(widgetProperties, "WEEKDAYS_MEDIUM",
+ filterEmpty(dfSymbols.getShortWeekdays()));
setWidgetProperty(widgetProperties, "WEEKDAYS_LONG", filterEmpty(dfSymbols.getWeekdays()));
widgetProperties.put("START_WEEKDAY", new Integer(Calendar.getInstance(getLocale())
@@ -615,17 +618,17 @@ public class DatePicker extends Abstract
if (Locale.SIMPLIFIED_CHINESE.equals(getLocale()) ||
Locale.TRADITIONAL_CHINESE.equals(getLocale()))
{
- setWidgetProperty(widgetProperties, "WEEKDAYS_1CHAR", filterEmpty(substring(dfSymbols
- .getShortWeekdays(), 2, 1)));
- widgetProperties.put("WEEKDAYS_SHORT", filterEmpty(substring(dfSymbols
- .getShortWeekdays(), 2, 1)));
+ setWidgetProperty(widgetProperties, "WEEKDAYS_1CHAR",
+ filterEmpty(substring(dfSymbols.getShortWeekdays(), 2, 1)));
+ widgetProperties.put("WEEKDAYS_SHORT",
+ filterEmpty(substring(dfSymbols.getShortWeekdays(), 2, 1)));
}
else
{
- setWidgetProperty(widgetProperties, "WEEKDAYS_1CHAR", filterEmpty(substring(dfSymbols
- .getShortWeekdays(), 0, 1)));
- setWidgetProperty(widgetProperties, "WEEKDAYS_SHORT", filterEmpty(substring(dfSymbols
- .getShortWeekdays(), 0, 2)));
+ setWidgetProperty(widgetProperties, "WEEKDAYS_1CHAR",
+ filterEmpty(substring(dfSymbols.getShortWeekdays(), 0, 1)));
+ setWidgetProperty(widgetProperties, "WEEKDAYS_SHORT",
+ filterEmpty(substring(dfSymbols.getShortWeekdays(), 0, 2)));
}
}
@@ -717,24 +720,26 @@ public class DatePicker extends Abstract
{
return true;
}
-
+
/**
* Indicates whether the calendar should be shown when corresponding text input is clicked.
*
* @return <code>true</code> <br/>
* <code>false</code> (default)
*/
- protected boolean showOnFieldClick() {
+ protected boolean showOnFieldClick()
+ {
return showOnFieldClick;
}
-
+
/**
*
* @see {@link #showOnFieldClick()}
*/
- public DatePicker setShowOnFieldClick(boolean show) {
-
- this.showOnFieldClick = show;
+ public DatePicker setShowOnFieldClick(boolean show)
+ {
+
+ showOnFieldClick = show;
return this;
}
Modified: wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/GuestBook.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/GuestBook.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/GuestBook.java (original)
+++ wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/GuestBook.java Fri Aug 13 07:17:16 2010
@@ -101,7 +101,7 @@ public class GuestBook extends BasePage
return new AjaxCallDecorator()
{
@Override
- public CharSequence decorateScript(CharSequence script)
+ public CharSequence decorateScript(Component c, CharSequence script)
{
return script + "return false;";
}
Modified: wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/LinksPage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/LinksPage.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/LinksPage.java (original)
+++ wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/LinksPage.java Fri Aug 13 07:17:16 2010
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.examples.ajax.builtin;
+import org.apache.wicket.Component;
import org.apache.wicket.WicketRuntimeException;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.calldecorator.AjaxCallDecorator;
@@ -137,19 +138,19 @@ public class LinksPage extends BasePage
return new AjaxCallDecorator()
{
@Override
- public CharSequence decorateOnSuccessScript(CharSequence script)
+ public CharSequence decorateOnSuccessScript(Component c, CharSequence script)
{
return "alert('Success');";
}
@Override
- public CharSequence decorateOnFailureScript(CharSequence script)
+ public CharSequence decorateOnFailureScript(Component c, CharSequence script)
{
return "alert('Failure');";
}
@Override
- public CharSequence decorateScript(CharSequence script)
+ public CharSequence decorateScript(Component c, CharSequence script)
{
return "alert('Before ajax call');" + script;
}
@@ -171,19 +172,19 @@ public class LinksPage extends BasePage
return new AjaxCallDecorator()
{
@Override
- public CharSequence decorateOnSuccessScript(CharSequence script)
+ public CharSequence decorateOnSuccessScript(Component c, CharSequence script)
{
return "alert('Success');";
}
@Override
- public CharSequence decorateOnFailureScript(CharSequence script)
+ public CharSequence decorateOnFailureScript(Component c, CharSequence script)
{
return "alert('Failure');";
}
@Override
- public CharSequence decorateScript(CharSequence script)
+ public CharSequence decorateScript(Component c, CharSequence script)
{
return "alert('Before ajax call');" + script;
}
Modified: wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/source/SourcesPage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/source/SourcesPage.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/source/SourcesPage.java (original)
+++ wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/source/SourcesPage.java Fri Aug 13 07:17:16 2010
@@ -90,8 +90,10 @@ public class SourcesPage extends WebPage
{
// name contains the name of the selected file
if (Strings.isEmpty(name) &&
- Strings.isEmpty(getPage().getRequest().getRequestParameters().getParameterValue(
- SOURCE).toOptionalString()))
+ Strings.isEmpty(getPage().getRequest()
+ .getRequestParameters()
+ .getParameterValue(SOURCE)
+ .toOptionalString()))
{
return "";
}
@@ -126,13 +128,15 @@ public class SourcesPage extends WebPage
return renderer.highlight(source, sb.toString(), "UTF-8", true);
}
}
- return Strings.escapeMarkup(sb.toString(), false, true).toString().replaceAll("\n",
- "<br />");
+ return Strings.escapeMarkup(sb.toString(), false, true)
+ .toString()
+ .replaceAll("\n", "<br />");
}
catch (IOException e)
{
- log.error("Unable to read resource stream for: " + source + "; Page=" +
- page.toString(), e);
+ log.error(
+ "Unable to read resource stream for: " + source + "; Page=" + page.toString(),
+ e);
return "";
}
finally
@@ -251,8 +255,9 @@ public class SourcesPage extends WebPage
File file = files[i];
if (file.isDirectory())
{
- addResources(scope, new AppendingStringBuffer(relativePath).append(
- file.getName()).append('/'), file);
+ addResources(scope,
+ new AppendingStringBuffer(relativePath).append(file.getName()).append('/'),
+ file);
}
else
{
@@ -414,13 +419,15 @@ public class SourcesPage extends WebPage
return new IAjaxCallDecorator()
{
- public CharSequence decorateOnFailureScript(CharSequence script)
+ public CharSequence decorateOnFailureScript(Component c,
+ CharSequence script)
{
return "window.location=this.href;";
// return "alert('It\\'s ok!')";
}
- public CharSequence decorateOnSuccessScript(CharSequence script)
+ public CharSequence decorateOnSuccessScript(Component c,
+ CharSequence script)
{
if (script == null)
{
@@ -429,7 +436,7 @@ public class SourcesPage extends WebPage
return script;
}
- public CharSequence decorateScript(CharSequence script)
+ public CharSequence decorateScript(Component c, CharSequence script)
{
int index = script.toString().indexOf('?');
if (index >= 0)
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxIndicatorAppender.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxIndicatorAppender.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxIndicatorAppender.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxIndicatorAppender.java Fri Aug 13 07:17:16 2010
@@ -20,7 +20,7 @@ import org.apache.wicket.Component;
import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.IAjaxIndicatorAware;
-import org.apache.wicket.behavior.AbstractHeaderContributor;
+import org.apache.wicket.behavior.AbstractBehavior;
import org.apache.wicket.markup.html.IHeaderResponse;
import org.apache.wicket.request.IRequestHandler;
import org.apache.wicket.request.Response;
@@ -41,7 +41,7 @@ import org.apache.wicket.request.handler
*
* @author Igor Vaynberg (ivaynberg)
*/
-public class AjaxIndicatorAppender extends AbstractHeaderContributor
+public class AjaxIndicatorAppender extends AbstractBehavior
{
/**
* Component instance this behavior is bound to
@@ -60,9 +60,6 @@ public class AjaxIndicatorAppender exten
{
}
- /**
- * @see AbstractHeaderContributor#renderHead(IHeaderResponse)
- */
@Override
public void renderHead(IHeaderResponse response)
{
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/DefaultCssAutoCompleteTextField.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/DefaultCssAutoCompleteTextField.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/DefaultCssAutoCompleteTextField.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/DefaultCssAutoCompleteTextField.java Fri Aug 13 07:17:16 2010
@@ -16,8 +16,9 @@
*/
package org.apache.wicket.extensions.ajax.markup.html.autocomplete;
-import org.apache.wicket.behavior.HeaderContributor;
+import org.apache.wicket.markup.html.IHeaderResponse;
import org.apache.wicket.model.IModel;
+import org.apache.wicket.request.resource.PackageResourceReference;
/**
* An {@link AutoCompleteTextField} which automatically includes the default CSS for the
@@ -41,8 +42,15 @@ public abstract class DefaultCssAutoComp
public DefaultCssAutoCompleteTextField(String string, IModel<T> model)
{
super(string, model);
- add(HeaderContributor.forCss(DefaultCssAutoCompleteTextField.class,
- "DefaultCssAutoCompleteTextField.css"));
+ }
+
+ @Override
+ public void renderHead(IHeaderResponse response)
+ {
+ super.renderHead(response);
+
+ response.renderCSSReference(new PackageResourceReference(
+ DefaultCssAutoCompleteTextField.class, "DefaultCssAutoCompleteTextField.css"));
}
}
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java Fri Aug 13 07:17:16 2010
@@ -20,9 +20,9 @@ import org.apache.wicket.Application;
import org.apache.wicket.Component;
import org.apache.wicket.IInitializer;
import org.apache.wicket.behavior.AbstractBehavior;
-import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.behavior.IBehavior;
import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.IHeaderResponse;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.upload.FileUploadField;
@@ -119,13 +119,6 @@ public class UploadProgressBar extends P
}
setRenderBodyOnly(true);
- add(HeaderContributor.forJavaScript(JS));
- ResourceReference css = getCss();
- if (css != null)
- {
- add(HeaderContributor.forCss(css));
- }
-
final WebMarkupContainer barDiv = new WebMarkupContainer("bar");
barDiv.setOutputMarkupId(true);
add(barDiv);
@@ -153,6 +146,18 @@ public class UploadProgressBar extends P
return CSS;
}
+ @Override
+ public void renderHead(IHeaderResponse response)
+ {
+ super.renderHead(response);
+ response.renderJavascriptReference(JS);
+ ResourceReference css = getCss();
+ if (css != null)
+ {
+ response.renderCSSReference(css);
+ }
+ }
+
/** {@inheritDoc} */
@Override
protected void onRemove()
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java Fri Aug 13 07:17:16 2010
@@ -24,8 +24,9 @@ import org.apache.wicket.ajax.AbstractDe
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.IAjaxCallDecorator;
import org.apache.wicket.ajax.calldecorator.CancelEventIfNoAjaxDecorator;
-import org.apache.wicket.behavior.HeaderContributor;
+import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow.PageCreator;
import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.IHeaderResponse;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.AbstractRepeater;
@@ -250,9 +251,14 @@ public class ModalWindow extends Panel
add(new CloseButtonBehavior());
add(new WindowClosedBehavior());
+ }
- add(HeaderContributor.forJavaScript(JAVASCRIPT));
- add(HeaderContributor.forCss(CSS));
+ @Override
+ public void renderHead(IHeaderResponse response)
+ {
+ super.renderHead(response);
+ response.renderJavascriptReference(JAVASCRIPT);
+ response.renderCSSReference(CSS);
}
/**
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java Fri Aug 13 07:17:16 2010
@@ -26,7 +26,6 @@ import org.apache.wicket.extensions.mark
import org.apache.wicket.extensions.markup.html.form.palette.component.Recorder;
import org.apache.wicket.extensions.markup.html.form.palette.component.Selection;
import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.html.IHeaderContributor;
import org.apache.wicket.markup.html.IHeaderResponse;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
@@ -75,7 +74,7 @@ import org.apache.wicket.request.resourc
* Type of model object
*
*/
-public class Palette<T> extends Panel implements IHeaderContributor
+public class Palette<T> extends Panel
{
private static final String SELECTED_HEADER_ID = "selectedHeader";
@@ -524,7 +523,7 @@ public class Palette<T> extends Panel im
modelChanged();
// call model.setObject()
- ((IModel<Object>) getDefaultModel()).setObject(model);
+ ((IModel<Object>)getDefaultModel()).setObject(model);
}
/**
@@ -637,6 +636,7 @@ public class Palette<T> extends Panel im
*
* @param response
*/
+ @Override
public void renderHead(IHeaderResponse response)
{
response.renderJavascriptReference(JAVASCRIPT);
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/DefaultAbstractTree.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/DefaultAbstractTree.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/DefaultAbstractTree.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/DefaultAbstractTree.java Fri Aug 13 07:17:16 2010
@@ -25,9 +25,9 @@ import org.apache.wicket.MarkupContainer
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.ajax.markup.html.AjaxLink;
-import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.html.IHeaderResponse;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.markup.html.tree.AbstractTree;
@@ -148,7 +148,6 @@ public abstract class DefaultAbstractTre
public DefaultAbstractTree(String id)
{
super(id);
- init();
}
/**
@@ -162,7 +161,6 @@ public abstract class DefaultAbstractTre
public DefaultAbstractTree(String id, IModel<TreeModel> model)
{
super(id, model);
- init();
}
/**
@@ -177,7 +175,6 @@ public abstract class DefaultAbstractTre
{
super(id, new WicketTreeModel());
setModelObject(model);
- init();
}
/**
@@ -536,8 +533,8 @@ public abstract class DefaultAbstractTre
{
super.onComponentTag(tag);
IRequestHandler handler = new ResourceReferenceRequestHandler(getNodeIcon(node));
- tag.put("style", "background-image: url('" +
- RequestCycle.get().renderUrlFor(handler) + "')");
+ tag.put("style",
+ "background-image: url('" + RequestCycle.get().renderUrlFor(handler) + "')");
}
};
@@ -597,18 +594,6 @@ public abstract class DefaultAbstractTre
}
/**
- * Performs the tree initialization. Adds header contribution for the stylesheet.
- */
- private void init()
- {
- ResourceReference css = getCSS();
- if (css != null)
- {
- add(HeaderContributor.forCss(css.getScope(), css.getName()));
- }
- }
-
- /**
* Returns whether the provided node is last child of it's parent.
*
* @param node
@@ -627,4 +612,15 @@ public abstract class DefaultAbstractTre
return parent.getChildAt(parent.getChildCount() - 1).equals(node);
}
}
+
+ @Override
+ public void renderHead(IHeaderResponse response)
+ {
+ super.renderHead(response);
+ ResourceReference css = getCSS();
+ if (css != null)
+ {
+ response.renderCSSReference(css);
+ }
+ }
}
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/rating/RatingPanel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/rating/RatingPanel.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/rating/RatingPanel.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/rating/RatingPanel.java Fri Aug 13 07:17:16 2010
@@ -19,8 +19,8 @@ package org.apache.wicket.extensions.rat
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
-import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.behavior.SimpleAttributeModifier;
+import org.apache.wicket.markup.html.IHeaderResponse;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.list.Loop;
@@ -187,6 +187,8 @@ public abstract class RatingPanel extend
*/
private Component ratingLabel;
+ private final boolean addDefaultCssStyle;
+
/**
* Constructs a rating component with 5 stars, using a compound property model as its model to
* retrieve the rating.
@@ -291,6 +293,7 @@ public abstract class RatingPanel extend
IModel<Integer> nrOfVotes, IModel<Boolean> hasVoted, boolean addDefaultCssStyle)
{
super(id, rating);
+ this.addDefaultCssStyle = addDefaultCssStyle;
this.nrOfStars = wrap(nrOfStars);
this.nrOfVotes = wrap(nrOfVotes);
@@ -310,20 +313,18 @@ public abstract class RatingPanel extend
// don't render the outer tags in the target document, just the div that
// is inside the panel.
setRenderBodyOnly(true);
+ }
+
+ @Override
+ public void renderHead(IHeaderResponse response)
+ {
+ super.renderHead(response);
if (addDefaultCssStyle)
{
- addDefaultCssStyle();
+ response.renderCSSReference(new PackageResourceReference(RatingPanel.class,
+ "RatingPanel.css"));
}
- }
- /**
- * Will let the rating panel contribute a CSS include to the page's header. It will add
- * RatingPanel.css from this package. This method is typically called by the class that creates
- * the rating panel.
- */
- public final void addDefaultCssStyle()
- {
- add(HeaderContributor.forCss(RatingPanel.class, "RatingPanel.css"));
}
/**
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/Wizard.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/Wizard.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/Wizard.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/Wizard.java Fri Aug 13 07:17:16 2010
@@ -19,13 +19,14 @@ package org.apache.wicket.extensions.wiz
import java.util.Iterator;
import org.apache.wicket.Component;
-import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.feedback.ContainerFeedbackMessageFilter;
+import org.apache.wicket.markup.html.IHeaderResponse;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.IFormSubmittingComponent;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.request.resource.PackageResourceReference;
/**
@@ -79,6 +80,8 @@ public class Wizard extends Panel implem
/** The wizard model. */
private IWizardModel wizardModel;
+ private final boolean addDefaultCssStyle;
+
/**
* Construct. Adds the default style.
* <p>
@@ -117,11 +120,7 @@ public class Wizard extends Panel implem
public Wizard(String id, boolean addDefaultCssStyle)
{
super(id);
-
- if (addDefaultCssStyle)
- {
- addDefaultCssStyle();
- }
+ this.addDefaultCssStyle = addDefaultCssStyle;
}
/**
@@ -158,20 +157,27 @@ public class Wizard extends Panel implem
super(id);
init(wizardModel);
+ this.addDefaultCssStyle = addDefaultCssStyle;
- if (addDefaultCssStyle)
- {
- addDefaultCssStyle();
- }
}
/**
* Will let the wizard contribute a CSS include to the page's header. It will add Wizard.css
* from this package. This method is typically called by the class that creates the wizard.
*/
- public void addDefaultCssStyle()
+ public void addDefaultCssStyle(IHeaderResponse response)
{
- add(HeaderContributor.forCss(Wizard.class, "Wizard.css"));
+ response.renderCSSReference(new PackageResourceReference(Wizard.class, "Wizard.css"));
+ }
+
+ @Override
+ public void renderHead(IHeaderResponse response)
+ {
+ super.renderHead(response);
+ if (addDefaultCssStyle)
+ {
+ addDefaultCssStyle(response);
+ }
}
/**
Added: wicket/trunk/wicket/Wicket - Regenerate Tests.launch
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/Wicket%20-%20Regenerate%20Tests.launch?rev=985109&view=auto
==============================================================================
--- wicket/trunk/wicket/Wicket - Regenerate Tests.launch (added)
+++ wicket/trunk/wicket/Wicket - Regenerate Tests.launch Fri Aug 13 07:17:16 2010
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<stringAttribute key="bad_container_name" value="\wicket\regenerate-tests"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/wicket/src/test/java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="2"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=wicket/src\/test\/java"/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="wicket"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dwicket.replace.expected.results=true"/>
+</launchConfiguration>
Propchange: wicket/trunk/wicket/Wicket - Regenerate Tests.launch
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java Fri Aug 13 07:17:16 2010
@@ -216,7 +216,12 @@ import org.slf4j.LoggerFactory;
* @author Juergen Donnerstag
* @author Igor Vaynberg (ivaynberg)
*/
-public abstract class Component implements IClusterable, IConverterLocator, IRequestableComponent
+public abstract class Component
+ implements
+ IClusterable,
+ IConverterLocator,
+ IRequestableComponent,
+ IHeaderContributor
{
/** True when component has been configured, had {@link #onConfigure()} called */
@@ -2803,24 +2808,21 @@ public abstract class Component implemen
IHeaderResponse response = container.getHeaderResponse();
- // First check the component itself (implements IHeaderContributor)
- if (this instanceof IHeaderContributor)
+ // Allow component to contribute
+ if (response.wasRendered(this) == false)
{
- if (response.wasRendered(this) == false)
- {
- ((IHeaderContributor)this).renderHead(response);
- response.markRendered(this);
- }
+ renderHead(response);
+ response.markRendered(this);
}
// Than ask all behaviors
for (IBehavior behavior : getBehaviors())
{
- if ((behavior instanceof IHeaderContributor) && isBehaviorAccepted(behavior))
+ if (isBehaviorAccepted(behavior))
{
if (response.wasRendered(behavior) == false)
{
- ((IHeaderContributor)behavior).renderHead(response);
+ behavior.renderHead(response);
response.markRendered(behavior);
}
}
@@ -4489,4 +4491,9 @@ public abstract class Component implemen
{
return isEnabledInHierarchy() && isVisibleInHierarchy();
}
+
+ public void renderHead(IHeaderResponse response)
+ {
+ // noop
+ }
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java Fri Aug 13 07:17:16 2010
@@ -163,7 +163,8 @@ public abstract class AbstractDefaultAja
* @param partialCall
* Javascript of a partial call to the function performing the actual ajax callback.
* Must be in format <code>function(params,</code> with signature
- * <code>function(params, onSuccessHandler, onFailureHandler</code>. Example: <code>wicketAjaxGet('callbackurl'</code>
+ * <code>function(params, onSuccessHandler, onFailureHandler</code>. Example:
+ * <code>wicketAjaxGet('callbackurl'</code>
*
* @return script that performs ajax callback to this behavior
*/
@@ -182,7 +183,7 @@ public abstract class AbstractDefaultAja
if (decorator != null)
{
- success = decorator.decorateOnSuccessScript(success);
+ success = decorator.decorateOnSuccessScript(getComponent(), success);
}
if (!Strings.isEmpty(indicatorId))
@@ -194,7 +195,7 @@ public abstract class AbstractDefaultAja
if (decorator != null)
{
- failure = decorator.decorateOnFailureScript(failure);
+ failure = decorator.decorateOnFailureScript(getComponent(), failure);
}
AppendingStringBuffer buff = new AppendingStringBuffer(256);
@@ -236,7 +237,7 @@ public abstract class AbstractDefaultAja
if (decorator != null)
{
- call = decorator.decorateScript(call);
+ call = decorator.decorateScript(getComponent(), call);
}
return call;
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/IAjaxCallDecorator.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/IAjaxCallDecorator.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/IAjaxCallDecorator.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/IAjaxCallDecorator.java Fri Aug 13 07:17:16 2010
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.ajax;
+import org.apache.wicket.Component;
import org.apache.wicket.IClusterable;
/**
@@ -67,25 +68,28 @@ public interface IAjaxCallDecorator exte
/**
* Decorates the script that performs the ajax call
*
+ * @param component
* @param script
* @return decorated script
*/
- CharSequence decorateScript(CharSequence script);
+ CharSequence decorateScript(Component component, CharSequence script);
/**
* Decorates the onSuccess handler script
*
+ * @param component
* @param script
* @return decorated onSuccess handler script
*/
- CharSequence decorateOnSuccessScript(CharSequence script);
+ CharSequence decorateOnSuccessScript(Component component, CharSequence script);
/**
* Decorates the onFailure handler script
*
+ * @param component
* @param script
* @return decorated onFailure handler script
*/
- CharSequence decorateOnFailureScript(CharSequence script);
+ CharSequence decorateOnFailureScript(Component component, CharSequence script);
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxCallDecorator.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxCallDecorator.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxCallDecorator.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxCallDecorator.java Fri Aug 13 07:17:16 2010
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.ajax.calldecorator;
+import org.apache.wicket.Component;
import org.apache.wicket.ajax.IAjaxCallDecorator;
/**
@@ -39,7 +40,7 @@ public abstract class AjaxCallDecorator
/**
* @see org.apache.wicket.ajax.IAjaxCallDecorator#decorateScript(CharSequence)
*/
- public CharSequence decorateScript(CharSequence script)
+ public CharSequence decorateScript(Component c, CharSequence script)
{
return script;
}
@@ -47,7 +48,7 @@ public abstract class AjaxCallDecorator
/**
* @see org.apache.wicket.ajax.IAjaxCallDecorator#decorateOnSuccessScript(CharSequence)
*/
- public CharSequence decorateOnSuccessScript(CharSequence script)
+ public CharSequence decorateOnSuccessScript(Component c, CharSequence script)
{
return script;
}
@@ -55,7 +56,7 @@ public abstract class AjaxCallDecorator
/**
* @see org.apache.wicket.ajax.IAjaxCallDecorator#decorateOnFailureScript(CharSequence)
*/
- public CharSequence decorateOnFailureScript(CharSequence script)
+ public CharSequence decorateOnFailureScript(Component c, CharSequence script)
{
return script;
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxCallThrottlingDecorator.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxCallThrottlingDecorator.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxCallThrottlingDecorator.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxCallThrottlingDecorator.java Fri Aug 13 07:17:16 2010
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.ajax.calldecorator;
+import org.apache.wicket.Component;
import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
import org.apache.wicket.ajax.IAjaxCallDecorator;
import org.apache.wicket.util.string.Strings;
@@ -81,7 +82,7 @@ public final class AjaxCallThrottlingDec
* @see org.apache.wicket.ajax.calldecorator.AjaxPostprocessingCallDecorator#postDecorateScript(CharSequence)
*/
@Override
- public final CharSequence postDecorateScript(CharSequence script)
+ public final CharSequence postDecorateScript(Component c, CharSequence script)
{
return AbstractDefaultAjaxBehavior.throttleScript(script, id, duration);
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxPostprocessingCallDecorator.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxPostprocessingCallDecorator.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxPostprocessingCallDecorator.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxPostprocessingCallDecorator.java Fri Aug 13 07:17:16 2010
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.ajax.calldecorator;
+import org.apache.wicket.Component;
import org.apache.wicket.ajax.IAjaxCallDecorator;
/**
@@ -48,31 +49,27 @@ public abstract class AjaxPostprocessing
}
- /**
- * @see org.apache.wicket.ajax.IAjaxCallDecorator#decorateScript(CharSequence)
- */
- public final CharSequence decorateScript(CharSequence script)
+ /** {@inheritDoc} */
+ public final CharSequence decorateScript(Component component, CharSequence script)
{
- CharSequence s = (delegate == null) ? script : delegate.decorateScript(script);
- return postDecorateScript(s);
+ CharSequence s = (delegate == null) ? script : delegate.decorateScript(component, script);
+ return postDecorateScript(component, s);
}
- /**
- * @see org.apache.wicket.ajax.IAjaxCallDecorator#decorateOnSuccessScript(CharSequence)
- */
- public final CharSequence decorateOnSuccessScript(CharSequence script)
+ /** {@inheritDoc} */
+ public final CharSequence decorateOnSuccessScript(Component component, CharSequence script)
{
- CharSequence s = (delegate == null) ? script : delegate.decorateOnSuccessScript(script);
- return postDecorateOnSuccessScript(s);
+ CharSequence s = (delegate == null) ? script : delegate.decorateOnSuccessScript(component,
+ script);
+ return postDecorateOnSuccessScript(component, s);
}
- /**
- * @see org.apache.wicket.ajax.IAjaxCallDecorator#decorateOnFailureScript(CharSequence)
- */
- public final CharSequence decorateOnFailureScript(CharSequence script)
+ /** {@inheritDoc} */
+ public final CharSequence decorateOnFailureScript(Component component, CharSequence script)
{
- CharSequence s = (delegate == null) ? script : delegate.decorateOnFailureScript(script);
- return postDecorateOnFailureScript(s);
+ CharSequence s = (delegate == null) ? script : delegate.decorateOnFailureScript(component,
+ script);
+ return postDecorateOnFailureScript(component, s);
}
@@ -82,7 +79,7 @@ public abstract class AjaxPostprocessing
* @param script
* @return decorated script
*/
- public CharSequence postDecorateScript(CharSequence script)
+ public CharSequence postDecorateScript(Component component, CharSequence script)
{
return script;
}
@@ -93,7 +90,7 @@ public abstract class AjaxPostprocessing
* @param script
* @return decorated script
*/
- public CharSequence postDecorateOnSuccessScript(CharSequence script)
+ public CharSequence postDecorateOnSuccessScript(Component component, CharSequence script)
{
return script;
}
@@ -104,7 +101,7 @@ public abstract class AjaxPostprocessing
* @param script
* @return decorated script
*/
- public CharSequence postDecorateOnFailureScript(CharSequence script)
+ public CharSequence postDecorateOnFailureScript(Component component, CharSequence script)
{
return script;
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxPreprocessingCallDecorator.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxPreprocessingCallDecorator.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxPreprocessingCallDecorator.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/AjaxPreprocessingCallDecorator.java Fri Aug 13 07:17:16 2010
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.ajax.calldecorator;
+import org.apache.wicket.Component;
import org.apache.wicket.ajax.IAjaxCallDecorator;
/**
@@ -47,30 +48,30 @@ public class AjaxPreprocessingCallDecora
/**
* @see org.apache.wicket.ajax.IAjaxCallDecorator#decorateScript(CharSequence)
*/
- public CharSequence decorateScript(CharSequence script)
+ public CharSequence decorateScript(Component c, CharSequence script)
{
CharSequence s = preDecorateScript(script);
- return (delegate == null) ? s : delegate.decorateScript(s);
+ return (delegate == null) ? s : delegate.decorateScript(c, s);
}
/**
* @see org.apache.wicket.ajax.IAjaxCallDecorator#decorateOnSuccessScript(CharSequence)
*/
- public CharSequence decorateOnSuccessScript(CharSequence script)
+ public CharSequence decorateOnSuccessScript(Component c, CharSequence script)
{
CharSequence s = preDecorateOnSuccessScript(script);
- return (delegate == null) ? s : delegate.decorateOnSuccessScript(s);
+ return (delegate == null) ? s : delegate.decorateOnSuccessScript(c, s);
}
/**
* @see org.apache.wicket.ajax.IAjaxCallDecorator#decorateOnFailureScript(CharSequence)
*/
- public CharSequence decorateOnFailureScript(CharSequence script)
+ public CharSequence decorateOnFailureScript(Component c, CharSequence script)
{
CharSequence s = preDecorateOnFailureScript(script);
- return (delegate == null) ? s : delegate.decorateOnFailureScript(s);
+ return (delegate == null) ? s : delegate.decorateOnFailureScript(c, s);
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/CancelEventIfNoAjaxDecorator.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/CancelEventIfNoAjaxDecorator.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/CancelEventIfNoAjaxDecorator.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/calldecorator/CancelEventIfNoAjaxDecorator.java Fri Aug 13 07:17:16 2010
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.ajax.calldecorator;
+import org.apache.wicket.Component;
import org.apache.wicket.ajax.IAjaxCallDecorator;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
@@ -59,7 +60,7 @@ public final class CancelEventIfNoAjaxDe
* @see org.apache.wicket.ajax.calldecorator.AjaxPostprocessingCallDecorator#postDecorateScript(CharSequence)
*/
@Override
- public final CharSequence postDecorateScript(CharSequence script)
+ public final CharSequence postDecorateScript(Component c, CharSequence script)
{
return script + "return !" + IAjaxCallDecorator.WICKET_CALL_RESULT_VAR + ";";
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/AbstractAjaxBehavior.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/AbstractAjaxBehavior.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/AbstractAjaxBehavior.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/AbstractAjaxBehavior.java Fri Aug 13 07:17:16 2010
@@ -19,6 +19,7 @@ package org.apache.wicket.behavior;
import org.apache.wicket.Component;
import org.apache.wicket.RequestListenerInterface;
import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.IHeaderContributor;
import org.apache.wicket.request.Response;
/**
@@ -29,8 +30,9 @@ import org.apache.wicket.request.Respons
* @author Ralf Ebert
* @author Igor Vaynberg
*/
-public abstract class AbstractAjaxBehavior extends AbstractHeaderContributor
+public abstract class AbstractAjaxBehavior extends AbstractBehavior
implements
+ IHeaderContributor,
IBehaviorListener
{
private static final long serialVersionUID = 1L;
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/AbstractBehavior.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/AbstractBehavior.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/AbstractBehavior.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/AbstractBehavior.java Fri Aug 13 07:17:16 2010
@@ -18,6 +18,7 @@ package org.apache.wicket.behavior;
import org.apache.wicket.Component;
import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.IHeaderResponse;
/**
* Adapter implementation of {@link org.apache.wicket.behavior.IBehavior}. It is recommended to
@@ -162,4 +163,8 @@ public abstract class AbstractBehavior i
public void unbind(Component component)
{
}
+
+ public void renderHead(IHeaderResponse response)
+ {
+ }
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/IBehavior.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/IBehavior.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/IBehavior.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/IBehavior.java Fri Aug 13 07:17:16 2010
@@ -19,6 +19,7 @@ package org.apache.wicket.behavior;
import org.apache.wicket.Component;
import org.apache.wicket.IClusterable;
import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.IHeaderContributor;
/**
* Behaviors are kind of plug-ins for Components. They allow functionality to be added to a
@@ -48,7 +49,7 @@ import org.apache.wicket.markup.Componen
* @author Eelco Hillenius
* @author Igor Vaynberg (ivaynberg)
*/
-public interface IBehavior extends IClusterable
+public interface IBehavior extends IClusterable, IHeaderContributor
{
/**
* Called when a component is about to render.
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java Fri Aug 13 07:17:16 2010
@@ -116,6 +116,7 @@ public interface IHeaderResponse
* @param media
* the media type for this CSS ("print", "screen", etc.)
*/
+ // TODO make media an enum
public void renderCSSReference(String url, String media);
/**
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java Fri Aug 13 07:17:16 2010
@@ -26,6 +26,7 @@ import org.apache.wicket.markup.html.IHe
import org.apache.wicket.markup.html.WicketEventReference;
import org.apache.wicket.request.IRequestHandler;
import org.apache.wicket.request.Response;
+import org.apache.wicket.request.Url;
import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler;
import org.apache.wicket.request.resource.ResourceReference;
@@ -55,7 +56,7 @@ public abstract class HeaderResponse imp
{
if (Application.exists())
{
- // @TODO remove in 1.5; see IHeaderRenderStrategy
+ // TODO remove in 1.5; see IHeaderRenderStrategy
Application.get().notifyRenderHeadListener(this);
}
}
@@ -81,7 +82,7 @@ public abstract class HeaderResponse imp
{
IRequestHandler handler = new ResourceReferenceRequestHandler(reference);
CharSequence url = RequestCycle.get().renderUrlFor(handler);
- renderCSSReference(url.toString(), null);
+ internalRenderCSSReference(url.toString(), null);
}
}
@@ -99,7 +100,7 @@ public abstract class HeaderResponse imp
{
IRequestHandler handler = new ResourceReferenceRequestHandler(reference);
CharSequence url = RequestCycle.get().renderUrlFor(handler);
- renderCSSReference(url.toString(), media);
+ internalRenderCSSReference(url.toString(), media);
}
}
@@ -114,7 +115,7 @@ public abstract class HeaderResponse imp
}
if (!closed)
{
- renderCSSReference(url, null);
+ internalRenderCSSReference(relative(url), null);
}
}
@@ -124,6 +125,11 @@ public abstract class HeaderResponse imp
*/
public void renderCSSReference(String url, String media)
{
+ internalRenderCSSReference(relative(url), media);
+ }
+
+ private void internalRenderCSSReference(String url, String media)
+ {
if (Strings.isEmpty(url))
{
throw new IllegalArgumentException("url cannot be empty or null");
@@ -149,6 +155,7 @@ public abstract class HeaderResponse imp
}
}
+
/**
* @see org.apache.wicket.markup.html.IHeaderResponse#renderJavascriptReference(org.apache.wicket.ResourceReference)
*/
@@ -162,7 +169,7 @@ public abstract class HeaderResponse imp
{
IRequestHandler handler = new ResourceReferenceRequestHandler(reference);
CharSequence url = RequestCycle.get().renderUrlFor(handler);
- renderJavascriptReference(url.toString());
+ internalRenderJavascriptReference(url.toString(), null);
}
}
@@ -180,7 +187,7 @@ public abstract class HeaderResponse imp
{
IRequestHandler handler = new ResourceReferenceRequestHandler(reference);
CharSequence url = RequestCycle.get().renderUrlFor(handler);
- renderJavascriptReference(url.toString(), id);
+ internalRenderJavascriptReference(url.toString(), id);
}
}
@@ -189,19 +196,7 @@ public abstract class HeaderResponse imp
*/
public void renderJavascriptReference(String url)
{
- if (Strings.isEmpty(url))
- {
- throw new IllegalArgumentException("url cannot be empty or null");
- }
- if (!closed)
- {
- List<Object> token = Arrays.asList(new Object[] { "javascript", url });
- if (wasRendered(token) == false)
- {
- JavascriptUtils.writeJavascriptUrl(getResponse(), url);
- markRendered(token);
- }
- }
+ internalRenderJavascriptReference(relative(url), null);
}
/**
@@ -210,6 +205,11 @@ public abstract class HeaderResponse imp
*/
public void renderJavascriptReference(String url, String id)
{
+ internalRenderJavascriptReference(relative(url), id);
+ }
+
+ private void internalRenderJavascriptReference(String url, String id)
+ {
if (Strings.isEmpty(url))
{
throw new IllegalArgumentException("url cannot be empty or null");
@@ -217,12 +217,20 @@ public abstract class HeaderResponse imp
if (!closed)
{
List<Object> token1 = Arrays.asList(new Object[] { "javascript", url });
- List<Object> token2 = Arrays.asList(new Object[] { "javascript", id });
- if (wasRendered(token1) == false && wasRendered(token2) == false)
+ List<Object> token2 = (id != null) ? Arrays.asList(new Object[] { "javascript", id })
+ : null;
+
+ final boolean token1Unused = wasRendered(token1) == false;
+ final boolean token2Unused = (token2 != null) ? wasRendered(token2) == false : true;
+
+ if (token1Unused && token2Unused)
{
JavascriptUtils.writeJavascriptUrl(getResponse(), url, id);
markRendered(token1);
- markRendered(token2);
+ if (token2 != null)
+ {
+ markRendered(token2);
+ }
}
}
}
@@ -352,6 +360,23 @@ public abstract class HeaderResponse imp
}
/**
+ *
+ * @param location
+ * @return relative path
+ */
+ private final String relative(final String location)
+ {
+ if (location.startsWith("http://") || location.startsWith("https://") ||
+ location.startsWith("/"))
+ {
+ return location;
+ }
+
+ RequestCycle rc = RequestCycle.get();
+ return rc.getUrlRenderer().renderUrl(Url.parse(location, rc.getRequest().getCharset()));
+ }
+
+ /**
* Once the HeaderResponse is closed, no output may be written to it anymore. To enforce that,
* the {@link #getResponse()} is defined final in this class and will return a NullResponse
* instance once closed or otherwise the Response provided by this method.
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java Fri Aug 13 07:17:16 2010
@@ -30,9 +30,10 @@ import javax.swing.tree.TreeModel;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.behavior.IBehavior;
import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.IHeaderContributor;
+import org.apache.wicket.markup.html.IHeaderResponse;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
import org.apache.wicket.markup.html.list.AbstractItem;
@@ -59,7 +60,8 @@ public abstract class AbstractTree exten
implements
ITreeStateListener,
TreeModelListener,
- AjaxRequestTarget.ITargetRespondListener
+ AjaxRequestTarget.ITargetRespondListener,
+ IHeaderContributor
{
/**
@@ -1277,8 +1279,6 @@ public abstract class AbstractTree exten
itemContainer = new TreeItemContainer("i");
add(itemContainer);
- add(HeaderContributor.forJavaScript(JAVASCRIPT));
-
checkModel();
}
@@ -1658,4 +1658,9 @@ public abstract class AbstractTree exten
{
return nodeToItemMap.get(node);
}
+
+ public void renderHead(IHeaderResponse response)
+ {
+ response.renderJavascriptReference(JAVASCRIPT);
+ }
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/tree/BaseTree.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/tree/BaseTree.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/tree/BaseTree.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/tree/BaseTree.java Fri Aug 13 07:17:16 2010
@@ -25,8 +25,8 @@ import org.apache.wicket.ajax.AjaxReques
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.behavior.AbstractBehavior;
-import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.IHeaderResponse;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.model.IModel;
@@ -65,12 +65,6 @@ public abstract class BaseTree extends A
public BaseTree(String id, IModel<TreeModel> model)
{
super(id, model);
-
- ResourceReference css = getCSS();
- if (css != null)
- {
- add(HeaderContributor.forCss(css));
- }
}
// default stylesheet resource
@@ -509,5 +503,17 @@ public abstract class BaseTree extends A
return false;
}
+ @Override
+ public void renderHead(IHeaderResponse response)
+ {
+ super.renderHead(response);
+ ResourceReference css = getCSS();
+ if (css != null)
+ {
+ response.renderCSSReference(css);
+ }
+
+ }
+
private LinkType linkType = LinkType.AJAX;
}
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage2_ajax_expected.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage2_ajax_expected.html?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage2_ajax_expected.html (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage2_ajax_expected.html Fri Aug 13 07:17:16 2010
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?><ajax-response><evaluate><![CDATA[prepend();]]></evaluate><header-contribution><![CDATA[<head xmlns:wicket="http://wicket.apache.org">
<link href="../test"/>
-<script type="text/javascript" src="javascripturl"></script>
+<script type="text/javascript" src="../javascripturl"></script>
</head>]]></header-contribution><component id="test11" ><![CDATA[<span wicket:id="test1" id="test11"><wicket:panel>
test
</wicket:panel></span>]]></component><component id="test22" ><![CDATA[<span wicket:id="test2" id="test22"><wicket:panel>
@@ -9,7 +9,7 @@ test
test
</wicket:panel></span>]]></component><header-contribution><![CDATA[<head xmlns:wicket="http://wicket.apache.org">
<link href="../test2"/>
-<script type="text/javascript" src="javascripturlB"></script>
+<script type="text/javascript" src="../javascripturlB"></script>
</head>]]></header-contribution><component id="btest14" ><![CDATA[<span wicket:id="btest1" id="btest14"><wicket:panel>
test
</wicket:panel></span>]]></component><component id="btest25" ><![CDATA[<span wicket:id="btest2" id="btest25"><wicket:panel>
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage2_expected.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage2_expected.html?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage2_expected.html (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage2_expected.html Fri Aug 13 07:17:16 2010
@@ -1,7 +1,7 @@
<html>
<head>
<link href="../../test"/>
-<script type="text/javascript" src="javascripturl"></script>
+<script type="text/javascript" src="../../javascripturl"></script>
<script type="text/javascript" src="../resource/org.apache.wicket.markup.html.WicketEventReference/wicket-event.js"></script>
<script type="text/javascript" ><!--/*--><![CDATA[/*><!--*/
Wicket.Event.add(window, "domready", function(event) { domReady();;});
@@ -11,7 +11,7 @@ Wicket.Event.add(window, "load", functio
/*-->]]>*/</script>
<link href="../../test2"/>
-<script type="text/javascript" src="javascripturlB"></script>
+<script type="text/javascript" src="../../javascripturlB"></script>
<script type="text/javascript" ><!--/*--><![CDATA[/*><!--*/
Wicket.Event.add(window, "domready", function(event) { domReadyB();;});
/*-->]]>*/</script>
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage_ajax_expected.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage_ajax_expected.html?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage_ajax_expected.html (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage_ajax_expected.html Fri Aug 13 07:17:16 2010
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?><ajax-response><evaluate><![CDATA[prepend();]]></evaluate><header-contribution><![CDATA[<head xmlns:wicket="http://wicket.apache.org">
<link href="../test"/>
-<script type="text/javascript" src="javascripturl"></script>
+<script type="text/javascript" src="../javascripturl"></script>
</head>]]></header-contribution><component id="test11" ><![CDATA[<span wicket:id="test1" id="test11"><wicket:panel>
test
</wicket:panel></span>]]></component><component id="test22" ><![CDATA[<span wicket:id="test2" id="test22"><wicket:panel>
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage_expected.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage_expected.html?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage_expected.html (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage_expected.html Fri Aug 13 07:17:16 2010
@@ -1,7 +1,7 @@
<html>
<head>
<link href="../../test"/>
-<script type="text/javascript" src="javascripturl"></script>
+<script type="text/javascript" src="../../javascripturl"></script>
<script type="text/javascript" src="../resource/org.apache.wicket.markup.html.WicketEventReference/wicket-event.js"></script>
<script type="text/javascript" ><!--/*--><![CDATA[/*><!--*/
Wicket.Event.add(window, "domready", function(event) { domReady();;});
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxPostprocessingCallDecoratorTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxPostprocessingCallDecoratorTest.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxPostprocessingCallDecoratorTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxPostprocessingCallDecoratorTest.java Fri Aug 13 07:17:16 2010
@@ -19,6 +19,7 @@ package org.apache.wicket.ajax;
import junit.framework.Assert;
import junit.framework.TestCase;
+import org.apache.wicket.Component;
import org.apache.wicket.ajax.calldecorator.AjaxPostprocessingCallDecorator;
/**
@@ -37,17 +38,17 @@ public class AjaxPostprocessingCallDecor
{
private static final long serialVersionUID = 1L;
- public CharSequence decorateScript(CharSequence script)
+ public CharSequence decorateScript(Component component, CharSequence script)
{
return "^" + script;
}
- public CharSequence decorateOnSuccessScript(CharSequence script)
+ public CharSequence decorateOnSuccessScript(Component component, CharSequence script)
{
return "^s" + script;
}
- public CharSequence decorateOnFailureScript(CharSequence script)
+ public CharSequence decorateOnFailureScript(Component component, CharSequence script)
{
return "^f" + script;
}
@@ -57,21 +58,21 @@ public class AjaxPostprocessingCallDecor
private static final long serialVersionUID = 1L;
@Override
- public CharSequence postDecorateScript(CharSequence script)
+ public CharSequence postDecorateScript(Component component, CharSequence script)
{
- return "-" + super.postDecorateScript(script);
+ return "-" + super.postDecorateScript(component, script);
}
@Override
- public CharSequence postDecorateOnSuccessScript(CharSequence script)
+ public CharSequence postDecorateOnSuccessScript(Component component, CharSequence script)
{
- return "-s" + super.postDecorateOnSuccessScript(script);
+ return "-s" + super.postDecorateOnSuccessScript(component, script);
}
@Override
- public CharSequence postDecorateOnFailureScript(CharSequence script)
+ public CharSequence postDecorateOnFailureScript(Component component, CharSequence script)
{
- return "-f" + super.postDecorateOnFailureScript(script);
+ return "-f" + super.postDecorateOnFailureScript(component, script);
}
};
}
@@ -79,18 +80,18 @@ public class AjaxPostprocessingCallDecor
/** test script */
public void testDecorateScript()
{
- Assert.assertEquals("-^.", decorator.decorateScript("."));
+ Assert.assertEquals("-^.", decorator.decorateScript(null, "."));
}
/** test script */
public void testDecorateOnSuccessScript()
{
- Assert.assertEquals("-s^s.", decorator.decorateOnSuccessScript("."));
+ Assert.assertEquals("-s^s.", decorator.decorateOnSuccessScript(null, "."));
}
/** test script */
public void testDecorateOnFailureScript()
{
- Assert.assertEquals("-f^f.", decorator.decorateOnFailureScript("."));
+ Assert.assertEquals("-f^f.", decorator.decorateOnFailureScript(null, "."));
}
}
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxPreprocessingCallDecoratorTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxPreprocessingCallDecoratorTest.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxPreprocessingCallDecoratorTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxPreprocessingCallDecoratorTest.java Fri Aug 13 07:17:16 2010
@@ -19,6 +19,7 @@ package org.apache.wicket.ajax;
import junit.framework.Assert;
import junit.framework.TestCase;
+import org.apache.wicket.Component;
import org.apache.wicket.ajax.calldecorator.AjaxPreprocessingCallDecorator;
/**
@@ -37,17 +38,17 @@ public class AjaxPreprocessingCallDecora
{
private static final long serialVersionUID = 1L;
- public CharSequence decorateScript(CharSequence script)
+ public CharSequence decorateScript(Component c, CharSequence script)
{
return "^" + script;
}
- public CharSequence decorateOnSuccessScript(CharSequence script)
+ public CharSequence decorateOnSuccessScript(Component c, CharSequence script)
{
return "^s" + script;
}
- public CharSequence decorateOnFailureScript(CharSequence script)
+ public CharSequence decorateOnFailureScript(Component c, CharSequence script)
{
return "^f" + script;
}
@@ -79,18 +80,18 @@ public class AjaxPreprocessingCallDecora
/** test decorator */
public void testDecorateScript()
{
- Assert.assertEquals("^-.", decorator.decorateScript("."));
+ Assert.assertEquals("^-.", decorator.decorateScript(null, "."));
}
/** test decorator */
public void testDecorateOnSuccessScript()
{
- Assert.assertEquals("^s-s.", decorator.decorateOnSuccessScript("."));
+ Assert.assertEquals("^s-s.", decorator.decorateOnSuccessScript(null, "."));
}
/** test decorator */
public void testDecorateOnFailureScript()
{
- Assert.assertEquals("^f-f.", decorator.decorateOnFailureScript("."));
+ Assert.assertEquals("^f-f.", decorator.decorateOnFailureScript(null, "."));
}
}
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/MockComponent3.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/MockComponent3.java?rev=985109&r1=985108&r2=985109&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/MockComponent3.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/MockComponent3.java Fri Aug 13 07:17:16 2010
@@ -16,7 +16,6 @@
*/
package org.apache.wicket.ajax;
-import org.apache.wicket.markup.html.IHeaderContributor;
import org.apache.wicket.markup.html.IHeaderResponse;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.request.resource.PackageResourceReference;
@@ -24,7 +23,7 @@ import org.apache.wicket.request.resourc
/**
*
*/
-public class MockComponent3 extends Panel implements IHeaderContributor
+public class MockComponent3 extends Panel
{
private static final long serialVersionUID = 1L;
@@ -39,6 +38,7 @@ public class MockComponent3 extends Pane
super(id);
}
+ @Override
public void renderHead(IHeaderResponse response)
{
response.renderCSSReference(new PackageResourceReference(MockComponent3.class,