diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2010-05-27 10:06:32 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2010-05-27 10:06:32 +0000 |
commit | bb2b08e483f9a21a9d7c28598e22762f54cea549 (patch) | |
tree | 251249d27453aef33e99fc03dc121aee6f8ec533 /sca-java-2.x/contrib/samples/helloworld-wicket/src | |
parent | bf96a499aecf691c0e4d3418d64a4a9a1e911fc3 (diff) |
Move the wicket sample to contrib as it doesn't work yet and no one is actively working on it right now
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@948748 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/contrib/samples/helloworld-wicket/src')
10 files changed, 400 insertions, 0 deletions
diff --git a/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/HelloworldService.java b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/HelloworldService.java new file mode 100644 index 0000000000..53ff7a5ca1 --- /dev/null +++ b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/HelloworldService.java @@ -0,0 +1,25 @@ +/* + * 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 sample; + +public interface HelloworldService { + + String sayHello(String name); + +} diff --git a/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/HelloworldServiceImpl.java b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/HelloworldServiceImpl.java new file mode 100644 index 0000000000..a22c095f29 --- /dev/null +++ b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/HelloworldServiceImpl.java @@ -0,0 +1,28 @@ +/* + * 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 sample; + + +public class HelloworldServiceImpl implements HelloworldService { + + public String sayHello(String name) { + return "Hello " + name; + } + +} diff --git a/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/wicket/HomePage.html b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/wicket/HomePage.html new file mode 100644 index 0000000000..61eb207e23 --- /dev/null +++ b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/wicket/HomePage.html @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head>
+ <title>Wicket Examples - guice</title>
+ <link rel="stylesheet" type="text/css" href="style.css"/>
+</head>
+<body>
+ <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, see the javadoc for <code>GuiceComponentInjector</code>.
+ </p>
+
+</body>
+</html>
\ No newline at end of file diff --git a/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/wicket/HomePage.java b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/wicket/HomePage.java new file mode 100644 index 0000000000..061f4c58ae --- /dev/null +++ b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/wicket/HomePage.java @@ -0,0 +1,66 @@ +/* + * 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 sample.wicket; + +import org.apache.wicket.markup.html.WebPage; +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.link.Link; +import org.apache.wicket.model.AbstractReadOnlyModel; +import org.oasisopen.sca.annotation.Reference; + +/** + * Everybody's favorite example (Hello World), modified to use Guice. + * + * @author Alastair Maw + */ +public class HomePage extends WebPage +{ + @Reference + 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<String>() + { + + @Override + public String getObject() + { + return labelValue; + } + + })); + } +}
\ No newline at end of file diff --git a/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/wicket/IMyService.java b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/wicket/IMyService.java new file mode 100644 index 0000000000..fdd91b0933 --- /dev/null +++ b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/wicket/IMyService.java @@ -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 sample.wicket; + + +/** + * Service interface for a simple "Hello World" app. + * + * @author Alastair Maw + */ +public interface IMyService +{ + /** + * Retrieves the text to say "Hello World". + * + * @return "Hello World" + */ + public String getHelloWorldText(); +}
\ No newline at end of file diff --git a/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/wicket/MyService.java b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/wicket/MyService.java new file mode 100644 index 0000000000..e7d864c5e6 --- /dev/null +++ b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/wicket/MyService.java @@ -0,0 +1,38 @@ +/* + * 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 sample.wicket; + + +/** + * 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"; + } + +}
\ No newline at end of file diff --git a/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/wicket/WicketApplication.java b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/wicket/WicketApplication.java new file mode 100644 index 0000000000..85f2c00dbc --- /dev/null +++ b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/java/sample/wicket/WicketApplication.java @@ -0,0 +1,47 @@ +/* + * 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 sample.wicket; + +import org.apache.wicket.Page; +import org.apache.wicket.protocol.http.WebApplication; +import org.apache.tuscany.sca.wicket.TuscanyComponentInjector;; + +/** + * Application object for your web application. If you want to run this application without deploying, run the Start class. + * + * @see com.mycompany.Start#main(String[]) + */ +public class WicketApplication extends WebApplication +{ + + @Override + protected void init() + { + addComponentInstantiationListener(new TuscanyComponentInjector(this)); + } + + /** + * @see org.apache.wicket.Application#getHomePage() + */ + @Override + public Class< ? extends Page> getHomePage() + { + return HomePage.class; + } +}
\ No newline at end of file diff --git a/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/resources/log4j.properties b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/resources/log4j.properties new file mode 100644 index 0000000000..1e24577860 --- /dev/null +++ b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/resources/log4j.properties @@ -0,0 +1,29 @@ +# +# 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. +# + +log4j.appender.Stdout=org.apache.log4j.ConsoleAppender +log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n + +log4j.rootLogger=INFO,Stdout + +log4j.logger.org.apache.wicket=INFO +log4j.logger.org.apache.wicket.protocol.http.HttpSessionStore=INFO +log4j.logger.org.apache.wicket.version=INFO +log4j.logger.org.apache.wicket.RequestCycle=INFO + + diff --git a/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/webapp/WEB-INF/web.composite new file mode 100644 index 0000000000..a52d6b6cbe --- /dev/null +++ b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/webapp/WEB-INF/web.composite @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * 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. +--> +<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200712" + xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" + targetNamespace="http://samples" + name="Helloworld"> + + <component name="foo"> + <implementation.web web-uri=""/> + <reference name="service" target="HelloworldComponent"/> + </component> + + <component name="HelloworldComponent"> + <implementation.java class="sample.HelloworldServiceImpl"/> + </component> + +</composite> diff --git a/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..3783b7bf82 --- /dev/null +++ b/sca-java-2.x/contrib/samples/helloworld-wicket/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> + <!-- + * 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. + --> +<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> + + <display-name>Apache Tuscany Helloworld Wicket Sample</display-name> + + <listener> + <listener-class>org.apache.tuscany.sca.host.webapp.TuscanyContextListener</listener-class> + </listener> + + <!-- + There are three means to configure Wickets configuration mode and they are + tested in the order given. + 1) A system property: -Dwicket.configuration + 2) servlet specific <init-param> + 3) context specific <context-param> + The value might be either "development" (reloading when templates change) + or "deployment". If no configuration is found, "development" is the default. + --> + + <filter> + <filter-name>wicket.tuscany</filter-name> + <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> + <init-param> + <param-name>applicationClassName</param-name> + <param-value>sample.wicket.WicketApplication</param-value> + </init-param> + </filter> + + <filter-mapping> + <filter-name>wicket.tuscany</filter-name> + <url-pattern>/*</url-pattern> + </filter-mapping> + +</web-app> |