Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Examples/Eclipse Business Expense Reporting Tool"

(Common Projects)
Line 43: Line 43:
 
**Intended to run against an RCP target only.
 
**Intended to run against an RCP target only.
  
org.eclipse.examples.expenses.views
+
*org.eclipse.examples.expenses.views
 
+
**Contains the three main views, BinderView, ExpenseReportView, and LineItemView along with supporting types.
org.eclipse.examples.expenses.views.model.rap
+
**Plug-in project. Uses Java SE 1.4 syntax CDC-1.1/Foundation-1.1 libraries.
  
 
org.eclipse.examples.expenses.views.tests
 
org.eclipse.examples.expenses.views.tests

Revision as of 14:37, 26 February 2009

This example is currently under development and is subject to change.

EBERT is a simple expense reporting tool that runs on the client, server, and embedded devices using Eclipse Rich Client Platform (RCP), Eclipse Rich Ajax Platform (RAP), and Embedded Rich Client Platform (eRCP) respectively.

Description

Here's a snapshot of the RCP version of EBERT:

EBERT-RCP.png

Here's what it looks like in RAP:

EBERT-RAP.png

Here's what it looks like in eRCP running on a Nokia E90:

EBERT-ERCP.png

You'll notice some similarities and some differences. Approximately 90% of the code is exactly the same across platforms. That 90%—the exact same code without recompiling, repackaging, or manipulation of any sort—is deployed on the desktop, the server, and a phone. This is one of the great things about Equinox and the various runtime platforms at Eclipse: the exact same component model, Equinox, is used everywhere.

Arch.png

The common bundles—those in the middle—contain most of the interesting behaviour. Specifically, these two bundles contain the basic business models (core), and the various views and custom widgets (ui). Underneath these common components are the various runtime platforms which all themselves sit on Equinox (actually, the E90 uses Prosyst’s implementation of OSGi).

At the top are the various "application" bundles. Each of these bundles pulls the pieces together for one of the platforms. The "application" bundles provide some customization of the views, and—in the case of the eRCP version—some navigation glue that manages the views in the absence of perspectives (which are not supported on eRCP due to screen space limitations).

Overview

Common Projects

These bundles are used in all three platforms. Most of these are Plug-in projects that conform to the CDC-1.1/Foundation-1.1 execution environment as this is the environment supported by many devices running ERCP (CDC-1.1/Foundation-1.1 is a subset of the Java SE 1.4 libraries).

  • org.eclipse.examples.expenses.application.general
    • This project defines the perspectives, and various advisors that RCP and RAP use to define the workbench window, toolbar, menus, etc. Not used by the ERCP version.
    • Plug-in project. Uses Java SE 5 syntax and libraries.
  • org.eclipse.examples.expenses.core
    • Contains the domain model objects, ExpensesBinder, ExpenseReport, and LineItem along with supporting types.
    • Plug-in project. Uses Java SE 1.4 syntax CDC-1.1/Foundation-1.1 libraries.
    • Domain models are "JavaBean-like", leveraging Eclipse Platform events and listeners, since JavaBean support is not included with base CDC-1.1/Foundation-1.1 support.
  • org.eclipse.examples.expenses.core.tests
    • Fragment project. Uses Java SE 5 syntax and libraries.
    • Intended to run against an RCP target only.
  • org.eclipse.examples.expenses.views
    • Contains the three main views, BinderView, ExpenseReportView, and LineItemView along with supporting types.
    • Plug-in project. Uses Java SE 1.4 syntax CDC-1.1/Foundation-1.1 libraries.

org.eclipse.examples.expenses.views.tests org.eclipse.examples.expenses.widgets.datefield.basic

org.eclipse.examples.expenses.widgets.datefield.basic.tests

org.eclipse.examples.expenses.widgets.datefield.common

org.eclipse.examples.expenses.widgets.datefield.nebula

RCP-specific Projects

org.eclipse.examples.expenses.application.rcp

RAP-specific Projects

org.eclipse.examples.expenses.application.rap

ERCP-specific Projects

org.eclipse.examples.expenses.application.ercp

  • This is the main bundle for the ERCP version of EBERT.

org.eclipse.examples.expenses.feature.ercp


Setup

These instructions are very incomplete. In fact, this is little more than a stand-in for real instructions.

There are three different versions of this application. While the different versions share a considerable amount of code, they each run using different target platforms. In time, we will provide scripts that automate the creation of these platforms. For now, we provide very simple instructions.

The RCP version of this application can be built against Eclipse RCP 3.4.x or 3.5. Ideally, a separate target directory containing an RCP SDK (e.g. <a href="http://download.eclipse.org/eclipse/downloads/drops/S-3.4RC1-200805161333/index.php#RCPSDK">3.4RC1</a>) should be created. The RCP version includes some Java 5-specific code and so requires a Java 5 compatible JRE.

The RAP version requires a RAP 1.1.x target directory and some additional RAP development plug-ins. Instructions are available on the RAP <a href="http://www.eclipse.org/rap/gettingstarted.php">Getting Started</a> page. The RAP version includes some Java 5-specific code and so requires a Java 5 compatible JRE.

The eRCP version requires an eRCP target directory. Version 1.0.2 or later of eRCP is required. eRCP targets can be found on the <a href="http://www.eclipse.org/ercp/downloads-page.html">eRCP downloads</a> page. The eRCP version uses only Java 1.4 syntax and CDC-1.1/Foundation-1.1 class libraries.

Back to the top