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 im folgenden Projekt-Assistenten bei 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. Wählen Sie bei Template ein Projekt-Template aus.

  5. , z.B. Example.

  6. Klicken Sie auf Finish.
    Image RemovedImage Added

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 downgeloadedherunter geladen. 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.

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. 
  • Template - Mit Hilfe eines Templates erhalten Sie häufig benötigte Grundfunktionen, z.B. einen Navigator, Login-View etc. sowie eine Basis-Projektstruktur out-of-the-Box.
    Image Removed
  • No Template - Generiert ein RapidClipse Projekt ohne UI-Klasse.
  • Default project template - Generiert ein RapidClipse Projekt mit einer leeren MainUI und einer ersten View (MainView).
    Image Removed
  • Default project template (Multiple UIs) - Generiert ein RapidClipse Multi-Plattform-Projekt mit unterschiedlichen MainUIs inklusive der jeweils ersten View (MainView) für den Desktop, Smartphones und Tablets.
    Image Removed
  • Project with login view - Generiert ein RapidClipse Projekt mit einer Login-View.Template
    • Beim Erstellen eines Projektes werden gestylte Beispiel-Views mit einer schon vorhandenen Navigation mit generiert.  
Ergebnis:
  • Der Assistent lädt automatisch alle für ein RapidClipse Projekt benötigten Libraries mit dazugehörigen Dependencies via Maven

...

  • und

...

  • legt ein RapidClipse

...

  • 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>
  • ExpandtitleMainUI.

    Projekt mit einen leerer MainLayout an.
    Image Added 


  • MainLayout.java

    truepackage com.company.example.ui; import com.xdev.ui.XdevGridLayout; import com.xdev.ui.XdevView; public class MainView extends XdevView { /** * */ public MainView() { super(); this.initUI(); } /*
    settings.addLink("shortcut icon", "frontend/images/favicon.ico");
            settings.addFavIcon("icon", "frontend/images/favicon256.png", "256x256");
        }
    
        /* 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.
            this.setSizeFull();
    
    this.setContent(this.gridLayout); this.setSizeFull(); } // </generated-code> // <generated-code name="variables"> private XdevGridLayout gridLayout; //
        } // </generated-code>
    }
    Servlet.java
    Code Block
    languagejava
    theme
    Eclipselinenumbers
    Confluence
    package com.company.
    example
    demoproj.ui;
    
    import com.vaadin.flow.component.
    annotations
    orderedlayout.
    Push
    VerticalLayout;
    import com.vaadin.flow.
    annotations
    router.
    Theme
    Route;
    import com.vaadin.flow.server.
    VaadinRequest
    InitialPageSettings;
    import com.vaadin.
    xdev
    flow.
    ui
    server.
    XdevUI
    PageConfigurator;
    import
    
    
    com.xdev.ui.navigation.XdevNavigator;
    
    
    @Push
    
    
    @Theme
    @Route("
    Example
    ")
    public class 
    MainUI
    MainLayout extends 
    XdevUI
    VerticalLayout implements PageConfigurator
    {
    
    public MainUI() { super(); } /** * {@inheritDoc} */ @Override public void init(VaadinRequest request) {
        public MainLayout()
        {
            super();
            this.initUI();
      
      }
    
    /*
    
    
      
    *
      
    WARNING:
    @Override
    
    Do
      
    NOT
      
    edit!<br>The
    public 
    content
    void 
    of
    configurePage(final 
    this
    InitialPageSettings 
    method
    settings)
    
    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
    Expand
    title


  • AppServlet.java - Startet die Anwendung (Servlet) im Servlet-Container.

    Eclipse
    Code Block
    languagejava
    theme
    Confluence
    package com.company.
    example.ui
    demoproj;
    
    import javax.servlet.annotation.WebServlet;
    
    import com.rapidclipse.
    vaadin
    framework.
    annotations
    server.
    VaadinServletConfiguration
    RapServlet;
    
    import
    
    
    com.xdev.communication.XdevServlet;
    @WebServlet(
    value
    urlPattern = "/*", asyncSupported = true
    ) @VaadinServletConfiguration(productionMode = false, ui = MainUI.class
    )
    public class 
    Servlet
    AppServlet extends 
    XdevServlet
    RapServlet
    {
    	public 
    Servlet
    AppServlet()
    	{
    		super();
    	}
    }

...