Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

RapidClipse erzeugt automatisch eine Standard-Projektstruktur bestehend aus den 6 Hauptbereichen (Packages). Dadurch gibt RapidClipse eine Anwendungsarchitektur vor, die eine strikte Trennung unterschiedlicher Anwendungsschichten vorsieht, insbesondere der UI-Schicht, der Datenhaltungs-Schicht (Entities) sowie der Datenabfrage-Schicht automatically creates a standard project structure consisting of six main areas (packages). Thus, RapidClipse determines an application architecture that strictly separates different application layers, especially the UI layer, the data storage layer (Entities) and the data query layer (Data Access). 

  • Entities - Liste der für das Projekt angelegten Entities. Entities sind in Java das Pendant zu den Tabellen einer relationalen Datenbank und dienen zur Laufzeit als Daten-Container, die das Abfrageergebnis aufnehmen.
  • Data Access - Liste der für das Projekt angelegten Data Access Objekte. Für jedes Entity existiert i.d.R. ein entsprechendes Data Access Objekt (DAO), das für den Zugriff auf die angebundene Datenquelle zuständig ist.
  • Business Objects - In diesem Bereich legen Sie die Java Klassen für Ihre individuelle Anwendungslogik an. 
  • User Interface - In diesem Bereich legen Sie die Views Ihrer grafischen Oberfläche an. Die Klasse MainView.java ist die erste View, die von RapidClipse standardmäßig angelegt wird. 
  • Themes - Hier werden die SCSS-Dateien angelegt, mit denen das Theme der Anwendung definiert wird.
  • Resources - Hier können sämtliche Dateien gespeichert werden, auf die die Anwendung zur Laufzeit zugreifen kann, u.a. Bilder und Sprachdateien für die Internationalisierung einer Anwendung.

Image Removed

Hinweis: 
  • Innerhalb dieser Standard-Packes können Sie bei Bedarf weitere Packages anlegen um Ihr Projekt zu strukturieren. Sie können jedoch auch von dieser Standard-Struktur abweichen und Ihr Projekt mit dem Standard Eclipse Project Explorer komplett selber strukturieren.

...

  •  List of entities created for the project. In Java, entities are the counterpart to the tables in a relational database and at runtime are used as data containers that receive query results.
  • Data Access - List of data access objects created for the project. Usually there is a corresponding Data Access Object (DAO) for each entity that is responsible for the access to the linked data source.
  • Business Objects - In this area, you can create the Java classes for your own application logic.
  • User Interface - In this section, you can create the views for your graphical interface. The MainView.java class is the first view created by RapidClipse by default.
  • Themes - The SCSS files that define the theme of the application are created here.
  • Resources - Here is where all files that the application can access at runtime can be saved, including pictures and voice files for the internationalization of an application.

Image Added

Note: 
  • Within this standard package you can create additional packages, if required, to structure your project. However, you can also deviate from this standard structure and structure your project completely on your own using the standard Eclipse Project Explorer.

Generated files

  • Projectname
    • JRE System Library - Dateien der Files of Java Runtime Environment.
    • Maven Dependencies - Benötigte Bibliotheken, die automatisch vom Maven Repository heruntergeladen und in das RapidClipse Projekt eingebunden werden Required libraries which are automatically downloaded from Maven Repository and included into the RapidClipse project.
    • ehcache.xml - EhCache Konfigurations-Datei. RapidClipse verwendet EhCache standardmäßig als Second-Level Cache für Hibernate, um Datenbankzugriffe via Hibernate zu beschleunigenconfiguration file. By default, RapidClipse uses EhCache as a second-level cache for Hibernate to grant quicker database access via Hibernate
    • log4j.properties - Log4J Konfigurations-Datei. RapidClipse verwendet Log4J wird standardmäßig zum Loggen von Anwendungsmeldungenconfiguration file. By default, RapidClipse uses Log4J to log application messages

      Code Block
      languagejava
      themeConfluence
      log4j.rootLogger=INFO, stdout
      log4j.logger.deng=INFO
      
      log4j.logger.net.sf.ehcache=DEBUG 
      log4j.logger.net.sf.ehcache.config=DEBUG 
      log4j.logger.net.sf.ehcache.distribution=DEBUG 
      log4j.logger.net.sf.ehcache.code=DEBUG 
      
      log4j.appender.stdout=org.apache.log4j.ConsoleAppender
      log4j.appender.stdout.Target=System.out
      log4j.appender.stdout.ImmediateFlush=true
      log4j.appender.stdout.Threshold=debug
      log4j.appender.stdout.Append=true
      log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
      log4j.appender.stdout.layout.conversionPattern=%m%n
    • persistence.xml - JPA Konfigurations-Datei, welche u.a. Hibernate als JPA Provider festlegtconfiguration file that defines Hibernate as a JPA Provider, amongst others.

      Code Block
      languagejava
      themeConfluence
      <?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="examples">
      		<provider>
      			org.hibernate.jpa.HibernatePersistenceProvider
      		</provider>
      		<class>com.company.examples.entities.Automaker</class>
      		<class>com.company.examples.entities.Carmodel</class>
      		<class>com.company.examples.entities.Extra</class>
      		<class>com.company.examples.entities.Car</class>
      		<properties>
      			<property name="hibernate.cache.use_second_level_cache"
      				value="true" />
      			<property name="hibernate.cache.use_query_cache"
      				value="true" />
      			<property name="hibernate.cache.region.factory_class"
      				value="org.hibernate.cache.ehcache.EhCacheRegionFactory" />
      			<property name="javax.persistence.sharedCache.mode"
      				value="DISABLE_SELECTIVE" />
      			<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" />
      			<property name="hibernate.dialect"
      				value="org.hibernate.dialect.H2Dialect" />
      			<property name="javax.persistence.jdbc.driver"
      				value="org.h2.Driver" />
      			<property name="javax.persistence.jdbc.url"
      				value="jdbc:h2:tcp://localhost:5435/northwind;IFEXISTS=TRUE" />
      			<property name="javax.persistence.jdbc.user" value="sa" />
      			<property name="javax.persistence.jdbc.password" value="" />
      		</properties>
      	</persistence-unit>
      </persistence>
    • pom.xml - Maven Konfigurations-Datei. Hier werden Abhängigkeiten angegeben, die das RapidClipse Projekt zu anderen Bibliotheken hat Maven configuration file. The dependencies the RapidClipse project has to other libraries are specified here.

      Code Block
      languagejava
      themeConfluence
      <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>ecample</artifactId>
      	<packaging>war</packaging>
      	<name>Ecample</name>
      	<version>0.1.0-SNAPSHOT</version>
      	<build>
      		<resources>
      			<resource>
      				<directory>src</directory>
      				<excludes>
      					<exclude>**/*.java</exclude>
      					<exclude>**/*.ui.xml</exclude>
      				</excludes>
      			</resource>
      		</resources>
      		<sourceDirectory>src</sourceDirectory>
      		<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>
      					<warName>${project.name}</warName>
      				</configuration>
      			</plugin>
      		</plugins>
      	</build>
      	<repositories>
      		<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.2.0</version>
      		</dependency>
      		<dependency>
      			<groupId>com.xdev-software</groupId>
      			<artifactId>xdev-server-ui</artifactId>
      			<version>1.2.0</version>
      		</dependency>
      		<dependency>
      			<groupId>com.xdev-software</groupId>
      			<artifactId>xdev-server-aa</artifactId>
      			<version>1.2.0</version>
      		</dependency>
      		<dependency>
      			<groupId>com.xdev-software</groupId>
      			<artifactId>xdev-server-aa-ui</artifactId>
      			<version>1.2.0</version>
      		</dependency>
      	</dependencies>
      	<properties>
      		<project.build.sourceEncoding>
      			UTF-8
      		</project.build.sourceEncoding>
      	</properties>
      </project>
    • web.xml - Konfigurations-Datei über die die Anwendung in den Servlet-Container als Web-Applikation eigebunden wird.   Configuration file that connects the application to the Servlet container as a web application.

      Code Block
      languagejava
      themeConfluence
      <?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>Ecample</display-name>
        <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>
  • User Interface
    • MainUI.java 

    • MainView.java - Standardmäßig von RapidClipse angelegte View. Die Bezeichnung MainView kann jederzeit geändert werden View created by RapidClipse by default.  The name, MainView, can be changed at any time.

    • Servlet.java - Vaadin Konfigurations-DateiVaadin configuration file.

      Code Block
      languagejava
      themeConfluence
      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();
      	}
      }
  • Themes
    • Projectname - Enthält die für das verwendete Theme benötigten SCSS- und CSS-Dateien Contains the required SCSS and CSS files for the selected theme.