svn commit: r1149339 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java
Author: jdonnerstag Date: Thu Jul 21 20:08:28 2011 New Revision: 1149339 URL: http://svn.apache.org/viewvc?rev=1149339view=rev Log: fixed: in development mode Wicket stops picking up markup changes Issue: WICKET-3891 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java?rev=1149339r1=1149338r2=1149339view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java Thu Jul 21 20:08:28 2011 @@ -194,23 +194,29 @@ public class MarkupCache implements IMar { Markup markup = iter.next(); - // Check if the markup associated with key has a base markup. And if yes, test - // if that is cached. If the base markup has been removed, than remove the derived - // markup as well. - - MarkupResourceStream resourceStream = markup.getMarkupResourceStream() - .getBaseMarkupResourceStream(); - - // Is the base markup available in the cache? - if ((resourceStream != null) !isMarkupCached(resourceStream)) + if ((markup != null) (markup != Markup.NO_MARKUP)) { - iter.remove(); - count++; + // Check if the markup associated with key has a base markup. And if yes, test + // if that is cached. If the base markup has been removed, than remove the + // derived markup as well. + + MarkupResourceStream resourceStream = markup.getMarkupResourceStream(); + if (resourceStream != null) + { + resourceStream = resourceStream.getBaseMarkupResourceStream(); + } - if (log.isDebugEnabled()) + // Is the base markup available in the cache? + if ((resourceStream != null) !isMarkupCached(resourceStream)) { - log.debug(Removed derived markup from cache: + - markup.getMarkupResourceStream()); + iter.remove(); + count++; + + if (log.isDebugEnabled()) + { + log.debug(Removed derived markup from cache: + + markup.getMarkupResourceStream()); + } } } }
svn commit: r1144622 - in /wicket/branches/wicket-1.4.x/wicket/src: main/java/org/apache/wicket/markup/html/internal/ test/java/org/apache/wicket/markup/html/internal/
Author: jdonnerstag Date: Sat Jul 9 09:28:19 2011 New Revision: 1144622 URL: http://svn.apache.org/viewvc?rev=1144622view=rev Log: fixed: The wicket:enclosure attribute doesn't work properly Issue: WICKET-3842 Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/internal/InlineEnclosure.java wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/internal/InlineEnclosure.java URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/internal/InlineEnclosure.java?rev=1144622r1=1144621r2=1144622view=diff == --- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/internal/InlineEnclosure.java (original) +++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/internal/InlineEnclosure.java Sat Jul 9 09:28:19 2011 @@ -69,6 +69,14 @@ public class InlineEnclosure extends Enc } @Override + public boolean isVisible() + { + updateVisibility(); + + return super.isVisible(); + } + + @Override protected void onAfterRenderChildren() { if (children == null) @@ -107,6 +115,12 @@ public class InlineEnclosure extends Enc public boolean updateVisibility() { Component child = getChildComponent(); + if (child == null) + { + throw new WicketRuntimeException(Could not find child with id: + childId + +in the wicket:enclosure); + } + boolean visible = child.isVisible(); setVisible(visible); return visible; Modified: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java?rev=1144622r1=1144621r2=1144622view=diff == --- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java (original) +++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java Sat Jul 9 09:28:19 2011 @@ -28,6 +28,7 @@ import org.apache.wicket.markup.html.Web import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.CheckBox; +import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.protocol.http.WebApplication; import org.apache.wicket.resource.DummyApplication; import org.apache.wicket.util.diff.DiffUtil; @@ -339,6 +340,9 @@ public class EnclosureTest extends Wicke executeTest(EnclosurePage_11.class, EnclosurePageExpectedResult_11.html); } + /** +* +*/ public void testBadEnclosure1() { class TestPage extends WebPage implements IMarkupResourceStreamProvider @@ -366,4 +370,48 @@ public class EnclosureTest extends Wicke assertTrue(e.getMessage().startsWith(Could not find child)); } } + + /** +* +*/ + public void testAttribute() + { + class TestPage extends WebPage implements IMarkupResourceStreamProvider + { + public TestPage() + { + final Label l = new Label(msg, $label$); + add(l); + add(new LinkVoid(b) + { + private static final long serialVersionUID = 1L; + + @Override + public void onClick() + { + l.setVisible(!l.isVisible()); + } + }); + } + + public IResourceStream getMarkupResourceStream(MarkupContainer container, + Class? containerClass) + { + return new StringResourceStream( + htmlbodydiv wicket:enclosure='msg'span wicket:id='msg'/span/divinput type='button' value='Toggle' wicket:id='b'/body/html
svn commit: r1144623 - in /wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form: AutoLabelResolver.java AutoLabelTagHandler.java Form.java
Author: jdonnerstag Date: Sat Jul 9 09:29:08 2011 New Revision: 1144623 URL: http://svn.apache.org/viewvc?rev=1144623view=rev Log: added apache header Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTagHandler.java wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java?rev=1144623r1=1144622r2=1144623view=diff == --- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java (original) +++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java Sat Jul 9 09:29:08 2011 @@ -1,3 +1,19 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.apache.wicket.markup.html.form; import org.apache.wicket.Component; @@ -68,6 +84,8 @@ import org.slf4j.LoggerFactory; */ public class AutoLabelResolver implements IComponentResolver { + private static final long serialVersionUID = 1L; + private static Logger logger = LoggerFactory.getLogger(AutoLabelResolver.class); public boolean resolve(MarkupContainer container, MarkupStream markupStream, ComponentTag tag) @@ -164,6 +182,8 @@ public class AutoLabelResolver implement */ protected static class AutoLabel extends WebMarkupContainer { + private static final long serialVersionUID = 1L; + private final FormComponent? fc; public AutoLabel(String id, FormComponent? fc) @@ -240,7 +260,7 @@ public class AutoLabelResolver implement * the {@code span class='text'/span} tag * * @param markup -* @return +* @return start und end index of text in the label */ protected int[] findLabelTextRange(AppendingStringBuffer markup) { Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTagHandler.java URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTagHandler.java?rev=1144623r1=1144622r2=1144623view=diff == --- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTagHandler.java (original) +++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTagHandler.java Sat Jul 9 09:29:08 2011 @@ -1,3 +1,19 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.apache.wicket.markup.html.form; import java.text.ParseException; Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java?rev=1144623r1=1144622r2=1144623view=diff
svn commit: r1144624 - in /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form: AutoLabelResolver.java AutoLabelTagHandler.java
Author: jdonnerstag Date: Sat Jul 9 09:49:44 2011 New Revision: 1144624 URL: http://svn.apache.org/viewvc?rev=1144624view=rev Log: Added Apache License Header to wicket:for classes Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTagHandler.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java?rev=1144624r1=1144623r2=1144624view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java Sat Jul 9 09:49:44 2011 @@ -1,3 +1,19 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.apache.wicket.markup.html.form; import org.apache.wicket.Component; @@ -68,24 +84,29 @@ import org.slf4j.LoggerFactory; */ public class AutoLabelResolver implements IComponentResolver { + private static final long serialVersionUID = 1L; + private static Logger logger = LoggerFactory.getLogger(AutoLabelResolver.class); - public Component resolve(MarkupContainer container, MarkupStream markupStream, ComponentTag tag) + static final String WICKET_FOR = wicket:for; + + public Component resolve(final MarkupContainer container, final MarkupStream markupStream, + final ComponentTag tag) { if (!AutoLabelTagHandler.class.getName().equals(tag.getId())) { return null; } - final String id = tag.getAttribute(wicket:for).trim(); + final String id = tag.getAttribute(WICKET_FOR).trim(); FormComponent? component = findRelatedComponent(container, id); - if (component == null) { throw new WicketRuntimeException(Could not find form component with id: + id + while trying to resolve wicket:for attribute); } + if (!(component instanceof FormComponent?)) { throw new WicketRuntimeException(Component pointed to by wicket:for attribute: + id + @@ -102,11 +123,17 @@ public class AutoLabelResolver implement component.toString(false)); } } - final FormComponent? fc = component; + FormComponent? fc = component; return new AutoLabel(label + container.getPage().getAutoIndex(), fc); } + /** +* +* @param container +* @param id +* @return FormComponent +*/ protected FormComponent? findRelatedComponent(MarkupContainer container, final String id) { // try the quick and easy route first @@ -162,6 +189,11 @@ public class AutoLabelResolver implement */ protected static class AutoLabel extends WebMarkupContainer { + private static final long serialVersionUID = 1L; + + private static final String WICKET_UNKNOWN = wicket:unknown; + private static final String CLASS = class; + private final FormComponent? fc; public AutoLabel(String id, FormComponent? fc) @@ -171,22 +203,23 @@ public class AutoLabelResolver implement } @Override - protected void onComponentTag(ComponentTag tag) + protected void onComponentTag(final ComponentTag tag) { super.onComponentTag(tag); + tag.put(for, fc.getMarkupId()); if (fc.isRequired()) { - tag.append(class, required
svn commit: r1144421 - /wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java
Author: jdonnerstag Date: Fri Jul 8 18:51:55 2011 New Revision: 1144421 URL: http://svn.apache.org/viewvc?rev=1144421view=rev Log: additional test case: When base markup file has been removed from the cache, the the derived markup should be removed as well Issue: WICKET-3878 Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java?rev=1144421r1=1144420r2=1144421view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java Fri Jul 8 18:51:55 2011 @@ -16,6 +16,7 @@ */ package org.apache.wicket.markup; +import org.apache.wicket.Application; import org.apache.wicket.MarkupContainer; import org.apache.wicket.WicketTestCase; import org.apache.wicket.markup.html.panel.Panel; @@ -35,6 +36,15 @@ public class MarkupCacheTest extends Wic super.setUp(); cache = new MarkupCache(); + Application.get().getMarkupSettings().setMarkupFactory(new MarkupFactory() + { + @Override + public IMarkupCache getMarkupCache() + { + return cache; + } + }); + component = new MarkupCachingAssumingComponent(panel); tester.startComponent(component); } @@ -51,6 +61,25 @@ public class MarkupCacheTest extends Wic assertNull(markup); } + /** +* testRemoveMarkupWhereBaseMarkupIsNoLongerInTheCache() +*/ + public void testRemoveMarkupWhereBaseMarkupIsNoLongerInTheCache() + { + tester.startPage(MarkupInheritanceExtension_1.class); + tester.assertRenderedPage(MarkupInheritanceExtension_1.class); + MarkupInheritanceExtension_1 page = (MarkupInheritanceExtension_1)tester.getLastRenderedPage(); + + IMarkupFragment markup = cache.getMarkup(page, null, false); + assertNotNull(markup); + + String key = markup.getMarkupResourceStream().getBaseMarkupResourceStream().getCacheKey(); + cache.removeMarkup(key); + + markup = cache.getMarkupFromCache(markup.getMarkupResourceStream().getCacheKey(), page); + assertNull(markup); + } + private static class MarkupCachingAssumingComponent extends Panel implements IMarkupResourceStreamProvider
svn commit: r1144511 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java test/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorTes
Author: jdonnerstag Date: Fri Jul 8 21:02:23 2011 New Revision: 1144511 URL: http://svn.apache.org/viewvc?rev=1144511view=rev Log: fixed childFirst issue in visitChildren and friends require inner classes. Replace with iterators Issue: WICKET-3789 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorTest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java?rev=1144511r1=1144510r2=1144511view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java Fri Jul 8 21:02:23 2011 @@ -80,6 +80,16 @@ public abstract class AbstractHierarchyI /** * +* @param childFirst +*If true, than children are visited before their parent is. +*/ + public final void setChildFirst(final boolean childFirst) + { + this.childFirst = childFirst; + } + + /** +* * @param node * @return True, if node is a container and has at least one child. */ @@ -121,7 +131,7 @@ public abstract class AbstractHierarchyI } // Do we need to traverse into the next level? - if (traverse) + if (!childFirst traverse) { // Try to find the next element if (moveDown(data.lastNode) == false) @@ -209,9 +219,6 @@ public abstract class AbstractHierarchyI // No more elements return false; } - - // We did traverse the children already - traverse = false; } // The user interested in the node? @@ -274,7 +281,7 @@ public abstract class AbstractHierarchyI data = stack.pop(); // If we are on childFirst, than it's now time to handle the parent - if (traverse) + if (childFirst) { hasNextWasLast = true; if (onFilter(data.lastNode) == true) Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorTest.java?rev=1144511r1=1144510r2=1144511view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorTest.java Fri Jul 8 21:02:23 2011 @@ -294,6 +294,40 @@ public class AbstractHierarchyIteratorTe } /** */ + @Test + public void childFirst() + { + Page page = new MyPage(); + WebComponent a; + page.add(a = new WebComponent(a)); + WebMarkupContainer b; + page.add(b = new WebMarkupContainer(b)); + WebMarkupContainer b1; + b.add(b1 = new WebMarkupContainer(b1)); + WebMarkupContainer b2; + b.add(b2 = new WebMarkupContainer(b2)); + WebMarkupContainer b12; + b1.add(b12 = new WebMarkupContainer(b12)); + WebMarkupContainer b121; + b12.add(b121 = new WebMarkupContainer(b121)); + + // Filter leaf components only + int count = 0; + String buf = ; + ComponentHierarchyIterator iter = new ComponentHierarchyIterator(page); + iter.setChildFirst(true); + while (iter.hasNext()) + { + Component component = iter.next(); + count += 1; + buf += component.getId(); + } + + assertEquals(6, count); + assertEquals(ab121b12b1b2b, buf); + } + + /** */ public static class MyPage extends WebPage { private static final long serialVersionUID = 1L;
svn commit: r1143981 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java
Author: jdonnerstag Date: Thu Jul 7 19:09:09 2011 New Revision: 1143981 URL: http://svn.apache.org/viewvc?rev=1143981view=rev Log: fixed: When base markup file has been removed from the cache, the the derived markup should be removed as well Issue: WICKET-3878 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java?rev=1143981r1=1143980r2=1143981view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java Thu Jul 7 19:09:09 2011 @@ -124,67 +124,52 @@ public class MarkupCache implements IMar if (log.isDebugEnabled()) { - log.debug(Remove from cache: cacheKey= + cacheKey); + log.debug(Remove from cache: + cacheKey); } // Remove the markup from the cache String locationString = markupKeyCache.get(cacheKey); IMarkupFragment markup = (locationString != null ? markupCache.get(locationString) : null); - if (markup != null) + if (markup == null) { - // Found an entry: actual markup or Markup.NO_MARKUP. Null values are not possible - // because of ConcurrentHashMap. - markupCache.remove(locationString); - - // If a base markup file has been removed from the cache, than - // the derived markup should be removed as well. - - // Repeat until all dependent resources have been removed (count == 0) - int count = 1; - while (count 0) - { - // Reset prior to next round - count = 0; - - // Iterate though all entries of the cache - IteratorString iter = markupCache.getKeys().iterator(); - while (iter.hasNext()) - { - String key = iter.next(); + return null; + } - // Check if the markup associated with key has a base markup. And if yes, test - // if that is cached. - if (isBaseMarkupCached(key)) - { - if (log.isDebugEnabled()) - { - log.debug(Remove from cache: cacheKey= + key); - } + // Found an entry: actual markup or Markup.NO_MARKUP. Null values are not possible + // because of ConcurrentHashMap. + markupCache.remove(locationString); - iter.remove(); - count++; - } - } - } + if (log.isDebugEnabled()) + { + log.debug(Removed from cache: + locationString); + } - // And now remove all watcher entries associated with markup - // resources no longer in the cache. Note that you can not use - // Application.get() since removeMarkup() will be called from a - // ModificationWatcher thread which has no associated Application. + // If a base markup file has been removed from the cache, than + // the derived markup should be removed as well. + removeMarkupWhereBaseMarkupIsNoLongerInTheCache(); - IModificationWatcher watcher = application.getResourceSettings().getResourceWatcher( - false); - if (watcher != null) + // And now remove all watcher entries associated with markup + // resources no longer in the cache. + + // Note that you can not use Application.get() since removeMarkup() will be called from a + // ModificationWatcher thread which has no associated Application. + + IModificationWatcher watcher = application.getResourceSettings().getResourceWatcher(false); + if (watcher != null
svn commit: r1143552 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/model/StringResourceModel.java test/java/org/apache/wicket/model/StringResourceModelTest.java test/java/org/apache/
Author: jdonnerstag Date: Wed Jul 6 20:34:11 2011 New Revision: 1143552 URL: http://svn.apache.org/viewvc?rev=1143552view=rev Log: fixed: StringResourceModel doesn't handle correctly resources containing a single quote Issue: WICKET-3873 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.properties Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java?rev=1143552r1=1143551r2=1143552view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java Wed Jul 6 20:34:11 2011 @@ -273,7 +273,7 @@ public class StringResourceModel extends * to take place on either the resource key or the actual resource strings. * p * The parameters parameter is also optional and is used for substitutions. -* +* * @param resourceKey *The resource key for this string resource * @param component @@ -468,12 +468,19 @@ public class StringResourceModel extends } } + // Escape all single quotes outside {..} + if (value.indexOf('\'') != -1) + { + value = escapeQuotes(value); + } + if (model != null) { // First escape all substitute properties so that message format doesn't try to // parse that. value = Strings.replaceAll(value, ${, $'{').toString(); } + // Apply the parameters final MessageFormat format = new MessageFormat(value, component != null ? component.getLocale() : locale); @@ -494,6 +501,39 @@ public class StringResourceModel extends } /** +* Replace ' with '' outside of {..} +* +* @param value +* @return escaped message format +*/ + private String escapeQuotes(final String value) + { + StringBuilder newValue = new StringBuilder(value.length() + 10); + int count = 0; + for (int i = 0; i value.length(); i++) + { + char ch = value.charAt(i); + if (ch == '{') + { + count += 1; + } + else if (ch == '}') + { + count -= 1; + } + + newValue.append(ch); + if ((ch == '\'') (count == 0)) + { + // Escape ' + newValue.append(ch); + } + } + + return newValue.toString(); + } + + /** * Sets the localizer that is being used by this string resource model. This method is provided * to allow the default application localizer to be overridden if required. * @@ -514,7 +554,7 @@ public class StringResourceModel extends @Override public String toString() { -StringBuilder sb = new StringBuilder(StringResourceModel[); + StringBuilder sb = new StringBuilder(StringResourceModel[); sb.append(key:); sb.append(resourceKey); sb.append(,default:); Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.java?rev=1143552r1=1143551r2=1143552view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.java Wed Jul 6 20:34:11 2011 @@ -27,6 +27,7 @@ import org.apache.wicket.WicketTestCase; import org.apache.wicket.markup.html.WebPage; import
svn commit: r1143562 - /wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupFragmentTest.java
Author: jdonnerstag Date: Wed Jul 6 20:58:43 2011 New Revision: 1143562 URL: http://svn.apache.org/viewvc?rev=1143562view=rev Log: From the mailing list: I started with something like the code below, and it was wrong. IMarkupFragment mark = this.getMarkup(); for (MarkupElement element : mark) Then I switched to below approach which gave me correct results: for (int i = 0; i mark.size(); ++i) IMHO, the iterator approach is incorrect and these codes should be equivalent. I've added a test case shows it is working as expected and that for and foreach yield the same results for Markup and MarkupFragment Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupFragmentTest.java Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupFragmentTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupFragmentTest.java?rev=1143562view=auto == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupFragmentTest.java (added) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupFragmentTest.java Wed Jul 6 20:58:43 2011 @@ -0,0 +1,85 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.wicket.markup; + +import org.apache.wicket.WicketTestCase; +import org.junit.Test; + +/** + * + */ +public class MarkupFragmentTest extends WicketTestCase +{ + /** */ + @Test + public void iteratorSameAsSizeForMarkup() + { + Markup markup = Markup.of(body wicket:id='body'div wicket:id='label' text /div/body); + + assertEquals(5, markup.size()); + + int count = 0; + String xml = ; + for (MarkupElement elem : markup) + { + count += 1; + xml += elem.toString(); + } + assertEquals(5, count); + assertEquals(body wicket:id=\body\div wicket:id=\label\ text /div/body, xml); + + count = 0; + xml = ; + for (int i = 0; i markup.size(); i++) + { + count += 1; + xml += markup.get(i).toString(); + } + assertEquals(5, count); + assertEquals(body wicket:id=\body\div wicket:id=\label\ text /div/body, xml); + } + + /** */ + @Test + public void iteratorSameAsSizeForMarkupFragment() + { + Markup markup = Markup.of(body wicket:id='body'div wicket:id='label' text /div/body); + MarkupFragment fragment = new MarkupFragment(markup, 1); + + assertEquals(3, fragment.size()); + + int count = 0; + String xml = ; + for (MarkupElement elem : fragment) + { + count += 1; + xml += elem.toString(); + } + assertEquals(3, count); + assertEquals(div wicket:id=\label\ text /div, xml); + + count = 0; + xml = ; + for (int i = 0; i fragment.size(); i++) + { + count += 1; + xml += fragment.get(i).toString(); + } + assertEquals(3, count); + assertEquals(div wicket:id=\label\ text /div, xml); + } +}
svn commit: r1142391 - in /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator: AbstractHierarchyIterator.java AbstractHierarchyIteratorWithFilter.java ComponentHierarchyIterator.ja
Author: jdonnerstag Date: Sun Jul 3 08:02:48 2011 New Revision: 1142391 URL: http://svn.apache.org/viewvc?rev=1142391view=rev Log: javadoc only Issue: WICKET-3789 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorWithFilter.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/ComponentHierarchyIterator.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/IteratorFilter.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java?rev=1142391r1=1142390r2=1142391view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java Sun Jul 3 08:02:48 2011 @@ -22,16 +22,17 @@ import org.apache.wicket.util.collection import org.apache.wicket.util.lang.Args; /** - * This is a basic iterator for hierarchical structure such as Component hierarchies or HTML markup. - * It supports child first and parent first traversal and intercepts while moving down or up the - * hierarchy. + * This is a basic iterator for hierarchical structures such as Component hierarchies or HTML + * markup. It supports child first and parent first traversal and intercepts while moving down or up + * the hierarchy. * p * It assume the container class implements codeIterable/code. The leaf nodes don't need to. * p - * Consecutive calls to hasNext() without next() in between, does not move the cursor, but returns - * the same value until next() is called. + * Consecutive calls to codehasNext()/code without codenext()/code in between, don't move + * the cursor, but return the same value until codenext()/code is called. * p - * Every call to next(), with or without hasNext(), will move the cursor to the next element. + * Every call to codenext()/code, with or without codehasNext()/code, will move the cursor + * to the next element. * * @TODO Replace ChildFirst with a strategy * @@ -78,15 +79,15 @@ public abstract class AbstractHierarchyI /** * -* @param elem -* @return True, if elem is a container and has at least one child. +* @param node +* @return True, if node is a container and has at least one child. */ - abstract protected boolean hasChildren(final S elem); + abstract protected boolean hasChildren(final S node); /** * If node is a container than return an iterator for its children. * p -* Gets only called if {@link #hasChildren()} return true. +* Gets only called if {@link #hasChildren(Object)} return true. * * @param node * @return container iterator @@ -144,7 +145,7 @@ public abstract class AbstractHierarchyI * @param node * @return False if no more elements were found */ - protected boolean moveDown(final S node) + private boolean moveDown(final S node) { // Remember all details of the current level stack.push(data); @@ -158,9 +159,11 @@ public abstract class AbstractHierarchyI } /** +* Gets called for each element within the hierarchy (nodes and leafs) * * @param node -* @return if false, than skip (filter) the node +* @return if false, than skip (filter) the element. It'll not stop the iterator from traversing +* into children though. */ protected boolean onFilter(final S node) { @@ -168,15 +171,21 @@ public abstract class AbstractHierarchyI } /** +* Gets called for each element where {@link #hasChildren(Object)} return true. * * @param node -* @return if false, than skip (filter) the node +* @return if false, than do not traverse into the children and grand-children. */ protected boolean onTraversalFilter(final S node) { return true; } + /** +* Get the next node from the underlying iterator and handle it. +* +* @return true, if one more element was found +*/ private boolean nextNode() { // Get the next element Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorWithFilter.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator
svn commit: r1142411 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/ main/java/org/apache/wicket/markup/html/internal/ test/java/org/apache/wicket/markup/html/internal/
Author: jdonnerstag Date: Sun Jul 3 10:42:04 2011 New Revision: 1142411 URL: http://svn.apache.org/viewvc?rev=1142411view=rev Log: fixed: Components inside an invisible wicket:enclosure are still rendered Issue: WICKET-3833 Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_12.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_13.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_12.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_12.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_13.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_13.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/SecuredContainer_13.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Page.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_1.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_2.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_4.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_5.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-1.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-2-1.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-2.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java?rev=1142411r1=1142410r2=1142411view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java Sun Jul 3 10:42:04 2011 @@ -40,6 +40,7 @@ import org.apache.wicket.model.IComponen import org.apache.wicket.model.IModel; import org.apache.wicket.model.IWrapModel; import org.apache.wicket.settings.IDebugSettings; +import org.apache.wicket.util.iterator.ComponentHierarchyIterator; import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.lang.Generics; import org.apache.wicket.util.string.ComponentStrings; @@ -904,6 +905,25 @@ public abstract class MarkupContainer ex } /** +* @return A iterator which iterators over all children and grand-children the Component +*/ + public final ComponentHierarchyIterator visitChildren() + { + return new ComponentHierarchyIterator(this); + } + + /** +* @param clazz +*Filter condition +* @return A iterator which iterators over all children and grand-children the Component, +* returning only components which implement (instanceof) the provided clazz. +*/ + public final ComponentHierarchyIterator visitChildren(final Class? clazz) + { + return new ComponentHierarchyIterator(this).filterByClass(clazz); + } + + /** * @param child *Component being added */ Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Page.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Page.java?rev=1142411r1=1142410r2=1142411view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Page.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Page.java Sun Jul 3 10:42:04 2011 @@ -40,6 +40,7 @@ import org.apache.wicket.session.ISessio import org.apache.wicket.settings.IDebugSettings; import org.apache.wicket.settings.IRequestCycleSettings.RenderStrategy; import org.apache.wicket.util.lang.Classes; +import org.apache.wicket.util.lang.Generics; import org.apache.wicket.util.lang.WicketObjects; import
svn commit: r1142438 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/ main/java/org/apache/wicket/markup/ main/java/org/apache/wicket/markup/transformer/ main/java/org/apache/wicket/pr
Author: jdonnerstag Date: Sun Jul 3 13:46:42 2011 New Revision: 1142438 URL: http://svn.apache.org/viewvc?rev=1142438view=rev Log: fixed: AbstractTransformerBehavior sets wrong namespace Issue: WICKET-3861 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/transformer/AbstractTransformerBehavior.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/transformer/XsltOutputTransformerContainer.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/transformer/XsltTransformerBehavior.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/BufferedWebResponse.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/outputTransformer/PageExpectedResult_1.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/outputTransformer/PageExpectedResult_2.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/outputTransformer/Page_2.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/outputTransformer/myBorder2.xsl Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java?rev=1142438r1=1142437r2=1142438view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java Sun Jul 3 13:46:42 2011 @@ -1811,15 +1811,12 @@ public abstract class MarkupContainer ex protected void onAfterRenderChildren() { // Loop through child components - final Iterator? extends Component iter = iterator(); - while (iter.hasNext()) + for (Component child : this) { - // Get next child - final Component child = iter.next(); - // Call end request on the child child.afterRender(); } + super.onAfterRenderChildren(); } Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java?rev=1142438r1=1142437r2=1142438view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java Sun Jul 3 13:46:42 2011 @@ -45,6 +45,9 @@ public class MarkupResourceStream implem private static final Logger log = LoggerFactory.getLogger(MarkupResourceStream.class); + /** */ + public static final String WICKET_XHTML_DTD = http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd;; + private static final Pattern DOCTYPE_REGEX = Pattern.compile(!DOCTYPE\\s+(.*)\\s*); /** The associated markup resource stream */ @@ -68,10 +71,7 @@ public class MarkupResourceStream implem /** The encoding as found in ?xml ... encoding= ?. Null, else */ private String encoding; - /** -* Wicket namespace: html -* xmlns:wicket=http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd -*/ + /** Wicket namespace: see WICKET_XHTML_DTD */ private String wicketNamespace; /** == wicket namespace name + :id */ Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/transformer/AbstractTransformerBehavior.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/transformer/AbstractTransformerBehavior.java?rev=1142438r1=1142437r2=1142438view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/transformer/AbstractTransformerBehavior.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/transformer/AbstractTransformerBehavior.java Sun Jul 3 13:46:42 2011 @@ -19,7 +19,6 @@ package org.apache.wicket.markup.transfo import org.apache.wicket.Component; import org.apache.wicket.WicketRuntimeException; import org.apache.wicket.behavior.Behavior; -import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.protocol.http.BufferedWebResponse; import org.apache.wicket.request.cycle.RequestCycle; import org.apache.wicket.request.http.WebResponse; @@ -59,12 +58,6 @@ public abstract class
svn commit: r1142462 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/util/iterator/ test/java/org/apache/wicket/util/iterator/
Author: jdonnerstag Date: Sun Jul 3 17:20:20 2011 New Revision: 1142462 URL: http://svn.apache.org/viewvc?rev=1142462view=rev Log: some more improvement to the hierarchy iterator. No impact on existing code. Issue: WICKET-3789 Added: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/GenericComponentHierarchyIterator.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorWithFilter.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/ComponentHierarchyIterator.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/iterator/ComponentIteratorTest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java?rev=1142462r1=1142461r2=1142462view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java Sun Jul 3 17:20:20 2011 @@ -37,18 +37,19 @@ import org.apache.wicket.util.lang.Args; * @TODO Replace ChildFirst with a strategy * * @author Juergen Donnerstag - * @param S - *E.g. Component - * @param T - *E.g. MarkupContainer + * @param I + *The type relevant for the iterator. What you expect to get back from next(), e.g. + *Form. + * @param N + *The base type of all nodes, e.g. Component */ -public abstract class AbstractHierarchyIteratorS implements IteratorS, IterableS +public abstract class AbstractHierarchyIteratorN, I extends N implements IteratorI, IterableI { // An iterator for each level we are down from root - private ArrayListStackLevelIteratorS stack = new ArrayListStackLevelIteratorS(); + private ArrayListStackLevelIteratorN stack = new ArrayListStackLevelIteratorN(); // The current level iterator - private LevelIteratorS data; + private LevelIteratorN data; // Whether we need to traverse into the next level with the next invocation of hasNext() private boolean traverse; @@ -67,13 +68,13 @@ public abstract class AbstractHierarchyI * * @param root */ - public AbstractHierarchyIterator(final S root) + public AbstractHierarchyIterator(final N root) { Args.notNull(root, root); if (hasChildren(root)) { - data = new LevelIteratorS(root, newIterator(root)); + data = new LevelIteratorN(root, newIterator(root)); } } @@ -82,7 +83,7 @@ public abstract class AbstractHierarchyI * @param node * @return True, if node is a container and has at least one child. */ - abstract protected boolean hasChildren(final S node); + abstract protected boolean hasChildren(final N node); /** * If node is a container than return an iterator for its children. @@ -92,7 +93,7 @@ public abstract class AbstractHierarchyI * @param node * @return container iterator */ - abstract protected IteratorS newIterator(final S node); + abstract protected IteratorN newIterator(final N node); public boolean hasNext() { @@ -145,13 +146,13 @@ public abstract class AbstractHierarchyI * @param node * @return False if no more elements were found */ - private boolean moveDown(final S node) + private boolean moveDown(final N node) { // Remember all details of the current level stack.push(data); // Initialize the data for the next level - data = new LevelIteratorS(node, newIterator(node)); + data = new LevelIteratorN(node, newIterator(node)); // Get the next node on the current level. If it's a container, than move downwards. If // there are no more elements, than move up again. @@ -165,7 +166,7 @@ public abstract class AbstractHierarchyI * @return if false, than skip (filter) the element. It'll not stop the iterator from traversing * into children though. */ - protected boolean onFilter(final S node) + protected boolean onFilter(final N node) { return true; } @@ -176,7 +177,7 @@ public abstract class AbstractHierarchyI * @param node * @return if false, than do not traverse into the children and grand-children
svn commit: r1142331 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/markup/ main/java/org/apache/wicket/markup/html/ main/java/org/apache/wicket/markup/parser/filter/ main/java/org/ap
Author: jdonnerstag Date: Sat Jul 2 22:10:43 2011 New Revision: 1142331 URL: http://svn.apache.org/viewvc?rev=1142331view=rev Log: remove unused imports Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/IPackageResourceGuard.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/mapper/ResourceReferenceMapper.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectApplication.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/MarkupInheritanceResolverTestPage1.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/protocol/https/HttpsMapperApplicationTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/intercept/TargetPage.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/PageInstanceMapperTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/info/ComponentInfoTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/collections/MicroMapTest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java?rev=1142331r1=1142330r2=1142331view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java Sat Jul 2 22:10:43 2011 @@ -16,6 +16,12 @@ */ package org.apache.wicket.markup; +import java.io.IOException; +import java.text.ParseException; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + import org.apache.wicket.Application; import org.apache.wicket.markup.parser.IMarkupFilter; import org.apache.wicket.markup.parser.IXmlPullParser; @@ -27,12 +33,6 @@ import org.apache.wicket.util.resource.S import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.text.ParseException; -import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - /** * This is a base MarkupParser specifically for (X)HTML. It makes use of a streaming XML parser to * read the markup and IMarkupFilters to remove comments, identify Wicket relevant tags, apply html Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/IPackageResourceGuard.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/IPackageResourceGuard.java?rev=1142331r1=1142330r2=1142331view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/IPackageResourceGuard.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/IPackageResourceGuard.java Sat Jul 2 22:10:43 2011 @@ -16,6 +16,8 @@ */ package org.apache.wicket.markup.html; +import org.apache.wicket.request.resource.PackageResource; + /** * Guards lazily loaded {@link PackageResource package resources} against unwanted access. Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java?rev=1142331r1=1142330r2=1142331view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java Sat Jul 2 22:10:43 2011 @@ -16,6 +16,8 @@ */ package org.apache.wicket.markup.parser.filter; +import java.text.ParseException; + import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.Markup; import org.apache.wicket.markup.MarkupElement; @@ -24,8 +26,6 @@ import org.apache.wicket.markup.parser.A import org.apache.wicket.markup.parser.XmlPullParser; import org.apache.wicket.util.string.JavaScriptUtils; -import java.text.ParseException; - /** * Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/mapper/ResourceReferenceMapper.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/mapper/ResourceReferenceMapper.java?rev=1142331r1=1142330r2=1142331view=diff
svn commit: r1142334 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/util/iterator/ test/java/org/apache/wicket/util/iterator/
Author: jdonnerstag Date: Sat Jul 2 22:21:54 2011 New Revision: 1142334 URL: http://svn.apache.org/viewvc?rev=1142334view=rev Log: Adding xxHierarchyIterator without yet changing existing code. Added: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorWithFilter.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/ComponentHierarchyIterator.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/IteratorFilter.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/iterator/ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/iterator/ComponentIteratorTest.java Added: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java?rev=1142334view=auto == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java (added) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java Sat Jul 2 22:21:54 2011 @@ -0,0 +1,436 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.wicket.util.iterator; + +import java.util.Iterator; + +import org.apache.wicket.util.collections.ArrayListStack; +import org.apache.wicket.util.lang.Args; + +/** + * This is a basic iterator for hierarchical structure such as Component hierarchies or HTML markup. + * It supports child first and parent first traversal and intercepts while moving down or up the + * hierarchy. + * p + * It assume the container class implements codeIterable/code. The leaf nodes don't need to. + * p + * Consecutive calls to hasNext() without next() in between, does not move the cursor, but returns + * the same value until next() is called. + * p + * Every call to next(), with or without hasNext(), will move the cursor to the next element. + * + * @TODO Replace ChildFirst with a strategy + * + * @author Juergen Donnerstag + * @param S + *E.g. Component + * @param T + *E.g. MarkupContainer + */ +public abstract class AbstractHierarchyIteratorS implements IteratorS, IterableS +{ + // An iterator for each level we are down from root + private ArrayListStackLevelIteratorS stack = new ArrayListStackLevelIteratorS(); + + // The current level iterator + private LevelIteratorS data; + + // Whether we need to traverse into the next level with the next invocation of hasNext() + private boolean traverse; + + // An easy way to configure child or parent first iterations + private boolean childFirst; + + // If remaining siblings shall be ignored + private boolean skipRemainingSiblings; + + // True, if hasNext() was called last or next() + private boolean hasNextWasLast; + + /** +* Construct. +* +* @param root +*/ + public AbstractHierarchyIterator(final S root) + { + Args.notNull(root, root); + + if (hasChildren(root)) + { + data = new LevelIteratorS(root, newIterator(root)); + } + } + + /** +* +* @param elem +* @return True, if elem is a container and has at least one child. +*/ + abstract protected boolean hasChildren(final S elem); + + /** +* If node is a container than return an iterator for its children. +* p +* Gets only called if {@link #hasChildren()} return true. +* +* @param node +* @return container iterator +*/ + abstract protected IteratorS newIterator(final S node
svn commit: r1138748 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/markup/parser/XmlPullParser.java test/java/org/apache/wicket/markup/parser/XmlPullParserTest.java
Author: jdonnerstag Date: Thu Jun 23 07:10:41 2011 New Revision: 1138748 URL: http://svn.apache.org/viewvc?rev=1138748view=rev Log: fixed bug related to conditional-comment-endif Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/XmlPullParserTest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java?rev=1138748r1=1138747r2=1138748view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java Thu Jun 23 07:10:41 2011 @@ -357,7 +357,7 @@ public final class XmlPullParser impleme // and also !--![endif]-- if (tagText.equals(![endif]--)) { - lastType = HttpTagType.CONDITIONAL_COMMENT; + lastType = HttpTagType.CONDITIONAL_COMMENT_ENDIF; input.setPosition(closeBracketIndex + 1); return; } Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/XmlPullParserTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/XmlPullParserTest.java?rev=1138748r1=1138747r2=1138748view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/XmlPullParserTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/XmlPullParserTest.java Thu Jun 23 07:10:41 2011 @@ -359,7 +359,7 @@ public class XmlPullParserTest extends T assertEquals(a, (parser.getElement()).getName()); assertTrue((parser.getElement()).isClose()); type = parser.next(); - assertEquals(type, HttpTagType.CONDITIONAL_COMMENT); + assertEquals(type, HttpTagType.CONDITIONAL_COMMENT_ENDIF); type = parser.next(); assertEquals(type, HttpTagType.NOT_INITIALIZED); }
svn commit: r1138813 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java test/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoiceTes
Author: jdonnerstag Date: Thu Jun 23 10:19:39 2011 New Revision: 1138813 URL: http://svn.apache.org/viewvc?rev=1138813view=rev Log: applied: Allow for dynamic prefix and suffixes in CheckBoxMultipleChoice Issue: WICKET-3478 Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoiceTest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java?rev=1138813r1=1138812r2=1138813view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java Thu Jun 23 10:19:39 2011 @@ -236,6 +236,32 @@ public class CheckBoxMultipleChoiceT e } /** +* @param index +*index of the choice +* @param choice +*the choice itself +* @return Prefix to use before choice. The default implementation just returns +* {@link #getPrefix()}. Override to have a prefix dependent on the choice item. +*/ + protected String getPrefix(int index, T choice) + { + return getPrefix(); + } + + /** +* @param index +*index of the choice +* @param choice +*the choice itself +* @return Separator to use between radio options. The default implementation just returns +* {@link #getSuffix()}. Override to have a prefix dependent on the choice item. +*/ + protected String getSuffix(int index, T choice) + { + return getSuffix(); + } + + /** * @param prefix *Prefix to use before choice * @return this @@ -360,7 +386,7 @@ public class CheckBoxMultipleChoiceT e if (label != null) { // Append option suffix - buffer.append(getPrefix()); + buffer.append(getPrefix(index, choice)); String id = getChoiceRenderer().getIdValue(choice, index); final String idAttr = getCheckBoxMarkupId(id); @@ -399,7 +425,7 @@ public class CheckBoxMultipleChoiceT e buffer.append(\).append(escaped).append(/label); // Append option suffix - buffer.append(getSuffix()); + buffer.append(getSuffix(index, choice)); } } Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoiceTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoiceTest.java?rev=1138813view=auto == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoiceTest.java (added) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoiceTest.java Thu Jun 23 10:19:39 2011 @@ -0,0 +1,133 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.wicket.markup.html.form; + +import java.util.Arrays; +import java.util.List; + +import org.apache.wicket.WicketTestCase; +import org.apache.wicket.markup.IMarkupFragment; +import org.apache.wicket.markup.Markup; +import org.apache.wicket.markup.html.WebPage; +import org.junit.Test; + +/** + * Test the dynamic prefix/suffix feature introduced with + * https://issues.apache.org/jira/browse/WICKET-3478 + * + * @author Carl-Eric Menzel cmen...@wicketbuch.de carl-eric.men...@c1-setcon.de + */ +public class CheckBoxMultipleChoiceTest extends WicketTestCase
svn commit: r1138826 - /wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/
Author: jdonnerstag Date: Thu Jun 23 10:58:45 2011 New Revision: 1138826 URL: http://svn.apache.org/viewvc?rev=1138826view=rev Log: fixed: Make showing of empty list in AutoComplete configurable Issue: WICKET-3066 Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteRenderer.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteTextRenderer.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteBehavior.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.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/autocomplete/IAutoCompleteRenderer.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/StringAutoCompleteRenderer.java Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java?rev=1138826r1=1138825r2=1138826view=diff == --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java Thu Jun 23 10:58:45 2011 @@ -63,9 +63,6 @@ public abstract class AbstractAutoComple this.settings = settings; } - /** -* @see org.apache.wicket.ajax.AbstractDefaultAjaxBehavior#renderHead(org.apache.wicket.markup.html.IHeaderResponse) -*/ @Override public void renderHead(final Component component, final IHeaderResponse response) { @@ -98,6 +95,10 @@ public abstract class AbstractAutoComple response.renderOnDomReadyJavaScript(initJS); } + /** +* +* @return JS settings +*/ protected final String constructSettingsJS() { final StringBuilder sb = new StringBuilder(); @@ -119,9 +120,6 @@ public abstract class AbstractAutoComple return sb.toString(); } - /** -* @see org.apache.wicket.ajax.AbstractDefaultAjaxBehavior#onBind() -*/ @Override protected void onBind() { @@ -150,9 +148,6 @@ public abstract class AbstractAutoComple */ protected abstract void onRequest(String input, RequestCycle requestCycle); - /** -* @see org.apache.wicket.ajax.AbstractDefaultAjaxBehavior#respond(org.apache.wicket.ajax.AjaxRequestTarget) -*/ @Override protected void respond(final AjaxRequestTarget target) { @@ -161,6 +156,7 @@ public abstract class AbstractAutoComple .getRequestParameters() .getParameterValue(q) .toOptionalString(); + onRequest(val, requestCycle); } } Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteRenderer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteRenderer.java?rev=1138826r1=1138825r2=1138826view=diff == --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteRenderer.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteRenderer.java Thu Jun 23 10:58:45 2011 @@ -28,20 +28,11 @@ import org.apache.wicket.request.Respons * @since 1.2 * * @author Igor Vaynberg (ivaynberg) - * */ public abstract class AbstractAutoCompleteRendererT implements IAutoCompleteRendererT { - - /** -* -*/ private static final long serialVersionUID = 1L; - /** -* @see
svn commit: r1138827 - /wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/
Author: jdonnerstag Date: Thu Jun 23 11:00:22 2011 New Revision: 1138827 URL: http://svn.apache.org/viewvc?rev=1138827view=rev Log: fixed: org/apache/wicket/extensions/markup/html/tree/table/{PropertyRenderableColumn,PropertyTreeColumn} common code Issue: WICKET-3480 Added: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/AbstractPropertyColumn.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/PropertyRenderableColumn.java - copied, changed from r1138618, wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/AbstractRenderableColumn.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/PropertyTreeColumn.java - copied, changed from r1138618, wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/AbstractTreeColumn.java Removed: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/AbstractRenderableColumn.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/AbstractTreeColumn.java Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java Added: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/AbstractPropertyColumn.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/AbstractPropertyColumn.java?rev=1138827view=auto == --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/AbstractPropertyColumn.java (added) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/AbstractPropertyColumn.java Thu Jun 23 11:00:22 2011 @@ -0,0 +1,153 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.wicket.extensions.markup.html.tree.table; + +import java.util.Locale; + +import javax.swing.tree.TreeNode; + +import org.apache.wicket.Application; +import org.apache.wicket.Session; +import org.apache.wicket.util.convert.IConverter; +import org.apache.wicket.util.lang.PropertyResolver; + + +/** + * Convenience class for building tree columns. + * + * @author Matej Knopp + * @param T + *the type of the property that is rendered in this column + */ +public abstract class AbstractPropertyColumnT extends AbstractColumn +{ + private static final long serialVersionUID = 1L; + + private IConverterT converter; + + private Locale locale; + + private final String propertyExpression; + + /** +* Creates the tree column. +* +* @param location +*Specifies how the column should be aligned and what his size should be +* @param header +*Header caption +* @param propertyExpression +*Expression for property access +*/ + public AbstractPropertyColumn(final ColumnLocation location, final String header, + final String propertyExpression) + { + super(location, header); + + this.propertyExpression = propertyExpression; + } + + /** +* Returns the converter or null if no converter is specified. +* +* @return The converter or null +*/ + public IConverterT getConverter() + { + return converter; + } + + /** +* Returns the locale or null if no locale is specified. +* +* @return The locale or null +*/ + public Locale getLocale() + { + return locale; + } + + /** +* By default the property is converted to string using codetoString/code method. If you +* want to alter this behavior, you can specify a custom converter. +* +* @param converter +*any converter
svn commit: r1138831 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java
Author: jdonnerstag Date: Thu Jun 23 11:11:11 2011 New Revision: 1138831 URL: http://svn.apache.org/viewvc?rev=1138831view=rev Log: remove unused code Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java?rev=1138831r1=1138830r2=1138831view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java Thu Jun 23 11:11:11 2011 @@ -21,7 +21,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Locale; -import java.util.Stack; import org.apache.wicket.ajax.IAjaxRegionMarkupIdProvider; import org.apache.wicket.authorization.Action; @@ -761,93 +760,6 @@ public abstract class Component { log.debug(Markup available + toString()); } - - // move the component to its real parent if necessary - // moveComponentToItsRealParent(); - } - - /** -* Move the component to its real parent if necessary -* -* @return true, if it has been moved -*/ - private boolean moveComponentToItsRealParent() - { - MarkupContainer parent = getParent(); - IMarkupFragment markup = getMarkup(); - if ((parent != null) (markup != null)) - { - IMarkupFragment parentMarkup = parent.getMarkup(null); - if ((parentMarkup != null) (markup != parentMarkup)) - { - // The component's markup must be in the same file as its parent - if (markup.getMarkupResourceStream() == parentMarkup.getMarkupResourceStream()) - { - MarkupStream stream = new MarkupStream(markup); - stream.skipUntil(ComponentTag.class); - ComponentTag openTag = stream.getTag(); - if (openTag != null) - { - MarkupStream parentStream = new MarkupStream(parentMarkup); - if (parentStream.skipUntil(ComponentTag.class)) - { - parentStream.next(); - } - - StackComponentTag stack = new StackComponentTag(); - while (parentStream.skipUntil(ComponentTag.class)) - { - ComponentTag tag = parentStream.getTag(); - if (openTag == tag) - { - if (stack.isEmpty() == false) - { - // This tag belong to the real parent - final ComponentTag lastTag = stack.pop(); - parent.visitChildren(MarkupContainer.class, - new IVisitorMarkupContainer, Void() - { - public void component(final MarkupContainer component, - final IVisitVoid visit) - { - IMarkupFragment m = component.getMarkup(); - MarkupStream ms = new MarkupStream(m); - ms.skipUntil(ComponentTag.class); - if (ms.hasMore() (lastTag == ms.getTag
svn commit: r1138832 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/EmailTextField.java
Author: jdonnerstag Date: Thu Jun 23 11:11:33 2011 New Revision: 1138832 URL: http://svn.apache.org/viewvc?rev=1138832view=rev Log: fixed: EmailTextField should have a EmailTextField(final String id) constructor like TextField Issue: WICKET-3831 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/EmailTextField.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/EmailTextField.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/EmailTextField.java?rev=1138832r1=1138831r2=1138832view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/EmailTextField.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/EmailTextField.java Thu Jun 23 11:11:33 2011 @@ -66,6 +66,17 @@ public class EmailTextField extends Text * Construct. * * @param id +*see Component +*/ + public EmailTextField(String id) + { + this(id, null, EmailAddressValidator.getInstance()); + } + + /** +* Construct. +* +* @param id *the component id * @param model *the input value @@ -84,5 +95,4 @@ public class EmailTextField extends Text { return email; } - }
svn commit: r1138840 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/session/DefaultPageFactory.java
Author: jdonnerstag Date: Thu Jun 23 11:55:41 2011 New Revision: 1138840 URL: http://svn.apache.org/viewvc?rev=1138840view=rev Log: fixed: DefaultPageFactory Exception Message Improvement Issue: WICKET-3830 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/session/DefaultPageFactory.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/session/DefaultPageFactory.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/session/DefaultPageFactory.java?rev=1138840r1=1138839r2=1138840view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/session/DefaultPageFactory.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/session/DefaultPageFactory.java Thu Jun 23 11:55:41 2011 @@ -29,6 +29,8 @@ import org.apache.wicket.request.Request import org.apache.wicket.request.component.IRequestablePage; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.apache.wicket.util.lang.Generics; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** @@ -42,19 +44,19 @@ import org.apache.wicket.util.lang.Gener */ public final class DefaultPageFactory implements IPageFactory { + /** Log for reporting. */ + private static final Logger log = LoggerFactory.getLogger(DefaultPageFactory.class); + /** Map of Constructors for Page subclasses */ private final MapClass?, Constructor? constructorForClass = Generics.newConcurrentHashMap(); - /** -* @see IPageFactory#newPage(Class) -*/ public final C extends IRequestablePage Page newPage(final ClassC pageClass) { try { // throw an exception in case default constructor is missing // = improved error message - final Constructor? extends IRequestablePage constructor = pageClass.getConstructor((Class[])null); + Constructor? extends IRequestablePage constructor = pageClass.getConstructor((Class[])null); return processPage(newPage(constructor, null), null); } @@ -70,14 +72,11 @@ public final class DefaultPageFactory im else { throw new WicketRuntimeException(Unable to create page from + pageClass + - . Class does not have a default contructor, e); + . Class does not have a visible default contructor., e); } } } - /** -* @see IPageFactory#newPage(Class, PageParameters) -*/ public final C extends IRequestablePage Page newPage(final ClassC pageClass, final PageParameters parameters) { @@ -123,9 +122,22 @@ public final class DefaultPageFactory im // Store it in the cache constructorForClass.put(pageClass, constructor); + + if (log.isDebugEnabled()) + { + log.debug(Found constructor for Page of type '{}' and argument of type '{}'., + pageClass, argumentType); + } } catch (NoSuchMethodException e) { + if (log.isDebugEnabled()) + { + log.debug( + Page of type '{}' has not visible constructor with an argument of type '{}'., + pageClass, argumentType); + } + return null; } } @@ -150,9 +162,13 @@ public final class DefaultPageFactory im try { if (argument != null) + { return (Page)constructor.newInstance(argument); + } else + { return (Page)constructor.newInstance(); + } } catch (InstantiationException e) { @@ -174,11 +190,11 @@ public final class DefaultPageFactory im } } - private Page processPage(Page page, PageParameters pageParameters) + private Page processPage(final Page page, final PageParameters pageParameters) { // the page might have not propagate page parameters from constructor. if that's the case // we
svn commit: r1138873 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java
Author: jdonnerstag Date: Thu Jun 23 13:36:05 2011 New Revision: 1138873 URL: http://svn.apache.org/viewvc?rev=1138873view=rev Log: fixed: AbstractTree.updateTree() method not works Issue: WICKET-3818 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java?rev=1138873r1=1138872r2=1138873view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java Thu Jun 23 13:36:05 2011 @@ -33,6 +33,7 @@ import javax.swing.tree.TreeNode; import org.apache.wicket.Component; import org.apache.wicket.MarkupContainer; +import org.apache.wicket.WicketRuntimeException; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.behavior.Behavior; import org.apache.wicket.markup.ComponentTag; @@ -45,10 +46,10 @@ import org.apache.wicket.markup.html.pan import org.apache.wicket.model.IDetachable; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; -import org.apache.wicket.request.IRequestHandler; import org.apache.wicket.request.Response; import org.apache.wicket.request.resource.JavaScriptResourceReference; import org.apache.wicket.request.resource.ResourceReference; +import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.string.AppendingStringBuffer; import org.apache.wicket.util.visit.IVisit; import org.apache.wicket.util.visit.IVisitor; @@ -67,10 +68,6 @@ public abstract class AbstractTree exten TreeModelListener, AjaxRequestTarget.ITargetRespondListener { - - /** -* -*/ private static final long serialVersionUID = 1L; /** @@ -1001,21 +998,6 @@ public abstract class AbstractTree exten } /** -* Convenience method that updates changed portions on tree. You can call this method during -* Ajax response, where calling {@link #updateTree(AjaxRequestTarget)} would be appropriate, but -* you don't have the AjaxRequestTarget instance. However, it is also safe to call this method -* outside Ajax response. -*/ - public final void updateTree() - { - IRequestHandler handler = getRequestCycle().getActiveRequestHandler(); - if (handler instanceof AjaxRequestTarget) - { - updateTree((AjaxRequestTarget)handler); - } - } - - /** * Allows to intercept adding dirty components to AjaxRequestTarget. * * @param target @@ -1124,6 +1106,24 @@ public abstract class AbstractTree exten } /** +* Convenience method that updates changed portions on tree. You can call this method during +* Ajax response, where calling {@link #updateTree(AjaxRequestTarget)} would be appropriate, but +* you don't have the AjaxRequestTarget instance. However, it is also safe to call this method +* outside Ajax response. +*/ + public final void updateTree() + { + AjaxRequestTarget handler = AjaxRequestTarget.get(); + if (handler == null) + { + throw new WicketRuntimeException( + No AjaxRequestTarget available to execute updateTree(ART target)); + } + + updateTree(handler); + } + + /** * Updates the changed portions of the tree using given AjaxRequestTarget. Call this method if * you modified the tree model during an ajax request target and you want to partially update * the component on page. Make sure that the tree model has fired the proper listener functions. @@ -1135,11 +1135,7 @@ public abstract class AbstractTree exten */ public final void updateTree(final AjaxRequestTarget target) { - if (target == null) - { - return; - } - + Args.notNull(target, target); target.registerRespondListener(this); }
svn commit: r1138982 - /wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java
Author: jdonnerstag Date: Thu Jun 23 16:53:24 2011 New Revision: 1138982 URL: http://svn.apache.org/viewvc?rev=1138982view=rev Log: fixed: Using tree table leads to warnings in log Issue: WICKET-3811 Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java?rev=1138982r1=1138981r2=1138982view=diff == --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java Thu Jun 23 16:53:24 2011 @@ -72,7 +72,6 @@ public class TreeTable extends DefaultAb /** * Constructor. * -* * @param id * @param node * @param level @@ -333,9 +332,9 @@ public class TreeTable extends DefaultAb if (renderable == null) { - // if renderable failed, try to create a regular - // component - component = column.newCell(sideColumns, + i, node, level); + // if renderable failed, try to create a regular component. + // Id's shall not be number except for ListItems etc. + component = column.newCell(sideColumns, r + i, node, level); sideColumns.add(component); } else
svn commit: r1139016 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java
Author: jdonnerstag Date: Thu Jun 23 17:49:48 2011 New Revision: 1139016 URL: http://svn.apache.org/viewvc?rev=1139016view=rev Log: fixed: CheckGroup's model update should be aligned with ListMultipleChoice Issue: WICKET-3785 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java?rev=1139016r1=1139015r2=1139016view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java Thu Jun 23 17:49:48 2011 @@ -16,7 +16,6 @@ */ package org.apache.wicket.markup.html.form; -import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -24,10 +23,14 @@ import org.apache.wicket.WicketRuntimeEx import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.model.IModel; +import org.apache.wicket.model.Model; import org.apache.wicket.model.util.CollectionModel; import org.apache.wicket.util.convert.ConversionException; +import org.apache.wicket.util.lang.Generics; import org.apache.wicket.util.string.Strings; import org.apache.wicket.util.visit.IVisit; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** @@ -59,6 +62,8 @@ public class CheckGroupT extends FormC { private static final long serialVersionUID = 1L; + private static final Logger log = LoggerFactory.getLogger(CheckGroup.class); + /** * Constructor that will create a default model collection * @@ -97,13 +102,10 @@ public class CheckGroupT extends FormC setRenderBodyOnly(true); } - /** -* @see FormComponent#convertValue(String[]) -*/ @Override protected CollectionT convertValue(String[] values) throws ConversionException { - ListT collection = new ArrayListT(); + ListT collection = Generics.newArrayList(); /* * if the input is null we do not need to do anything since the model collection has already @@ -150,7 +152,14 @@ public class CheckGroupT extends FormC } /** +* If the model object exists, it is assumed to be a Collection, and it is modified in-place. +* Then {@link Model#setObject(Object)} is called with the same instance: it allows the Model to +* be notified of changes even when {@link Model#getObject()} returns a different +* {@link Collection} at every invocation. +* * @see FormComponent#updateModel() +* @throws UnsupportedOperationException +* if the model object Collection cannot be modified */ @Override public void updateModel() @@ -167,16 +176,26 @@ public class CheckGroupT extends FormC collection.clear(); collection.addAll(getConvertedInput()); modelChanged(); + + // call model.setObject() + try + { + getModel().setObject(collection); + } + catch (Exception e) + { + // ignore this exception because it could be that there + // is not setter for this collection. + log.info(no setter for the property attached to + this); + } } } - /** -* @see FormComponent#onComponentTag(ComponentTag) -*/ @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); + // No longer applicable, breaks XHTML validation. tag.remove(disabled); tag.remove(name); @@ -219,9 +238,6 @@ public class CheckGroupT extends FormC return false; } - /** -* @see org.apache.wicket.MarkupContainer#getStatelessHint() -*/ @Override protected boolean getStatelessHint() { @@ -231,5 +247,4 @@ public class CheckGroupT extends FormC } return super.getStatelessHint(); } - }
svn commit: r1138606 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java
Author: jdonnerstag Date: Wed Jun 22 20:10:50 2011 New Revision: 1138606 URL: http://svn.apache.org/viewvc?rev=1138606view=rev Log: fixed: MarkupCacheProvider should create keys following resource name standard Issue: WICKET-3821 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java?rev=1138606r1=1138605r2=1138606view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java Wed Jun 22 20:10:50 2011 @@ -53,11 +53,20 @@ public class DefaultMarkupCacheKeyProvid final StringBuilder buffer = new StringBuilder(classname.length() + 64); buffer.append(classname); - final Locale locale = container.getLocale(); + if (container.getVariation() != null) + { + buffer.append('_').append(container.getVariation()); + } + + if (container.getStyle() != null) + { + buffer.append('_').append(container.getStyle()); + } + final Locale locale = container.getLocale(); if (locale != null) { - buffer.append('-').append(locale.getLanguage()); + buffer.append('_').append(locale.getLanguage()); final boolean hasLocale = locale.getLanguage().length() != 0; final boolean hasCountry = locale.getCountry().length() != 0; @@ -72,15 +81,6 @@ public class DefaultMarkupCacheKeyProvid buffer.append('_').append(locale.getVariant()); } } - if (container.getStyle() != null) - { - buffer.append('_').append(container.getStyle()); - } - - if (container.getVariation() != null) - { - buffer.append('_').append(container.getVariation()); - } buffer.append('.').append(container.getMarkupType().getExtension()); return buffer.toString();
svn commit: r1138608 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/loader/PackageStringResourceLoader.java
Author: jdonnerstag Date: Wed Jun 22 20:13:26 2011 New Revision: 1138608 URL: http://svn.apache.org/viewvc?rev=1138608view=rev Log: fixed: Unnecessary method overwritting on PackageStringResourceLoader Issue: WICKET-3823 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/loader/PackageStringResourceLoader.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/loader/PackageStringResourceLoader.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/loader/PackageStringResourceLoader.java?rev=1138608r1=1138607r2=1138608view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/loader/PackageStringResourceLoader.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/loader/PackageStringResourceLoader.java Wed Jun 22 20:13:26 2011 @@ -21,7 +21,6 @@ import java.util.Locale; import org.apache.wicket.Application; import org.apache.wicket.resource.IPropertiesFactory; import org.apache.wicket.resource.Properties; -import org.apache.wicket.util.resource.locator.IResourceStreamLocator; import org.apache.wicket.util.resource.locator.ResourceNameIterator; import org.apache.wicket.util.string.Strings; import org.slf4j.Logger; @@ -147,24 +146,4 @@ public class PackageStringResourceLoader { this.filename = filename; } - - /** -* @see IResourceStreamLocator#newResourceNameIterator(String, Locale, String, String, String, -* boolean) -* -* @param locale -* @param style -* @param variation -* @param path -* @return resource name iterator -*/ - @Override - protected ResourceNameIterator newResourceNameIterator(final String path, final Locale locale, - final String style, final String variation) - { - return Application.get() - .getResourceSettings() - .getResourceStreamLocator() - .newResourceNameIterator(path, locale, style, variation, null, false); - } }
svn commit: r1138610 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
Author: jdonnerstag Date: Wed Jun 22 20:15:18 2011 New Revision: 1138610 URL: http://svn.apache.org/viewvc?rev=1138610view=rev Log: fixed: MockHttpServletRequest getRequestURL and getRequestURI should not return query parameters Issue: WICKET-3825 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java?rev=1138610r1=1138609r2=1138610view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java Wed Jun 22 20:15:18 2011 @@ -920,6 +920,7 @@ public class MockHttpServletRequest impl * Try to build a rough URL. * * @return The url +* @see javax.servlet.http.HttpServletRequest#getRequestURL() */ public StringBuffer getRequestURL() { @@ -931,12 +932,8 @@ public class MockHttpServletRequest impl buf.append(getPathInfo()); } - final String query = getQueryString(); - if (query != null) - { - buf.append('?'); - buf.append(query); - } + // No query parameter. See + // http://download.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html#getRequestURL() return buf; }
svn commit: r1138614 - in /wicket/trunk: wicket-core/src/main/java/org/apache/wicket/markup/html/tree/ wicket-examples/src/main/java/org/apache/wicket/examples/nested/ wicket-extensions/src/main/java/
Author: jdonnerstag Date: Wed Jun 22 20:20:21 2011 New Revision: 1138614 URL: http://svn.apache.org/viewvc?rev=1138614view=rev Log: WICKET-3815 fixed: LinkType inner class is duplicated Added: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/LinkType.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/BaseTree.java wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/nested/Home.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/DefaultAbstractTree.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/BaseTree.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/BaseTree.java?rev=1138614r1=1138613r2=1138614view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/BaseTree.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/BaseTree.java Wed Jun 22 20:20:21 2011 @@ -34,7 +34,6 @@ import org.apache.wicket.model.IModel; import org.apache.wicket.request.Response; import org.apache.wicket.request.resource.PackageResourceReference; import org.apache.wicket.request.resource.ResourceReference; -import org.apache.wicket.util.lang.EnumeratedType; import org.apache.wicket.util.string.Strings; /** @@ -351,49 +350,6 @@ public abstract class BaseTree extends A } /** -* The type of junction links and node selection links. -* dl -* dtRegular link/dt -* ddNon-ajax link, always refreshes the whole page. Works with javascript disabled./dd -* dtAjax link/dt -* ddLinks that supports partial updates. Doesn't work with javascript disabled/dd -* dtAjax fallback link/dt -* ddLink that supports partial updates. With javascript disabled acts like regular link. The -* drawback is that generated url (thus the entire html) is larger then using the other two/dd -* /dl -*/ - public static final class LinkType extends EnumeratedType - { - - /** partial updates with no fallback. */ - public static final LinkType AJAX = new LinkType(AJAX); - - /** -* partial updates that falls back to a regular link in case the client does not support -* javascript. -*/ - public static final LinkType AJAX_FALLBACK = new LinkType(AJAX_FALLBACK); - - /** -* non-ajax version that always re-renders the whole page. -*/ - public static final LinkType REGULAR = new LinkType(REGULAR); - - private static final long serialVersionUID = 1L; - - /** -* Construct. -* -* @param name -*the name of the type of the link -*/ - public LinkType(String name) - { - super(name); - } - } - - /** * Helper class for calling an action from a link. * * @author Matej Knopp Added: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/LinkType.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/LinkType.java?rev=1138614view=auto == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/LinkType.java (added) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/LinkType.java Wed Jun 22 20:20:21 2011 @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.wicket.markup.html.tree; + +import org.apache.wicket.util.lang.EnumeratedType; + +/** + * The type of junction links and node selection links. + * dl + * dtRegular link/dt + * ddNon-ajax link, always refreshes the whole page. Works with javascript
svn commit: r1138191 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
Author: jdonnerstag Date: Tue Jun 21 21:28:45 2011 New Revision: 1138191 URL: http://svn.apache.org/viewvc?rev=1138191view=rev Log: applied patch: AjaxRequestTarget#addComponent(..) should guard against improper usage Issue: WICKET-3564 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java?rev=1138191r1=1138190r2=1138191view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java Tue Jun 21 21:28:45 2011 @@ -320,18 +320,20 @@ public class AjaxRequestTarget implement * Adds a listener to this target * * @param listener +* @throws IllegalStateException +* if {@link IListener}'s events are currently being fired or have both been fired +* already */ - public void addListener(IListener listener) + public void addListener(IListener listener) throws IllegalStateException { Args.notNull(listener, listener); + assertListenersNotFrozen(); if (listeners == null) { listeners = new LinkedListIListener(); } - assertListenersNotFrozen(); - if (!listeners.contains(listener)) { listeners.add(listener); @@ -378,7 +380,7 @@ public class AjaxRequestTarget implement } /** -* Adds components to the list of components to be rendered +* Adds components to the list of components to be rendered. * * @param components *components to be rendered @@ -423,8 +425,13 @@ public class AjaxRequestTarget implement *id of client-side dom element that will be updated * @param component *component to be rendered +* @throws IllegalArgumentException +* if the component is a {@link Page} or an {@link AbstractRepeater} +* @throws IllegalStateException +* if the components are currently being rendered, or have already been rendered */ public final void add(final Component component, final String markupId) + throws IllegalArgumentException, IllegalStateException { Args.notEmpty(markupId, markupId); Args.notNull(component, component); @@ -603,7 +610,7 @@ public class AjaxRequestTarget implement return; } - listenersFrozen = true; + respondersFrozen = true; for (ITargetRespondListener listener : respondListeners) { @@ -658,8 +665,6 @@ public class AjaxRequestTarget implement bodyResponse.write(\?); bodyResponse.write(ajax-response); - respondersFrozen = true; - // invoke onbeforerespond event on listeners fireOnBeforeRespondListeners(); @@ -671,8 +676,6 @@ public class AjaxRequestTarget implement respondInvocation(bodyResponse, js); } - componentsFrozen = true; - // process added components respondComponents(bodyResponse); @@ -723,10 +726,13 @@ public class AjaxRequestTarget implement } /** -* +* Freezes the {@link #listeners} before firing the event and un-freezes them afterwards to +* allow components to add more {@link IListener}s for the second event. */ private void fireOnBeforeRespondListeners() { + listenersFrozen = true; + if (listeners != null) { final MapString, Component components = Collections.unmodifiableMap(markupIdToComponent); @@ -736,14 +742,20 @@ public class AjaxRequestTarget implement listener.onBeforeRespond(components, this); } } + + listenersFrozen = false; } /** +* Freezes the {@link #listeners}, and does not un-freeze them as the events will have been +* fired by now. * * @param response */ private void fireOnAfterRespondListeners(final Response response) { + listenersFrozen = true; + // invoke onafterresponse event on listeners if (listeners != null
svn commit: r1137761 - /wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/parser/filter/ExtendedOpenCloseTagExpander.java
Author: jdonnerstag Date: Mon Jun 20 20:03:47 2011 New Revision: 1137761 URL: http://svn.apache.org/viewvc?rev=1137761view=rev Log: fixed Issue: WICKET-2650 Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/parser/filter/ExtendedOpenCloseTagExpander.java Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/parser/filter/ExtendedOpenCloseTagExpander.java URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/parser/filter/ExtendedOpenCloseTagExpander.java?rev=1137761r1=1137760r2=1137761view=diff == --- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/parser/filter/ExtendedOpenCloseTagExpander.java (original) +++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/parser/filter/ExtendedOpenCloseTagExpander.java Mon Jun 20 20:03:47 2011 @@ -63,6 +63,6 @@ public class ExtendedOpenCloseTagExpande @Override protected boolean contains(String name) { - return replaceForTags.contains(name.toLowerCase()); + return replaceForTags.contains(name.toLowerCase()) || super.contains(name); } }
svn commit: r1137144 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/markup/TagUtils.java main/java/org/apache/wicket/markup/html/panel/AssociatedMarkupSourcingStrategy.java test/java/
Author: jdonnerstag Date: Sat Jun 18 08:58:18 2011 New Revision: 1137144 URL: http://svn.apache.org/viewvc?rev=1137144view=rev Log: fixed: xmlns:wicket=http://wicket.apache.org; rendered for each panel see also WICKET-2874 Issue: WICKET-3812 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/TagUtils.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AssociatedMarkupSourcingStrategy.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/SimplePanel_4.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/TagUtils.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/TagUtils.java?rev=1137144r1=1137143r2=1137144view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/TagUtils.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/TagUtils.java Sat Jun 18 08:58:18 2011 @@ -16,6 +16,9 @@ */ package org.apache.wicket.markup; +import org.apache.wicket.Component; +import org.apache.wicket.MarkupContainer; + /** * Some utils to handle tags which otherwise would bloat the Tag AP. @@ -141,4 +144,38 @@ public class TagUtils } return false; } + + /** +* Copy attributes from e.g. lt;wicket:panelgt; (or border) to the calling tag. +* +* @see a href=http://issues.apache.org/jira/browse/WICKET-2874;WICKET-2874/a +* @see a href=https://issues.apache.org/jira/browse/WICKET-3812;WICKET-3812/a +* +* @param component +* @param tag +*/ + public static void copyAttributes(final Component component, final ComponentTag tag) + { + IMarkupFragment markup = ((MarkupContainer)component).getMarkup(null); + String namespace = markup.getMarkupResourceStream().getWicketNamespace() + :; + + MarkupElement elem = markup.get(0); + if (elem instanceof ComponentTag) + { + ComponentTag panelTag = (ComponentTag)elem; + for (String key : panelTag.getAttributes().keySet()) + { + // exclude wicket:XX attributes + if (key.startsWith(namespace) == false) + { + tag.append(key, panelTag.getAttribute(key), , ); + } + } + } + else + { + throw new MarkupException(markup.getMarkupResourceStream(), + Expected a Tag but found raw markup: + elem.toString()); + } + } } \ No newline at end of file Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AssociatedMarkupSourcingStrategy.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AssociatedMarkupSourcingStrategy.java?rev=1137144r1=1137143r2=1137144view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AssociatedMarkupSourcingStrategy.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AssociatedMarkupSourcingStrategy.java Sat Jun 18 08:58:18 2011 @@ -48,47 +48,13 @@ public abstract class AssociatedMarkupSo { } - /** -* {@inheritDoc} -*/ @Override public void onComponentTag(final Component component, final ComponentTag tag) { super.onComponentTag(component, tag); - // Can be explicitly called - copyAttributes(component, tag); - } - - /** -* Copy attributes from wicket:XXX to the calling tag -* -* @param component -* @param tag -*/ - public void copyAttributes(final Component component, final ComponentTag tag) - { - IMarkupFragment markup = ((MarkupContainer)component).getMarkup(null); - String namespace = markup.getMarkupResourceStream().getWicketNamespace() + :; - - MarkupElement elem = markup.get(0); - if (elem instanceof ComponentTag) - { - ComponentTag panelTag = (ComponentTag)elem; - for (String key : panelTag.getAttributes().keySet()) - { - // exclude wicket:XX attributes - if (key.startsWith(namespace) == false) - { - tag.append(key
svn commit: r1137256 - /wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTablePage_ExpectedResult.html
Author: jdonnerstag Date: Sat Jun 18 21:52:38 2011 New Revision: 1137256 URL: http://svn.apache.org/viewvc?rev=1137256view=rev Log: fix test in extension Issue: WICKET-2874 Modified: wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTablePage_ExpectedResult.html Modified: wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTablePage_ExpectedResult.html URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTablePage_ExpectedResult.html?rev=1137256r1=1137255r2=1137256view=diff == --- wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTablePage_ExpectedResult.html (original) +++ wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTablePage_ExpectedResult.html Sat Jun 18 21:52:38 2011 @@ -1,74 +1,74 @@ -html xmlns:wicket -body - table class=dataview cellspacing=0 wicket:id=table xmlns:wicket=http://wicket.apache.org;wicket:panel xmlns:wicket=http://wicket.apache.org; -thead wicket:id=topToolbars - wicket:container wicket:id=toolbars xmlns:wicket=http://wicket.apache.org;wicket:panel xmlns:wicket=http://wicket.apache.org; - tr class=navigation - td wicket:id=span colspan=6 - x/ - x//tdx//trx//wicket:panel/wicket:containerwicket:container wicket:id=toolbars xmlns:wicket=http://wicket.apache.org;wicket:panel xmlns:wicket=http://wicket.apache.org; - tr class=headers - th wicket:id=headerx//th - th wicket:id=header class=numericx//th - th wicket:id=header xmlns:wicket=http://wicket.apache.org; class=wicket_orderUpwicket:border xmlns:wicket=http://wicket.apache.org;x//wicket:border/th - th wicket:id=header xmlns:wicket=http://wicket.apache.org; class=wicket_orderNone last-namewicket:border xmlns:wicket=http://wicket.apache.org;x//wicket:border/th - th wicket:id=headerx//th - th wicket:id=headerx//thx//trx//wicket:panel/wicket:containerx//thead -tbody wicket:id=body - tr wicket:id=rows class=even - td wicket:id=cells - x//tdtd wicket:id=cells class=numeric - x//tdtd wicket:id=cells - x//tdtd wicket:id=cells class=last-name - x//tdtd wicket:id=cells - x//tdtd wicket:id=cells - x//tdx//trtr wicket:id=rows class=odd - td wicket:id=cells - x//tdtd wicket:id=cells class=numeric - x//tdtd wicket:id=cells - x//tdtd wicket:id=cells class=last-name - x//tdtd wicket:id=cells - x//tdtd wicket:id=cells - x//tdx//trtr wicket:id=rows class=even - td wicket:id=cells - x//tdtd wicket:id=cells class=numeric - x//tdtd wicket:id=cells - x//tdtd wicket:id=cells class=last-name - x//tdtd wicket:id=cells - x//tdtd wicket:id=cells - x//tdx//trtr wicket:id=rows class=odd - td wicket:id=cells - x//tdtd wicket:id=cells class=numeric - x//tdtd wicket:id=cells - x//tdtd wicket:id=cells class=last-name - x//tdtd wicket:id=cells - x//tdtd wicket:id=cells - x//tdx//trtr wicket:id=rows class=even - td wicket:id=cells - x//tdtd wicket:id=cells class=numeric - x//tdtd wicket:id=cells - x//tdtd wicket:id=cells class=last-name - x//tdtd wicket:id=cells - x//tdtd wicket:id=cells - x//tdx//trtr wicket:id=rows class=odd - td wicket:id=cells - x//tdtd wicket:id=cells class=numeric - x//tdtd wicket:id=cells - x//tdtd wicket:id=cells class=last-name - x//tdtd wicket:id=cells - x//tdtd wicket:id=cells - x//tdx//trtr wicket:id=rows class=even - td wicket:id=cells - x//tdtd wicket:id=cells class=numeric - x//tdtd wicket:id=cells - x//tdtd wicket:id=cells class=last-name - x//tdtd wicket:id=cells - x//tdtd wicket:id=cells - x
svn commit: r1136990 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AssociatedMarkupSourcingStrategy.java
Author: jdonnerstag Date: Fri Jun 17 19:18:26 2011 New Revision: 1136990 URL: http://svn.apache.org/viewvc?rev=1136990view=rev Log: also related to WICKET-3812 xmlns:wicket=http://wicket.apache.org; rendered for each panel Copy attributes from wicket:panel to source tag refactored the code to change default more easily. Default behavior to be discussed / agreed Issue: WICKET-2874 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AssociatedMarkupSourcingStrategy.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AssociatedMarkupSourcingStrategy.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AssociatedMarkupSourcingStrategy.java?rev=1136990r1=1136989r2=1136990view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AssociatedMarkupSourcingStrategy.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AssociatedMarkupSourcingStrategy.java Fri Jun 17 19:18:26 2011 @@ -56,7 +56,18 @@ public abstract class AssociatedMarkupSo { super.onComponentTag(component, tag); - // Copy attributes from wicket:XXX to the calling tag + // Can be explicitly called + copyAttributes(component, tag); + } + + /** +* Copy attributes from wicket:XXX to the calling tag +* +* @param component +* @param tag +*/ + public void copyAttributes(final Component component, final ComponentTag tag) + { IMarkupFragment markup = ((MarkupContainer)component).getMarkup(null); String namespace = markup.getMarkupResourceStream().getWicketNamespace() + :;
svn commit: r1134889 - /wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
Author: jdonnerstag Date: Sun Jun 12 08:37:34 2011 New Revision: 1134889 URL: http://svn.apache.org/viewvc?rev=1134889view=rev Log: WICKET-3786 fixed: Add model-less constructor to DateTextField Modified: wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java Modified: wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java?rev=1134889r1=1134888r2=1134889view=diff == --- wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java (original) +++ wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java Sun Jun 12 08:37:34 2011 @@ -207,6 +207,19 @@ public class DateTextField extends TextF } /** +* Construct with a converter, and a null model. +* +* @param id +*The component id +* @param converter +*The converter to use +*/ + public DateTextField(String id, DateConverter converter) + { + this(id, null, converter); + } + + /** * @return The specialized converter. * @see org.apache.wicket.Component#getConverter(java.lang.Class) */
svn commit: r1134901 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/util/tester/BaseWicketTester.java test/java/org/apache/wicket/WicketTestCase.java test/java/org/apache/wicket/marku
Author: jdonnerstag Date: Sun Jun 12 10:18:20 2011 New Revision: 1134901 URL: http://svn.apache.org/viewvc?rev=1134901view=rev Log: fixed: Add methods to allow for better configuration of header values in WicketTester Issue: WICKET-3775 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/WicketTestCase.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/XmlDeclResponseTest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java?rev=1134901r1=1134900r2=1134901view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java Sun Jun 12 10:18:20 2011 @@ -197,6 +197,10 @@ public class BaseWicketTester // see https://issues.apache.org/jira/browse/WICKET-1214 private Component startComponent; + // User may provide request header value any time. They get applied (and reset) upon next + // invocation of processRequest() + private MapString, String preHeader; + /** * Creates codeWicketTester/code and automatically create a codeWebApplication/code, but * the tester will have no home page. @@ -291,6 +295,8 @@ public class BaseWicketTester // initialize the application application.initApplication(); + // We don't expect any changes during testing. In addition we avoid creating + // ModificationWatcher threads tests. application.getResourceSettings().setResourcePollFrequency(getResourcePollFrequency()); // reconfigure application for the test environment @@ -505,13 +511,20 @@ public class BaseWicketTester } /** +* Process the request. This is a fairly central function and is almost always invoked for +* executing the request. +* p +* You may subclass processRequest it, to monitor or change any pre-configured value. Request +* headers can be configured more easily by calling {@link #addRequestHeader(String, String)}. * * @param forcedRequest +*Can be null. * @param forcedRequestHandler +*Can be null. * @param redirect * @return true, if process was executed successfully */ - private boolean processRequest(final MockHttpServletRequest forcedRequest, + protected boolean processRequest(final MockHttpServletRequest forcedRequest, final IRequestHandler forcedRequestHandler, final boolean redirect) { if (forcedRequest != null) @@ -526,6 +539,21 @@ public class BaseWicketTester lastRenderedPage = null; } + // Add or replace any system provided header entry with the user provided. + if ((request != null) (preHeader != null)) + { + for (Map.EntryString, String entry : preHeader.entrySet()) + { + if (Strings.isEmpty(entry.getKey()) == false) + { + request.addHeader(entry.getKey(), entry.getValue()); + } + } + + // Reset the user provided headers + preHeader = null; + } + try { if (!redirect) @@ -593,6 +621,30 @@ public class BaseWicketTester } /** +* Allows to set Request header value any time. They'll be applied (add/modify) on process +* execution {@link #processRequest(MockHttpServletRequest, IRequestHandler, boolean)}. They are +* reset immediately after and thus are not re-used for a sequence of requests. +* p +* Deletion (not replace) of pre-configured header value can be achieved by subclassing +* {@link #processRequest(MockHttpServletRequest, IRequestHandler, boolean)} and modifying the +* request header directly. +* +* @param key +* @param value +*/ + public final void addRequestHeader(final String key, final String value) + { + Args.notEmpty(key, key); + + if (preHeader == null) + { + preHeader = Generics.newHashMap(); + } + + preHeader.put(key, value
svn commit: r1134907 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
Author: jdonnerstag Date: Sun Jun 12 10:48:44 2011 New Revision: 1134907 URL: http://svn.apache.org/viewvc?rev=1134907view=rev Log: fixed: AjaxRequestTarget#addComponent(..) should guard against improper usage Issue: WICKET-3564 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java?rev=1134907r1=1134906r2=1134907view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java Sun Jun 12 10:48:44 2011 @@ -265,6 +265,11 @@ public class AjaxRequestTarget implement /** The associated Page */ private final Page page; + /** see https://issues.apache.org/jira/browse/WICKET-3564 */ + private transient boolean componentsFrozen; + private transient boolean listenersFrozen; + private transient boolean respondersFrozen; + /** * Constructor * @@ -287,6 +292,30 @@ public class AjaxRequestTarget implement return page; } + private void assertNotFrozen(boolean frozen, Class? clazz) + { + if (frozen) + { + throw new IllegalStateException(clazz.getSimpleName() + s can no + +longer be added); + } + } + + private void assertListenersNotFrozen() + { + assertNotFrozen(listenersFrozen, IListener.class); + } + + private void assertComponentsNotFrozen() + { + assertNotFrozen(componentsFrozen, Component.class); + } + + private void assertRespondersNotFrozen() + { + assertNotFrozen(respondersFrozen, ITargetRespondListener.class); + } + /** * Adds a listener to this target * @@ -294,16 +323,15 @@ public class AjaxRequestTarget implement */ public void addListener(IListener listener) { - if (listener == null) - { - throw new IllegalArgumentException(Argument `listener` cannot be null); - } + Args.notNull(listener, listener); if (listeners == null) { listeners = new LinkedListIListener(); } + assertListenersNotFrozen(); + if (!listeners.contains(listener)) { listeners.add(listener); @@ -315,20 +343,15 @@ public class AjaxRequestTarget implement * of same type as codechildCriteria/code * * @param parent +*Must not be null. * @param childCriteria +*Must not be null. If you want to traverse all components use ` Component.class as +*the value for this argument. */ public final void addChildren(MarkupContainer parent, Class? childCriteria) { - if (parent == null) - { - throw new IllegalArgumentException(Argument `parent` cannot be null); - } - if (childCriteria == null) - { - throw new IllegalArgumentException( - Argument `childCriteria` cannot be null. If you want to traverse all components use ` + - Component.class.getName() + .class` as the value for this argument); - } + Args.notNull(parent, parent); + Args.notNull(childCriteria, childCriteria); parent.visitChildren(childCriteria, new IVisitorComponent, Void() { @@ -422,6 +445,8 @@ public class AjaxRequestTarget implement Instead add its parent or another markup container higher in the hierarchy.); } + assertComponentsNotFrozen(); + component.setMarkupId(markupId); markupIdToComponent.put(markupId, component); } @@ -551,6 +576,7 @@ public class AjaxRequestTarget implement */ public void registerRespondListener(ITargetRespondListener listener) { + assertRespondersNotFrozen(); respondListeners.add(listener); } @@ -577,6 +603,8 @@ public class AjaxRequestTarget implement return; } + listenersFrozen = true; + for (ITargetRespondListener listener : respondListeners
svn commit: r1132204 - /wicket/trunk/wicket-core/src/test/java/org/apache/wicket/page/persistent/disk/DiskDataStoreTest.java
Author: jdonnerstag Date: Sun Jun 5 09:00:51 2011 New Revision: 1132204 URL: http://svn.apache.org/viewvc?rev=1132204view=rev Log: Improved error reporting of DiskDataStoreTest a bit since I get unexpected error occasionally, not re-producible (windows XP) Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/page/persistent/disk/DiskDataStoreTest.java Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/page/persistent/disk/DiskDataStoreTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/page/persistent/disk/DiskDataStoreTest.java?rev=1132204r1=1132203r2=1132204view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/page/persistent/disk/DiskDataStoreTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/page/persistent/disk/DiskDataStoreTest.java Sun Jun 5 09:00:51 2011 @@ -33,20 +33,22 @@ import org.apache.wicket.pageStore.DiskD import org.apache.wicket.pageStore.IDataStore; import org.apache.wicket.settings.IStoreSettings; import org.apache.wicket.settings.def.StoreSettings; -import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.lang.Bytes; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** */ public class DiskDataStoreTest extends TestCase { + /** Log for reporting. */ + private static final Logger log = LoggerFactory.getLogger(DiskDataStoreTest.class); /** * Construct. */ public DiskDataStoreTest() { - } private static final Random random = new Random(); @@ -97,17 +99,24 @@ public class DiskDataStoreTest extends T public boolean checkData(byte data[]) { - Args.notNull(data, data); + if (data == null) + { + log.error(data[] should never be null); + return false; + } if (data.length != length) { + log.error(data.length != length); return false; } if (first != data[0]) { + log.error(first != data[0]); return false; } if (last != data[data.length - 1]) { + log.error(last != data[data.length - 1]); return false; } return true; @@ -161,11 +170,11 @@ public class DiskDataStoreTest extends T long duration = System.nanoTime() - now; saveTime.addAndGet((int)duration); } - } private IDataStore dataStore; + // Store/Save data in DataStore private class SaveRunnable implements Runnable { public void run() @@ -201,6 +210,7 @@ public class DiskDataStoreTest extends T } }; + // Read data from DataStore private class Read1Runnable implements Runnable { public void run() @@ -214,6 +224,7 @@ public class DiskDataStoreTest extends T if (file.checkData(bytes) == false) { failures.incrementAndGet(); + log.error(Detected error number: + failures.get()); } filesToRead2.add(file); read1Count.incrementAndGet(); @@ -234,7 +245,6 @@ public class DiskDataStoreTest extends T } }; - private class Read2Runnable implements Runnable { public void run() @@ -248,6 +258,7 @@ public class DiskDataStoreTest extends T if (file.checkData(bytes) == false) { failures.incrementAndGet(); + log.error(Detected error number: + failures.get()); } read2Count.incrementAndGet(); bytesRead.addAndGet(bytes.length); @@ -269,7 +280,7 @@ public class DiskDataStoreTest extends T private void doTestDataStore() { - System.out.println(Starting...); + log.error(Starting...); long start = System.currentTimeMillis(); for (int i = 0; i
svn commit: r1132358 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/ main/java/org/apache/wicket/markup/ main/java/org/apache/wicket/markup/html/border/ main/java/org/apache/wicket/ma
Author: jdonnerstag Date: Sun Jun 5 09:56:36 2011 New Revision: 1132358 URL: http://svn.apache.org/viewvc?rev=1132358view=rev Log: some minor changes. Mostly javadoc and inline docs for clarification. Issue: WICKET-3741 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Session.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ContainerInfo.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/DefaultMarkupResourceStreamProvider.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFactory.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupStream.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupType.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/border/MarkupComponentBorder.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/loader/InheritedMarkupMarkupLoader.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/IXmlPullParser.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/page/PageAccessSynchronizer.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/AsynchronousDataStore.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/string/interpolator/PropertyVariableInterpolator.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupParserTest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Session.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Session.java?rev=1132358r1=1132357r2=1132358view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Session.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Session.java Sun Jun 5 09:56:36 2011 @@ -856,6 +856,8 @@ public abstract class Session implements private static final class PageAccessSynchronizerProvider extends LazyInitializerPageAccessSynchronizer { + private static final long serialVersionUID = 1L; + @Override protected PageAccessSynchronizer createInstance() { Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ContainerInfo.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ContainerInfo.java?rev=1132358r1=1132357r2=1132358view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ContainerInfo.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ContainerInfo.java Sun Jun 5 09:56:36 2011 @@ -34,7 +34,7 @@ public class ContainerInfo private final Locale locale; private final String style; private final String variation; - private final String fileExtension; + private final MarkupType markupType; /** * Construct. @@ -45,7 +45,7 @@ public class ContainerInfo public ContainerInfo(final MarkupContainer container) { this(container.getClass(), container.getLocale(), container.getStyle(), - container.getVariation(), container.getMarkupType().getExtension()); + container.getVariation(), container.getMarkupType()); } /** @@ -55,24 +55,24 @@ public class ContainerInfo * @param locale * @param style * @param variation -* @param fileExtension +* @param markupType */ public ContainerInfo(final Class? containerClass, final Locale locale, final String style, - final String variation, final String fileExtension) + final String variation, final MarkupType markupType) { super(); containerClassRef = new WeakReferenceClass?(containerClass); this.locale = locale; this.style = style; this.variation = variation; - this.fileExtension = fileExtension; + this.markupType = markupType; } /** * * @return The container class */ - public Class getContainerClass() + public Class? getContainerClass() { return containerClassRef.get(); } @@ -83,7 +83,7 @@ public class ContainerInfo
svn commit: r1132378 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/ test/java/org/apache/wicket/markup/html/form/formComponentPanel/ test/java/org/apache/wicket/markup/parser/ test/j
Author: jdonnerstag Date: Sun Jun 5 12:19:27 2011 New Revision: 1132378 URL: http://svn.apache.org/viewvc?rev=1132378view=rev Log: removed MarkupContainer.getAssociatedMarkupStream which was replaced with getAssociatedMarkup already some time ago Issue: WICKET-3741 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/formComponentPanel/MyFormComponentPanel.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/MergedMarkupTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/filter/HeaderSectionMyLabel.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java?rev=1132378r1=1132377r2=1132378view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java Sun Jun 5 12:19:27 2011 @@ -410,11 +410,11 @@ public abstract class MarkupContainer ex * * @return A stream of MarkupElement elements. Null if not found. */ - public IMarkupFragment getAssociatedMarkup() + public Markup getAssociatedMarkup() { try { - IMarkupFragment markup = MarkupFactory.get().getMarkup(this, false); + Markup markup = MarkupFactory.get().getMarkup(this, false); // If we found markup for this container if ((markup != null) (markup != Markup.NO_MARKUP)) @@ -1800,7 +1800,7 @@ public abstract class MarkupContainer ex */ public boolean hasAssociatedMarkup() { - return MarkupFactory.get().hasAssociatedMarkup(this); + return getAssociatedMarkup() != null; } /** Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/formComponentPanel/MyFormComponentPanel.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/formComponentPanel/MyFormComponentPanel.java?rev=1132378r1=1132377r2=1132378view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/formComponentPanel/MyFormComponentPanel.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/formComponentPanel/MyFormComponentPanel.java Sun Jun 5 12:19:27 2011 @@ -16,7 +16,6 @@ */ package org.apache.wicket.markup.html.form.formComponentPanel; -import org.apache.wicket.markup.IMarkupFragment; import org.apache.wicket.markup.Markup; import org.apache.wicket.markup.html.IHeaderResponse; import org.apache.wicket.markup.html.form.FormComponentPanel; @@ -39,7 +38,7 @@ public class MyFormComponentPanel extend } @Override - public IMarkupFragment getAssociatedMarkup() + public Markup getAssociatedMarkup() { return Markup.of(wicket:paneltest/wicket:panel); } Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/MergedMarkupTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/MergedMarkupTest.java?rev=1132378r1=1132377r2=1132378view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/MergedMarkupTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/MergedMarkupTest.java Sun Jun 5 12:19:27 2011 @@ -19,7 +19,9 @@ package org.apache.wicket.markup.parser; import junit.framework.TestCase; import org.apache.wicket.Page; +import org.apache.wicket.markup.Markup; import org.apache.wicket.markup.MarkupParser; +import org.apache.wicket.markup.MarkupResourceStream; import org.apache.wicket.markup.MarkupStream; import org.apache.wicket.util.tester.WicketTester; @@ -36,10 +38,11 @@ public class MergedMarkupTest extends Te WicketTester tester = new WicketTester(); Page page = new SubPageWithoutMarkup(); - MarkupStream markup = page.getAssociatedMarkupStream(true); - assertEquals(?xml version=\1.0\ encoding=\utf-8\?, markup.getXmlDeclaration()); - assertEquals(utf-8, markup.getEncoding()); - assertEquals(MarkupParser.WICKET, markup.getWicketNamespace()); + Markup markup = page.getAssociatedMarkup(); + MarkupResourceStream stream = markup.getMarkupResourceStream
svn commit: r1132438 - in /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup: MarkupFactory.java html/form/FormComponentPanel.java
Author: jdonnerstag Date: Sun Jun 5 15:44:25 2011 New Revision: 1132438 URL: http://svn.apache.org/viewvc?rev=1132438view=rev Log: javadoc only Issue: WICKET-3741 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFactory.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFactory.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFactory.java?rev=1132438r1=1132437r2=1132438view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFactory.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFactory.java Sun Jun 5 15:44:25 2011 @@ -33,11 +33,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * Factory to load markup either from from cache or from a resource. In case of markup inheritance, - * merging the markup is managed transparently. + * Factory to load markup either from cache or from a resource. * p * This class is the main entry point to load markup. Nothing else should be required by Components. - * It managed caching markup as well as loading and merging (inheritance) of markup. + * It manages caching markup as well as loading and merging (inheritance) of markup. * p * The markup returned is immutable as it gets re-used across multiple Component instances. * @@ -48,14 +47,14 @@ public class MarkupFactory /** Log for reporting. */ private static final Logger log = LoggerFactory.getLogger(MarkupFactory.class); - /** A markup cache which will load the markup if required. */ + /** A markup cache */ private IMarkupCache markupCache; /** The markup resource stream provider used by MarkupCache */ private IMarkupResourceStreamProvider markupResourceStreamProvider; /** -* @return The markup factory associated with the application +* @return Gets the markup factory registered with the Wicket application */ public final static MarkupFactory get() { @@ -75,7 +74,7 @@ public class MarkupFactory * different sources must be merged. * * @return By default an instance of {@link DefaultMarkupLoader} will be returned. Via -* subclassing you may return your markup loader.. +* subclassing you may return your own markup loader (chain). */ public IMarkupLoader getMarkupLoader() { @@ -180,8 +179,7 @@ public class MarkupFactory } /** -* Get the markup associated with the container. This is mostly likely what you need to get the -* markup for a component. +* Get the markup associated with the container. * * @param container *The container to find the markup for @@ -202,7 +200,7 @@ public class MarkupFactory * p * The clazz parameter usually can be null, except for base (inherited) markup. * p -* There several means to disable markup caching. Caching can be disabled alltogether - +* There are several means to disable markup caching. Caching can be disabled alltogether - * getMarkupCache() return null -, or individually (cacheKey == null). * * @param container @@ -222,6 +220,8 @@ public class MarkupFactory if (checkMarkupType(container) == false) { + // TODO improve: Result { boolean success, enum FailureReason {not found, not yet + // available}, Markup markup } return null; } @@ -232,7 +232,7 @@ public class MarkupFactory { // MarkupCache acts as pull-through cache. It'll call the same loadMarkup() method as // below, if needed. - // @TODO may that can be changed. I don't like it too much. + // @TODO may be that can be changed. I don't like it too much. return cache.getMarkup(container, containerClass, enforceReload); } @@ -327,6 +327,8 @@ public class MarkupFactory if (checkMarkupType(container) == false) { + // TODO improve: Result { boolean success, enum FailureReason {not found, not yet + // available}, Markup markup } return null; } @@ -340,6 +342,8 @@ public class MarkupFactory // Found markup? if (resourceStream == null) { + // TODO improve: Result { boolean success, enum FailureReason {not found
svn commit: r1132470 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/ main/java/org/apache/wicket/markup/ main/java/org/apache/wicket/markup/html/panel/ test/java/org/apache/wicket/mar
Author: jdonnerstag Date: Sun Jun 5 18:20:43 2011 New Revision: 1132470 URL: http://svn.apache.org/viewvc?rev=1132470view=rev Log: fixed: Component's markup cannot be found in Ajax requests if the parent is transparent Issue: WICKET-3719 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/DefaultMarkupSourcingStrategy.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentWebMarkupContainerTest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java?rev=1132470r1=1132469r2=1132470view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java Sun Jun 5 18:20:43 2011 @@ -40,6 +40,7 @@ import org.apache.wicket.model.IComponen import org.apache.wicket.model.IModel; import org.apache.wicket.model.IWrapModel; import org.apache.wicket.settings.IDebugSettings; +import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.lang.Generics; import org.apache.wicket.util.string.ComponentStrings; import org.apache.wicket.util.string.Strings; @@ -129,10 +130,7 @@ public abstract class MarkupContainer ex { for (Component child : childs) { - if (child == null) - { - throw new IllegalArgumentException(argument child may not be null); - } + Args.notNull(child, child); MarkupContainer parent = getParent(); while (parent != null) @@ -141,14 +139,17 @@ public abstract class MarkupContainer ex { String msg = You can not add a component's parent as child to the component (loop): Component: + this.toString(false) + ; parent == child: + parent.toString(false); + if (child instanceof Border.BorderBodyContainer) { msg += . Please consider using Border.addToBorder(new + this.getClass().getSimpleName() + (\ + this.getId() + \, ...) instead of add(...); } + throw new WicketRuntimeException(msg); } + parent = parent.getParent(); } @@ -899,10 +900,7 @@ public abstract class MarkupContainer ex private final void addedComponent(final Component child) { // Check for degenerate case - if (child == this) - { - throw new IllegalArgumentException(Component can't be added to itself); - } + Args.notNull(child, child); MarkupContainer parent = child.getParent(); if (parent != null) Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java?rev=1132470r1=1132469r2=1132470view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java Sun Jun 5 18:20:43 2011 @@ -25,7 +25,6 @@ import java.util.List; import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.resource.ResourceStreamNotFoundException; import org.apache.wicket.util.string.AppendingStringBuffer; -import org.apache.wicket.util.string.Strings; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -187,10 +186,7 @@ public class Markup implements IMarkupFr public final IMarkupFragment find(final String id) { - if (Strings.isEmpty(id)) - { - throw new IllegalArgumentException(Parameter 'id' must not be null or empty); - } + Args.notEmpty(id, id); MarkupStream stream = new MarkupStream(this); stream.setCurrentIndex(0); Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel
svn commit: r1131483 - in /wicket/trunk: wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java wicket-util/src/main/java/org/apache/wicket/util/string/Strings.java
Author: jdonnerstag Date: Sat Jun 4 19:54:56 2011 New Revision: 1131483 URL: http://svn.apache.org/viewvc?rev=1131483view=rev Log: WICKET-3674 Improved error message: A little heuristic for Unable to find component exception Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/string/Strings.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java?rev=1131483r1=1131482r2=1131483view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java Sat Jun 4 19:54:56 2011 @@ -40,6 +40,7 @@ import org.apache.wicket.model.IComponen import org.apache.wicket.model.IModel; import org.apache.wicket.model.IWrapModel; import org.apache.wicket.settings.IDebugSettings; +import org.apache.wicket.util.lang.Generics; import org.apache.wicket.util.string.ComponentStrings; import org.apache.wicket.util.string.Strings; import org.apache.wicket.util.visit.ClassVisitFilter; @@ -1450,11 +1451,24 @@ public abstract class MarkupContainer ex } } + ListString names = findSimilarComponents(id); + // No one was able to handle the component id - markupStream.throwMarkupException(Unable to find component with id ' + id + - ' in + this + . This means that you declared wicket:id= + id + -in your markup, but that you either did not add the + - component to your page at all, or that the hierarchy does not match.); + StringBuffer msg = new StringBuffer(500); + msg.append(Unable to find component with id '); + msg.append(id); + msg.append(' in ); + msg.append(this.toString()); + msg.append(\n\tExpected: '); + msg.append(getPageRelativePath()); + msg.append(.); + msg.append(id); + msg.append('.\n\tFound with similar names: '); + msg.append(Strings.join(', , names)); + msg.append('); + + log.error(msg.toString()); + markupStream.throwMarkupException(msg.toString()); } } else @@ -1467,6 +1481,29 @@ public abstract class MarkupContainer ex return false; } + private ListString findSimilarComponents(final String id) + { + final ListString names = Generics.newArrayList(); + + Page page = findPage(); + if (page != null) + { + page.visitChildren(new IVisitorComponent, Void() + { + public void component(Component component, IVisitVoid visit) + { + if (Strings.getLevenshteinDistance(id.toLowerCase(), component.getId() + .toLowerCase()) 3) + { + names.add(component.getPageRelativePath()); + } + } + }); + } + + return names; + } + /** * Handle the container's body. If your override of this method does not advance the markup * stream to the close tag for the openTag, a runtime exception will be thrown by the framework. Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/string/Strings.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/string/Strings.java?rev=1131483r1=1131482r2=1131483view=diff == --- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/string/Strings.java (original) +++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/string/Strings.java Sat Jun 4 19:54:56 2011 @@ -1361,4 +1361,135 @@ public final class Strings return -1; } + + /** +* p +* Find the Levenshtein distance between two Strings
svn commit: r1131487 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
Author: jdonnerstag Date: Sat Jun 4 20:15:14 2011 New Revision: 1131487 URL: http://svn.apache.org/viewvc?rev=1131487view=rev Log: wicket:border: inconsistency between add() and remove() MarkupContainer.add() can be final again. It seems it was forgotten while reverting Border addXXX behavior Issue: WICKET-3702 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java?rev=1131487r1=1131486r2=1131487view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java Sat Jun 4 20:15:14 2011 @@ -125,7 +125,7 @@ public abstract class MarkupContainer ex * Thrown if a child with the same id is replaced by the add operation. * @return This */ - public MarkupContainer add(final Component... childs) + public final MarkupContainer add(final Component... childs) { for (Component child : childs) {
svn commit: r1131157 - in /wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util: LazyInitializer.java string/Entities.java
Author: jdonnerstag Date: Fri Jun 3 19:30:08 2011 New Revision: 1131157 URL: http://svn.apache.org/viewvc?rev=1131157view=rev Log: remove several warnings introduced by recent changes. No functional changes. Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/LazyInitializer.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/string/Entities.java Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/LazyInitializer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/LazyInitializer.java?rev=1131157r1=1131156r2=1131157view=diff == --- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/LazyInitializer.java (original) +++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/LazyInitializer.java Fri Jun 3 19:30:08 2011 @@ -31,6 +31,8 @@ import org.apache.wicket.IClusterable; */ public abstract class LazyInitializerT implements IProviderT, IClusterable { + private static final long serialVersionUID = 1L; + private transient volatile T instance = null; public T get() Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/string/Entities.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/string/Entities.java?rev=1131157r1=1131156r2=1131157view=diff == --- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/string/Entities.java (original) +++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/string/Entities.java Fri Jun 3 19:30:08 2011 @@ -24,6 +24,7 @@ import java.util.Map; import java.util.TreeMap; import org.apache.wicket.util.collections.IntHashMap; +import org.apache.wicket.util.lang.Generics; /** * p @@ -459,13 +460,10 @@ class Entities static class PrimitiveEntityMap implements EntityMap { - private final Map mapNameToValue = new HashMap(); + private final MapString, Integer mapNameToValue = Generics.newHashMap(); - private final IntHashMap mapValueToName = new IntHashMap(); + private final IntHashMapString mapValueToName = new IntHashMapString(); - /** -* {@inheritDoc} -*/ // TODO not thread-safe as there is a window between changing the two maps public void add(String name, int value) { @@ -473,33 +471,27 @@ class Entities mapValueToName.put(value, name); } - /** -* {@inheritDoc} -*/ public String name(int value) { - return (String)mapValueToName.get(value); + return mapValueToName.get(value); } - /** -* {@inheritDoc} -*/ public int value(String name) { - Object value = mapNameToValue.get(name); + Integer value = mapNameToValue.get(name); if (value == null) { return -1; } - return ((Integer)value).intValue(); + return value.intValue(); } } static abstract class MapIntMap implements Entities.EntityMap { - protected final Map mapNameToValue; + protected final MapString, Integer mapNameToValue; - protected final Map mapValueToName; + protected final MapInteger, String mapValueToName; /** * Construct a new instance with specified maps. @@ -509,27 +501,21 @@ class Entities * @param valueToName *value to namee map */ - MapIntMap(Map nameToValue, Map valueToName) + MapIntMap(MapString, Integer nameToValue, MapInteger, String valueToName) { mapNameToValue = nameToValue; mapValueToName = valueToName; } - /** -* {@inheritDoc} -*/ public void add(String name, int value) { mapNameToValue.put(name, new Integer(value)); mapValueToName.put(new Integer(value), name); } - /** -* {@inheritDoc} -*/ public String name(int value) { - return (String)mapValueToName.get(new Integer(value)); + return mapValueToName.get(new
svn commit: r1131219 - /wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentWebMarkupContainerTest.java
Author: jdonnerstag Date: Fri Jun 3 20:43:09 2011 New Revision: 1131219 URL: http://svn.apache.org/viewvc?rev=1131219view=rev Log: enable test case provided (which run successfully) Issue: WICKET-3719 Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentWebMarkupContainerTest.java Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentWebMarkupContainerTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentWebMarkupContainerTest.java?rev=1131219r1=1131218r2=1131219view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentWebMarkupContainerTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentWebMarkupContainerTest.java Fri Jun 3 20:43:09 2011 @@ -89,7 +89,7 @@ public class TransparentWebMarkupContain /** * Test case for a href=https://issues.apache.org/jira/browse/WICKET-3719;WICKET-3719/a */ - public void bug_testAjaxUpdate() + public void testAjaxUpdate() { WicketTester wicketTester = new WicketTester() {
svn commit: r1131240 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java
Author: jdonnerstag Date: Fri Jun 3 21:01:39 2011 New Revision: 1131240 URL: http://svn.apache.org/viewvc?rev=1131240view=rev Log: applied patch provided: Allow filtering and grouping of resources in the head Issue: WICKET-3728 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java?rev=1131240r1=1131239r2=1131240view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java Fri Jun 3 21:01:39 2011 @@ -120,6 +120,7 @@ public class HtmlHeaderContainer extends try { + // Create a (string) response for all headers contributed by any component on the Page. final StringResponse response = new StringResponse(); getRequestCycle().setResponse(response); @@ -129,51 +130,33 @@ public class HtmlHeaderContainer extends getRequestCycle().setResponse(headerResponse.getResponse()); } - // In any case, first render the header section directly associated - // with the markup + // Render the header sections of all components on the page + AbstractHeaderRenderStrategy.get().renderHeader(this, getPage()); + + // Close the header response before rendering the header container itself + // See https://issues.apache.org/jira/browse/WICKET-3728 + headerResponse.close(); + + // Create a separate (string) response for the header container itself + final StringResponse bodyResponse = new StringResponse(); + getRequestCycle().setResponse(bodyResponse); + + // render the header section directly associated with the markup super.onComponentTagBody(markupStream, openTag); - // Render all header sections of all components on the page - AbstractHeaderRenderStrategy.get().renderHeader(this, getPage()); - getHeaderResponse().close(); + // Cleanup extraneous CR and LF from the response + CharSequence output = getCleanResponse(response); + CharSequence bodyOutput = getCleanResponse(bodyResponse); // Automatically add head if necessary - CharSequence output = response.getBuffer(); - if (output.length() 0) - { - if (output.charAt(0) == '\r') - { - for (int i = 2; i output.length(); i += 2) - { - char ch = output.charAt(i); - if (ch != '\r') - { - output = output.subSequence(i - 2, output.length()); - break; - } - } - } - else if (output.charAt(0) == '\n') - { - for (int i = 1; i output.length(); i++) - { - char ch = output.charAt(i); - if (ch != '\n') - { - output = output.subSequence(i - 1, output.length()); - break; - } - } - } - } - - if (output.length() 0) + if ((output.length() 0) || (bodyOutput.length() 0)) { if (renderOpenAndCloseTags()) { webResponse.write(head); } + webResponse.write
svn commit: r1131252 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFragment.java
Author: jdonnerstag Date: Fri Jun 3 21:16:10 2011 New Revision: 1131252 URL: http://svn.apache.org/viewvc?rev=1131252view=rev Log: patch applied wickettag contents aren't skipped when trying to find markup in 1.5 Issue: WICKET-3725 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFragment.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFragment.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFragment.java?rev=1131252r1=1131251r2=1131252view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFragment.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFragment.java Fri Jun 3 21:16:10 2011 @@ -20,7 +20,6 @@ import java.util.Iterator; import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.string.AppendingStringBuffer; -import org.apache.wicket.util.string.Strings; /** * Represents a portion of a markup file, but always spans a complete tag. E.g. @@ -141,10 +140,7 @@ public class MarkupFragment implements I public final IMarkupFragment find(final String id) { - if (Strings.isEmpty(id)) - { - throw new IllegalArgumentException(Parameter 'id' must not be null or empty); - } + Args.notEmpty(id, id); MarkupStream stream = new MarkupStream(this); stream.setCurrentIndex(1); @@ -160,8 +156,7 @@ public class MarkupFragment implements I { return stream.getMarkupFragment(); } - if (tag.isOpen() !tag.hasNoCloseTag() !(tag instanceof WicketTag) - (tag.isAutoComponentTag() == false)) + if (tag.isOpen() !tag.hasNoCloseTag() !tag.isAutoComponentTag()) { stream.skipToMatchingCloseTag(tag); }
svn commit: r1131253 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupFragment.java
Author: jdonnerstag Date: Fri Jun 3 21:17:30 2011 New Revision: 1131253 URL: http://svn.apache.org/viewvc?rev=1131253view=rev Log: patch applied wickettag contents aren't skipped when trying to find markup in 1.5 Issue: WICKET-3725 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupFragment.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupFragment.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupFragment.java?rev=1131253r1=1131252r2=1131253view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupFragment.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupFragment.java Fri Jun 3 21:17:30 2011 @@ -55,7 +55,7 @@ public interface IMarkupFragment extends int size(); /** -* Find the markup element index of the component with 'path' +* Find the markup fragment of the component with 'path' * * @param id *The component's id to search for
svn commit: r1101626 - /wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/
Author: jdonnerstag Date: Tue May 10 20:14:56 2011 New Revision: 1101626 URL: http://svn.apache.org/viewvc?rev=1101626view=rev Log: removed wicket:component related tests Removed: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTagExpectedResult_1.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTagExpectedResult_2.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTagExpectedResult_3.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTagExpectedResult_4.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTagExpectedResult_5.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTagExpectedResult_6.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTagTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTag_1.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTag_1.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTag_2.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTag_2.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTag_3.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTag_3.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTag_4.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTag_4.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTag_6.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentCreateTag_6.java Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentTagAttributeEscapingTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupParserTest.java Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentTagAttributeEscapingTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentTagAttributeEscapingTest.java?rev=1101626r1=1101625r2=1101626view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentTagAttributeEscapingTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/ComponentTagAttributeEscapingTest.java Tue May 10 20:14:56 2011 @@ -42,7 +42,7 @@ public class ComponentTagAttributeEscapi String response = tester.getLastResponseAsString(); System.out.println(response); assertTrue(One of the pound entity representations is missing: pound; or #163;, - response.contains(££)); + response.contains(\u00a3\u00a3)); assertTrue(must not be double escaped, response.contains(Watch escaped value: gt;gt;)); assertTrue(following the last assert logic, this one would true, response.contains(alerting: amp;)); Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupParserTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupParserTest.java?rev=1101626r1=1101625r2=1101626view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupParserTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupParserTest.java Tue May 10 20:14:56 2011 @@ -16,6 +16,13 @@ */ package org.apache.wicket.markup; +import java.io.IOException; +import java.text.ParseException; +import java.util.Locale; +import java.util.regex.Matcher; + +import junit.framework.Assert; + import org.apache.wicket.WicketTestCase; import org.apache.wicket.markup.html.border.Border; import org.apache.wicket.markup.html.pages.PageExpiredErrorPage; @@ -30,13 +37,6 @@ import org.apache.wicket.util.string.Str import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.text.ParseException; -import java.util.Locale; -import java.util.regex.Matcher; - -import junit.framework.Assert; - /** * Test cases for markup parser. @@ -339,12 +339,6 @@ public final class MarkupParserTest exte } new MarkupParser( - wicket:component name = \componentName\ class = \classname\ param1 = \value1\/).parse(); - new MarkupParser( - wicket:component name = \componentName\ class = \classname\ param1 = \value1\/wicket:component).parse
svn commit: r1099247 - in /wicket/trunk: testing/wicket-threadtest/ wicket-auth-roles/ wicket-core/ wicket-datetime/ wicket-devutils/ wicket-examples/ wicket-extensions/ wicket-guice/ wicket-ioc/ wick
Author: jdonnerstag Date: Tue May 3 21:08:34 2011 New Revision: 1099247 URL: http://svn.apache.org/viewvc?rev=1099247view=rev Log: experimental gradle build files Added: wicket/trunk/testing/wicket-threadtest/build.gradle wicket/trunk/wicket-auth-roles/build.gradle wicket/trunk/wicket-core/build.gradle wicket/trunk/wicket-datetime/build.gradle wicket/trunk/wicket-devutils/build.gradle wicket/trunk/wicket-examples/build.gradle wicket/trunk/wicket-extensions/build.gradle wicket/trunk/wicket-guice/build.gradle wicket/trunk/wicket-ioc/build.gradle wicket/trunk/wicket-jmx/build.gradle wicket/trunk/wicket-objectssizeof-agent/build.gradle wicket/trunk/wicket-request/build.gradle wicket/trunk/wicket-spring/build.gradle wicket/trunk/wicket-util/build.gradle wicket/trunk/wicket-velocity/build.gradle Added: wicket/trunk/testing/wicket-threadtest/build.gradle URL: http://svn.apache.org/viewvc/wicket/trunk/testing/wicket-threadtest/build.gradle?rev=1099247view=auto == --- wicket/trunk/testing/wicket-threadtest/build.gradle (added) +++ wicket/trunk/testing/wicket-threadtest/build.gradle Tue May 3 21:08:34 2011 @@ -0,0 +1,31 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the License); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an AS IS BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +description = 'Wicket Thread Test' + +dependencies { + compile project(':wicket') + compile project(':wicket-extensions') + compile(commons-httpclient:commons-httpclient:3.1) { + exclude(module: 'commons-logging') + } + + testCompile httpunit:httpunit:1.6.1 + compile(org.eclipse.jetty.aggregate:jetty-all-server:7.3.0.v20110203) { + provided : true + } +} Added: wicket/trunk/wicket-auth-roles/build.gradle URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-auth-roles/build.gradle?rev=1099247view=auto == --- wicket/trunk/wicket-auth-roles/build.gradle (added) +++ wicket/trunk/wicket-auth-roles/build.gradle Tue May 3 21:08:34 2011 @@ -0,0 +1,22 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the License); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an AS IS BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +description = 'Wicket Auth Roles' + +dependencies { + compile project(':wicket-core') +} Added: wicket/trunk/wicket-core/build.gradle URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/build.gradle?rev=1099247view=auto == --- wicket/trunk/wicket-core/build.gradle (added) +++ wicket/trunk/wicket-core/build.gradle Tue May 3 21:08:34 2011 @@ -0,0 +1,23 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the License); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses
svn commit: r1099248 - in /wicket/trunk: build.gradle settings.gradle
Author: jdonnerstag Date: Tue May 3 21:09:37 2011 New Revision: 1099248 URL: http://svn.apache.org/viewvc?rev=1099248view=rev Log: experimental gradle build files Added: wicket/trunk/build.gradle wicket/trunk/settings.gradle Added: wicket/trunk/build.gradle URL: http://svn.apache.org/viewvc/wicket/trunk/build.gradle?rev=1099248view=auto == --- wicket/trunk/build.gradle (added) +++ wicket/trunk/build.gradle Tue May 3 21:09:37 2011 @@ -0,0 +1,204 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the License); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an AS IS BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Wicket Gradle build file +// +// @author Juergen Donnerstag +// + +// A convenience method that calls the dependsOn method of the parent project +// for every child project (not every sub project). It declares an execution +// dependency on all children. +dependsOnChildren() + +// For testing purposes +/* +def localReleaseRepo = new File(${System.properties.'user.home'}/local-gradle-repository/release).toURL().toString() +def localSnapshotRepo = new File(${System.properties.'user.home'}/local-gradle-repository/snapshot).toURL().toString() +*/ + +// The root project is like a container and the subprojects method iterates +// over the elements of this container - the projects in this instance, but +// not deep subprojects - and injects the specified configuration. This way +// we can easily define some common dependencies +subprojects { prj - + apply plugin: 'java' + apply plugin: 'maven' + // apply plugin: 'code-quality' + // apply plugin: 'project-reports' + + // Wicket Maven group and version + group = 'org.apache.wicket' + version = '1.5' + if(!System.properties.'release') { + version = version + '-SNAPSHOT' + } + + /* + gradle.taskGraph.whenReady {taskGraph - + if (taskGraph.hasTask(':release')) { + version = '1.5' + } else { + version = '1.5-SNAPSHOT' + } + } + */ + + // Subproject wicket is only used to build the uber jars. No need to have eclipse project files + if (prj.name != wicket) { + apply plugin: 'eclipse' + apply plugin: 'idea' + + // We don't need / want the WTP/WST natures and facets + prj.eclipseProject.whenConfigured { p - + p.natures.removeAll 'org.eclipse.wst.common.project.facet.core.nature', 'org.eclipse.wst.common.modulecore.ModuleCoreNature', 'org.eclipse.jem.workbench.JavaEMFNature' + + p.buildCommands.removeAll { it.name.startsWith('org.eclipse.wst.') } + } + + // No need to create .settings/org.eclipse.wst.* files either + prj.tasks.all { if(it.name.contains('eclipseWtp')) { it.enabled = false }} + + // org.eclipse.jdt.core.prefs is provided via SVN. No need for gradle to modify them + prj.tasks.all { if(it.name.contains('eclipseJdt')) { it.enabled = false }} + prj.tasks.all { if(it.name.contains('cleanEclipseJdt')) { it.enabled = false }} + } + + // Use maven output dir + setBuildDir 'target' + + sourceCompatibility = 1.5 + targetCompatibility = 1.5 + + compileJava.options.compilerArgs = ['-Xlint:unchecked', '-Xlint:deprecation', '-g'] + + // We have plenty of *.html, *.xml and *.properties files which we want to + // copy/forward, like we do for *.java files. + sourceSets.main.resources.srcDir 'src/main/java' + sourceSets.test.resources.srcDir 'src/test/java' + + task packageTests(type: Jar) { + from sourceSets.test.classes + classifier = 'tests' + } + + artifacts.archives packageTests + + task sourceJar(type: Jar) { from sourceSets.main.allSource; classifier
svn commit: r1096113 - in /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html: panel/DefaultMarkupSourcingStrategy.java tree/LabelTree.java tree/LinkTree.java
Author: jdonnerstag Date: Sat Apr 23 07:21:08 2011 New Revision: 1096113 URL: http://svn.apache.org/viewvc?rev=1096113view=rev Log: fixed: Tree 1.4 to 1.5 migration issue warning Issue: WICKET-3627 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/DefaultMarkupSourcingStrategy.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/LabelTree.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/LinkTree.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/DefaultMarkupSourcingStrategy.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/DefaultMarkupSourcingStrategy.java?rev=1096113r1=1096112r2=1096113view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/DefaultMarkupSourcingStrategy.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/DefaultMarkupSourcingStrategy.java Sat Apr 23 07:21:08 2011 @@ -94,33 +94,6 @@ public final class DefaultMarkupSourcing return markup; } - // This is to make migration for Items from 1.4 to 1.5 more easy - if (Character.isDigit(child.getId().charAt(0))) - { - String id = child.getId(); - boolean miss = false; - for (int i = 1; i id.length(); i++) - { - if (Character.isDigit(id.charAt(i)) == false) - { - miss = true; - break; - } - } - - if (miss == false) - { - // The LoopItems markup is equal to the Loops markup - markup = container.getMarkup(); - - if (log.isWarnEnabled()) - { - log.warn(1.4 to 1.5 migration issue: your item component should be derived from AbstractItem. Item= + - child.toString()); - } - } - } - return markup; } Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/LabelTree.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/LabelTree.java?rev=1096113r1=1096112r2=1096113view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/LabelTree.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/LabelTree.java Sat Apr 23 07:21:08 2011 @@ -82,7 +82,6 @@ public class LabelTree extends BaseTree { return super.newContentComponent(componentId, tree, getNodeTextModel(model)); } - }; } Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/LinkTree.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/LinkTree.java?rev=1096113r1=1096112r2=1096113view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/LinkTree.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/LinkTree.java Sat Apr 23 07:21:08 2011 @@ -106,8 +106,5 @@ public class LinkTree extends LabelTree */ protected void onNodeLinkClicked(Object node, BaseTree tree, AjaxRequestTarget target) { - } - - }
svn commit: r1096116 - in /wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload: FileItemHeaders.java FileItemHeadersImpl.java FileUploadBase.java ServletFileUpload.java
Author: jdonnerstag Date: Sat Apr 23 07:34:22 2011 New Revision: 1096116 URL: http://svn.apache.org/viewvc?rev=1096116view=rev Log: WICKET-3624 fixed: Remove many Eclipse warnings in wicket-util Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileItemHeaders.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileItemHeadersImpl.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileUploadBase.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/ServletFileUpload.java Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileItemHeaders.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileItemHeaders.java?rev=1096116r1=1096115r2=1096116view=diff == --- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileItemHeaders.java (original) +++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileItemHeaders.java Sat Apr 23 07:34:22 2011 @@ -56,7 +56,7 @@ public interface FileItemHeaders * @return an codeEnumeration/code containing the values of the requested header. If the * item does not have any headers of that name, return an empty codeEnumeration/code */ - Iterator getHeaders(String name); + IteratorString getHeaders(String name); /** * p @@ -70,5 +70,5 @@ public interface FileItemHeaders * @return an codeEnumeration/code containing the values of the requested header. If the * item does not have any headers of that name return an empty codeEnumeration/code */ - Iterator getHeaderNames(); + IteratorString getHeaderNames(); } Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileItemHeadersImpl.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileItemHeadersImpl.java?rev=1096116r1=1096115r2=1096116view=diff == --- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileItemHeadersImpl.java (original) +++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileItemHeadersImpl.java Sat Apr 23 07:34:22 2011 @@ -17,13 +17,13 @@ package org.apache.wicket.util.upload; import java.io.Serializable; -import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import org.apache.wicket.util.lang.Generics; + /** * Default implementation of the {@link FileItemHeaders} interface. * @@ -37,37 +37,37 @@ public class FileItemHeadersImpl impleme /** * Map of codeString/code keys to a codeList/code of codeString/code instances. */ - private final Map headerNameToValueListMap = new HashMap(); + private final MapString, ListString headerNameToValueListMap = Generics.newHashMap(); /** * List to preserve order of headers as added. This would not be needed if a * codeLinkedHashMap/code could be used, but don't want to depend on 1.4. */ - private final List headerNameList = new ArrayList(); + private final ListString headerNameList = Generics.newArrayList(); public String getHeader(final String name) { String nameLower = name.toLowerCase(); - List headerValueList = (List)headerNameToValueListMap.get(nameLower); + ListString headerValueList = headerNameToValueListMap.get(nameLower); if (null == headerValueList) { return null; } - return (String)headerValueList.get(0); + return headerValueList.get(0); } - public Iterator getHeaderNames() + public IteratorString getHeaderNames() { return headerNameList.iterator(); } - public Iterator getHeaders(final String name) + public IteratorString getHeaders(final String name) { String nameLower = name.toLowerCase(); - List headerValueList = (List)headerNameToValueListMap.get(nameLower); + ListString headerValueList = headerNameToValueListMap.get(nameLower); if (null == headerValueList) { - return Collections.EMPTY_LIST.iterator(); + headerValueList = Collections.emptyList(); } return headerValueList.iterator(); } @@ -83,10 +83,10 @@ public class FileItemHeadersImpl impleme public synchronized void addHeader(final String name, final String value
svn commit: r1096117 - in /wicket/trunk/wicket-request/src: main/java/org/apache/wicket/request/ main/java/org/apache/wicket/request/flow/ main/java/org/apache/wicket/request/http/flow/ test/java/org/
Author: jdonnerstag Date: Sat Apr 23 07:36:40 2011 New Revision: 1096117 URL: http://svn.apache.org/viewvc?rev=1096117view=rev Log: WICKET-3624 fixed: Remove many Eclipse warnings in wicket-request Modified: wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/IRequestCycle.java wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/RequestHandlerStack.java wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/flow/RedirectToUrlException.java wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/http/flow/AbortWithHttpErrorCodeException.java wicket/trunk/wicket-request/src/test/java/org/apache/wicket/request/http/handler/RedirectRequestHandlerTest.java wicket/trunk/wicket-request/src/test/java/org/apache/wicket/request/mapper/mount/MountParametersTest.java Modified: wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/IRequestCycle.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/IRequestCycle.java?rev=1096117r1=1096116r2=1096117view=diff == --- wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/IRequestCycle.java (original) +++ wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/IRequestCycle.java Sat Apr 23 07:36:40 2011 @@ -50,5 +50,10 @@ public interface IRequestCycle */ void scheduleRequestHandlerAfterCurrent(IRequestHandler handler); + /** +* Returns {@link UrlRenderer} for this {@link IRequestCycle}. +* +* @return UrlRenderer instance. +*/ UrlRenderer getUrlRenderer(); } Modified: wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/RequestHandlerStack.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/RequestHandlerStack.java?rev=1096117r1=1096116r2=1096117view=diff == --- wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/RequestHandlerStack.java (original) +++ wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/RequestHandlerStack.java Sat Apr 23 07:36:40 2011 @@ -42,7 +42,7 @@ public abstract class RequestHandlerStac private IRequestHandler scheduledAfterCurrent = null; /** -* {@inheritDoc} +* @return active handler */ public IRequestHandler getActive() { @@ -50,7 +50,7 @@ public abstract class RequestHandlerStac } /** -* {@inheritDoc} +* @param handler */ public void execute(final IRequestHandler handler) { @@ -98,14 +98,16 @@ public abstract class RequestHandlerStac } /** -* Allows the request handler to response to the request +* Allows the request handler to respond to the request * * @param handler */ protected abstract void respond(IRequestHandler handler); /** -* {@inheritDoc} +* Schedules the handler after the current one +* +* @param handler */ public void schedule(final IRequestHandler handler) { @@ -113,7 +115,7 @@ public abstract class RequestHandlerStac } /** -* {@inheritDoc} +* @return scheduled request handler after the current one */ public IRequestHandler next() { @@ -121,7 +123,7 @@ public abstract class RequestHandlerStac } /** -* {@inheritDoc} +* @param handler */ public void replaceAll(final IRequestHandler handler) { @@ -136,7 +138,7 @@ public abstract class RequestHandlerStac } /** -* {@inheritDoc} +* Detaches all request handlers */ public void detach() { Modified: wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/flow/RedirectToUrlException.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/flow/RedirectToUrlException.java?rev=1096117r1=1096116r2=1096117view=diff == --- wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/flow/RedirectToUrlException.java (original) +++ wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/flow/RedirectToUrlException.java Sat Apr 23 07:36:40 2011 @@ -34,11 +34,25 @@ public class RedirectToUrlException exte { private static final long serialVersionUID = 1L; + /** +* Construct. +* +* @param redirectUrl +*URL to redirect to. +*/ public RedirectToUrlException(final String redirectUrl) { this(redirectUrl
svn commit: r1096119 [3/3] - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/ main/java/org/apache/wicket/ajax/ main/java/org/apache/wicket/ajax/calldecorator/ main/java/org/apache/wicke
Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/PageWithXmlProperties.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/PageWithXmlProperties.java?rev=1096119r1=1096118r2=1096119view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/PageWithXmlProperties.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/PageWithXmlProperties.java Sat Apr 23 07:55:49 2011 @@ -25,6 +25,8 @@ import org.apache.wicket.util.tester.Dum */ public class PageWithXmlProperties extends DummyHomePage { + private static final long serialVersionUID = 1L; + /***/ public PageWithXmlProperties() { Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/loader/ClassStringResourceLoaderTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/loader/ClassStringResourceLoaderTest.java?rev=1096119r1=1096118r2=1096119view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/loader/ClassStringResourceLoaderTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/loader/ClassStringResourceLoaderTest.java Sat Apr 23 07:55:49 2011 @@ -51,7 +51,7 @@ public class ClassStringResourceLoaderTe /** * */ - public static class MyValidator extends AbstractValidator + public static class MyValidator extends AbstractValidatorString { private static final long serialVersionUID = 1L; @@ -60,7 +60,7 @@ public class ClassStringResourceLoaderTe * @see org.apache.wicket.validation.validator.AbstractValidator#onValidate(org.apache.wicket.validation.IValidatable) */ @Override - protected void onValidate(IValidatable v) + protected void onValidate(IValidatableString v) { error(v); } Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/response/filter/ResponseFilterTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/response/filter/ResponseFilterTest.java?rev=1096119r1=1096118r2=1096119view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/response/filter/ResponseFilterTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/response/filter/ResponseFilterTest.java Sat Apr 23 07:55:49 2011 @@ -48,6 +48,9 @@ public class ResponseFilterTest private WicketTester tester; + /** +* before() +*/ @Before public void before() { @@ -74,6 +77,9 @@ public class ResponseFilterTest tester = new WicketTester(application); } + /** +* after() +*/ @After public void after() { @@ -120,6 +126,9 @@ public class ResponseFilterTest } } + /** +* normalRequest() +*/ @Test public void normalRequest() { @@ -128,6 +137,9 @@ public class ResponseFilterTest assertEquals(1, counter.get()); } + /** +* ajaxRequest() +*/ @Test public void ajaxRequest() { Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/session/DefaultPageFactoryTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/session/DefaultPageFactoryTest.java?rev=1096119r1=1096118r2=1096119view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/session/DefaultPageFactoryTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/session/DefaultPageFactoryTest.java Sat Apr 23 07:55:49 2011 @@ -126,12 +126,20 @@ public class DefaultPageFactoryTest exte } + /** +*/ public static class PageThrowingCheckedException extends Page { private static final long serialVersionUID = 1L; + /** */ public static final Exception EXCEPTION = new Exception(a checked exception); + /** +* Construct. +* +* @throws Exception +*/ public PageThrowingCheckedException() throws Exception { throw EXCEPTION; Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/pages/HomePage.java URL:
svn commit: r1096121 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/markup/html/panel/ main/java/org/apache/wicket/markup/html/tree/ test/java/org/apache/wicket/markup/html/tree/
Author: jdonnerstag Date: Sat Apr 23 08:29:39 2011 New Revision: 1096121 URL: http://svn.apache.org/viewvc?rev=1096121view=rev Log: fixed: Tree 1.4 to 1.5 migration issue warning Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/DefaultMarkupSourcingStrategy.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/tree/TreeTest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/DefaultMarkupSourcingStrategy.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/DefaultMarkupSourcingStrategy.java?rev=1096121r1=1096120r2=1096121view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/DefaultMarkupSourcingStrategy.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/DefaultMarkupSourcingStrategy.java Sat Apr 23 08:29:39 2011 @@ -22,6 +22,7 @@ import org.apache.wicket.markup.Componen import org.apache.wicket.markup.IMarkupFragment; import org.apache.wicket.markup.MarkupStream; import org.apache.wicket.markup.html.internal.HtmlHeaderContainer; +import org.apache.wicket.markup.html.list.AbstractItem; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -94,6 +95,42 @@ public final class DefaultMarkupSourcing return markup; } + // This is to make migration for Items from 1.4 to 1.5 more easy + if (Character.isDigit(child.getId().charAt(0))) + { + String id = child.getId(); + boolean miss = false; + for (int i = 1; i id.length(); i++) + { + if (Character.isDigit(id.charAt(i)) == false) + { + miss = true; + break; + } + } + + if (miss == false) + { + // The LoopItems markup is equal to the Loops markup + markup = container.getMarkup(); + + if (!(child instanceof AbstractItem) log.isWarnEnabled()) + { + log.warn(1.4 to 1.5 migration issue: the childs wicket-id contains decimals only. + + By convention that + + + is only the case for children (Items) of Loop, ListView, + + Tree etc.. To avoid the warning, the childs container should implement:\n + + @Override public IMarkupFragment getMarkup(Component child) {\n + + // The childs markup is always equal to the parents markup.\n + + return getMarkup(); }\n + + Child: + + child.toString() + + \nContainer: + + container.toString()); + } + } + } + return markup; } Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java?rev=1096121r1=1096120r2=1096121view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java Sat Apr 23 08:29:39 2011 @@ -35,6 +35,7 @@ import org.apache.wicket.MarkupContainer import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.behavior.Behavior; import org.apache.wicket.markup.ComponentTag; +import org.apache.wicket.markup.IMarkupFragment; import org.apache.wicket.markup.html.IHeaderContributor; import org.apache.wicket.markup.html.IHeaderResponse; import org.apache.wicket.markup.html.WebMarkupContainer; @@ -426,6 +427,13 @@ public abstract class AbstractTree exten visitItemAndChildren(rootItem, callback); } } + + @Override + public IMarkupFragment getMarkup(final Component child
svn commit: r1096125 - in /wicket/trunk: wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ wicket-core/src/main/java/org/apache/wicket/settings/ wicket-core/src/main/java/org/apache/w
Author: jdonnerstag Date: Sat Apr 23 09:19:45 2011 New Revision: 1096125 URL: http://svn.apache.org/viewvc?rev=1096125view=rev Log: applied: merge upload progress monitoring functionality into wicket-core Issue: WICKET-3524 Added: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/UploadInfo.java Removed: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/MultipartRequest.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadInfo.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadWebRequest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/settings/IApplicationSettings.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/settings/def/ApplicationSettings.java wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/upload/UploadApplication.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/form/upload/UploadStatusResource.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java?rev=1096125r1=1096124r2=1096125view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java Sat Apr 23 09:19:45 2011 @@ -28,6 +28,8 @@ import javax.servlet.http.HttpServletReq import org.apache.wicket.Application; import org.apache.wicket.WicketRuntimeException; +import org.apache.wicket.settings.IApplicationSettings; +import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.lang.Bytes; import org.apache.wicket.util.string.StringValue; import org.apache.wicket.util.upload.DiskFileItemFactory; @@ -280,13 +282,14 @@ public class MultipartServletWebRequestI } /** -* Subclasses that want to receive upload notifications should return true +* Subclasses that want to receive upload notifications should return true. By default it takes +* the value from {@link IApplicationSettings#isUploadProgressUpdatesEnabled()}. * * @return true if upload status update event should be invoked */ protected boolean wantUploadProgressUpdates() { - return false; + return Application.get().getApplicationSettings().isUploadProgressUpdatesEnabled(); } /** @@ -296,7 +299,9 @@ public class MultipartServletWebRequestI */ protected void onUploadStarted(int totalBytes) { + UploadInfo info = new UploadInfo(totalBytes); + setUploadInfo(getContainerRequest(), info); } /** @@ -307,7 +312,16 @@ public class MultipartServletWebRequestI */ protected void onUploadUpdate(int bytesUploaded, int total) { + HttpServletRequest request = getContainerRequest(); + UploadInfo info = getUploadInfo(request); + if (info == null) + { + throw new IllegalStateException( + could not find UploadInfo object in session which should have been set when uploaded started); + } + info.setBytesUploaded(bytesUploaded); + setUploadInfo(request, info); } /** @@ -315,7 +329,7 @@ public class MultipartServletWebRequestI */ protected void onUploadCompleted() { - + clearUploadInfo(getContainerRequest()); } /** @@ -390,4 +404,46 @@ public class MultipartServletWebRequestI { return this; } + + private static final String SESSION_KEY = MultipartServletWebRequestImpl.class.getName(); + + /** +* Retrieves {@link UploadInfo} from session, null if not found. +* +* @param req +*http servlet request, not null +* @return {@link UploadInfo} object from session, or null if not found +*/ + public static UploadInfo getUploadInfo(final HttpServletRequest req) + { + Args.notNull(req, req); + return (UploadInfo)req.getSession
svn commit: r1096168 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java
Author: jdonnerstag Date: Sat Apr 23 15:52:31 2011 New Revision: 1096168 URL: http://svn.apache.org/viewvc?rev=1096168view=rev Log: fixed: MarkupResourceStream should use debug instead of info to log non-standard namespace Issue: WICKET-3637 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java?rev=1096168r1=1096167r2=1096168view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java Sat Apr 23 15:52:31 2011 @@ -274,7 +274,7 @@ public class MarkupResourceStream implem if (!MarkupParser.WICKET.equals(wicketNamespace)) { - log.info(You are using a non-standard component name: + wicketNamespace); + log.debug(You are using a non-standard namespace name: '{}', wicketNamespace); } }
svn commit: r1096212 [3/3] - in /wicket/trunk: wicket-core/src/test/java/org/apache/wicket/ wicket-core/src/test/java/org/apache/wicket/ajax/ wicket-core/src/test/java/org/apache/wicket/ajax/form/ wic
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/model/AbstractCheckBoxModel.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/model/AbstractCheckBoxModel.java?rev=1096212r1=1096211r2=1096212view=diff == --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/model/AbstractCheckBoxModel.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/model/AbstractCheckBoxModel.java Sat Apr 23 19:54:00 2011 @@ -80,28 +80,44 @@ public abstract class AbstractCheckBoxMo // TODO Remove methods after deprecation release is done - /** @deprecated replaced by {@link #getObject()} */ + /** +* @param component +* @return throws UnsupportedOperationException +* @deprecated replaced by {@link #getObject()} +*/ @Deprecated public final Object getObject(final Component component) { throw new UnsupportedOperationException(); } - /** @deprecated replaced by {@link #isSelected()} */ + /** +* @param component +* @return throws UnsupportedOperationException +* @deprecated replaced by {@link #isSelected()} +*/ @Deprecated public final boolean isSelected(final Component component) { throw new UnsupportedOperationException(); } - /** @deprecated replaced by {@link #setObject(Object)} */ + /** +* @param component +* @param object +* @deprecated replaced by {@link #setObject(Object)} +*/ @Deprecated public final void setObject(final Component component, final Object object) { throw new UnsupportedOperationException(); } - /** @deprecated replaced by {@link #select()} */ + /** +* @param component +* @param sel +* @deprecated replaced by {@link #select()} +*/ @Deprecated public final void setSelected(final Component component, final boolean sel) { 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=1096212r1=1096211r2=1096212view=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 Sat Apr 23 19:54:00 2011 @@ -164,6 +164,8 @@ public class Wizard extends Panel implem /** * 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. +* +* @param response */ public void addDefaultCssStyle(final IHeaderResponse response) { Modified: wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParserTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParserTest.java?rev=1096212r1=1096211r2=1096212view=diff == --- wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParserTest.java (original) +++ wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParserTest.java Sat Apr 23 19:54:00 2011 @@ -62,6 +62,9 @@ public class DefaultLinkParserTest exten parser.parse(line 1 http://www.test.com/test/murx.jsp \nline2 m...@email.de \r\nline3)); } + /** +* testEmailWithPlusChar() +*/ public void testEmailWithPlusChar() { final String testEmailAddress = my+t...@example.com; Modified: wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTablePage.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTablePage.java?rev=1096212r1=1096211r2=1096212view=diff == --- wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTablePage.java (original) +++ wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTablePage.java Sat Apr
svn commit: r1096213 - in /wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest: apps/app1/ apps/app2/ tester/
Author: jdonnerstag Date: Sat Apr 23 19:56:51 2011 New Revision: 1096213 URL: http://svn.apache.org/viewvc?rev=1096213view=rev Log: applied: Fix warnings for all projects except wicket-examples Modified: wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/Home.java wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/ResourceTestPage.java wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app2/Home.java wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/tester/AbstractCommand.java wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/tester/AbstractGetCommand.java wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/tester/CommandRunner.java wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/tester/SimpleGetCommand.java Modified: wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/Home.java URL: http://svn.apache.org/viewvc/wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/Home.java?rev=1096213r1=1096212r2=1096213view=diff == --- wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/Home.java (original) +++ wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/Home.java Sat Apr 23 19:56:51 2011 @@ -63,6 +63,7 @@ import org.apache.wicket.validation.vali */ public class Home extends WebPage { + private static final long serialVersionUID = 1L; private class ActionPanel extends Panel { @@ -339,12 +340,13 @@ public class Home extends WebPage } /** Relevant locales wrapped in a list. */ - private static final ListLocale LOCALES = Arrays.asList(Locale.ENGLISH, - new Locale(nl), Locale.GERMAN, Locale.SIMPLIFIED_CHINESE, Locale.JAPANESE, - new Locale(pt, BR), new Locale(fa, IR), new Locale(da, DK)); + private static final ListLocale LOCALES = Arrays.asList(Locale.ENGLISH, new Locale(nl), + Locale.GERMAN, Locale.SIMPLIFIED_CHINESE, Locale.JAPANESE, new Locale(pt, BR), + new Locale(fa, IR), new Locale(da, DK)); /** available sites for the multiple select. */ - private static final ListString SITES = Arrays.asList(The Server Side, Java Lobby, Java.Net); + private static final ListString SITES = Arrays.asList(The Server Side, Java Lobby, + Java.Net); /** available numbers for the radio selection. */ static final ListString NUMBERS = Arrays.asList(1, 2, 3); Modified: wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/ResourceTestPage.java URL: http://svn.apache.org/viewvc/wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/ResourceTestPage.java?rev=1096213r1=1096212r2=1096213view=diff == --- wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/ResourceTestPage.java (original) +++ wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/ResourceTestPage.java Sat Apr 23 19:56:51 2011 @@ -41,6 +41,7 @@ import com.sun.image.codec.jpeg.JPEGImag */ public class ResourceTestPage extends WebPage { + private static final long serialVersionUID = 1L; /** * Defines the number of images per page */ Modified: wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app2/Home.java URL: http://svn.apache.org/viewvc/wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app2/Home.java?rev=1096213r1=1096212r2=1096213view=diff == --- wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app2/Home.java (original) +++ wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app2/Home.java Sat Apr 23 19:56:51 2011 @@ -25,6 +25,7 @@ import org.apache.wicket.model.IModel; */ public class Home extends WebPage { + private static final long serialVersionUID = 1L; /** * Construct. Modified: wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/tester/AbstractCommand.java URL: http://svn.apache.org/viewvc/wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/tester/AbstractCommand.java?rev=1096213r1=1096212r2=1096213view=diff == --- wicket
svn commit: r1096003 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink$ClosePopupPage.html
Author: jdonnerstag Date: Fri Apr 22 19:38:55 2011 New Revision: 1096003 URL: http://svn.apache.org/viewvc?rev=1096003view=rev Log: fixed: Popup close link not working in wicket examples linkomatic page Issue: WICKET-3571 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink$ClosePopupPage.html Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink$ClosePopupPage.html URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink%24ClosePopupPage.html?rev=1096003r1=1096002r2=1096003view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink$ClosePopupPage.html (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink$ClosePopupPage.html Fri Apr 22 19:38:55 2011 @@ -1,4 +1,4 @@ -?xml version=1.0 encoding=UTF-8 ? +?xml version=1.0 encoding=UTF-8 ?html !-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with @@ -15,7 +15,6 @@ See the License for the specific language governing permissions and limitations under the License. -- -html !-- Without getMarkupSettings().setStripXmlDeclarationFromOutput(true) this line confuses IE (quirks mode) ?xml version=1.0 encoding=UTF-8 ? --
svn commit: r1094157 - in /wicket/trunk/wicket-core/src/main/java/org/apache/wicket: Application_pt.properties Application_pt_BR.properties
Author: jdonnerstag Date: Sun Apr 17 15:27:08 2011 New Revision: 1094157 URL: http://svn.apache.org/viewvc?rev=1094157view=rev Log: promote Application_pt_BR.properties to _pt.properties. Issue: WICKET-3619 Added: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application_pt.properties Removed: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application_pt_BR.properties Added: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application_pt.properties URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application_pt.properties?rev=1094157view=auto == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application_pt.properties (added) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application_pt.properties Sun Apr 17 15:27:08 2011 @@ -0,0 +1,48 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the License); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an AS IS BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +Required=Campo '${label}' \u00E9 obrigat\u00F3rio. +IConverter='${input}' n\u00E3o \u00E9 um ${type} v\u00E1lido. + +RangeValidator=${input} deve estar entre ${minimum} e ${maximum}. +MinimumValidator='${input}' deve ser maior que ${minimum}. +MaximumValidator='${input}' deve ser menor que ${maximum}. + +StringValidator.range='${input}' deve ter entre ${minimum} e ${maximum} caracteres. +StringValidator.minimum='${input}' deve ter no m\u00EDnimo ${minimum} caracteres. +StringValidator.maximum='${input}' deve ter no m\u00E1ximo ${maximum} caracteres. +StringValidator.exact='${input}' deve ter exatamente ${exact} caracteres. + +DateValidator.range='${input}' deve estar entre ${minimum} e ${maximum}. +DateValidator.minimum='${input}' deve ser posterior a ${minimum}. +DateValidator.maximum='${input}' deve ser anterior a ${maximum}. + +CreditCardValidator=Cart\u00E3o de cr\u00E9dito n\u00E3o \u00E9 v\u00E1lido. + +UrlValidator='${input}' n\u00E3o \u00E9 uma URL v\u00E1lida. + +PatternValidator='${input}' n\u00E3o obedece ao padr\u00E3o '${pattern}' +EmailAddressValidator='${input}' n\u00E3o \u00E9 um endere\u00E7o de email v\u00E1lido. + +EqualInputValidator='${input0}' de ${label0} e '${input1}' de ${label1} devem ser iguais. +EqualPasswordInputValidator=${label0} e ${label1} devem ser iguais. + +null=Escolha +nullValid= + +PagingNavigator.first=Voltar \u00E0 primeira p\u00E1gina +PagingNavigator.previous=Voltar \u00E0 p\u00E1gina anterior +PagingNavigator.next=Avan\u00E7ar \u00E0 pr\u00F3xima p\u00E1gina +PagingNavigator.last=Avan\u00E7ar \u00E0 \u00FAltima p\u00E1gina +PagingNavigation.page=Ir \u00E0 p\u00E1gina ${page} \ No newline at end of file
svn commit: r1094159 - /wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
Author: jdonnerstag Date: Sun Apr 17 15:31:14 2011 New Revision: 1094159 URL: http://svn.apache.org/viewvc?rev=1094159view=rev Log: fixed: ModalWindow does not work in Opera 11.10 and MSIE 6 Issue: WICKET-3615 Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js?rev=1094159r1=1094158r2=1094159view=diff == --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js Sun Apr 17 15:31:14 2011 @@ -1191,13 +1191,11 @@ Wicket.Window.getMarkup = function(idWin div class=\w_content_3\+ div class=\w_content\; if (isFrame) { - if (Wicket.Browser.isIELessThan7() || !Wicket.Browser.isIE()) { - s+= iframe src='\/\/:' frameborder=\0\ id='+idContent+' allowtransparency=\false\ style=\height: 200px\ class=\wicket_modal\+ - /iframe; - } else { - s+= iframe src='about:blank' frameborder=\0\ id='+idContent+' allowtransparency=\false\ style=\height: 200px\ class=\wicket_modal\+ - /iframe; + s+= iframe; + if (Wicket.Browser.isIELessThan7()) { + s+= src=\about:blank\ } + s+= frameborder=\0\ id=\+idContent+\ allowtransparency=\false\ style=\height: 200px\ class=\wicket_modal\/iframe; } else { s+= div id='+idContent+' class='w_content_container'/div;
svn commit: r1094161 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink$ClosePopupPage.html
Author: jdonnerstag Date: Sun Apr 17 15:43:52 2011 New Revision: 1094161 URL: http://svn.apache.org/viewvc?rev=1094161view=rev Log: fixed: Popup close link not working in wicket examples linkomatic page Issue: WICKET-3571 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink$ClosePopupPage.html Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink$ClosePopupPage.html URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink%24ClosePopupPage.html?rev=1094161r1=1094160r2=1094161view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink$ClosePopupPage.html (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink$ClosePopupPage.html Sun Apr 17 15:43:52 2011 @@ -1,4 +1,5 @@ ?xml version=1.0 encoding=UTF-8 ? +html !-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with @@ -18,7 +19,6 @@ !-- Without getMarkupSettings().setStripXmlDeclarationFromOutput(true) this line confuses IE (quirks mode) ?xml version=1.0 encoding=UTF-8 ? -- -html body onLoad=javascript:self.close() /body /html
svn commit: r1094162 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/util/lang/PropertyResolverConverter.java test/java/org/apache/wicket/util/lang/PropertyResolverTest.java
Author: jdonnerstag Date: Sun Apr 17 15:47:15 2011 New Revision: 1094162 URL: http://svn.apache.org/viewvc?rev=1094162view=rev Log: fixed org.apache.wicket.util.lang.PropertyResolverConverter Type Erasure leads to Sloppy Typing Issue: WICKET-3441 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/lang/PropertyResolverConverter.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/lang/PropertyResolverConverter.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/lang/PropertyResolverConverter.java?rev=1094162r1=1094161r2=1094162view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/lang/PropertyResolverConverter.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/lang/PropertyResolverConverter.java Sun Apr 17 15:47:15 2011 @@ -47,11 +47,15 @@ public class PropertyResolverConverter i } /** +* @param T +*target type +* @param I +*input object's type * @param object * @param clz * @return The converted object */ - public Object convert(Object object, Class? clz) + public T, I Object convert(I object, ClassT clz) { if (object == null) { @@ -61,14 +65,14 @@ public class PropertyResolverConverter i { return object; } - IConverter converter = converterSupplier.getConverter(clz); + IConverterT converter = converterSupplier.getConverter(clz); if (object instanceof String) { return converter.convertToObject((String)object, locale); } else if (clz == String.class) { - return converter.convertToString(object, locale); + return convertToString(object, locale); } else { @@ -81,8 +85,17 @@ public class PropertyResolverConverter i // ignore that try it the other way } // go through string to convert to the right object. - String tmp = converter.convertToString(object, locale); + String tmp = convertToString(object, locale); return converter.convertToObject(tmp, locale); } } + + protected C String convertToString(C object, Locale locale) + { + @SuppressWarnings(unchecked) + ClassC type = (ClassC)object.getClass(); + + IConverterC converterForObj = converterSupplier.getConverter(type); + return converterForObj.convertToString(object, locale); + } } Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java?rev=1094162r1=1094161r2=1094162view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java Sun Apr 17 15:47:15 2011 @@ -19,6 +19,8 @@ package org.apache.wicket.util.lang; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Locale; @@ -26,9 +28,12 @@ import java.util.Map; import java.util.Vector; import org.apache.wicket.ConverterLocator; +import org.apache.wicket.IConverterLocator; import org.apache.wicket.WicketRuntimeException; import org.apache.wicket.WicketTestCase; import org.apache.wicket.util.convert.ConversionException; +import org.apache.wicket.util.convert.IConverter; +import org.apache.wicket.util.convert.converter.AbstractConverter; /** * @author jcompagner @@ -610,7 +615,7 @@ public class PropertyResolverTest extend private static final long serialVersionUID = 1L; @Override - public Object convert(Object object, Class? clz) + public T, I Object convert(I object, java.lang.ClassT clz) { return null; } @@ -623,4 +628,79 @@ public class PropertyResolverTest extend assertTrue
svn commit: r1094165 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink$ClosePopupPage.html
Author: jdonnerstag Date: Sun Apr 17 16:17:04 2011 New Revision: 1094165 URL: http://svn.apache.org/viewvc?rev=1094165view=rev Log: license header Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink$ClosePopupPage.html Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink$ClosePopupPage.html URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink%24ClosePopupPage.html?rev=1094165r1=1094164r2=1094165view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink$ClosePopupPage.html (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/link/PopupCloseLink$ClosePopupPage.html Sun Apr 17 16:17:04 2011 @@ -1,5 +1,4 @@ ?xml version=1.0 encoding=UTF-8 ? -html !-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with @@ -16,6 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. -- +html !-- Without getMarkupSettings().setStripXmlDeclarationFromOutput(true) this line confuses IE (quirks mode) ?xml version=1.0 encoding=UTF-8 ? --
svn commit: r1094166 - in /wicket/trunk/wicket-util/src: main/java/org/apache/wicket/util/ main/java/org/apache/wicket/util/collections/ main/java/org/apache/wicket/util/convert/ main/java/org/apache/
Author: jdonnerstag Date: Sun Apr 17 16:18:54 2011 New Revision: 1094166 URL: http://svn.apache.org/viewvc?rev=1094166view=rev Log: eclipse cleanup and few minor non-functional changes Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/LongEncoder.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/NullProvider.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/ValueProvider.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/collections/MultiMap.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/ConversionException.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/MaskConverter.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractConverter.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractDecimalConverter.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractIntegerConverter.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractNumberConverter.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/BigDecimalConverter.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/BooleanConverter.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/crypt/ClassCryptFactory.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/file/WebXmlFile.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/DeferredFileOutputStream.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/IOUtils.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/lang/Args.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/lang/Checks.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/lang/Objects.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/license/ApacheLicenseHeaderTestCase.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/listener/ListenerCollection.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/thread/Task.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItem.java wicket/trunk/wicket-util/src/test/java/org/apache/wicket/util/file/WebXmlFileTest.java wicket/trunk/wicket-util/src/test/java/org/apache/wicket/util/string/StringsTest.java Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/LongEncoder.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/LongEncoder.java?rev=1094166r1=1094165r2=1094166view=diff == --- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/LongEncoder.java (original) +++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/LongEncoder.java Sun Apr 17 16:18:54 2011 @@ -38,7 +38,6 @@ public class LongEncoder private LongEncoder() { - } /** Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/NullProvider.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/NullProvider.java?rev=1094166r1=1094165r2=1094166view=diff == --- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/NullProvider.java (original) +++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/NullProvider.java Sun Apr 17 16:18:54 2011 @@ -25,10 +25,8 @@ package org.apache.wicket.util; */ public class NullProviderT implements IProviderT { - public T get() { return null; } - } Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/ValueProvider.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/ValueProvider.java?rev=1094166r1=1094165r2=1094166view=diff == --- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/ValueProvider.java (original) +++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/ValueProvider.java Sun Apr 17 16:18:54 2011 @@ -38,7 +38,6 @@ public class ValueProviderT implements this.value = value; } - /** {@inheritDoc} */ public T get() { return value; @@ -57,5 +56,4 @@ public class ValueProviderT implements { return new ValueProviderT(value
svn commit: r1094167 - in /wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request: Url.java UrlRenderer.java mapper/mount/MountMapper.java
Author: jdonnerstag Date: Sun Apr 17 16:19:28 2011 New Revision: 1094167 URL: http://svn.apache.org/viewvc?rev=1094167view=rev Log: eclipse cleanup and few minor non-functional changes Modified: wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/Url.java wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/UrlRenderer.java wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/mount/MountMapper.java Modified: wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/Url.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/Url.java?rev=1094167r1=1094166r2=1094167view=diff == --- wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/Url.java (original) +++ wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/Url.java Sun Apr 17 16:19:28 2011 @@ -829,7 +829,7 @@ public final class Url implements Serial * * @param protocol */ - public void setProtocol(String protocol) + public void setProtocol(final String protocol) { this.protocol = protocol; } @@ -849,7 +849,7 @@ public final class Url implements Serial * * @param port */ - public void setPort(Integer port) + public void setPort(final Integer port) { this.port = port; } @@ -869,10 +869,8 @@ public final class Url implements Serial * * @param host */ - public void setHost(String host) + public void setHost(final String host) { this.host = host; } - - } Modified: wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/UrlRenderer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/UrlRenderer.java?rev=1094167r1=1094166r2=1094167view=diff == --- wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/UrlRenderer.java (original) +++ wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/UrlRenderer.java Sun Apr 17 16:19:28 2011 @@ -53,7 +53,7 @@ public class UrlRenderer * @param request *Request that serves as the base for rendering urls */ - public UrlRenderer(Request request) + public UrlRenderer(final Request request) { this.request = request; baseUrl = request.getClientUrl(); @@ -108,7 +108,7 @@ public class UrlRenderer * @param url * @return rendered URL */ - public String renderFullUrl(Url url) + public String renderFullUrl(final Url url) { final String protocol = resolveProtocol(url); final String host = resolveHost(url); @@ -117,7 +117,7 @@ public class UrlRenderer String render = protocol + :// + host; - if (port != null !port.equals(PROTO_TO_PORT.get(protocol))) + if ((port != null) !port.equals(PROTO_TO_PORT.get(protocol))) { render += : + port; } @@ -136,7 +136,7 @@ public class UrlRenderer *url being rendered * @return port or {@code null} if none is set */ - protected Integer resolvePort(Url url) + protected Integer resolvePort(final Url url) { return choose(url.getPort(), baseUrl.getPort(), request.getClientUrl().getPort()); } @@ -148,7 +148,7 @@ public class UrlRenderer *url being rendered * @return the host name or {@code null} if none is set */ - protected String resolveHost(Url url) + protected String resolveHost(final Url url) { return choose(url.getHost(), baseUrl.getHost(), request.getClientUrl().getHost()); } @@ -160,7 +160,7 @@ public class UrlRenderer *url being rendered * @return the protocol or {@code null} if none is set */ - protected String resolveProtocol(Url url) + protected String resolveProtocol(final Url url) { return choose(url.getProtocol(), baseUrl.getProtocol(), request.getClientUrl() .getProtocol()); @@ -241,7 +241,7 @@ public class UrlRenderer * @param url * @return {@code true} if URL should be rendered in the full form */ - protected boolean shouldRenderAsFull(Url url) + protected boolean shouldRenderAsFull(final Url url) { if (!Strings.isEmpty(url.getProtocol()) !url.getProtocol().equals(request.getClientUrl().getProtocol())) @@ -253,7 +253,7 @@ public class UrlRenderer
svn commit: r1094169 - in /wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util: file/File.java upload/DiskFileItemFactory.java upload/FileItem.java visit/Visits.java xml/CustomEntityResolver
Author: jdonnerstag Date: Sun Apr 17 16:27:45 2011 New Revision: 1094169 URL: http://svn.apache.org/viewvc?rev=1094169view=rev Log: eclipse cleanup and few minor non-functional changes Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/file/File.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItemFactory.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileItem.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/visit/Visits.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/xml/CustomEntityResolver.java Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/file/File.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/file/File.java?rev=1094169r1=1094168r2=1094169view=diff == --- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/file/File.java (original) +++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/file/File.java Sun Apr 17 16:27:45 2011 @@ -269,7 +269,7 @@ public class File extends java.io.File i * * @param file *The file to copy -* @returns number of bytes written +* @return number of bytes written * @throws IOException */ public int write(final File file) throws IOException Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItemFactory.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItemFactory.java?rev=1094169r1=1094168r2=1094169view=diff == --- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItemFactory.java (original) +++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItemFactory.java Sun Apr 17 16:27:45 2011 @@ -86,6 +86,8 @@ public class DiskFileItemFactory impleme /** * Constructs an unconfigured instance of this class. The resulting factory may be configured by * calling the appropriate setter methods. +* +* @param fileUploadCleaner */ public DiskFileItemFactory(final IFileUploadCleaner fileUploadCleaner) { @@ -102,6 +104,7 @@ public class DiskFileItemFactory impleme * @param repository *The data repository, which is the directory in which files will be created, should *the item size exceed the threshold. +* @param fileUploadCleaner */ public DiskFileItemFactory(final int sizeThreshold, final File repository, final IFileUploadCleaner fileUploadCleaner) Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileItem.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileItem.java?rev=1094169r1=1094168r2=1094169view=diff == --- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileItem.java (original) +++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/FileItem.java Sun Apr 17 16:27:45 2011 @@ -149,8 +149,7 @@ public interface FileItem extends IClust * * @param file *The codeFile/code into which the uploaded item should be stored. -* -* @throws Exception +* @throws IOException * if an error occurs. */ void write(File file) throws IOException; Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/visit/Visits.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/visit/Visits.java?rev=1094169r1=1094168r2=1094169view=diff == --- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/visit/Visits.java (original) +++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/visit/Visits.java Sun Apr 17 16:27:45 2011 @@ -19,6 +19,8 @@ package org.apache.wicket.util.visit; import java.util.Collections; import java.util.Iterator; +import org.apache.wicket.util.lang.Args; + /** * Utility class that contains visitor/traversal related code */ @@ -61,6 +63,7 @@ public class Visits *the visitor * @return return value from the {@code visitor} or {@code null} if none */ + @SuppressWarnings({ unchecked, rawtypes }) public static final S, R R visit(final Iterable? super S container, final IVisitorS, R visitor) { @@ -86,6 +89,7 @@ public class Visits
svn commit: r1094170 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/util/tester/ test/java/org/apache/wicket/util/tester/
Author: jdonnerstag Date: Sun Apr 17 16:29:29 2011 New Revision: 1094170 URL: http://svn.apache.org/viewvc?rev=1094170view=rev Log: a little walk through wicket tester Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java?rev=1094170r1=1094169r2=1094170view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java Sun Apr 17 16:29:29 2011 @@ -16,6 +16,9 @@ */ package org.apache.wicket.util.tester; +import static junit.framework.Assert.assertNotNull; +import static junit.framework.Assert.fail; + import java.io.IOException; import java.io.Serializable; import java.lang.reflect.Constructor; @@ -38,6 +41,8 @@ import javax.servlet.ServletContext; import javax.servlet.http.Cookie; import javax.servlet.http.HttpSession; +import junit.framework.AssertionFailedError; + import org.apache.wicket.Application; import org.apache.wicket.Component; import org.apache.wicket.IPageManagerProvider; @@ -433,10 +438,11 @@ public class BaseWicketTester * * @param request *request to process +* @return true, if process was executed successfully */ - public void processRequest(final MockHttpServletRequest request) + public boolean processRequest(final MockHttpServletRequest request) { - processRequest(request, null); + return processRequest(request, null); } /** @@ -522,8 +528,7 @@ public class BaseWicketTester { if (redirectCount++ = 100) { - throw new IllegalStateException( - Possible infinite redirect detected. Bailing out.); + fail(Possible infinite redirect detected. Bailing out.); } Url newUrl = Url.parse(lastResponse.getRedirectLocation(), @@ -531,7 +536,7 @@ public class BaseWicketTester if (newUrl.isAbsolute()) { - throw new WicketRuntimeException(Can not follow absolute redirect URL.); + fail(Can not follow absolute redirect URL.); } // append redirect URL to current URL (what browser would do) @@ -726,8 +731,9 @@ public class BaseWicketTester return parser.getString().toString().split(\\\)[1]; } } - throw new WicketRuntimeException( - Last response has no AJAX base URL set by AbstractDefaultAjaxBehavior.); + + fail(Last response has no AJAX base URL set by AbstractDefaultAjaxBehavior.); + return null; } /** @@ -939,6 +945,7 @@ public class BaseWicketTester *the parameters to use for the class. * @return the rendered codePage/code */ + @SuppressWarnings(unchecked) public final C extends Page C startPage(final ClassC pageClass, final PageParameters parameters) { @@ -1055,7 +1062,7 @@ public class BaseWicketTester Args.notNull(componentClass, componentClass); // Create the component instance from the class - Component comp; + Component comp = null; try { Constructor? extends Component c = componentClass.getConstructor(String.class); @@ -1063,7 +1070,7 @@ public class BaseWicketTester } catch (Exception e) { - throw convertoUnexpect(e); + fail(e.getMessage()); } // process the component @@ -1130,17 +1137,6 @@ public class BaseWicketTester } /** -* Throw standard WicketRuntimeException -* -* @param e -* @return RuntimeException -*/ - private RuntimeException convertoUnexpect(final Exception e
svn commit: r1090532 - in /wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html: repeater/data/table/DataTable.java tabs/TabbedPanel.java
Author: jdonnerstag Date: Sat Apr 9 06:27:21 2011 New Revision: 1090532 URL: http://svn.apache.org/viewvc?rev=1090532view=rev Log: change to not use deprecated methods Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java?rev=1090532r1=1090531r2=1090532view=diff == --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java Sat Apr 9 06:27:21 2011 @@ -88,7 +88,7 @@ public class DataTableT extends Panel String className = getCssClass(); if (!Strings.isEmpty(className)) { - CharSequence oldClassName = tag.getString(class); + CharSequence oldClassName = tag.getAttribute(class); if (Strings.isEmpty(oldClassName)) { tag.put(class, className); @@ -141,6 +141,7 @@ public class DataTableT extends Panel { private static final long serialVersionUID = 1L; + @SuppressWarnings({ rawtypes, unchecked }) @Override protected Item newCellItem(final String id, final int index, final IModel model) { Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java?rev=1090532r1=1090531r2=1090532view=diff == --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java Sat Apr 9 06:27:21 2011 @@ -88,6 +88,7 @@ public class TabbedPanel extends Panel * @param tabs *list of ITab objects used to represent tabs */ + @SuppressWarnings(unchecked) public TabbedPanel(final String id, final List? extends ITab tabs) { super(id, new ModelInteger(-1)); @@ -172,7 +173,7 @@ public class TabbedPanel extends Panel protected void onComponentTag(final ComponentTag tag) { super.onComponentTag(tag); - String cssClass = (String)tag.getString(class); + String cssClass = tag.getAttribute(class); if (cssClass == null) { cssClass = ;
svn commit: r1090589 - in /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html: basic/EnclosureContainer.java form/Form.java form/StatelessForm.java
Author: jdonnerstag Date: Sat Apr 9 13:34:16 2011 New Revision: 1090589 URL: http://svn.apache.org/viewvc?rev=1090589view=rev Log: fixed EnclosureContainer should honor relevantChild.determineVisibility Issue: WICKET-3586 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/basic/EnclosureContainer.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/basic/EnclosureContainer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/basic/EnclosureContainer.java?rev=1090589r1=1090588r2=1090589view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/basic/EnclosureContainer.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/basic/EnclosureContainer.java Sat Apr 9 13:34:16 2011 @@ -75,6 +75,6 @@ public class EnclosureContainer extends public boolean isVisible() { child.configure(); - return child.isVisible(); + return child.determineVisibility(); } } Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java?rev=1090589r1=1090588r2=1090589view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java Sat Apr 9 13:34:16 2011 @@ -835,6 +835,8 @@ public class FormT extends WebMarkupCo /** * Calls onError on this {@link Form} and any enabled and visible nested form, if the respective * {@link Form} actually has errors. +* +* @param submitter */ private void callOnError(IFormSubmitter submitter) { @@ -966,8 +968,11 @@ public class FormT extends WebMarkupCo /** * Convenient and typesafe way to visit all the form components on a form. * +* @param R +*return object type * @param visitor *The visitor interface to call +* @return user provided in callback */ public final R R visitFormComponents(final IVisitor? extends FormComponent?, R visitor) { @@ -978,8 +983,11 @@ public class FormT extends WebMarkupCo * Convenient and typesafe way to visit all the form components on a form postorder (deepest * first) * +* @param R +*Return object type * @param visitor *The visitor interface to call +* @return whatever you provided */ public final R R visitFormComponentsPostOrder( final IVisitor? extends FormComponent?, R visitor) @@ -1184,6 +1192,9 @@ public class FormT extends WebMarkupCo return false; } + /** +* @return True if is multipart +*/ public boolean isMultiPart() { if (multiPart != 0) Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java?rev=1090589r1=1090588r2=1090589view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java Sat Apr 9 13:34:16 2011 @@ -25,7 +25,6 @@ import org.apache.wicket.model.IModel; * from the browser. So the model of the form or the formcomponents are updated with the submit * values. * - * * @author jcompagner * @param T *The type of the {@link Form}'s model object
svn commit: r1090593 - /wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/basic/EnclosureContainer.java
Author: jdonnerstag Date: Sat Apr 9 13:44:08 2011 New Revision: 1090593 URL: http://svn.apache.org/viewvc?rev=1090593view=rev Log: fixed EnclosureContainer should honor relevantChild.determineVisibility Issue: WICKET-3586 Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/basic/EnclosureContainer.java Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/basic/EnclosureContainer.java URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/basic/EnclosureContainer.java?rev=1090593r1=1090592r2=1090593view=diff == --- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/basic/EnclosureContainer.java (original) +++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/basic/EnclosureContainer.java Sat Apr 9 13:44:08 2011 @@ -84,6 +84,6 @@ public class EnclosureContainer extends public boolean isVisible() { child.configure(); - return child.isVisible(); + return child.determineVisibility(); } }
svn commit: r1090600 - in /wicket/trunk: wicket-core/src/main/java/org/apache/wicket/request/handler/render/ wicket-core/src/test/java/org/apache/wicket/util/cookies/ wicket-request/src/main/java/org/
Author: jdonnerstag Date: Sat Apr 9 14:41:37 2011 New Revision: 1090600 URL: http://svn.apache.org/viewvc?rev=1090600view=rev Log: fixed Cannot set a cookie on bookmarkable page Issue: WICKET-3576 Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/cookies/SetCookieAndRedirectStatefullTestPage.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/cookies/SetCookieAndRedirectStatefullTestPage.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/cookies/SetCookieAndRedirectStatelessTestPage.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/cookies/SetCookieAndRedirectStatelessTestPage.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/cookies/SetCookieAndRedirectTest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/cookies/CookieValuePersisterTestPage.java wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/flow/ResetResponseException.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java?rev=1090600r1=1090599r2=1090600view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java Sat Apr 9 14:41:37 2011 @@ -173,7 +173,7 @@ public class WebPageRenderer extends Pag { WebResponse response = (WebResponse)requestCycle.getResponse(); String relativeUrl = requestCycle.getUrlRenderer().renderUrl(url); - response.reset(); + // response.reset(); response.sendRedirect(relativeUrl); } Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/cookies/CookieValuePersisterTestPage.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/cookies/CookieValuePersisterTestPage.java?rev=1090600r1=1090599r2=1090600view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/cookies/CookieValuePersisterTestPage.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/cookies/CookieValuePersisterTestPage.java Sat Apr 9 14:41:37 2011 @@ -34,12 +34,9 @@ public class CookieValuePersisterTestPag /** * Construct. -* -* */ public CookieValuePersisterTestPage() { - // Create and add feedback panel to page final FeedbackPanel feedback = new FeedbackPanel(feedback); add(feedback); @@ -48,7 +45,6 @@ public class CookieValuePersisterTestPag /** * -* @author Juergen Donnerstag */ public final class TestForm extends FormVoid { @@ -63,13 +59,9 @@ public class CookieValuePersisterTestPag public TestForm(final String id) { super(id); - add(new TextFieldString(input, new ModelString(test))); } - /** -* Dummy -*/ @Override public final void onSubmit() { Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/cookies/SetCookieAndRedirectStatefullTestPage.html URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/cookies/SetCookieAndRedirectStatefullTestPage.html?rev=1090600view=auto == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/cookies/SetCookieAndRedirectStatefullTestPage.html (added) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/cookies/SetCookieAndRedirectStatefullTestPage.html Sat Apr 9 14:41:37 2011 @@ -0,0 +1,26 @@ +!-- +$Id: CookieValuePersisterTestPage.html 527232 2007-04-10 18:15:14Z jcompagner $ +$Revision: 527232 $ +$Date: 2007-04-10 20:15:14 +0200 (Di, 10 Apr 2007) $ + + +Licensed under the Apache License, Version 2.0 (the License); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an AS IS BASIS
svn commit: r1090127 [2/2] - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/ main/java/org/apache/wicket/ajax/ main/java/org/apache/wicket/markup/ main/java/org/apache/wicket/markup/htm
Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureTest.java?rev=1090127view=auto == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureTest.java (added) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureTest.java Fri Apr 8 06:08:05 2011 @@ -0,0 +1,75 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.wicket.markup.html.internal; + +import org.apache.wicket.Page; +import org.apache.wicket.WicketTestCase; +import org.apache.wicket.protocol.http.WebApplication; +import org.apache.wicket.util.tester.WicketTester; + + +/** + * Simple test using the WicketTester + * + * @author Joonas Hamalainen + */ +public class InlineEnclosureTest extends WicketTestCase +{ + /** +* @throws Exception +*/ + public void testInlineEnclosurePage_1() throws Exception + { + executeTest(InlineEnclosurePage_1.class, InlineEnclosurePageExpectedResult_1.html); + } + + /** +* @throws Exception +*/ + public void testInlineEnclosurePage_2() throws Exception + { + executeTest(InlineEnclosurePage_2.class, InlineEnclosurePageExpectedResult_2.html); + } + + /** +* @throws Exception +*/ + public void testInlineEnclosurePanelPage() throws Exception + { + executeTest(InlineEnclosurePanelPage.class, InlineEnclosurePanelPageExpectedResult.html); + } + + @Override + protected void setUp() throws Exception + { + WebApplication app = new WebApplication() + { + @Override + public Class? extends Page getHomePage() + { + return InlineEnclosurePage_1.class; + } + + @Override + protected void init() + { + getMarkupSettings().setStripWicketTags(true); + } + }; + tester = new WicketTester(app); + } +} \ No newline at end of file Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithAdditionalAjaxTargetPage.html URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithAdditionalAjaxTargetPage.html?rev=1090127view=auto == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithAdditionalAjaxTargetPage.html (added) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithAdditionalAjaxTargetPage.html Fri Apr 8 06:08:05 2011 @@ -0,0 +1,15 @@ +html xmlns:wicket +body + +a href=# wicket:id=toggleLinkToggle visibility/a + +div wicket:enclosure=label1 + Container 1: + The visibility of this text is also toggled. + div wicket:id=label1Test/div +/div + + div wicket:id=label2Test2/div + +/body +/html Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithAdditionalAjaxTargetPage.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithAdditionalAjaxTargetPage.java?rev=1090127view=auto == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithAdditionalAjaxTargetPage.java (added) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithAdditionalAjaxTargetPage.java Fri Apr 8 06:08:05 2011 @@ -0,0 +1,89 @@ +/* + * Licensed to the Apache Software Foundation
svn commit: r1088327 - in /wicket/trunk: wicket-core/src/main/java/org/apache/wicket/ wicket-core/src/main/java/org/apache/wicket/util/tester/ wicket-core/src/test/java/org/apache/wicket/ wicket-core/
Author: jdonnerstag Date: Sun Apr 3 15:58:06 2011 New Revision: 1088327 URL: http://svn.apache.org/viewvc?rev=1088327view=rev Log: fixed WICKET-3085: Support for starting FormComponentPanel in WicketTester made testing of any Component type (not just Page and Panel) more easy. See startComponent(component, markup). Issue: WICKET-3085 Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/formComponentPanel/ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/formComponentPanel/MyFormComponentPanel.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/formComponentPanel/SimplePageTest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Page.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/ITestPageSource.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/ITestPanelSource.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/TesterTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxRequestTargetTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxTimerBehaviorTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadFieldTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/markupId/MyPanel.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/FormTesterTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_5/AjaxLinkClickTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_5/AjaxSubmitLinkClickTest.java wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/StringResourceStream.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java?rev=1088327r1=1088326r2=1088327view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java Sun Apr 3 15:58:06 2011 @@ -703,18 +703,33 @@ public abstract class Component */ public IMarkupFragment getMarkup() { + // Markup already determined or preset? if (markup != null) { return markup; } + // No parent, than check associated markup files if (parent == null) { - throw new MarkupException( + // Must be a MarkupContainer to have associated markup file + if (this instanceof MarkupContainer) + { + MarkupContainer container = (MarkupContainer)this; + if (container.hasAssociatedMarkup()) + { + markup = container.getAssociatedMarkup(); + return markup; + } + } + + // Don't know how to find the markup + throw new MarkupNotFoundException( Can not determine Markup. Component is not yet connected to a parent. + toString()); } + // Ask the parent for find the markup for me markup = parent.getMarkup(this); return markup; } @@ -747,7 +762,7 @@ public abstract class Component } // move the component to its real parent if necessary -// moveComponentToItsRealParent(); + // moveComponentToItsRealParent(); } /** Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Page.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Page.java?rev=1088327r1=1088326r2=1088327view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Page.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Page.java Sun Apr 3 15:58:06 2011 @@ -377,15 +377,6 @@ public abstract class Page extends Marku } /** -* @deprecated -*/ - @Deprecated - public int getNumericId
svn commit: r1088329 - in /wicket/trunk/wicket-core/src/main/java/org/apache/wicket: request/handler/PageProvider.java util/tester/BaseWicketTester.java util/tester/WicketTester.java
Author: jdonnerstag Date: Sun Apr 3 16:42:12 2011 New Revision: 1088329 URL: http://svn.apache.org/viewvc?rev=1088329view=rev Log: housekeeping on wickettester. No functional changes Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java?rev=1088329r1=1088328r2=1088329view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java Sun Apr 3 16:42:12 2011 @@ -320,6 +320,10 @@ public class PageProvider implements IPa } } + /** +* +* @return page id +*/ public Integer getPageId() { return pageId; Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java?rev=1088329r1=1088328r2=1088329view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java Sun Apr 3 16:42:12 2011 @@ -144,34 +144,8 @@ public class BaseWicketTester /** log. */ private static final Logger log = LoggerFactory.getLogger(BaseWicketTester.class); - /** -* @author jcompagner -*/ - @Deprecated - private static final class TestPageSource implements ITestPageSource - { - private final Page page; - - private static final long serialVersionUID = 1L; - - /** -* Constructor. -* -* @param page -*/ - private TestPageSource(Page page) - { - this.page = page; - } - - public Page getTestPage() - { - return page; - } - } - private final ServletContext servletContext; - private MockHttpSession hsession; + private MockHttpSession httpSession; private final WebApplication application; @@ -222,7 +196,6 @@ public class BaseWicketTester * Creates codeWicketTester/code and automatically creates a codeWebApplication/code. * * @param C -* * @param homePage *a home page codeClass/code */ @@ -230,9 +203,6 @@ public class BaseWicketTester { this(new MockApplication() { - /** -* @see org.apache.wicket.Application#getHomePage() -*/ @Override public Class? extends Page getHomePage() { @@ -257,7 +227,6 @@ public class BaseWicketTester * * @param application *a codeWicketTester/code codeWebApplication/code object -* * @param servletContextBasePath *the absolute path on disk to the web application's contents (e.g. war root) - may *be codenull/code @@ -272,11 +241,10 @@ public class BaseWicketTester * * @param application *a codeWicketTester/code codeWebApplication/code object -* * @param servletCtx *the servlet context used as backend */ - public BaseWicketTester(final WebApplication application, ServletContext servletCtx) + public BaseWicketTester(final WebApplication application, final ServletContext servletCtx) { servletContext = servletCtx != null ? servletCtx : new MockServletContext(application, null); @@ -290,9 +258,10 @@ public class BaseWicketTester return filterConfig; } }; + application.setWicketFilter(filter); - hsession = new MockHttpSession(servletContext); + httpSession = new MockHttpSession(servletContext); ThreadContext.detach(); @@ -300,13 +269,13 @@ public class BaseWicketTester // FIXME some tests
svn commit: r1088355 - in /wicket/trunk/wicket-core/src/main/java/org/apache/wicket: markup/html/list/ListView.java util/tester/FormTester.java
Author: jdonnerstag Date: Sun Apr 3 18:01:42 2011 New Revision: 1088355 URL: http://svn.apache.org/viewvc?rev=1088355view=rev Log: Added suggest FormTester methods to 1.5 Issue: WICKET-2267 Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java?rev=1088355r1=1088354r2=1088355view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java Sun Apr 3 18:01:42 2011 @@ -611,16 +611,6 @@ public abstract class ListViewT extend } /** -* -* @see org.apache.wicket.MarkupContainer#iterator() -*/ - @Override - public IteratorComponent iterator() - { - return super.iterator(); - } - - /** * Gets model * * @return model Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java?rev=1088355r1=1088354r2=1088355view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java Sun Apr 3 18:01:42 2011 @@ -43,6 +43,7 @@ import org.apache.wicket.markup.html.for import org.apache.wicket.markup.html.form.upload.FileUploadField; import org.apache.wicket.protocol.http.mock.MockHttpServletRequest; import org.apache.wicket.util.file.File; +import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.string.StringValue; import org.apache.wicket.util.string.Strings; import org.apache.wicket.util.visit.IVisit; @@ -172,7 +173,7 @@ public class FormTester * @return the id value at the selected index */ @SuppressWarnings(unchecked) - private String selectAbstractChoice(FormComponent? formComponent, final int index) + private String selectAbstractChoice(final FormComponent? formComponent, final int index) { try { @@ -238,11 +239,6 @@ public class FormTester } } - /** -* -* @see org.apache.wicket.util.tester.FormTester.ChoiceSelector#assignValueToFormComponent(org.apache.wicket.markup.html.form.FormComponent, -* java.lang.String) -*/ @Override protected void assignValueToFormComponent(FormComponent? formComponent, String value) { @@ -267,10 +263,6 @@ public class FormTester super(formComponent); } - /** -* @see org.apache.wicket.util.tester.FormTester.ChoiceSelector#assignValueToFormComponent(org.apache.wicket.markup.html.form.FormComponent, -* java.lang.String) -*/ @Override protected void assignValueToFormComponent(FormComponent? formComponent, String value) { @@ -379,8 +371,7 @@ public class FormTester public void component(final FormComponent? formComponent, final IVisitVoid visit) { // do nothing for invisible or disabled component -- the browser would not send any -// parameter -// for a disabled component + // parameter for a disabled component if (!(formComponent.isVisibleInHierarchy() formComponent.isEnabledInHierarchy())) { return; @@ -507,7 +498,7 @@ public class FormTester *codeComponent/code id * @return the value of the text component */ - public String getTextComponentValue(String id) + public String getTextComponentValue(final String id) { Component c = getForm().get(id); if (c instanceof AbstractTextComponent) @@ -530,8 +521,9 @@ public class FormTester *codeFormComponent/code * @param index
svn commit: r1086012 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/markup/resolver/ test/java/org/apache/wicket/markup/resolver/issue3559/
Author: jdonnerstag Date: Sun Mar 27 20:01:19 2011 New Revision: 1086012 URL: http://svn.apache.org/viewvc?rev=1086012view=rev Log: fixed WICKET-3559 Autolink (AutolinkBookmarkablePageLink) already rendered problem Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/BasePage.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/BasePage.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/HomePage.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/HomePage.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/MenuPanel.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/MenuPanel.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/MyTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/SimplePage.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/SimplePage.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/SimplePanel.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/SimplePanel.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/WicketApplication.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java?rev=1086012r1=1086011r2=1086012view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java Sun Mar 27 20:01:19 2011 @@ -841,7 +841,7 @@ public final class AutoLinkResolver impl { tag.setAutoComponentTag(true); } - tag.setId(autoId); + // tag.setId(autoId); // get the reference resolver ITagReferenceResolver referenceResolver = tagNameToTagReferenceResolvers.get(tagName); Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/BasePage.html URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/BasePage.html?rev=1086012view=auto == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/BasePage.html (added) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/BasePage.html Sun Mar 27 20:01:19 2011 @@ -0,0 +1,8 @@ +!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01//EN http://www.w3.org/TR/html4/strict.dtd; +html +body +h1Wicket AutolinkBookmarkablePageLink Test/h1 +div wicket:id=menu/div +wicket:child / +/body +/html \ No newline at end of file Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/BasePage.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/BasePage.java?rev=1086012view=auto == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/BasePage.java (added) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/resolver/issue3559/BasePage.java Sun Mar 27 20:01:19 2011 @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.wicket.markup.resolver.issue3559; + +import org.apache.wicket.markup.html.WebPage
svn commit: r1085272 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/markup/ test/java/org/apache/wicket/markup/html/basic/ test/java/org/apache/wicket/markup/html/page/
Author: jdonnerstag Date: Fri Mar 25 07:48:41 2011 New Revision: 1085272 URL: http://svn.apache.org/viewvc?rev=1085272view=rev Log: rename Markup.get(String) to .of(String) Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupResourceStreamProvider.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePage_3.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/SimplePanel.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupResourceStreamProvider.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupResourceStreamProvider.java?rev=1085272r1=1085271r2=1085272view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupResourceStreamProvider.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupResourceStreamProvider.java Fri Mar 25 07:48:41 2011 @@ -23,6 +23,9 @@ import org.apache.wicket.util.resource.I * To be implemented by MarkupContainer which wish to implement their own algorithms for loading the * markup resource stream. * p + * Since 1.5 you may also use Component.setMarkup() or getMarkup() to attach Markup to your + * component. + * p * Note: IResourceStreamLocators should be used in case the strategy to find a markup resource is * meant to be applied to ALL components of your application. * p Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java?rev=1085272r1=1085271r2=1085272view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java Fri Mar 25 07:48:41 2011 @@ -55,10 +55,15 @@ public class Markup implements IMarkupFr /** * Take the markup string, parse it and return the Markup (list of MarkupElements). +* p +* Limitation: Please note that MarkupFactory is NOT used and thus no caching is used (which +* doesn't matter for Strings anyway), but what might matter is that your own MarkupFilters are +* not applied, which you might have registered with MarkupFactory. +* * @param markup * @return Markup */ - public static Markup get(final String markup) + public static Markup of(final String markup) { try { Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePage_3.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePage_3.java?rev=1085272r1=1085271r2=1085272view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePage_3.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePage_3.java Fri Mar 25 07:48:41 2011 @@ -47,7 +47,7 @@ public class SimplePage_3 extends Simple @Override public IMarkupFragment getMarkup() { - return Markup.get(html xmlns:wicketbody // + return Markup.of(html xmlns:wicketbody // + span wicket:id='myLabel'mein Label/span // + span wicket:id='test'body/span // + span wicket:id='myPanel'panel/span // Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/SimplePanel.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/SimplePanel.java?rev=1085272r1=1085271r2=1085272view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/SimplePanel.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/SimplePanel.java Fri Mar 25 07:48:41 2011 @@ -44,6 +44,6 @@ public class SimplePanel extends Panel @Override public IMarkupFragment getMarkup() { - return Markup.get(wicket:panelspan wicket:id='label'/span/wicket:panel); + return Markup.of(wicket:panelspan wicket:id='label'/span/wicket:panel); } }
svn commit: r1085095 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/markup/ main/java/org/apache/wicket/markup/parser/ main/java/org/apache/wicket/markup/parser/filter/ test/java/org/
Author: jdonnerstag Date: Thu Mar 24 19:40:52 2011 New Revision: 1085095 URL: http://svn.apache.org/viewvc?rev=1085095view=rev Log: Allow to easily create Markup from String. Changed an example to use Component.getMarkup() to see if it works. Removed counter from AbstractMarkupFilter. It's no longer needed. Removed: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePage_3.html Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePage_3.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/SimplePanel.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/page/TestHomePage.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java?rev=1085095r1=1085094r2=1085095view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java Thu Mar 24 19:40:52 2011 @@ -16,13 +16,14 @@ */ package org.apache.wicket.markup; +import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import org.apache.wicket.util.lang.Args; -import org.apache.wicket.util.resource.StringResourceStream; +import org.apache.wicket.util.resource.ResourceStreamNotFoundException; import org.apache.wicket.util.string.AppendingStringBuffer; import org.apache.wicket.util.string.Strings; import org.slf4j.Logger; @@ -53,22 +54,32 @@ public class Markup implements IMarkupFr private final MarkupResourceStream markupResourceStream; /** -* Private Constructor for NO_MARKUP only +* Take the markup string, parse it and return the Markup (list of MarkupElements). +* @param markup +* @return Markup */ - private Markup() + public static Markup get(final String markup) { - markupResourceStream = null; + try + { + return new MarkupParser(markup).parse(); + } + catch (IOException ex) + { + throw new RuntimeException(ex); + } + catch (ResourceStreamNotFoundException ex) + { + throw new RuntimeException(ex); + } } /** -* Constructor -* -* @param markup -*The associated Markup +* Private Constructor for NO_MARKUP only */ - public Markup(final CharSequence markup) + private Markup() { - this(new MarkupResourceStream(new StringResourceStream(markup))); + markupResourceStream = null; } /** Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java?rev=1085095r1=1085094r2=1085095view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java Thu Mar 24 19:40:52 2011 @@ -40,9 +40,6 @@ public abstract class AbstractMarkupFilt /** The next MarkupFilter in the chain */ private IMarkupFilter parent; - /** TODO Not sure this counter is sufficiently safe, since filters are created per markup file. */ - private int count; - /** * Construct. */ @@ -128,27 +125,18 @@ public abstract class AbstractMarkupFilt return tag; } - /** -* Invoked if current element is raw markup -* -* @param rawMarkup -* @return Usually the same as the tag attribute -*/ +// /** +// * Invoked if current element is raw markup +// * +// * @param rawMarkup +// * @return Usually the same as the tag attribute +// */ // Not yet used // protected MarkupElement onRawMarkup(final MarkupElement rawMarkup) // { // return rawMarkup; // } - /** -* -* @return A unique count per instance -*/ - protected int getCount() - { - return count
svn commit: r1085125 - /wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_3.html
Author: jdonnerstag Date: Thu Mar 24 20:41:37 2011 New Revision: 1085125 URL: http://svn.apache.org/viewvc?rev=1085125view=rev Log: forgot to fix test case Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_3.html Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_3.html URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_3.html?rev=1085125r1=1085124r2=1085125view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_3.html (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_3.html Thu Mar 24 20:41:37 2011 @@ -1,22 +1 @@ -!-- - -Licensed under the Apache License, Version 2.0 (the License); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an AS IS BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. --- -html xmlns:wicket -body - - - - -/body -/html +html xmlns:wicketbody/body/html \ No newline at end of file
svn commit: r1085127 - in /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester: BaseWicketTester.java WicketTester.java
Author: jdonnerstag Date: Thu Mar 24 20:42:15 2011 New Revision: 1085127 URL: http://svn.apache.org/viewvc?rev=1085127view=rev Log: javadoc only: avoid warnings Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java?rev=1085127r1=1085126r2=1085127view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java Thu Mar 24 20:42:15 2011 @@ -113,6 +113,7 @@ import org.apache.wicket.session.ISessio import org.apache.wicket.settings.IRequestCycleSettings.RenderStrategy; import org.apache.wicket.util.IProvider; import org.apache.wicket.util.lang.Classes; +import org.apache.wicket.util.lang.Generics; import org.apache.wicket.util.resource.ResourceStreamNotFoundException; import org.apache.wicket.util.string.Strings; import org.apache.wicket.util.visit.IVisit; @@ -175,12 +176,11 @@ public class BaseWicketTester private MockHttpServletRequest lastRequest; private MockHttpServletResponse lastResponse; - private final ListMockHttpServletRequest previousRequests = new ArrayListMockHttpServletRequest(); - private final ListMockHttpServletResponse previousResponses = new ArrayListMockHttpServletResponse(); + private final ListMockHttpServletRequest previousRequests = Generics.newArrayList(); + private final ListMockHttpServletResponse previousResponses = Generics.newArrayList(); - /** current request */ + /** current request and response */ private MockHttpServletRequest request; - /** current response */ private MockHttpServletResponse response; /** current session */ @@ -198,7 +198,7 @@ public class BaseWicketTester private IRequestHandler forcedHandler; // Simulates the cookies maintained by the browser - private final ListCookie browserCookies = new ArrayListCookie(); + private final ListCookie browserCookies = Generics.newArrayList(); // The root component used for the start. Usually the Page, but can also be a Panel // see https://issues.apache.org/jira/browse/WICKET-1214 @@ -356,7 +356,8 @@ public class BaseWicketTester } /** -* @return +* @param servletWebRequest +* @return servlet web response */ private ServletWebResponse createServletWebResponse(ServletWebRequest servletWebRequest) { @@ -364,7 +365,7 @@ public class BaseWicketTester } /** -* @return +* @return servlet web request */ private ServletWebRequest createServletWebRequest() { @@ -377,13 +378,13 @@ public class BaseWicketTester private void createNewSession() { ThreadContext.setSession(null); + // the following will create a new session and put it in the thread context session = Session.get(); } /** -* -* @return +* @return request object */ public MockHttpServletRequest getRequest() { @@ -391,17 +392,15 @@ public class BaseWicketTester } /** -* * @param request */ - public void setRequest(MockHttpServletRequest request) + public void setRequest(final MockHttpServletRequest request) { this.request = request; applyRequest(); } /** -* * @return session */ public Session getSession() @@ -450,8 +449,7 @@ public class BaseWicketTester } /** -* -* @return +* @return true, if process was executed successfully */ public boolean processRequest() { @@ -463,7 +461,6 @@ public class BaseWicketTester * * @param request *request to process -* */ public void processRequest(MockHttpServletRequest request) { @@ -475,10 +472,10 @@ public class BaseWicketTester * * @param request *request to process -* * @param forcedRequestHandler *optional parameter to override parsing the request URL and force *{@link IRequestHandler} +* @return true, if process was executed successfully */ public boolean processRequest(MockHttpServletRequest request
svn commit: r1083255 - /wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxRequestTargetTest.java
Author: jdonnerstag Date: Sat Mar 19 19:33:23 2011 New Revision: 1083255 URL: http://svn.apache.org/viewvc?rev=1083255view=rev Log: minor changes to support header-contribution encoding=.. Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxRequestTargetTest.java Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxRequestTargetTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxRequestTargetTest.java?rev=1083255r1=1083254r2=1083255view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxRequestTargetTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxRequestTargetTest.java Sat Mar 19 19:33:23 2011 @@ -84,7 +84,6 @@ public class AjaxRequestTargetTest exten page.add(new WebComponent(MockPageWithLinkAndComponent.COMPONENT_ID).setOutputMarkupId(true)); - page.add(new AjaxLinkVoid(MockPageWithLinkAndComponent.LINK_ID) { private static final long serialVersionUID = 1L; @@ -120,19 +119,17 @@ public class AjaxRequestTargetTest exten } }); -// System.out.println(tester.getServletResponse().getDocument()); + // System.out.println(tester.getServletResponse().getDocument()); tester.debugComponentTrees(); tester.clickLink(MockPageWithLinkAndComponent.LINK_ID); String document = tester.getLastResponseAsString(); + String headerContribution = null; - Pattern pat = Pattern.compile(.*header-contribution(.*?)/header-contribution.*, + Pattern pat = Pattern.compile(.*header-contribution.*?(.*?)/header-contribution.*, Pattern.DOTALL); Matcher mat = pat.matcher(document); - - String headerContribution = null; - if (mat.matches()) { headerContribution = mat.group(1); @@ -143,8 +140,12 @@ public class AjaxRequestTargetTest exten // This means that it doesn't exist at all if (expectedFile == null) { - assertNull(There was a header contribution on the response: + headerContribution + - , headerContribution); + assertNull(There was a header contribution on the response + + (though we didn't expect one): + headerContribution + , headerContribution); + } + else if (headerContribution == null) + { + fail(Failed to find header contribution: \n + document); } else { @@ -249,6 +250,8 @@ public class AjaxRequestTargetTest exten */ public static class TestEventPage extends MockPageWithLinkAndComponent { + private static final long serialVersionUID = 1L; + boolean defaultEventRaised = false; /**
svn commit: r1083256 - /wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ParentResourceEscapePathTest.java
Author: jdonnerstag Date: Sat Mar 19 19:34:24 2011 New Revision: 1083256 URL: http://svn.apache.org/viewvc?rev=1083256view=rev Log: replaced system.out with logger Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ParentResourceEscapePathTest.java Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ParentResourceEscapePathTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ParentResourceEscapePathTest.java?rev=1083256r1=1083255r2=1083256view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ParentResourceEscapePathTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ParentResourceEscapePathTest.java Sat Mar 19 19:34:24 2011 @@ -21,9 +21,13 @@ import java.io.InputStream; import org.apache.wicket.request.Url; import org.apache.wicket.request.resource.PackageResourceReference; import org.apache.wicket.request.resource.ResourceReference; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class ParentResourceEscapePathTest extends WicketTestCase { + private static final Logger log = LoggerFactory.getLogger(ParentResourceEscapePathTest.class); + public void testParentEscapeSequenceInRenderedHtml() throws Exception { tester.getApplication().getResourceSettings().setParentFolderPlaceholder(-updir-); @@ -35,12 +39,11 @@ public class ParentResourceEscapePathTes private void parentEscapeSequenceInRenderedHtml() { - tester.startPage(ParentResourceEscapePathTestPage.class); tester.assertRenderedPage(ParentResourceEscapePathTestPage.class); tester.assertNoErrorMessage(); - System.out.println(tester.getLastResponseAsString()); + log.error(tester.getLastResponseAsString()); String html = tester.getLastResponseAsString(); assertContains(html, htmlheadwicket:linkscript ); @@ -51,7 +54,8 @@ public class ParentResourceEscapePathTes private void assertContains(String html, String expected) { - assertTrue(html, html.contains(expected)); + assertTrue(Expected to find \ + expected + \ in \ + html + \, + html.contains(expected)); } public void testResourceUrlGeneratedByResourceReference()
svn commit: r1083257 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/DiffUtil.java
Author: jdonnerstag Date: Sat Mar 19 19:35:30 2011 New Revision: 1083257 URL: http://svn.apache.org/viewvc?rev=1083257view=rev Log: avoid NPE; added Args.XX test Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/DiffUtil.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/DiffUtil.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/DiffUtil.java?rev=1083257r1=1083256r2=1083257view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/DiffUtil.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/DiffUtil.java Sat Mar 19 19:35:30 2011 @@ -30,6 +30,7 @@ import org.apache.wicket.util.diff.Diff; import org.apache.wicket.util.diff.DifferentiationFailedException; import org.apache.wicket.util.diff.Revision; import org.apache.wicket.util.io.Streams; +import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.resource.ResourceStreamNotFoundException; import org.apache.wicket.util.string.StringList; import org.slf4j.Logger; @@ -93,6 +94,8 @@ public final class DiffUtil public static final boolean validatePage(String document, final Class? clazz, final String file, boolean failWithAssert) throws IOException { + Args.notNull(document, document); + String filename = clazz.getPackage().getName(); filename = filename.replace('.', '/'); filename += / + file;
svn commit: r1083259 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/settings/def/MarkupSettings.java
Author: jdonnerstag Date: Sat Mar 19 19:36:23 2011 New Revision: 1083259 URL: http://svn.apache.org/viewvc?rev=1083259view=rev Log: removed unused import Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/settings/def/MarkupSettings.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/settings/def/MarkupSettings.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/settings/def/MarkupSettings.java?rev=1083259r1=1083258r2=1083259view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/settings/def/MarkupSettings.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/settings/def/MarkupSettings.java Sat Mar 19 19:36:23 2011 @@ -16,7 +16,6 @@ */ package org.apache.wicket.settings.def; -import org.apache.wicket.Application; import org.apache.wicket.markup.MarkupFactory; import org.apache.wicket.settings.IMarkupSettings; import org.apache.wicket.util.lang.Args;
svn commit: r1083260 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
Author: jdonnerstag Date: Sat Mar 19 19:39:48 2011 New Revision: 1083260 URL: http://svn.apache.org/viewvc?rev=1083260view=rev Log: suppress warnings Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java?rev=1083260r1=1083259r2=1083260view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java Sat Mar 19 19:39:48 2011 @@ -448,6 +448,7 @@ public abstract class FormComponentT e * @see IValidatorAddListener * */ + @SuppressWarnings({ rawtypes, unchecked }) public final FormComponentT add(final IValidator? super T validator) { if (validator == null) @@ -1088,7 +1089,6 @@ public abstract class FormComponentT e * @see IConverterLocator * @see Application#newConverterLocator() */ - @SuppressWarnings(unchecked) protected void convertInput() { if (typeName == null)
svn commit: r1083261 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/border/MarkupComponentBorder.java
Author: jdonnerstag Date: Sat Mar 19 19:40:26 2011 New Revision: 1083261 URL: http://svn.apache.org/viewvc?rev=1083261view=rev Log: removed unused import Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/border/MarkupComponentBorder.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/border/MarkupComponentBorder.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/border/MarkupComponentBorder.java?rev=1083261r1=1083260r2=1083261view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/border/MarkupComponentBorder.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/border/MarkupComponentBorder.java Sat Mar 19 19:40:26 2011 @@ -33,7 +33,6 @@ import org.apache.wicket.markup.MarkupSt import org.apache.wicket.markup.WicketTag; import org.apache.wicket.markup.parser.filter.WicketTagIdentifier; import org.apache.wicket.request.Response; -import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.resource.IResourceStream; import org.apache.wicket.util.resource.locator.IResourceStreamLocator;
svn commit: r1083262 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java
Author: jdonnerstag Date: Sat Mar 19 19:43:25 2011 New Revision: 1083262 URL: http://svn.apache.org/viewvc?rev=1083262view=rev Log: removed redundant constant Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java?rev=1083262r1=1083261r2=1083262view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java Sat Mar 19 19:43:25 2011 @@ -112,7 +112,7 @@ public class MarkupResourceStream implem throw new IllegalArgumentException(Parameter 'resourceStream' must not be null); } - setWicketNamespace(ComponentTag.DEFAULT_WICKET_NAMESPACE); + setWicketNamespace(MarkupParser.WICKET); } public String locationAsString() @@ -272,7 +272,7 @@ public class MarkupResourceStream implem this.wicketNamespace = wicketNamespace; wicketId = wicketNamespace + :id; - if (!ComponentTag.DEFAULT_WICKET_NAMESPACE.equals(wicketNamespace)) + if (!MarkupParser.WICKET.equals(wicketNamespace)) { log.info(You are using a non-standard component name: + wicketNamespace); }
svn commit: r1083263 - in /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html: image/resource/LocalizedImageResource.java tree/BaseTree.java
Author: jdonnerstag Date: Sat Mar 19 19:44:11 2011 New Revision: 1083263 URL: http://svn.apache.org/viewvc?rev=1083263view=rev Log: replaced deprecated ComponentTag.getString with getAttribute Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/image/resource/LocalizedImageResource.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/BaseTree.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/image/resource/LocalizedImageResource.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/image/resource/LocalizedImageResource.java?rev=1083263r1=1083262r2=1083263view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/image/resource/LocalizedImageResource.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/image/resource/LocalizedImageResource.java Sat Mar 19 19:44:11 2011 @@ -298,7 +298,7 @@ public final class LocalizedImageResourc if (resource == null resourceReference == null) { // Get SRC attribute of tag - final CharSequence src = tag.getString(src); + final CharSequence src = tag.getAttribute(src); if (src != null) { // Try to load static image @@ -307,7 +307,7 @@ public final class LocalizedImageResourc else { // Get VALUE attribute of tag - final CharSequence value = tag.getString(value); + final CharSequence value = tag.getAttribute(value); if (value != null) { // Try to generate an image using an image factory Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/BaseTree.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/BaseTree.java?rev=1083263r1=1083262r2=1083263view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/BaseTree.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/BaseTree.java Sat Mar 19 19:44:11 2011 @@ -117,7 +117,7 @@ public abstract class BaseTree extends A String klass = getItemClass(node); if (!Strings.isEmpty(klass)) { - CharSequence oldClass = tag.getString(class); + CharSequence oldClass = tag.getAttribute(class); if (Strings.isEmpty(oldClass)) { tag.put(class, klass);
svn commit: r1083265 - /wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/DecoratingHeaderResponseTest.java
Author: jdonnerstag Date: Sat Mar 19 19:44:46 2011 New Revision: 1083265 URL: http://svn.apache.org/viewvc?rev=1083265view=rev Log: replaced deprecated ComponentTag.getString with getAttribute Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/DecoratingHeaderResponseTest.java Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/DecoratingHeaderResponseTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/DecoratingHeaderResponseTest.java?rev=1083265r1=1083264r2=1083265view=diff == --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/DecoratingHeaderResponseTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/DecoratingHeaderResponseTest.java Sat Mar 19 19:44:46 2011 @@ -75,7 +75,7 @@ public class DecoratingHeaderResponseTes { if (tag.isOpen() script.equals(tag.getName())) { - isDecorated = tag.getString(src).toString().contains(DECORATED); + isDecorated = tag.getAttribute(src).toString().contains(DECORATED); if (!isDecorated) { fail(); @@ -123,7 +123,7 @@ public class DecoratingHeaderResponseTes { if (tag.isOpen() script.equals(tag.getName())) { - resourcesId.add(Integer.parseInt(tag.getString(id).toString())); + resourcesId.add(Integer.parseInt(tag.getAttribute(id).toString())); } } while ((tag = (XmlTag)parser.nextTag()) != null);
svn commit: r1083266 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
Author: jdonnerstag Date: Sat Mar 19 19:46:45 2011 New Revision: 1083266 URL: http://svn.apache.org/viewvc?rev=1083266view=rev Log: replaced deprecated ComponentTag.getString with getAttribute Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java?rev=1083266r1=1083265r2=1083266view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java Sat Mar 19 19:46:45 2011 @@ -727,7 +727,7 @@ public class BaseWicketTester while ((tag = (XmlTag)parser.nextTag()) != null) { if (tag.isOpen() tag.getName().equals(script) - wicket-ajax-base-url.equals(tag.getString(id))) + wicket-ajax-base-url.equals(tag.getAttribute(id))) { parser.next(); return parser.getString().toString().split(\\\)[1];
svn commit: r1083267 - in /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser: XmlTag.java filter/EnclosureHandler.java
Author: jdonnerstag Date: Sat Mar 19 19:48:07 2011 New Revision: 1083267 URL: http://svn.apache.org/viewvc?rev=1083267view=rev Log: replaced deprecated ComponentTag.getString with getAttribute Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java?rev=1083267r1=1083266r2=1083267view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java Sat Mar 19 19:48:07 2011 @@ -256,7 +256,7 @@ public class XmlTag extends MarkupElemen *The key * @return The string value */ - public CharSequence getString(final String key) + public CharSequence getAttribute(final String key) { return getAttributes().getCharSequence(key); } @@ -637,7 +637,7 @@ public class XmlTag extends MarkupElemen { buffer.append( ); buffer.append(key); - CharSequence value = getString(key); + CharSequence value = getAttribute(key); // Attributes without values are possible, e.g. 'disabled' if (value != null) Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java?rev=1083267r1=1083266r2=1083267view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java Sat Mar 19 19:48:07 2011 @@ -129,7 +129,7 @@ public final class EnclosureHandler exte ComponentTag lastEnclosure = stack.lastElement(); // If the enclosure tag has NO child attribute, then ... - if (lastEnclosure.getString(CHILD_ATTRIBUTE) == null) + if (lastEnclosure.getAttribute(CHILD_ATTRIBUTE) == null) { // We encountered more than one child component inside // the enclosure and are not able to automatically @@ -155,7 +155,7 @@ public final class EnclosureHandler exte if ((tag instanceof WicketTag) ((WicketTag)tag).isEnclosureTag()) { // Yes, we handled the tag - return new Enclosure(tag.getId(), tag.getString(EnclosureHandler.CHILD_ATTRIBUTE)); + return new Enclosure(tag.getId(), tag.getAttribute(EnclosureHandler.CHILD_ATTRIBUTE)); } // We were not able to handle the tag
svn commit: r1083268 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java
Author: jdonnerstag Date: Sat Mar 19 19:49:32 2011 New Revision: 1083268 URL: http://svn.apache.org/viewvc?rev=1083268view=rev Log: refactor: extract constant Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java?rev=1083268r1=1083267r2=1083268view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java Sat Mar 19 19:49:32 2011 @@ -40,6 +40,12 @@ import org.apache.wicket.util.resource.R */ public final class XmlPullParser implements IXmlPullParser { + /** */ + public static final String STYLE = style; + + /** */ + public static final String SCRIPT = script; + /** * Reads the xml data from an input stream and converts the chars according to its encoding * (?xml ... encoding=... ?) @@ -136,7 +142,8 @@ public final class XmlPullParser impleme lastPos = input.find('', lastPos + tagNameLen); if (lastPos == -1) { - throw new ParseException(Script tag not closed + getLineAndColumnText(), startIndex); + throw new ParseException(skipUntilText + tag not closed + getLineAndColumnText(), + startIndex); } // Reset the state variable @@ -241,21 +248,20 @@ public final class XmlPullParser impleme // It must be an open tag type = TagType.OPEN; - // If open tag and starts with s like script or style, than - // ... - if ((tagText.length() 5) + // If open tag and starts with s like script or style, than ... + if ((tagText.length() STYLE.length()) ((tagText.charAt(0) == 's') || (tagText.charAt(0) == 'S'))) { final String lowerCase = tagText.substring(0, 6).toLowerCase(); - if (lowerCase.startsWith(script)) + if (lowerCase.startsWith(SCRIPT)) { // prepare to skip everything between the open and close tag - skipUntilText = script; + skipUntilText = SCRIPT; } - else if (lowerCase.startsWith(style)) + else if (lowerCase.startsWith(STYLE)) { // prepare to skip everything between the open and close tag - skipUntilText = style; + skipUntilText = STYLE; } } }
svn commit: r1083269 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java
Author: jdonnerstag Date: Sat Mar 19 19:50:39 2011 New Revision: 1083269 URL: http://svn.apache.org/viewvc?rev=1083269view=rev Log: introduce Markup.replace(MarkupElement) Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java?rev=1083269r1=1083268r2=1083269view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java Sat Mar 19 19:50:39 2011 @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.resource.StringResourceStream; import org.apache.wicket.util.string.AppendingStringBuffer; import org.apache.wicket.util.string.Strings; @@ -98,6 +99,24 @@ public class Markup implements IMarkupFr /** * +* @param index +* @param elem +*/ + public final void replace(final int index, final MarkupElement elem) + { + Args.notNull(elem, elem); + + if ((index 0) || (index = size())) + { + throw new IndexOutOfBoundsException('index' must be smaller than size(). Index: + + index + ; size: + size()); + } + + markupElements.set(index, elem); + } + + /** +* * @return The fixed location as a string, e.g. the file name or the URL. Return null to avoid * caching the markup. */
svn commit: r1083270 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/ main/java/org/apache/wicket/ajax/ main/java/org/apache/wicket/markup/ main/java/org/apache/wicket/markup/parser/ m
Author: jdonnerstag Date: Sat Mar 19 19:54:25 2011 New Revision: 1083270 URL: http://svn.apache.org/viewvc?rev=1083270view=rev Log: fixed: javascript with a less than character () fails to execute when added through a header contribution in ajax response - Introduced a new WicketFilter (StyleAndScriptIdentifier) to support the use case - ComponentTag: replace growing number of booleans with an int flag - WicketFilter now support postProcessing the markup (may replace current chaining approach in the future) Issue: WICKET-3420 Added: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ComponentTag.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupParser.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/IMarkupFilter.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RootMarkupFilter.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/mock/MockHomePage.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/MockComponent1-expected.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupParserTest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java?rev=1083270r1=1083269r2=1083270view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java Sat Mar 19 19:54:25 2011 @@ -32,7 +32,6 @@ import org.apache.wicket.markup.MarkupFa import org.apache.wicket.markup.MarkupNotFoundException; import org.apache.wicket.markup.MarkupStream; import org.apache.wicket.markup.MarkupType; -import org.apache.wicket.markup.RawMarkup; import org.apache.wicket.markup.WicketTag; import org.apache.wicket.markup.html.border.Border; import org.apache.wicket.markup.resolver.ComponentResolvers; @@ -1385,8 +1384,9 @@ public abstract class MarkupContainer ex * * @param markupStream *The markup stream +* @return true, if element was rendered as RawMarkup */ - protected final void renderNext(final MarkupStream markupStream) + protected final boolean renderNext(final MarkupStream markupStream) { // Get the current markup element final MarkupElement element = markupStream.get(); @@ -1416,6 +1416,12 @@ public abstract class MarkupContainer ex { component.render(); } + else if (tag.getFlag(ComponentTag.RENDER_RAW)) + { + // No component found, but render as raw markup flag found + getResponse().write(element.toCharSequence()); + return true; + } else { if (tag instanceof WicketTag) @@ -1446,12 +1452,11 @@ public abstract class MarkupContainer ex else { // Render as raw markup - if (log.isDebugEnabled()) - { - log.debug(Rendering raw markup); - } getResponse().write(element.toCharSequence()); + return true; } + + return false; } /** @@ -1537,13 +1542,13 @@ public abstract class MarkupContainer ex final int index = markupStream.getCurrentIndex(); // Render the markup element - renderNext(markupStream); + boolean rawMarkup = renderNext(markupStream); // Go back to where we were and move the markup stream forward to whatever the next // element is. markupStream.setCurrentIndex(index); MarkupElement elem = markupStream.get(); - if (elem instanceof RawMarkup) + if (rawMarkup
svn commit: r1083281 - in /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser: XmlPullParser.java XmlTag.java
Author: jdonnerstag Date: Sat Mar 19 20:34:00 2011 New Revision: 1083281 URL: http://svn.apache.org/viewvc?rev=1083281view=rev Log: remove unused variable in XmlTag Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java?rev=1083281r1=1083280r2=1083281view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java Sat Mar 19 20:34:00 2011 @@ -274,7 +274,6 @@ public final class XmlPullParser impleme // Populate tag fields lastTag.type = type; lastTag.pos = openBracketIndex; - lastTag.length = lastText.length(); lastTag.text = lastText; lastTag.lineNumber = input.getLineNumber(); lastTag.columnNumber = input.getColumnNumber(); Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java?rev=1083281r1=1083280r2=1083281view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java Sat Mar 19 20:34:00 2011 @@ -68,9 +68,6 @@ public class XmlTag extends MarkupElemen /** Column number. */ int columnNumber; - /** Length of this tag in characters. */ - int length; - /** Line number. */ int lineNumber; @@ -186,7 +183,7 @@ public class XmlTag extends MarkupElemen */ public int getLength() { - return length; + return text.length(); } /** @@ -384,7 +381,6 @@ public class XmlTag extends MarkupElemen dest.namespace = namespace; dest.name = name; dest.pos = pos; - dest.length = length; dest.text = text; dest.type = type; dest.isMutable = true; @@ -562,8 +558,8 @@ public class XmlTag extends MarkupElemen */ public String toDebugString() { - return [Tag name = + name + , pos = + pos + , line = + lineNumber + , length = + - length + , attributes = [ + getAttributes() + ], type = + type + ]; + return [Tag name = + name + , pos = + pos + , line = + lineNumber + + , attributes = [ + getAttributes() + ], type = + type + ]; } /**
svn commit: r1083291 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/ main/java/org/apache/wicket/markup/ main/java/org/apache/wicket/markup/parser/ test/java/org/apache/wicket/markup/
Author: jdonnerstag Date: Sat Mar 19 21:14:46 2011 New Revision: 1083291 URL: http://svn.apache.org/viewvc?rev=1083291view=rev Log: removed superfluous variable from XmlTag Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ComponentTag.java wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupDisabledTestPage.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupDisabledTestPage_expected.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTest.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage1.html wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage1_expected.html Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java?rev=1083291r1=1083290r2=1083291view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java Sat Mar 19 21:14:46 2011 @@ -1725,6 +1725,7 @@ public abstract class Component *Model object to convert to string * @return The string */ + @SuppressWarnings({ rawtypes, unchecked }) public final String getDefaultModelObjectAsString(final Object modelObject) { if (modelObject != null) @@ -3354,6 +3355,7 @@ public abstract class Component * Traverses all parent components of the given class in this container, calling the visitor's * visit method at each one. * +* @param R * @param c *Class * @param visitor @@ -4169,21 +4171,9 @@ public abstract class Component if (markupStream.atCloseTag() markupStream.getTag().closes(openTag)) { // Render the close tag - if (renderBodyOnly == false) + if ((renderBodyOnly == false) needToRenderTag(openTag)) { - // Get the close tag from the stream - ComponentTag closeTag = markupStream.getTag(); - - // If the open tag had its id changed - if (openTag.getNameChanged()) - { - // change the id of the close tag - closeTag = closeTag.mutable(); - closeTag.setName(openTag.getName()); - closeTag.setNamespace(openTag.getNamespace()); - } - - renderComponentTag(closeTag); + getResponse().write(openTag.syntheticCloseTagString()); } } else if (openTag.requiresCloseTag()) Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ComponentTag.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ComponentTag.java?rev=1083291r1=1083290r2=1083291view=diff == --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ComponentTag.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ComponentTag.java Sat Mar 19 21:14:46 2011 @@ -298,7 +298,6 @@ public class ComponentTag extends Markup } /** -* @see org.apache.wicket.markup.parser.XmlTag#getName() * @return The tag's name */ public final String getName() @@ -307,16 +306,6 @@ public class ComponentTag extends Markup } /** -* @see org.apache.wicket.markup.parser.XmlTag#getNameChanged() -* @return Returns true if the name of this component tag was changed -*/ - public final boolean getNameChanged() - { - return xmlTag.getNameChanged(); - } - - /** -* @see org.apache.wicket.markup.parser.XmlTag#getNamespace() * @return The tag's namespace */ public final String getNamespace() Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java URL: http