You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by eh...@apache.org on 2007/05/07 17:11:31 UTC

svn commit: r535892 - in /incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity: ./ Person.java TemplatePage.html TemplatePage.java VelocityTemplateApplication.java

Author: ehillenius
Date: Mon May  7 08:11:30 2007
New Revision: 535892

URL: http://svn.apache.org/viewvc?view=rev&rev=535892
Log:
example for wicket-velocity

Added:
    incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/
    incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/Person.java
    incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/TemplatePage.html
    incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/TemplatePage.java
    incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/VelocityTemplateApplication.java

Added: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/Person.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/Person.java?view=auto&rev=535892
==============================================================================
--- incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/Person.java (added)
+++ incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/Person.java Mon May  7 08:11:30 2007
@@ -0,0 +1,90 @@
+/*
+ * 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.velocity;
+
+import java.io.Serializable;
+
+/**
+ * Simple person object.
+ */
+public final class Person implements Serializable
+{
+	private String firstName;
+
+	private String lastName;
+
+	/**
+	 * Construct.
+	 */
+	public Person()
+	{
+	}
+
+	/**
+	 * Construct.
+	 * 
+	 * @param firstName
+	 * @param lastName
+	 */
+	public Person(String firstName, String lastName)
+	{
+		this.firstName = firstName;
+		this.lastName = lastName;
+	}
+
+	/**
+	 * Gets the firstName.
+	 * 
+	 * @return firstName
+	 */
+	public final String getFirstName()
+	{
+		return firstName;
+	}
+
+	/**
+	 * Gets the lastName.
+	 * 
+	 * @return lastName
+	 */
+	public final String getLastName()
+	{
+		return lastName;
+	}
+
+	/**
+	 * Sets the firstName.
+	 * 
+	 * @param firstName
+	 *            firstName
+	 */
+	public final void setFirstName(String firstName)
+	{
+		this.firstName = firstName;
+	}
+
+	/**
+	 * Sets the lastName.
+	 * 
+	 * @param lastName
+	 *            lastName
+	 */
+	public final void setLastName(String lastName)
+	{
+		this.lastName = lastName;
+	}
+}
\ No newline at end of file

Added: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/TemplatePage.html
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/TemplatePage.html?view=auto&rev=535892
==============================================================================
--- incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/TemplatePage.html (added)
+++ incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/TemplatePage.html Mon May  7 08:11:30 2007
@@ -0,0 +1,58 @@
+<html>
+<head>
+    <title>Wicket Contrib Examples - Template Page</title>
+	<link rel="stylesheet" type="text/css" href="style.css"/>
+</head>
+<body>
+
+ <span wicket:id="mainNavigation"/>
+
+ <div id="explain">
+ 	<h3>Velocity Template Component</h3>
+ 	<p>
+ 		The VelocityPanel is usefull for CMS like functionality, where you want
+ 		to enable users to do basic scripting in predefined areas of your web
+ 		application. Read more about the
+ 		<a href="http://jakarta.apache.org/velocity/">velocity</a> language
+ 		<a href="http://jakarta.apache.org/velocity/user-guide.html">here</a>.
+ 	</p>
+ </div>
+
+<table cellpadding="5px">
+ <tr>
+  <td valign="top" height="100%">
+  
+ <div id="templateInputBox">
+    <form wicket:id="templateForm">
+      <fieldset>
+        <legend><a target="#" href="http://jakarta.apache.org/velocity/">velocity</a> template input</legend>
+
+        <textarea wicket:id="templateInput" rows="16" cols="36">Template input comes here</textarea>
+
+		<div id="templateUpdateButton">
+        <input type="submit" value="update"/>
+        </div>
+      </fieldset>
+     </form>   
+ </div>
+ 
+  </td>
+  <td valign="top" height="100%">
+
+ <div id="templateOutputBox">
+  <fieldset>
+    <legend>output</legend>
+	<span wicket:id="templatePanel">Template output will be put here</span>
+  </fieldset>
+ </div>
+ 
+  </td>
+ </tr>
+</table>
+
+ <div>
+	<span wicket:id="feedback"/>
+ </div>
+
+</body>
+</html>

Added: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/TemplatePage.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/TemplatePage.java?view=auto&rev=535892
==============================================================================
--- incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/TemplatePage.java (added)
+++ incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/TemplatePage.java Mon May  7 08:11:30 2007
@@ -0,0 +1,125 @@
+/*
+ * 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.velocity;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.wicket.PageParameters;
+import org.apache.wicket.examples.WicketExamplePage;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.TextArea;
+import org.apache.wicket.markup.html.panel.FeedbackPanel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.util.resource.StringBufferResourceStream;
+import org.apache.wicket.velocity.markup.html.VelocityPanel;
+
+/**
+ * Template example page.
+ * 
+ * @author Eelco Hillenius
+ */
+public class TemplatePage extends WicketExamplePage
+{
+	/**
+	 * Form for changing the template contents.
+	 */
+	private final class TemplateForm extends Form
+	{
+		private TextArea templateTextArea;
+
+		/**
+		 * Construct.
+		 * 
+		 * @param name
+		 *            component name
+		 */
+		public TemplateForm(String name)
+		{
+			super(name);
+			add(templateTextArea = new TextArea("templateInput", new PropertyModel(new Model(
+					TemplatePage.this), "template")));
+		}
+
+		/**
+		 * @see org.apache.wicket.markup.html.form.Form#onSubmit()
+		 */
+		protected void onSubmit()
+		{
+		}
+	}
+
+	/** the current template contents. */
+	private StringBufferResourceStream template = new StringBufferResourceStream();
+	/** context to be used by the template. */
+	private final Model templateContext;
+
+	{
+		template.append("<fieldset>\n");
+		template.append(" <legend>persons</legend>\n");
+		template.append("  <ul>\n");
+		template.append("   #foreach( $person in $persons )\n");
+		template.append("    <li>\n");
+		template.append("     ${person.lastName},\n");
+		template.append("     ${person.firstName}\n");
+		template.append("    </li>\n");
+		template.append("  #end\n");
+		template.append(" </ul>\n");
+		template.append("</fieldset>\n");
+	}
+
+	/**
+	 * Constructor
+	 * 
+	 * @param parameters
+	 *            Page parameters
+	 */
+	public TemplatePage(final PageParameters parameters)
+	{
+		Map<String, List<Person>> map = new HashMap<String, List<Person>>();
+		map.put("persons", VelocityTemplateApplication.getPersons());
+		templateContext = Model.valueOf(map);
+
+		add(new TemplateForm("templateForm"));
+		add(new VelocityPanel("templatePanel", template, templateContext));
+		add(new FeedbackPanel("feedback"));
+	}
+
+	/**
+	 * Gets the current template contents.
+	 * 
+	 * @return the current template contents
+	 */
+	public final String getTemplate()
+	{
+		return template.asString();
+	}
+
+	/**
+	 * Sets the current template contents.
+	 * 
+	 * @param template
+	 *            the current template contents
+	 */
+	public final void setTemplate(String template)
+	{
+		this.template.clear();
+		this.template.append(template);
+	}
+}
\ No newline at end of file

Added: incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/VelocityTemplateApplication.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/VelocityTemplateApplication.java?view=auto&rev=535892
==============================================================================
--- incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/VelocityTemplateApplication.java (added)
+++ incubator/wicket/trunk/jdk-1.5/wicket-examples/src/main/java/org/apache/wicket/examples/velocity/VelocityTemplateApplication.java Mon May  7 08:11:30 2007
@@ -0,0 +1,90 @@
+/*
+ * 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.velocity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.velocity.app.Velocity;
+import org.apache.wicket.Page;
+import org.apache.wicket.WicketRuntimeException;
+import org.apache.wicket.protocol.http.WebApplication;
+import org.apache.wicket.util.time.Duration;
+
+/**
+ * Application class for velocity template example.
+ * 
+ * @author Eelco Hillenius
+ */
+public class VelocityTemplateApplication extends WebApplication
+{
+	/** simple persons db. */
+	private static List<Person> persons = new ArrayList<Person>();
+	static
+	{
+		persons.add(new Person("Joe", "Down"));
+		persons.add(new Person("Fritz", "Frizel"));
+		persons.add(new Person("Flip", "Vlieger"));
+		persons.add(new Person("George", "Forrest"));
+		persons.add(new Person("Sue", "Hazel"));
+		persons.add(new Person("Bush", "Gump"));
+	}
+
+	/**
+	 * Gets the dummy persons database.
+	 * 
+	 * @return the dummy persons database
+	 */
+	public static List<Person> getPersons()
+	{
+		return persons;
+	}
+
+	/**
+	 * Constructor.
+	 */
+	public VelocityTemplateApplication()
+	{
+	}
+
+	/**
+	 * @return class
+	 */
+	public Class< ? extends Page> getHomePage()
+	{
+		return TemplatePage.class;
+	}
+
+	/**
+	 * @see org.apache.wicket.protocol.http.WebApplication#init()
+	 */
+	@Override
+	protected void init()
+	{
+		getResourceSettings().setResourcePollFrequency(Duration.ONE_SECOND);
+
+		// initialize velocity
+		try
+		{
+			Velocity.init();
+		}
+		catch (Exception e)
+		{
+			throw new WicketRuntimeException(e);
+		}
+	}
+}