From 372cfe692b7c43548d58fa7a730990f639650b7e Mon Sep 17 00:00:00 2001 From: Martin Goik <goik@hdm-stuttgart.de> Date: Tue, 7 Jul 2015 18:42:12 +0200 Subject: [PATCH] Hello UI --- Doc/Sda1/vaadin.xml | 57 +++- P/Sda1/Jpa/Company/companyJpa1/pom.xml | 251 ++++++++++-------- .../mi/company/model/Employee.java | 1 + .../mi/company/model/Project.java | 5 +- .../mi/company/model/WorksFor.java | 1 + .../hdm_stuttgart/mi/company/ui/HelloUi.java | 70 +++++ 6 files changed, 270 insertions(+), 115 deletions(-) create mode 100644 P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/ui/HelloUi.java diff --git a/Doc/Sda1/vaadin.xml b/Doc/Sda1/vaadin.xml index 31bbb92e3..95f8e6c50 100644 --- a/Doc/Sda1/vaadin.xml +++ b/Doc/Sda1/vaadin.xml @@ -17,17 +17,58 @@ <section xml:id="sda1SectVaadinMavenConfig"> <title>Configuring Maven.</title> - <para>The <productname xlink:href="http://vaadin.com">Vaadin</productname> - Maven repository does not allow for tool searching. Thus artifactId and - related attributes of required dependencies must be identified in advance. - If e.g. <code>maven-cdi</code> is being required <link - xlink:href="http://vaadin.com/nexus/#nexus-search">http://vaadin.com/nexus/#nexus-search</link> - tells us:</para> - - <programlisting language="none"><dependency> + <glosslist> + <glossentry> + <glossterm>Searching for artifacts</glossterm> + + <glossdef> + <para>The <productname + xlink:href="http://vaadin.com">Vaadin</productname> Maven repository + does not allow for tool searching. Thus artifactId and related + attributes of required dependencies must be identified in advance. + If e.g. <code>maven-cdi</code> is being required <link + xlink:href="http://vaadin.com/nexus/#nexus-search">http://vaadin.com/nexus/#nexus-search</link> + tells us:</para> + + <programlisting language="none"><dependency> <groupId>com.vaadin</groupId> <artifactId>vaadin-cdi</artifactId> <version>1.0.2</version> </dependency></programlisting> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>Jetty configuration</glossterm> + + <glossdef> + <para>The jetty plugin searches for source code changes. You may + want to adjust its scan interval in + <filename>pom.xml</filename>:</para> + + <programlisting language="none"><plugin> + <groupId>org.mortbay.jetty</groupId> + <artifactId>jetty-maven-plugin</artifactId> + <configuration> + <emphasis role="bold"><scanIntervalSeconds>2</scanIntervalSeconds></emphasis> + </configuration> + </plugin></programlisting> + </glossdef> + </glossentry> + </glosslist> + </section> + + <section xml:id="sda1SectVaadinTips"> + <title><productname>Vaadin</productname> related hints</title> + + <orderedlist> + <listitem> + <para/> + </listitem> + + <listitem> + <para/> + </listitem> + </orderedlist> </section> </chapter> diff --git a/P/Sda1/Jpa/Company/companyJpa1/pom.xml b/P/Sda1/Jpa/Company/companyJpa1/pom.xml index feee3116b..a8e96104e 100644 --- a/P/Sda1/Jpa/Company/companyJpa1/pom.xml +++ b/P/Sda1/Jpa/Company/companyJpa1/pom.xml @@ -1,107 +1,150 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <groupId>de.hdm-stuttgart.mi</groupId> - <artifactId>company</artifactId> - <version>1.0</version> - <packaging>jar</packaging> - - <name>Company</name> - <url>http://www.mi.hdm-stuttgart.de/freedocs</url> - - <properties> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - </properties> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>3.2</version> - <configuration> - <source>1.8</source> - <target>1.8</target> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - <version>2.10.1</version> - <configuration> - <linksource>true</linksource> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <version>2.5</version> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-install-plugin</artifactId> - <version>2.5.2</version> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-resources-plugin</artifactId> - <version>2.5</version> - </plugin> - - </plugins> - - </build> - - <dependencies> - - <dependency> - <groupId>org.hibernate</groupId> - <artifactId>hibernate-entitymanager</artifactId> - <version>5.0.0.CR1</version> - </dependency> - - <dependency> - <groupId>org.hibernate.javax.persistence</groupId> - <artifactId>hibernate-jpa-2.1-api</artifactId> - <version>1.0.0.Final</version> - </dependency> - - <dependency> - <groupId>org.hibernate</groupId> - <artifactId>hibernate-c3p0</artifactId> - <version>5.0.0.CR1</version> - </dependency> - - <dependency> - <groupId>mysql</groupId> - <artifactId>mysql-connector-java</artifactId> - <version>5.1.34</version> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.12</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-api</artifactId> - <version>2.1</version> - </dependency> - - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-core</artifactId> - <version>2.1</version> - </dependency> - - </dependencies> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>de.hdm-stuttgart.mi</groupId> + <artifactId>company</artifactId> + <version>1.0</version> + <packaging>jar</packaging> + + <name>Company</name> + <url>http://www.mi.hdm-stuttgart.de/freedocs</url> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <vaadin.version>7.2.0</vaadin.version> + <vaadin.jpacontainer.version>3.2.0</vaadin.jpacontainer.version> + </properties> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.2</version> + <configuration> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <version>2.10.1</version> + <configuration> + <linksource>true</linksource> + </configuration> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <version>2.5</version> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-install-plugin</artifactId> + <version>2.5.2</version> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <version>2.5</version> + </plugin> + <plugin> + <groupId>org.mortbay.jetty</groupId> + <artifactId>jetty-maven-plugin</artifactId> + <configuration> + <scanIntervalSeconds>2</scanIntervalSeconds> + </configuration> + </plugin> + + </plugins> + + </build> + <repositories> + <repository> + <id>EclipseLink Repo</id> + <url>http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/rt/eclipselink/maven.repo</url> + </repository> + <repository> + <id>vaadin-addons</id> + <url>http://maven.vaadin.com/vaadin-addons</url> + </repository> + <repository> + <id>vaadin-snapshots</id> + <name>Vaadin snapshot repository</name> + <url>http://oss.sonatype.org/content/repositories/vaadin-snapshots/</url> + </repository> + </repositories> + <dependencies> + <dependency> + <groupId>com.vaadin</groupId> + <artifactId>vaadin-server</artifactId> + <version>${vaadin.version}</version> + </dependency> + <dependency> + <groupId>com.vaadin</groupId> + <artifactId>vaadin-client-compiled</artifactId> + <version>${vaadin.version}</version> + </dependency> + <dependency> + <groupId>com.vaadin</groupId> + <artifactId>vaadin-themes</artifactId> + <version>${vaadin.version}</version> + </dependency> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>javax.servlet-api</artifactId> + <version>3.1.0</version> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>com.vaadin.addon</groupId> + <artifactId>jpacontainer</artifactId> + <version>${vaadin.jpacontainer.version}</version> + </dependency> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-validator</artifactId> + <version>4.2.0.Final</version> + </dependency> + + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-entitymanager</artifactId> + <version>5.0.0.CR1</version> + </dependency> + + <dependency> + <groupId>org.hibernate.javax.persistence</groupId> + <artifactId>hibernate-jpa-2.1-api</artifactId> + <version>1.0.0.Final</version> + </dependency> + + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-c3p0</artifactId> + <version>5.0.0.CR1</version> + </dependency> + + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + <version>5.1.34</version> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.12</version> + <scope>test</scope> + </dependency> + + </dependencies> </project> diff --git a/P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/model/Employee.java b/P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/model/Employee.java index e40ca55b0..2af826d85 100644 --- a/P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/model/Employee.java +++ b/P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/model/Employee.java @@ -15,6 +15,7 @@ import javax.persistence.UniqueConstraint; @Table( uniqueConstraints= {@UniqueConstraint(columnNames={"email"})} ) +@SuppressWarnings("javadoc") public class Employee { protected Employee(){} diff --git a/P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/model/Project.java b/P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/model/Project.java index 9be5a9c7c..e5e24747c 100644 --- a/P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/model/Project.java +++ b/P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/model/Project.java @@ -11,17 +11,16 @@ import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.UniqueConstraint; -import org.hibernate.annotations.Cascade; - @Entity @Table( uniqueConstraints= {@UniqueConstraint(columnNames={"name"})} ) +@SuppressWarnings("javadoc") public class Project { protected Project(){} - public Project(final String name){ + public Project(final String name){ this.name = name; } diff --git a/P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/model/WorksFor.java b/P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/model/WorksFor.java index 7928cc4c6..616c00a14 100644 --- a/P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/model/WorksFor.java +++ b/P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/model/WorksFor.java @@ -14,6 +14,7 @@ import javax.persistence.UniqueConstraint; @Table( uniqueConstraints= {@UniqueConstraint(columnNames={"project", "employee"})} ) +@SuppressWarnings("javadoc") public class WorksFor { protected WorksFor (){} diff --git a/P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/ui/HelloUi.java b/P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/ui/HelloUi.java new file mode 100644 index 000000000..b4843ea27 --- /dev/null +++ b/P/Sda1/Jpa/Company/companyJpa1/src/main/java/de/hdm_stuttgart/mi/company/ui/HelloUi.java @@ -0,0 +1,70 @@ +package de.hdm_stuttgart.mi.company.ui; + +import javax.servlet.annotation.WebServlet; + +import com.vaadin.annotations.Theme; +import com.vaadin.annotations.Title; +import com.vaadin.annotations.VaadinServletConfiguration; +import com.vaadin.server.VaadinRequest; +import com.vaadin.server.VaadinServlet; +import com.vaadin.ui.HorizontalLayout; +import com.vaadin.ui.Label; +import com.vaadin.ui.UI; +import com.vaadin.ui.VerticalLayout; + +/** + * Starting example + * + */ +@Title("Intro") +@Theme("valo") +public class HelloUi extends UI { + + private static final long serialVersionUID = -307591917714387247L; + + @Override + protected void init(VaadinRequest request) { + // The root of the component hierarchy + VerticalLayout content = new VerticalLayout(); + content.setSizeFull(); // Use entire window + setContent(content); // Attach to the UI + + // Add some component + content.addComponent(new Label("Hello!")); + + // Layout inside layout + HorizontalLayout hor = new HorizontalLayout(); + hor.setSizeFull(); // Use all available space + +// // Couple of horizontally laid out components +// Tree tree = new Tree("My Tree", +// TreeExample.createTreeContent()); +// hor.addComponent(tree); +// +// Table table = new Table("My Table", +// TableExample.generateContent()); +// table.setSizeFull(); +// hor.addComponent(table); +// hor.setExpandRatio(table, 1); // Expand to fill + + content.addComponent(hor); + content.setExpandRatio(hor, 1); // Expand to fill + + } + + /** Deployed as a Servlet or Portlet. + * + * You can specify additional servlet parameters like the URI and UI + * class name and turn on production mode when you have finished developing the application. + */ + @WebServlet(urlPatterns = "/*") + @VaadinServletConfiguration(ui = HelloUi.class, productionMode = false) + public static class MyUIServlet extends VaadinServlet { + + /** + * + */ + private static final long serialVersionUID = -2771410633323765889L; + } + +} -- GitLab