Sync the CDI example with the one from wicket-6.x
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/e9b4f388 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/e9b4f388 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/e9b4f388 Branch: refs/heads/sandbox/component-queueing-2 Commit: e9b4f388aef1d9c18988689170c460b0c436f128 Parents: af7d79b Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Mon Feb 17 14:14:05 2014 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Mon Feb 17 14:14:05 2014 +0200 ---------------------------------------------------------------------- .../examples/cdi/AutoConversationPage1.html | 19 +++++++ .../examples/cdi/AutoConversationPage1.java | 57 ++++++++++++++++++++ .../examples/cdi/AutoConversationPage2.html | 17 ++++++ .../examples/cdi/AutoConversationPage2.java | 43 +++++++++++++++ .../wicket/examples/cdi/CdiApplication.java | 20 +++---- .../apache/wicket/examples/cdi/CdiHomePage.html | 3 ++ 6 files changed, 150 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/e9b4f388/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage1.html ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage1.html b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage1.html new file mode 100644 index 0000000..5768bab --- /dev/null +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage1.html @@ -0,0 +1,19 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org"> +<body> +<wicket:extend> + <p> + This page demonstrates automatic conversation managed. Below is a counter + that is conversation-scoped. Click increment a couple of times and then click + the 'Continue to next page', the counter value should persist on the + next page. + </p> + <p> + Current counter value is: <span wicket:id="count">100</span> + <a wicket:id="increment">increment</a> + </p> + <p> + <a wicket:id="next">Continue to next page</a> + </p> +</wicket:extend> +</body> +</html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/wicket/blob/e9b4f388/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage1.java ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage1.java b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage1.java new file mode 100644 index 0000000..fd5190d --- /dev/null +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage1.java @@ -0,0 +1,57 @@ +/* + * 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.examples.cdi; + +import javax.enterprise.context.Conversation; +import javax.inject.Inject; + +import org.apache.wicket.cdi.ConversationalComponent; +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.link.Link; +import org.apache.wicket.model.PropertyModel; + +public class AutoConversationPage1 extends CdiExamplePage implements ConversationalComponent +{ + @Inject + ConversationCounter counter; + + @Inject + Conversation conversation; + + public AutoConversationPage1() + { + add(new Label("count", new PropertyModel(this, "counter.count"))); + + add(new Link<Void>("increment") + { + @Override + public void onClick() + { + counter.increment(); + } + }); + + add(new Link<Void>("next") + { + @Override + public void onClick() + { + setResponsePage(new AutoConversationPage2()); + } + }); + } +} http://git-wip-us.apache.org/repos/asf/wicket/blob/e9b4f388/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage2.html ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage2.html b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage2.html new file mode 100644 index 0000000..1e1a9ef --- /dev/null +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage2.html @@ -0,0 +1,17 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org"> +<body> +<wicket:extend> + <p> + This page is not marked with ConversationalComponent. Therefore, the conversation that was + started on the previous page is ended. Notice the conversational counter injected into this + page initially has the same value as in the previous page, this is because the conversation + was still active in the request that rendered this page. However, clicking 'refresh' below, + will reset the counter to 0. + </p> + <p> + Current counter value is: <span wicket:id="count">100</span> + <a wicket:id="refresh">refresh</a> + </p> +</wicket:extend> +</body> +</html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/wicket/blob/e9b4f388/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage2.java ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage2.java b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage2.java new file mode 100644 index 0000000..7f3ee95 --- /dev/null +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage2.java @@ -0,0 +1,43 @@ +/* + * 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.examples.cdi; + +import javax.inject.Inject; + +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.link.BookmarkablePageLink; +import org.apache.wicket.markup.html.link.Link; +import org.apache.wicket.model.PropertyModel; + +public class AutoConversationPage2 extends CdiExamplePage +{ + @Inject + ConversationCounter counter; + + public AutoConversationPage2() + { + add(new Label("count", new PropertyModel(this, "counter.count"))); + + add(new Link<Void>("refresh") + { + @Override + public void onClick() + { + } + }); + } +} http://git-wip-us.apache.org/repos/asf/wicket/blob/e9b4f388/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/CdiApplication.java ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/CdiApplication.java b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/CdiApplication.java index a5c4869..c56d2e7 100644 --- a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/CdiApplication.java +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/CdiApplication.java @@ -16,27 +16,29 @@ */ package org.apache.wicket.examples.cdi; +import javax.enterprise.inject.spi.BeanManager; + import org.apache.wicket.Page; import org.apache.wicket.cdi.CdiConfiguration; -import org.apache.wicket.cdi.ConversationPropagation; import org.apache.wicket.protocol.http.WebApplication; +import org.jboss.weld.environment.servlet.Listener; -public class CdiApplication extends WebApplication { +public class CdiApplication extends WebApplication +{ @Override - public Class<? extends Page> getHomePage() { + public Class<? extends Page> getHomePage() + { return CdiHomePage.class; } @Override - protected void init() { + protected void init() + { super.init(); - new CdiConfiguration().setPropagation( - ConversationPropagation.NONBOOKMARKABLE).configure(this); - - mountPage("injection", InjectionPage.class); - mountPage("conversation", ConversationPage1.class); + // configure wicket/cdi + new CdiConfiguration().configure(this); } } http://git-wip-us.apache.org/repos/asf/wicket/blob/e9b4f388/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/CdiHomePage.html ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/CdiHomePage.html b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/CdiHomePage.html index ef2431a..d750a11 100644 --- a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/CdiHomePage.html +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/CdiHomePage.html @@ -9,6 +9,9 @@ <li> <a href="ConversationPage1.html">Conversation Propagation Example</a> </li> + <li> + <a href="AutoConversationPage1.html">Automatic Conversation Management Example</a> + </li> </ul> </wicket:link> </wicket:extend>
