diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2017-03-13 00:38:54 +0100 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2017-03-13 00:38:54 +0100 |
commit | 4c2590c4566478a81d4d26e824f9c2db37ba157b (patch) | |
tree | c40047576c99fdd1b57925dd5cf2bd5a44b19086 | |
parent | 118b98b5936e420af72bc2534d45c5bdedc50a35 (diff) | |
download | share-4c2590c4566478a81d4d26e824f9c2db37ba157b.zip share-4c2590c4566478a81d4d26e824f9c2db37ba157b.tar.gz |
java : vaadin : simple Hello World
-rw-r--r-- | java/vaadin/Application.properties | 3 | ||||
-rw-r--r-- | java/vaadin/build.xml | 139 | ||||
-rw-r--r-- | java/vaadin/ivy.xml | 20 | ||||
-rw-r--r-- | java/vaadin/ivysettings.xml | 22 | ||||
-rw-r--r-- | java/vaadin/src/main/WebContent/WEB-INF/web.xml | 45 | ||||
-rw-r--r-- | java/vaadin/src/main/java/ch/asynk/HelloWorld.java | 34 | ||||
-rw-r--r-- | java/vaadin/tomcat.properties | 4 |
7 files changed, 267 insertions, 0 deletions
diff --git a/java/vaadin/Application.properties b/java/vaadin/Application.properties new file mode 100644 index 0000000..193ca7f --- /dev/null +++ b/java/vaadin/Application.properties @@ -0,0 +1,3 @@ +app.name=VaadinHelloWorld +app.version=0.0.1 +app.path=/hello diff --git a/java/vaadin/build.xml b/java/vaadin/build.xml new file mode 100644 index 0000000..6702c7a --- /dev/null +++ b/java/vaadin/build.xml @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns:ivy="antlib:org.apache.ivy.ant" + name="My Vaadin Hello World" + basedir="." + default="package-war"> + + <target name="configure"> + <property file="${basedir}/Application.properties"/> + + <property name="main.dir" value="${basedir}/src/main" /> + <property name="build.dir" value="${basedir}/build"/> + <property name="dist.dir" value="${basedir}/dist"/> + + <property name="src.dir" value="${main.dir}/java" /> + <property name="web.dir" value="${main.dir}/WebContent"/> + <property name="classes.dir" value="${build.dir}/WEB-INF/classes"/> + <property name="lib.dir" value="${build.dir}/WEB-INF/lib"/> + + <property name="war.name" value="${app.name}-${app.version}.war"/> + + <property name="compile.debug" value="true"/> + <property name="compile.deprecation" value="false"/> + <property name="compile.optimize" value="true"/> + + <property file="${basedir}/tomcat.properties"/> + <path id="cp.tomcat"> + <fileset dir="${catalina.home}/bin"> + <include name="*.jar"/> + </fileset> + <fileset dir="${catalina.home}/lib"> + <include name="*.jar"/> + </fileset> + </path> + <taskdef classpathref="cp.tomcat" resource="org/apache/catalina/ant/catalina.tasks" /> + </target> + + + <target name="resolve" description="retrieve dependencies with Ivy"> + <ivy:resolve file="ivy.xml" log="download-only"/> + <ivy:cachepath pathid="ivy.deps.server-side" conf="server-side" /> + <ivy:cachefileset setid="ivy.deps.server-side.fileset" conf="server-side"/> + </target> + + <target name="ivy-report" depends="configure,resolve"> + <ivy:report conf="default" organisation="ch.asynk" module="${app.name}"/> + </target> + + <target name="clean" depends="configure" description="clean project"> + <delete dir="${build.dir}" /> + <delete dir="${dist.dir}" /> + <delete file="build.log" /> + <delete file="test.log" /> + <delete file="ivy-report.css" /> + <delete> + <fileset dir="${basedir}" includes="ch.asynk-${app.name}-*"/> + </delete> + </target> + + <target name="ctags" depends="configure"> + <exec executable="ctags" failonerror="false"> + <arg value="-R"/> + <arg value="--language-force=java"/> + <arg value="-f.tags"/> + <arg value="${src.dir}"/> + </exec> + </target> + + <target name="compile-server-side" depends="configure,resolve,ctags"> + <record name="build.log" loglevel="verbose" action="start" /> + <mkdir dir="${classes.dir}" /> + <javac srcdir="${main.dir}" + destdir="${classes.dir}" + debug="${compile.debug}" + deprecation="${compile.deprecation}" + optimize="${compile.optimize}" + includeantruntime="false"> + <classpath refid="ivy.deps.server-side"/> + <compilerarg value="-Xlint:all"/> + <compilerarg value="-Xlint:-path"/> + <compilerarg value="-Xlint:-processing"/> + <compilerarg value="-Xmaxerrs"/> + <compilerarg value="10"/> + </javac> + </target> + + <target name="package-war" depends="compile-server-side"> + <mkdir dir="${lib.dir}"/> + <copy todir="${lib.dir}" flatten="true"> + <fileset refid="ivy.deps.server-side.fileset"/> + </copy> + <delete> + <fileset dir="${lib.dir}"> + <include name="**/*-sources.jar"/> + <include name="**/*-javadoc.jar"/> + </fileset> + </delete> + + <delete file="${dist.dir}/${war.name}"/> + <war destfile="${dist.dir}/${war.name}" + webxml="${web.dir}/WEB-INF/web.xml"> + <classes dir="${classes.dir}" includes="**" /> + <fileset dir="${web.dir}"> + <patternset> + <include name="images/**/*" /> + <include name="VAADIN/widgetsets/**/*" /> + <include name="*.html" /> + <include name="WEB-INF/lib/*" /> + <include name="WEB-INF/*.xml" /> + </patternset> + </fileset> + <fileset dir="${build.dir}"> + <include name="WEB-INF/lib/*" /> + <include name="VAADIN/themes/**/*" /> + </fileset> + </war> + </target> + + <!-- tomcat specific targets --> + + <target name="remove" description="Remove application on servlet container"> + <undeploy url="${manager.url}" + username="${manager.username}" + password="${manager.password}" + path="${app.path}" + failonerror="false"/> + </target> + + + <target name="install" depends="package-war,remove" description="Install application to servlet container"> + <copy todir="/tmp" file="${dist.dir}/${war.name}"/> + <deploy url="${manager.url}" + username="${manager.username}" + password="${manager.password}" + path="${app.path}" + localWar="file://tmp/${war.name}"/> + <delete file="/tmp/${war.name}"/> + </target> + +</project> diff --git a/java/vaadin/ivy.xml b/java/vaadin/ivy.xml new file mode 100644 index 0000000..033e347 --- /dev/null +++ b/java/vaadin/ivy.xml @@ -0,0 +1,20 @@ +<?xml version="1.0"?> +<!DOCTYPE ivy-module [ +<!ENTITY vaadin.version "7.7.7"> +]> +<ivy-module version="2.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"> + + <info organisation="ch.asynk" module="VaadinHelloWorld" /> + + <configurations> + <conf name="server-side" description="only needed for server side classes compilation"/> + </configurations> + + <dependencies defaultconf="server-side" defaultconfmapping="server-side->default"> + <dependency org="com.vaadin" name="vaadin-server" rev="&vaadin.version;"/> + <dependency org="com.vaadin" name="vaadin-themes" rev="&vaadin.version;"/> + <dependency org="com.vaadin" name="vaadin-client-compiled" rev="&vaadin.version;"/> + </dependencies> +</ivy-module> diff --git a/java/vaadin/ivysettings.xml b/java/vaadin/ivysettings.xml new file mode 100644 index 0000000..e5fc415 --- /dev/null +++ b/java/vaadin/ivysettings.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ivysettings> + <settings defaultResolver="default" /> + <!-- <caches defaultCacheDir="${basedir}/lib" /> --> + <!-- <caches default="mine" defaultCacheDir="${basedir}/ivy"> --> + <!-- <cache name="mine" basedir="${basedir}/ivy" /> --> + <!-- </caches> --> + <resolvers> + <chain name="default"> + <ibiblio name="maven2" m2compatible="true"/> + <ibiblio name="maven" m2compatible="true" usepoms="false"/> + <!-- <ibiblio name="vaadin-addons" usepoms="true" m2compatible="true" --> + <!-- root="http://maven.vaadin.com/vaadin-addons" /> --> + <!-- <ibiblio name="vaadin-prereleases" usepoms="true" m2compatible="true" --> + <!-- root="http://maven.vaadin.com/vaadin-prereleases" /> --> + <filesystem name="local"> + <ivy pattern="${user.home}/ivy-local/[revision]/[module]/ivy-[revision].xml"/> + <artifact pattern="${user.home}/ivy-local/[revision]/[module]/[module]-[revision](-[classifier]).[ext]"/> + </filesystem> + </chain> + </resolvers> +</ivysettings> diff --git a/java/vaadin/src/main/WebContent/WEB-INF/web.xml b/java/vaadin/src/main/WebContent/WEB-INF/web.xml new file mode 100644 index 0000000..f4b7f85 --- /dev/null +++ b/java/vaadin/src/main/WebContent/WEB-INF/web.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<web-app id="HelloWorld" version="3.0" + xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> + + <display-name>Hello World Vaadin</display-name> + <description> + Hello World in Vaadin + </description> + + <context-param> + <description>Vaadin production mode</description> + <param-name>productionMode</param-name> + <param-value>false</param-value> + </context-param> + + <session-config> + <session-timeout>60</session-timeout> + <!-- <tracking-mode>COOKIE</tracking-mode> --> + </session-config> + + <servlet> + <servlet-name>default</servlet-name> + <servlet-class>com.vaadin.server.VaadinServlet</servlet-class> + <init-param> + <description>Vaadin application class to start</description> + <param-name>UI</param-name> + <param-value>ch.asynk.HelloWorld</param-value> + </init-param> + <async-supported>true</async-supported> + </servlet> + <servlet-mapping> + <servlet-name>default</servlet-name> + <url-pattern>/*</url-pattern> + </servlet-mapping> + + <!-- <welcome-file-list> --> + <!-- <welcome-file>index.html</welcome-file> --> + <!-- <welcome-file>index.htm</welcome-file> --> + <!-- <welcome-file>index.jsp</welcome-file> --> + <!-- <welcome-file>default.html</welcome-file> --> + <!-- <welcome-file>default.htm</welcome-file> --> + <!-- <welcome-file>default.jsp</welcome-file> --> + <!-- </welcome-file-list> --> +</web-app> diff --git a/java/vaadin/src/main/java/ch/asynk/HelloWorld.java b/java/vaadin/src/main/java/ch/asynk/HelloWorld.java new file mode 100644 index 0000000..65ef27d --- /dev/null +++ b/java/vaadin/src/main/java/ch/asynk/HelloWorld.java @@ -0,0 +1,34 @@ +package ch.asynk; + +import com.vaadin.annotations.Theme; +import com.vaadin.annotations.Title; +import com.vaadin.server.VaadinRequest; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Button.ClickListener; +import com.vaadin.ui.Label; +import com.vaadin.ui.Notification; +import com.vaadin.ui.UI; +import com.vaadin.ui.VerticalLayout; + +@Title("Hello!!") +@Theme("valo") +public class HelloWorld extends UI +{ + private static final long serialVersionUID = 511085335415683713L; + @Override + protected void init(VaadinRequest request) + { + VerticalLayout content = new VerticalLayout(); + setContent(content); + + content.addComponent(new Label("Hello World!")); + content.addComponent(new Button("Push Me!", new ClickListener() { + private static final long serialVersionUID = 5808429544582385114L; + @Override + public void buttonClick(ClickEvent event) { + Notification.show("Pushed!"); + } + })); + } +} diff --git a/java/vaadin/tomcat.properties b/java/vaadin/tomcat.properties new file mode 100644 index 0000000..7ec1b73 --- /dev/null +++ b/java/vaadin/tomcat.properties @@ -0,0 +1,4 @@ +manager.username=manager +manager.password=h46bh2j0 +manager.url=http://127.0.0.1:8080/manager/text +catalina.home=/usr/share/tomcat7 |