Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
This client uses the Eclipse Rich Client Platform with SWT/JFaces and RCP components. It interacts with the EJB3 server components. The RCP client only uses client stubs (interfaces and stubs) from EJB3 server components and from [wiki:ServerCore org.yafra.server.core] which is build within the [wiki:ServerCore org.yafra.server.core]. This may confuse, however as we not only need the EJB stubs, instead we need all interfaces and models which are hosted on the server core which explains the reasoning to have the build within server core. The positive aspect is to get a clean client stub consisting of EJB and interfaces as well models. The key target would be even to exchange the EJB layer with OSGi or Web Services back and forth!
Quite some components of Eclipse RCP provide a MVC approach as seen on different web technologies, which make the usage of handlers (control) and the model separated even within such a fat client.
The client provides many examples of standard SWT and JFace components. It uses as well RCP forms with multiple tabs. See screenshots for the look and feel.
The most useful addon which I used during the creation of the graphical UI is the WindowsBuilder Pro (now owned by Google).
In order to build the RCP fat client for multiple platforms or by using ant build (PDE build) you will need the delta-pack of Eclipse. You need to download it separately from eclipse.org (search for delta-pack on eclipse.org). Install it within your eclipse rcp installation.
See the code.
Based on the EJB server some clients are available:
- RCPclient Eclipse RCP client used as a fat client with state of the art user interface components
- EJB test client used to have an easy way to test the server functionality (run's as a java console program)
Setup / Build
Setup Eclipse RCP IDE
To set up your environment do the following:
- the build process is based on plugins, features and products supporting maven through tycho
- Read the standards, especially the eclipse part
- You need to have a Java Serversetup with EJB3 or RESTful
- Install Eclipse for RCP/Plugin developers for Eclipse RCP fat clients
- Install github and e4 addons through the Eclipse Marketplace
- Checkout the source org.yafra.rcp*
In order to get the org.yafra.server.ejbclient.jar you need to have the wiki:build/devserver server development environment up and running before you start with the client.
- Eclipse Nebula widgets: calendarcombo-1.0.0.jar and ctabletree.jar (see issue with ctabletree #6)
- org.yafra.server.ejbclient.jar (this is done with an ant build.xml within EJB3 server components)
- OpenEJB jars: openejb-client-3.1.2.jar, openejb-core-3.1.2.jar, javaee-api-5.0-2.jar
- commons-logging-1.1.1.jar (cayenne needs only 1.1)
- wiki:Utils org.yafra.utils.jar
In order to build and run it you need to follow:
- Run mvn install on org.yafra.rcpbuild
- If it starts after the splash screen, go to File -> connect and login to your localhost with a user defined within the test data of the test program from org.yafra.tests.server.directclient
Use the standard build and deploy scripts of yafra.
If you run into starting issues after the export use within a console "eclipse.exe -noExit" so that the console windows (which opens quickly after you execute eclipse.exe) keeps open and you can examine the issues.