You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by al...@apache.org on 2007/06/20 13:48:51 UTC
svn commit: r549077 - in /incubator/wicket/trunk/jdk-1.5/wicket-examples: ./
src/main/java/org/apache/wicket/examples/guice/
src/main/java/org/apache/wicket/examples/guice/service/ src/main/webapp/
src/main/webapp/WEB-INF/
Author: almaw
Date: Wed Jun 20 04:48:49 2007
New Revision: 549077
URL: http://svn.apache.org/viewvc?view=rev&rev=549077
Log:
Guice examples
Added:
incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/
incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/GuiceApplication.java (with props)
incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/HomePage.html (with props)
incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/HomePage.java (with props)
incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/service/
incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/service/IMyService.java (with props)
incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/service/MyService.java (with props)
Modified:
incubator/wicket/trunk/jdk-1.5/wicket-examples/pom.xml
incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/webapp/WEB-INF/web.xml
incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/webapp/index.html
Modified: incubator/wicket/trunk/jdk-1.5/wicket-examples/pom.xml
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.5/wicket-examples/pom.xml?view=diff&rev=549077&r1=549076&r2=549077
==============================================================================
--- incubator/wicket/trunk/jdk-1.5/wicket-examples/pom.xml (original)
+++ incubator/wicket/trunk/jdk-1.5/wicket-examples/pom.xml Wed Jun 20 04:48:49 2007
@@ -44,6 +44,10 @@
</dependency>
<dependency>
<groupId>org.apache.wicket</groupId>
+ <artifactId>wicket-guice</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.wicket</groupId>
<artifactId>wicket-jmx</artifactId>
</dependency>
<dependency>
Added: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/GuiceApplication.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/GuiceApplication.java?view=auto&rev=549077
==============================================================================
--- incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/GuiceApplication.java (added)
+++ incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/GuiceApplication.java Wed Jun 20 04:48:49 2007
@@ -0,0 +1,45 @@
+/*
+ * 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.guice;
+
+import org.apache.wicket.examples.WicketExampleApplication;
+import org.apache.wicket.guice.GuiceComponentInjector;
+
+/**
+ * Application for Google Guice integration example.
+ *
+ * @author Jonathan Locke
+ */
+public class GuiceApplication extends WicketExampleApplication
+{
+ /**
+ * @see org.apache.wicket.examples.WicketExampleApplication#init()
+ */
+ @Override
+ protected void init()
+ {
+ addComponentInstantiationListener(new GuiceComponentInjector(this));
+ }
+
+ /**
+ * @see org.apache.wicket.Application#getHomePage()
+ */
+ public Class getHomePage()
+ {
+ return HomePage.class;
+ }
+}
Propchange: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/GuiceApplication.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/HomePage.html
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/HomePage.html?view=auto&rev=549077
==============================================================================
--- incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/HomePage.html (added)
+++ incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/HomePage.html Wed Jun 20 04:48:49 2007
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head>
+ <title>Wicket Examples - helloworld</title>
+ <link rel="stylesheet" type="text/css" href="style.css"/>
+</head>
+<body>
+ <span wicket:id="mainNavigation"/>
+ <p>
+ This page uses <a href="http://code.google.com/p/google-guice/">Google Guice</a>.
+ There is a service interface called <code>IMyService</code>, with an implementation POJO called <code>MyService</code>.
+ Guice is used to wire the implementation into the <code>Page</code> using an <code>@Inject</code> annotation. You can use this
+ annotation on the fields of any <code>Component</code> subclass.
+ </p>
+ <p>
+ The value of the <code>Label</code> component below will be updated with the return value from one of the service's methods when you click the link.
+ </p>
+ <hr />
+ <blockquote>
+ Value: <b wicket:id="message" id="message">Message goes here</b>
+ <br />
+ To update the label above, <a href="#" wicket:id="link">click here</a>.
+ </blockquote>
+ <hr />
+ <p>
+ The wicket-guice project will take care of proxying the injected beans so that your pages can be serialized safely.
+ To configure your application for Guice injection, just
+ </p>
+
+</body>
+</html>
Propchange: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/HomePage.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/HomePage.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/HomePage.java?view=auto&rev=549077
==============================================================================
--- incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/HomePage.java (added)
+++ incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/HomePage.java Wed Jun 20 04:48:49 2007
@@ -0,0 +1,67 @@
+/*
+ * 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.guice;
+
+import org.apache.wicket.examples.WicketExamplePage;
+import org.apache.wicket.examples.guice.service.IMyService;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.model.AbstractReadOnlyModel;
+
+import com.google.inject.Inject;
+
+
+/**
+ * Everybody's favorite example, modified to use Guice.
+ *
+ * @author Alastair Maw
+ */
+public class HomePage extends WicketExamplePage
+{
+ @Inject
+ private IMyService service;
+
+ private String labelValue = "<not yet initialized>";
+
+ /**
+ * Constructor
+ */
+ public HomePage()
+ {
+ add(new Link("link")
+ {
+ /**
+ * @see org.apache.wicket.markup.html.link.Link#onClick()
+ */
+ @Override
+ public void onClick()
+ {
+ labelValue = service.getHelloWorldText();
+ }
+ });
+ add(new Label("message", new AbstractReadOnlyModel()
+ {
+
+ @Override
+ public Object getObject()
+ {
+ return labelValue;
+ }
+
+ }));
+ }
+}
\ No newline at end of file
Propchange: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/HomePage.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/service/IMyService.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/service/IMyService.java?view=auto&rev=549077
==============================================================================
--- incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/service/IMyService.java (added)
+++ incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/service/IMyService.java Wed Jun 20 04:48:49 2007
@@ -0,0 +1,34 @@
+/*
+ * 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.guice.service;
+
+import com.google.inject.ImplementedBy;
+
+/**
+ * Service interface for a simple "Hello World" app.
+ *
+ * @author Alastair Maw
+ */
+@ImplementedBy(MyService.class)
+public interface IMyService
+{
+ /**
+ * Retrieves the text to say "Hello World".
+ * @return "Hello World"
+ */
+ public String getHelloWorldText();
+}
Propchange: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/service/IMyService.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/service/MyService.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/service/MyService.java?view=auto&rev=549077
==============================================================================
--- incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/service/MyService.java (added)
+++ incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/service/MyService.java Wed Jun 20 04:48:49 2007
@@ -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.examples.guice.service;
+
+/**
+ * Implementation of IService.
+ *
+ * @author Alastair Maw
+ */
+public class MyService implements IMyService
+{
+
+ /**
+ * @see org.apache.wicket.examples.guice.service.IMyService#getHelloWorldText()
+ */
+ public String getHelloWorldText()
+ {
+ return "Hello World";
+ }
+
+}
Propchange: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/guice/service/MyService.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/webapp/WEB-INF/web.xml?view=diff&rev=549077&r1=549076&r2=549077
==============================================================================
--- incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/webapp/WEB-INF/web.xml (original)
+++ incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/webapp/WEB-INF/web.xml Wed Jun 20 04:48:49 2007
@@ -362,6 +362,15 @@
</filter>
<filter>
+ <filter-name>GuiceApplication</filter-name>
+ <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
+ <init-param>
+ <param-name>applicationClassName</param-name>
+ <param-value>org.apache.wicket.examples.guice.GuiceApplication</param-value>
+ </init-param>
+ </filter>
+
+ <filter>
<filter-name>VelocityTemplateApplication</filter-name>
<filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
<init-param>
@@ -538,6 +547,11 @@
<filter-mapping>
<filter-name>SpringExample</filter-name>
<url-pattern>/spring/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>GuiceApplication</filter-name>
+ <url-pattern>/guice/*</url-pattern>
</filter-mapping>
<filter-mapping>
Modified: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/webapp/index.html
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/webapp/index.html?view=diff&rev=549077&r1=549076&r2=549077
==============================================================================
--- incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/webapp/index.html (original)
+++ incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/webapp/index.html Wed Jun 20 04:48:49 2007
@@ -49,6 +49,7 @@
<tr><td align="right"><a href="spring">spring</a></td><td> - Demonstrates integration options with the Spring framework.</td></tr>
<tr><td align="right"><a href="authentication">authentication</a></td><td> - Demonstrates authentication for pages.</td></tr>
<tr><td align="right"><a href="authorization">authorization</a></td><td> - Demonstrates authorization for pages and components.</td></tr>
+ <tr><td align="right"><a href="guice">guice</a></td><td> - Integration with the Google Guice IoC container.</td></tr>
<tr><td align="right"><a href="velocity">velocity</a></td><td> - Shows a Velocity panel in action.</td></tr>
</table>
</ul>