A Simple Order System

Package Overview

See the individual class comments for details.
package org.objectteams.sample.ordersystem
A simple main class triggering some actions in batch mode.
package org.objectteams.sample.ordersystem.data
Plain data classes Customer and Address
package org.objectteams.sample.ordersystem.store
This package models a Storage and its StockItems.
These are normal data objects with the usual access methods.
Throughout the class StockItem you will find "callin markers" () in the gutter, indicating that the corresponding methods are adapted by one or more aspects in the system.
package org.objectteams.sample.ordersystem.reservation
team class Reservations
A simple reservation component; abstract at this level because it is completely undefined what kinds of  Reservable items are being managed.
team class StockReservations
Binding the reservation component in order to manage StockItems.
package org.objectteams.sample.ordersystem.order
team class Order
A simple ordering component; abstract at this level because it is completely undefined what kinds of  Items items are being managed.
However, each order is associated to a  Customer and his or her  Address. Please note, that these role classes are not related to those classes defined in org.objectteams.samples.data.
team class StockOrder
Binding the order component in order to manage StockItems.
package org.objectteams.sample.ordersystem.gui
class OrderSystemMainFrame
Definition of the GUI of this system. Most of this class might have been generated by a Form Designer.
team class ModelAdapterTeam
This aspect binds classes from the packages data and store to the GUI.
team class ControllerAdapterTeam
This aspect contains all listeners and attaches them to the GUI.
team class GUIAdapterTeam
This aspect ensures that each window will appear in the middle of the screen.

Running the application

In order to see the full functionality enter the following information to the launch configuration:
Tab Main
Main classorg.eclipse.objectteams.samples.ordersystem.gui.GUITest
Tab Team Activation
Add: ModelAdapterTeam
ControllerAdapterTeam
GUIAdapterTeam