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>

Reply via email to