Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  1. Wählen Sie im Menü File > New > RapidClipse Project.
  2. Geben Sie bei Project name den Namen Ihres Projektes ein.

  3. Wählen Sie bei Data Source eine Datenquelle aus oder klicken Sie auf New... um eine neue Datenquelle anzulegen. 

  4. Klicken Sie auf Finish.

Hinweis:

Beim Anlegen eines neuen RapidClipse Projektes werden einmalig alle für ein RapidClipse Projekt benötigten Bibliotheken mit deren Abhängigkeiten automatisch vom Maven Central Repository downgeloaded. Dazu müssen Sie online sein. Der Download kann je nach Internet-Verbindung einige Minuten dauern. Anschließend können Sie mit RapidClipse auch offline arbeiten.

Ergebnis:
  • Generiert ein RapidClipse Projekt mit einer leeren MainUI und einer ersten View (MainView).
Optionen:
  • Data Source - Ermöglicht das Auswählen einer bereits vorhandenen sowie das Anlegen einer neuen Datenquelle.
  • Show import wizard - Ruft den Datenbank-Import Assistenten auf, der die Metadaten Ihrer Datenbank importiert und die entsprechenden Entities dazu generiert. 
  • User Interface
    • Create UIs for multiple devices - Generiert ein RapidClipse Multi-Plattform-Projekt mit unterschiedlichen MainUIs inklusive der jeweils ersten View (MainView) für den Desktop, Smartphones und Tablets.
  • Authentication and Authorization
    • Enable authenticationLegt einen neuen Authentication Provider an.
    • Enable authorizationLegt einen neuen Authorization Configuration Provider an. Diese Option setzt Authentifizierung voraus.

Der Assistent lädt automatisch alle für ein RapidClipse Projekt benötigten Libraries mit dazugehörigen Dependencies via Maven, u.a. Vaadin und Hibernate, legt ein RapidClipse Projekt an und generiert dazu die Dateien:

  • Expand
    titlepersistence.xml
    Code Block
    languagesass
    themeEmacs
    linenumberstrue
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
    	<persistence-unit name="example"><provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
    		<properties>
    			<property name="hibernate.archive.autodetection"
    				value="class, hbm" />
    			<property name="hibernate.show_sql" value="false" />
    			<property name="hibernate.hbm2ddl.auto" value="validate" />
    			<property name="hibernate.transaction.auto_close_session"
    				value="false" />
    		</properties>
    	</persistence-unit>
    </persistence>
  • Expand
    titlepom.xml
    Code Block
    languagesass
    themeEmacs
    linenumberstrue
    <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>com.company</groupId>
      <artifactId>example</artifactId>
      <version>0.1.0-SNAPSHOT</version>
      <packaging>war</packaging>
      <build>
        <sourceDirectory>src</sourceDirectory>
        <resources>
          <resource>
            <directory>src</directory>
            <excludes>
              <exclude>**/*.java</exclude>
            </excludes>
          </resource>
        </resources>
        <plugins>
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
              <source>1.8</source>
              <target>1.8</target>
            </configuration>
          </plugin>
          <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.6</version>
            <configuration>
              <warSourceDirectory>WebContent</warSourceDirectory>
              <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <repositories>
      	<repository>
      		<id>ossrh-releases</id>
      		<url>
      			https://oss.sonatype.org/content/repositories/releases
      		</url>
      		<releases>
      			<enabled>true</enabled>
      		</releases>
      		<snapshots>
      			<enabled>false</enabled>
      		</snapshots>
      	</repository>
      	<repository>
      		<id>vaadin-addons</id>
      		<url>http://maven.vaadin.com/vaadin-addons</url>
      	</repository>
      </repositories>
      <dependencies>
      	<dependency>
      		<groupId>com.xdev-software</groupId>
      		<artifactId>xdev-server-core</artifactId>
      		<version>1.0.0</version>
      	</dependency>
      	<dependency>
      		<groupId>com.xdev-software</groupId>
      		<artifactId>xdev-server-ui</artifactId>
      		<version>1.0.0</version>
      	</dependency>
      </dependencies>
      <name>Example</name>
    </project>
  • Expand
    titleweb.xml
    Code Block
    languagesass
    themeEmacs
    linenumberstrue
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
      <display-name>Example</display-name>
      <context-param>
      	<param-name>persistenceUnit</param-name>
      	<param-value>example</param-value>
      </context-param>
      <listener>
      	<listener-class>com.xdev.communication.XdevHttpSessionListener</listener-class>
      </listener>
    </web-app>
  • Expand
    titleMainUI.java
    Code Block
    languagejava
    themeEclipse
    linenumberstrue
    package com.company.example.ui;
    import com.vaadin.annotations.Push;
    import com.vaadin.annotations.Theme;
    import com.vaadin.server.VaadinRequest;
    import com.xdev.ui.XdevUI;
    import com.xdev.ui.navigation.XdevNavigator;
    @Push
    @Theme("Example")
    public class MainUI extends XdevUI {
    	public MainUI() {
    		super();
    	}
    	/**
    	 * {@inheritDoc}
    	 */
    	@Override
    	public void init(VaadinRequest request) {
    		this.initUI();
    	}
    	/*
    	 * WARNING: Do NOT edit!<br>The content of this method is always regenerated
    	 * by the UI designer.
    	 */
    	// <generated-code name="initUI">
    	private void initUI() {
    		this.navigator = new XdevNavigator(this, this);
    		this.navigator.addView("", MainView.class);
    		this.setSizeFull();
    	} // </generated-code>
    	// <generated-code name="variables">
    	private XdevNavigator navigator; // </generated-code>
    }
  • Expand
    titleMainView.java
    Code Block
    languagejava
    themeEclipse
    linenumberstrue
    package com.company.example.ui;
    import com.xdev.ui.XdevGridLayout;
    import com.xdev.ui.XdevView;
    public class MainView extends XdevView {
    	/**
    	 * 
    	 */
    	public MainView() {
    		super();
    		this.initUI();
    	}
    	/*
    	 * WARNING: Do NOT edit!<br>The content of this method is always regenerated
    	 * by the UI designer.
    	 */
    	// <generated-code name="initUI">
    	private void initUI() {
    		this.gridLayout = new XdevGridLayout();
    		this.gridLayout.setSizeFull();
    		this.setContent(this.gridLayout);
    		this.setSizeFull();
    	} // </generated-code>
    	// <generated-code name="variables">
    	private XdevGridLayout gridLayout; // </generated-code>
    }
  • Expand
    titleServlet.java
    Code Block
    languagejava
    themeEclipse
    package com.company.example.ui;
    import javax.servlet.annotation.WebServlet;
    import com.vaadin.annotations.VaadinServletConfiguration;
    import com.xdev.communication.XdevServlet;
    @WebServlet(value = "/*", asyncSupported = true)
    @VaadinServletConfiguration(productionMode = false, ui = MainUI.class)
    public class Servlet extends XdevServlet {
    	public Servlet() {
    		super();
    	}
    }
Image Removed