# Workspace Integration Example

## Introduction

This example describes the usage of the transaction framework through the workspace integration. It demonstrates how a UI could be hooked up using the eclipse operation history framework to allow UI and non-UI threads to read and make changes to a transactional editing domain.

## References

Please refer to the document EMF Model Transaction Examples Overview for reviewing the library meta-model used as the basis for demonstrating the capabilities in this example.

## Description

This example plug-in is named `org.eclipse.emf.workspace.examples.library.editor`. This plug-in contributes a new EXTLibrary editor for opening and modifying existing library files:

1. An editor is opened for each resource. The editor only shows one resource. When other resources are loaded (eg. proxy resolution causes anothe resource to be loaded) into the editing domain, another editor is opened for that resource.
2. The undo/redo of each editor is governed by an IOperationHistory and only the operations that affect the resource are presented in that menu.
3. Example Background Task: This actions performs a read task in the background to demonstrate how the UI can be blocked for making changes while this read task is in progress.

Please refer to the tutorial Workspace Integration Tutorial for reviewing the code samples within this example

## Usage

Refer to this example if you need:

1. Multiple editors sharing the same editing domain
2. Integration of a transactional editing domain into the eclipse IOperationHistory
3. Management of multiple read/write threads on a single EMF-style editing domain

Copyright (c) 2006 IBM Corporation and others. All Rights Reserved.