Author: jcompagner
Date: Sat Nov  3 18:15:32 2007
New Revision: 591717

URL: http://svn.apache.org/viewvc?rev=591717&view=rev
Log:
moved the session.bind to page.onBeforeRender from component

Modified:
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Page.java

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java?rev=591717&r1=591716&r2=591717&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java 
(original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java 
Sat Nov  3 18:15:32 2007
@@ -428,7 +428,7 @@
                public String toString()
                {
                        return "VisibilityChange[component: " + 
component.getPath() + ", visible: " + visible +
-                                       "]";
+                               "]";
                }
 
                /**
@@ -640,7 +640,7 @@
 
        /** Component flags. See FLAG_* for possible non-exclusive flag values. 
*/
        private int flags = FLAG_VISIBLE | FLAG_ESCAPE_MODEL_STRINGS | 
FLAG_VERSIONED | FLAG_ENABLED |
-                       FLAG_IS_RENDER_ALLOWED;
+               FLAG_IS_RENDER_ALLOWED;
 
        /** Component id. */
        private String id;
@@ -868,7 +868,7 @@
                if (debugSettings.isLinePreciseReportingOnNewComponentEnabled())
                {
                        setMetaData(CONSTRUCTED_AT_KEY, Strings.toString(this, 
new MarkupException(
-                                       "constructed")));
+                               "constructed")));
                }
        }
 
@@ -969,9 +969,9 @@
                        if (getFlag(FLAG_AFTER_RENDERING))
                        {
                                throw new 
IllegalStateException(Component.class.getName() +
-                                               " has not been properly 
detached. Something in the hierarchy of " +
-                                               getClass().getName() +
-                                               " has not called 
super.onAfterRender() in the override of onAfterRender() method");
+                                       " has not been properly detached. 
Something in the hierarchy of " +
+                                       getClass().getName() +
+                                       " has not called super.onAfterRender() 
in the override of onAfterRender() method");
                        }
                        // always detach children because components can be 
attached
                        // independently of their parents
@@ -995,9 +995,9 @@
                        if (!getFlag(FLAG_BEFORE_RENDERING_SUPER_CALL_VERIFIED))
                        {
                                throw new 
IllegalStateException(Component.class.getName() +
-                                               " has not been properly 
rendered. Something in the hierarchy of " +
-                                               getClass().getName() +
-                                               " has not called 
super.onBeforeRender() in the override of onBeforeRender() method");
+                                       " has not been properly rendered. 
Something in the hierarchy of " +
+                                       getClass().getName() +
+                                       " has not called super.onBeforeRender() 
in the override of onBeforeRender() method");
                        }
                }
        }
@@ -1036,14 +1036,6 @@
                        }
                        feedbacks.add(this);
                }
-
-               // If any of the components on page is not stateless, we need 
to bind the session
-               // before we start rendering components, as then jsessionid 
won't be appended
-               // for links rendered before first stateful component
-               if (!isStateless() && getSession().isTemporary())
-               {
-                       getSession().bind();
-               }
        }
 
        /**
@@ -1082,9 +1074,9 @@
                if (getFlag(FLAG_DETACHING))
                {
                        throw new 
IllegalStateException(Component.class.getName() +
-                                       " has not been properly detached. 
Something in the hierarchy of " +
-                                       getClass().getName() +
-                                       " has not called super.onDetach() in 
the override of onDetach() method");
+                               " has not been properly detached. Something in 
the hierarchy of " +
+                               getClass().getName() +
+                               " has not called super.onDetach() in the 
override of onDetach() method");
                }
                setFlag(FLAG_ATTACHED, false);
 
@@ -1384,9 +1376,9 @@
                if (page == null)
                {
                        throw new WicketRuntimeException(
-                                       "This component is not (yet) coupled to 
a page. It has to be able "
-                                                       + "to find the page it 
is supposed to operate in before you can call "
-                                                       + "this method 
(Component#getMarkupId)");
+                               "This component is not (yet) coupled to a page. 
It has to be able "
+                                       + "to find the page it is supposed to 
operate in before you can call "
+                                       + "this method 
(Component#getMarkupId)");
                }
 
                return page.getAutoIndex();
@@ -1415,7 +1407,7 @@
                }
 
                final int generatedMarkupId = storedMarkupId instanceof Integer 
? ((Integer)storedMarkupId)
-                               .intValue() : nextAutoIndex();
+                       .intValue() : nextAutoIndex();
 
                if (storedMarkupId == null)
                {
@@ -2177,8 +2169,8 @@
                else
                {
                        throw new IllegalStateException(
-                                       "Tried to remove a behavior that was 
not added to the component. Behavior: " +
-                                                       behavior.toString());
+                               "Tried to remove a behavior that was not added 
to the component. Behavior: " +
+                                       behavior.toString());
                }
                return this;
        }
@@ -2389,14 +2381,13 @@
                {
                        // We were something other than <tag> or <tag/>
                        markupStream
-                                       .throwMarkupException("Method 
renderComponent called on bad markup element: " +
-                                                       tag);
+                               .throwMarkupException("Method renderComponent 
called on bad markup element: " + tag);
                }
 
                if (tag.isOpenClose() && openTag.isOpen())
                {
                        markupStream
-                                       .throwMarkupException("You can not 
modify a open tag to open-close: " + tag);
+                               .throwMarkupException("You can not modify a 
open tag to open-close: " + tag);
                }
 
                try
@@ -2431,7 +2422,7 @@
                                        if (getRenderBodyOnly() == false)
                                        {
                                                final boolean stripWicketTags = 
Application.get().getMarkupSettings()
-                                                               
.getStripWicketTags();
+                                                       .getStripWicketTags();
                                                if (!(openTag instanceof 
WicketTag) || !stripWicketTags)
                                                {
                                                        // Close the manually 
opened panel tag.
@@ -2523,13 +2514,13 @@
                if (!getId().equals(replacement.getId()))
                {
                        throw new IllegalArgumentException(
-                                       "Replacement component must have the 
same id as the component it will replace. Replacement id [[" +
-                                                       replacement.getId() + 
"]], replaced id [[" + getId() + "]].");
+                               "Replacement component must have the same id as 
the component it will replace. Replacement id [[" +
+                                       replacement.getId() + "]], replaced id 
[[" + getId() + "]].");
                }
                if (parent == null)
                {
                        throw new IllegalStateException(
-                                       "This method can only be called on a 
component that has already been added to its parent.");
+                               "This method can only be called on a component 
that has already been added to its parent.");
                }
                parent.replace(replacement);
        }
@@ -2801,8 +2792,7 @@
                if (model == null)
                {
                        throw new IllegalStateException(
-                                       "Attempt to set model object on null 
model of component: " +
-                                                       getPageRelativePath());
+                               "Attempt to set model object on null model of 
component: " + getPageRelativePath());
                }
 
                // Check authorization
@@ -2994,16 +2984,16 @@
                        if (page == null)
                        {
                                return new StringBuffer("[Component id = 
").append(getId()).append(
-                                               ", page = <No Page>, path = 
").append(getPath()).append(".").append(
-                                               
Classes.simpleName(getClass())).append("]").toString();
+                                       ", page = <No Page>, path = 
").append(getPath()).append(".").append(
+                                       
Classes.simpleName(getClass())).append("]").toString();
                        }
                        else
                        {
                                return new StringBuffer("[Component id = 
").append(getId()).append(", page = ")
-                                               
.append(getPage().getClass().getName()).append(", path = ").append(
-                                                               
getPath()).append(".").append(Classes.simpleName(getClass()))
-                                               .append(", isVisible = 
").append((isRenderAllowed() && isVisible()))
-                                               .append(", isVersioned = 
").append(isVersioned()).append("]").toString();
+                                       
.append(getPage().getClass().getName()).append(", path = ").append(getPath())
+                                       
.append(".").append(Classes.simpleName(getClass())).append(", isVisible = ")
+                                       .append((isRenderAllowed() && 
isVisible())).append(", isVersioned = ").append(
+                                               
isVersioned()).append("]").toString();
                        }
                }
                else
@@ -3041,7 +3031,7 @@
         * @return The URL
         */
        public final CharSequence urlFor(final IBehavior behaviour,
-                       final RequestListenerInterface listener)
+               final RequestListenerInterface listener)
        {
                return getRequestCycle().urlFor(this, behaviour, listener);
        }
@@ -3064,7 +3054,7 @@
         * @return Bookmarkable URL to page
         */
        public final CharSequence urlFor(final IPageMap pageMap, final Class 
pageClass,
-                       final PageParameters parameters)
+               final PageParameters parameters)
        {
                return getRequestCycle().urlFor(pageMap, pageClass, parameters);
        }
@@ -3228,8 +3218,8 @@
                if (!tag.getName().equalsIgnoreCase(name))
                {
                        findMarkupStream().throwMarkupException(
-                                       "Component " + getId() + " must be 
applied to a tag of type '" + name +
-                                                       "', not " + 
tag.toUserDebugString());
+                               "Component " + getId() + " must be applied to a 
tag of type '" + name + "', not " +
+                                       tag.toUserDebugString());
                }
        }
 
@@ -3246,7 +3236,7 @@
         *             Thrown if the tag does not have the required attribute 
value
         */
        protected final void checkComponentTagAttribute(final ComponentTag tag, 
final String key,
-                       final String value)
+               final String value)
        {
                if (key != null)
                {
@@ -3254,9 +3244,8 @@
                        if (tagAttributeValue == null || 
!value.equalsIgnoreCase(tagAttributeValue))
                        {
                                findMarkupStream().throwMarkupException(
-                                               "Component " + getId() + " must 
be applied to a tag with '" + key +
-                                                               "' attribute 
matching '" + value + "', not '" + tagAttributeValue +
-                                                               "'");
+                                       "Component " + getId() + " must be 
applied to a tag with '" + key +
+                                               "' attribute matching '" + 
value + "', not '" + tagAttributeValue + "'");
                        }
                }
        }
@@ -3274,7 +3263,7 @@
                if (!component.isAuto() && getFlag(FLAG_RENDERING))
                {
                        throw new WicketRuntimeException(
-                                       "Cannot modify component hierarchy 
during render phase");
+                               "Cannot modify component hierarchy during 
render phase");
                }
        }
 
@@ -3319,7 +3308,7 @@
                if (parent == null)
                {
                        throw new IllegalStateException("Cannot find 
markupstream for " + this +
-                                       " as there is no parent");
+                               " as there is no parent");
                }
 
                return parent.findMarkupStream();
@@ -3535,7 +3524,7 @@
        {
                // Ignore AttributeModifiers when 
FLAG_IGNORE_ATTRIBUTE_MODIFIER is set
                if ((behavior instanceof AttributeModifier) &&
-                               (getFlag(FLAG_IGNORE_ATTRIBUTE_MODIFIER) != 
false))
+                       (getFlag(FLAG_IGNORE_ATTRIBUTE_MODIFIER) != false))
                {
                        return false;
                }
@@ -3703,7 +3692,7 @@
                        // Apply behavior modifiers
                        List behaviors = getBehaviorsImpl();
                        if ((behaviors != null) && !behaviors.isEmpty() && 
!tag.isClose() &&
-                                       (isIgnoreAttributeModifier() == false))
+                               (isIgnoreAttributeModifier() == false))
                        {
                                tag = tag.mutable();
 
@@ -3732,8 +3721,8 @@
 
                        // Write the tag
                        tag
-                                       .writeOutput(getResponse(), 
stripWicketTags, findMarkupStream()
-                                                       .getWicketNamespace());
+                               .writeOutput(getResponse(), stripWicketTags, 
findMarkupStream()
+                                       .getWicketNamespace());
                }
        }
 
@@ -3748,7 +3737,7 @@
         *            The new markup
         */
        protected final void replaceComponentTagBody(final MarkupStream 
markupStream,
-                       final ComponentTag tag, final CharSequence body)
+               final ComponentTag tag, final CharSequence body)
        {
                // The tag might have been changed from open-close to open. 
Hence
                // we'll need what was in the markup itself
@@ -3787,8 +3776,8 @@
                        {
                                // There must be a component in this discarded 
body
                                markupStream.throwMarkupException("Expected 
close tag for '" + markupOpenTag +
-                                               "' Possible attempt to embed 
component(s) '" + markupStream.get() +
-                                               "' in the body of this 
component which discards its body");
+                                       "' Possible attempt to embed 
component(s) '" + markupStream.get() +
+                                       "' in the body of this component which 
discards its body");
                        }
                }
        }
@@ -3902,8 +3891,8 @@
                        return this;
                }
                throw new IllegalArgumentException(
-                               exceptionMessage("Component is not a container 
and so does " +
-                                               "not contain the path " + 
path));
+                       exceptionMessage("Component is not a container and so 
does " + "not contain the path " +
+                               path));
        }
 
        /**
@@ -3969,7 +3958,7 @@
         *            if true, the tag will not be written to the output
         */
        final void renderClosingComponentTag(final MarkupStream markupStream,
-                       final ComponentTag openTag, final boolean renderTagOnly)
+               final ComponentTag openTag, final boolean renderTagOnly)
        {
                // Tag should be open tag and not openclose tag
                if (openTag.isOpen())

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Page.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Page.java?rev=591717&r1=591716&r2=591717&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Page.java 
(original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Page.java Sat 
Nov  3 18:15:32 2007
@@ -145,7 +145,7 @@
                 * 
                 */
                public Page deserializePage(int id, String name, Page page, 
ObjectInputStream stream)
-                               throws IOException, ClassNotFoundException;
+                       throws IOException, ClassNotFoundException;
 
                /**
                 * Called from the [EMAIL PROTECTED] 
Page#writeObject(java.io.ObjectOutputStream)} method.
@@ -313,7 +313,7 @@
         * The [EMAIL PROTECTED] PageParameters} object that was used to 
construct this page. This will be used in
         * creating stateless/bookmarkable links to this page
         * 
-        * @return
+        * @return [EMAIL PROTECTED] PageParameters} The construction page 
parameter
         */
        public PageParameters getPageParameters()
        {
@@ -336,7 +336,7 @@
        // that forwards to IAuthorizationStrategy for RequestListenerInterface
        // invocations.
        public void afterCallComponent(final Component component,
-                       final RequestListenerInterface listener)
+               final RequestListenerInterface listener)
        {
        }
 
@@ -357,7 +357,7 @@
        // that forwards to IAuthorizationStrategy for RequestListenerInterface
        // invocations.
        public void beforeCallComponent(final Component component,
-                       final RequestListenerInterface listener)
+               final RequestListenerInterface listener)
        {
        }
 
@@ -379,7 +379,7 @@
                        if (renderedComponents.add(component) == false)
                        {
                                throw new MarkupException("The component " + 
component +
-                                               " has the same wicket:id as 
another component already added at the same level");
+                                       " has the same wicket:id as another 
component already added at the same level");
                        }
                        if (log.isDebugEnabled())
                        {
@@ -535,7 +535,7 @@
        }
 
        /**
-        * @return
+        * @return String The PageMap name
         */
        public final String getPageMapName()
        {
@@ -584,7 +584,7 @@
                        else
                        {
                                log.info("No version manager available to 
retrieve requested versionNumber " +
-                                               versionNumber);
+                                       versionNumber);
                                return null;
                        }
                }
@@ -613,7 +613,7 @@
 
                                // If we went all the way back to the original 
page
                                if (page != null && 
page.getCurrentVersionNumber() == 0 &&
-                                               page.getAjaxVersionNumber() == 
0)
+                                       page.getAjaxVersionNumber() == 0)
                                {
                                        // remove version info
                                        page.versionManager = null;
@@ -654,7 +654,7 @@
                                        levels++;
                                }
                                buffer.append(StringValue.repeat(levels, "      
") + component.getPageRelativePath() +
-                                               ":" + 
Classes.simpleName(component.getClass()));
+                                       ":" + 
Classes.simpleName(component.getClass()));
                                return null;
                        }
                });
@@ -750,7 +750,7 @@
                        if (getStatelessHint())
                        {
                                log.warn("Page '" + this + "' is not stateless 
because it is not bookmarkable, " +
-                                               "but the stateless hint is set 
to true!");
+                                       "but the stateless hint is set to 
true!");
                        }
                }
 
@@ -782,7 +782,7 @@
                        if (!stateless.booleanValue() && getStatelessHint())
                        {
                                log.warn("Page '" + this + "' is not stateless 
because of '" + returnArray[0] +
-                                               "' but the stateless hint is 
set to true!");
+                                       "' but the stateless hint is set to 
true!");
                        }
                }
 
@@ -811,13 +811,13 @@
         *            will remain unchanged.
         */
        public final void removePersistedFormData(final Class formClass,
-                       final boolean disablePersistence)
+               final boolean disablePersistence)
        {
                // Check that formClass is an instanceof Form
                if (!Form.class.isAssignableFrom(formClass))
                {
                        throw new WicketRuntimeException("Form class " + 
formClass.getName() +
-                                       " is not a subclass of Form");
+                               " is not a subclass of Form");
                }
 
                // Visit all children which are an instance of formClass
@@ -964,8 +964,8 @@
                if (value && !isBookmarkable())
                {
                        throw new WicketRuntimeException(
-                                       "Can't set stateless hint to true on a 
page when the page is not bookmarkable, page: " +
-                                                       this);
+                               "Can't set stateless hint to true on a page 
when the page is not bookmarkable, page: " +
+                                       this);
                }
                setFlag(FLAG_STATELESS_HINT, value);
        }
@@ -993,13 +993,13 @@
                if (versionManager != null)
                {
                        return "[Page class = " + getClass().getName() + ", id 
= " + getId() + ", version = " +
-                                       
versionManager.getCurrentVersionNumber() + ", ajax = " +
-                                       versionManager.getAjaxVersionNumber() + 
"]";
+                               versionManager.getCurrentVersionNumber() + ", 
ajax = " +
+                               versionManager.getAjaxVersionNumber() + "]";
                }
                else
                {
                        return "[Page class = " + getClass().getName() + ", id 
= " + getId() + ", version = " +
-                                       0 + "]";
+                               0 + "]";
                }
        }
 
@@ -1034,9 +1034,8 @@
 
                                                        // Add to explanatory 
string to buffer
                                                        
buffer.append(Integer.toString(unrenderedComponents.size()) + ". " +
-                                                                       
component + "\n");
-                                                       String metadata = 
(String)component
-                                                                       
.getMetaData(Component.CONSTRUCTED_AT_KEY);
+                                                               component + 
"\n");
+                                                       String metadata = 
(String)component.getMetaData(Component.CONSTRUCTED_AT_KEY);
                                                        if (metadata != null)
                                                        {
                                                                
buffer.append(metadata);
@@ -1077,15 +1076,13 @@
                                        {
                                                Component sibling = 
(Component)iterator2.next();
                                                if (!sibling.isVisible() && 
sibling instanceof MarkupContainer &&
-                                                               
((MarkupContainer)sibling).isTransparentResolver())
+                                                       
((MarkupContainer)sibling).isTransparentResolver())
                                                {
                                                        // we found a 
transparent container that isn't visible
                                                        // then ignore this 
component and only do a debug statement here.
-                                                       log
-                                                                       
.warn("Component " +
-                                                                               
        component +
-                                                                               
        " wasn't rendered but most likely it has a transparent parent: " +
-                                                                               
        sibling);
+                                                       log.warn("Component " + 
component +
+                                                               " wasn't 
rendered but most likely it has a transparent parent: " +
+                                                               sibling);
                                                        iterator.remove();
                                                        break;
                                                }
@@ -1096,8 +1093,8 @@
                                {
                                        // Throw exception
                                        throw new WicketRuntimeException(
-                                                       "The component(s) below 
failed to render. A common problem is that you have added a component in code 
but forgot to reference it in the markup (thus the component will never be 
rendered).\n\n" +
-                                                                       
buffer.toString());
+                                               "The component(s) below failed 
to render. A common problem is that you have added a component in code but 
forgot to reference it in the markup (thus the component will never be 
rendered).\n\n" +
+                                                       buffer.toString());
                                }
                        }
                }
@@ -1206,7 +1203,7 @@
                // Auto components do not participate in versioning since they 
are
                // added during the rendering phase (which is normally illegal).
                if (component.isAuto() || (parent == null && 
!component.isVersioned()) ||
-                               (parent != null && !parent.isVersioned()))
+                       (parent != null && !parent.isVersioned()))
                {
                        return false;
                }
@@ -1332,7 +1329,7 @@
                // Write out an xml declaration if the markup stream and 
settings allow
                final MarkupStream markupStream = findMarkupStream();
                if ((markupStream != null) && (markupStream.getXmlDeclaration() 
!= null) &&
-                               
(application.getMarkupSettings().getStripXmlDeclarationFromOutput() == false))
+                       
(application.getMarkupSettings().getStripXmlDeclarationFromOutput() == false))
                {
                        response.write("<?xml version='1.0' encoding='");
                        response.write(encoding);
@@ -1378,6 +1375,27 @@
                setPageMap(map);
 
                setNextAvailableId();
+       }
+
+       /**
+        * @return Factory method that creates a version manager for this Page
+        * @deprecated TODO Remove in 1.4
+        */
+       protected final IPageVersionManager newVersionManager()
+       {
+               return null;
+       }
+
+       protected void onBeforeRender()
+       {
+               super.onBeforeRender();
+               // If any of the components on page is not stateless, we need 
to bind the session
+               // before we start rendering components, as then jsessionid 
won't be appended
+               // for links rendered before first stateful component
+               if (getSession().isTemporary() && !isPageStateless())
+               {
+                       getSession().bind();
+               }
        }
 
        /**


Reply via email to