Eclipse Plug-in Development: Beginner's Guide - Second Edition

This book shows you how to take full advantage of the Eclipse IDE by building your own useful plug-ins from start to finish. Taking you through the complete process of plug-in development, from packaging to automated testing and deployment, this book is a direct route to quicker, cleaner Java development. It may be for beginners, but we're confident that you'll develop new skills quickly. Pretty soon you'll feel like an expert, in complete control of your IDE.

Custom Drawing Table and Tree Items

Populating a table or tree widget involves creating items and setting their attributes (eg.- texts, images, etc.), after which the table or tree takes responsibility for displaying the items. This approach makes item creation straightforward and visually consistent. As of Eclipse 3.2, clients of Table and Tree can now custom draw their items, enabling a wide range of potential visual appearances. This article explores the custom draw mechanism for Table and Tree.

Extending WTP Using Project Facets

The Faceted Project Framework allows the plugin developer to think of Web Tools Platform (WTP) projects as composed of units of functionality, otherwise known as facets, that can be added and removed by the user. This tutorial walks you through an example of creating a couple of basic facets and in the process covers the majority of the framework's extension points. This tutorial has been written for version 1.5 of the Web Tools Platform.

Implementing Model Integrity in EMF with EMFT OCL

This article illustrates how the EMFT OCL parser/interpreter technology adds to the value of EMF/JET code generation as a foundation for model-driven development (MDD). We will see, with fully functional examples, how a metamodel can be generated from an Ecore model without requiring any post-generation custom code, including complete implementations of invariant constraints, derived attributes and references, and operations.

From Front End To Code - MDSD in Practice

Model-driven software development (MDSD) is not just about generating code. Several additional challenges have to be mastered. These include: how to get usable graphical and textual editors for your domain specific language (DSL), how to validate your models against your metamodels, how to define model modifications and transformations and finally, how to write scalable, maintainable and extensible code generators. In this article we show how to tackle all these challenges, based on a collection of open source tools: Eclipse, Eclipse Modeling Framework (EMF), Graphical Modeling Framework (GMF) as well as openArchitectureWare. We believe that this tool chain provides a proven and stable stack for making MDSD a practical reality.

Virtual Tables and Trees

Virtual Tables and Trees allow developers to quickly create Tables and Trees with large amounts of data and populate them efficiently. This article is an overview of how to use virtual Tables and Trees within SWT applications.

Eclipse 4 RCP Book

This book gives a detailed introduction into the Eclipse platform and covers all relevant aspects of Eclipse RCP development. Every topic in this book has a content section in which the topic is explained and afterwards you have several exercises to practice your learning. You will be guided through all relevant aspects of Eclipse 4 development using an comprehensive example which you continue to extend in the exercises. You will learn about the new programming concepts of Eclipse 4, e.g. the application model, dependency injection, CSS styling, the renderer framework, the event system and much more. Proven Eclipse technologies like SWT, JFace viewers, OSGi modularity and services, data binding, etc. are also covered in detail. This book requires a working knowledge of Java and assumes that you are familiar in using the Eclipse IDE for standard Java development. It assumes no previous experience of Eclipse plug-in and Eclipse RCP development.

A Shape Diagram Editor

Graphical Editing Framework (GEF) provides a powerful foundation for creating editors for visual editing of arbitrary models. Its effectiveness lies in a modular build, fitting use of design patterns, and decoupling of components that comprise a full, working editor. To a newcomer, the sheer number and variety of concepts and techniques present in GEF may feel intimidating. However, once learned and correctly used, they help to develop highly scalable and easy to maintain software. This article aims to provide a gentle yet comprehensive introduction to GEF. It describes a shape diagram editor - a small, fully functional test case of core concepts.

Eclipse Platform Technical Overview

The Eclipse Platform is designed for building applications, integrated development environments (IDEs)and arbitrary tools. This paper is a general technical introduction to the Eclipse Platform. Part I presents a technical overview of its architecture. Part II is a case study of how the Eclipse Platform was used to build a full-featured Java development environment.

Eclipse Workbench: Using the Selection Service

The selection service provided by the Eclipse workbench allows efficient linking of different parts within the workbench window. Knowing and using the existing selection mechanisms gives your plug-ins a clean design, smoothly integrates them into the workbench and opens them for future extensions.

The Language Toolkit: An API for Automated Refactorings in Eclipse-based IDEs

Anyone who supports a programming language in an Eclipse-based IDE will be asked sooner or later to offer automated refactorings - similar to what is provided by the Java Development Tools (JDT). Since the release of Eclipse 3.1, at least part of this task--which is by no means simple--is supported by a language neutral API: the Language Toolkit (LTK). But how is this API used?

Teach Your Eclipse to Speak the Local Lingo

Translations for the Eclipse Project and several top-level projects are contributed to the Eclipse Foundation in every major release of Eclipse. This article provides step-by-step instructions describing what is available, where to download them, how to install them, and how to launch Eclipse in different languages.

Eclipse: Building Commercial-Quality Plug-ins, Second Edition

This new edition of Eclipse: Building Commercial-Quality Plug-ins is the definitive, start-to-finish guide to building commercial-quality Eclipse plug-ins, with an emphasis on adding the sophistication and polish that paying customers demand. The book provides both a quick introduction to using Eclipse for new users and a reference for experienced Eclipse users wishing to expand their knowledge and improve the quality of their Eclipse-based products.

Java Application Profiling using TPTP

This article demonstrates how to use the TPTP Profiling tool to profile a Java application for identifying execution related hot spots. It shows how to start the profiling session, use the various TPTP views to analyze the data, identify methods with high execution time then jump to the source code to fix the performance problem.

The Eclipse Tabbed Properties View

The Eclipse workbench provides a properties view which is used to view (and/or edit) properties of a selected item. In this article, you will learn how to use the tabbed properties view to create an enhanced user interface for the properties view.

How to Correctly and Uniformly Use Progress Monitors

Handling a progress monitor instance is deceptively simple. It seems to be straightforward but it is easy to make a mistake when using them. And, depending on numerous factors such as the underlying implementation, how it is displayed, the result can range from completely ok, mildly confusing or outright silliness. In this article we lay down a few ground rules that will help anyone use progress monitors in a way that will work with the explicit and implicit contract of IProgressMonitor. Also, understanding the usage side makes it easier to understand how to implement a monitor.

Eclipse Forms: Rich UI for the Rich Client

Spice up your rich client with rich user experience using Eclipse Forms. Written as a thin layer on top of SWT, Eclipse Forms allow you to achieve the Web look in your desktop applications without using the embedded browser. This allows you to retain full control of the widgets in the UI and to maintain portability across all operating systems Eclipse already runs on. This article will take you from baby steps to advanced topics of the rich user interface experience of Eclipse Forms.

Introducing the GMF Runtime

Graphical Modeling Framework (GMF) is a new Eclipse project with the potential to become a keystone framework for the rapid development of standardized Eclipse graphical modeling editors. GMF is divided in two main components: the runtime, and the tooling used to generate editors capable of leveraging the runtime. Architects and developers involved in the development of graphical editors or of plug-ins integrating both EMF and GEF technologies should consider building their editors against the GMF Runtime component. This article is designed to help understand the benefits of the GMF Runtime by presenting its various value-added features.

Authoring with Eclipse

The topic of technical publishing is relatively new to the world of Eclipse. One can make the argument that technical publishing is just another collaborative development process involving several people with different backgrounds and skills. This article will show that the Eclipse platform is a viable platform for technical publishing by discussing how to write documents such as an article or a book within Eclipse. In fact, this article was written using Eclipse.

PHPEclipse: A User Guide

Written in a concise and friendly style, packed with tips and a practical project, this book will instruct you on using PHPEclipse to make your PHP application development more efficient, and cut development time.

Inside the Workbench: A guide to the workbench internals

This article describes how the Eclipse 3.1 workbench works, in particular the infrastructure for views and editors. The goal is to teach you about important classes in the workbench, and how they interact. A familiarity with the basic workbench APIs for views, editors, action sets, and so forth is assumed.

Plugging into SourceForge.net

Congratulations on taking the plunge and writing an open source plug-in for the Eclipse platform. SourceForge.net can provide a good home your plug-in, but information on how best to set up an Eclipse project there is sparse. This article is an introduction to SourceForge for the Eclipse developer. You will learn the features available to the SourceForge.net open source developer community and be guided through the process, from creating a SourceForge project to hosting your Eclipse Update site.

Eclipse is more than a state-of-the-art IDE: its Rich Client Platform (RCP) plug-ins form an outstanding foundation for any desktop application, from chat applications to enterprise software front-ends. In Eclipse Rich Client Platform, two leaders of the Eclipse RCP project show exactly how to leverage Eclipse for rapid, efficient, cross-platform desktop development.

Eclipse IDE Pocket Guide

This practical pocket guide gets you up to speed quickly with Eclipse. It covers basic concepts, including Views and editors, as well as features that are not commonly understood, such as Perspectives and Launch Configurations. You'll learn how to write and debug your Java code--and how to integrate that code with tools such as Ant and JUnit. You'll also get a toolbox full of tips and tricks to handle common--and sometimes unexpected--tasks that you'll run across in your Java development cycle.

Extending The Visual Editor: Enabling support for a custom widget

This tutorial shows how to extend the Visual Editor to support a custom widget. It covers topics such as adding to the Visual Editor's palette, building a BeanInfo class, and working with EMF .override files to introduce custom editor behavior.

Using GEF with EMF

The Graphical Editing Framework (GEF) provides a framework for creating visual editors while being model agnostic. In most cases, people bring their own model which tend to be based on Plain Old Java Objects (POJOs). An alternative using POJOs is the Eclipse Modeling Framework (EMF), which provides many features for manipulating models that aren't found in POJOs. The purpose of this article is to build upon the shapes example provided by GEF using the Eclipse Modeling Framework (EMF) and to provide an introduction using EMF based models in GEF based editors.

Build and Test Automation for plug-ins and features

Eclipse offers the possibility to build plug-ins automatically outside the Eclipse IDE, which is called "headless build". Eclipse itself is built headless and since Eclipse is an assembly of plug-ins, this feature is also available for any other plug-in. Although the set up of automatic building and testing requires only a couple of files, it can be tedious work to do nonetheless. This article shares the experiences and lessons learned while setting up automatic building and testing for an Open-Source Eclipse plug-in called RDT, Ruby Development Tools.

Using OpenGL with SWT

OpenGL is a vendor-neutral, multi-platform standard for creating high-performance 2D and 3D graphics. Hardware and software implementations exist on various operating systems, including Windows, Linux and MacOS. OpenGL may be used to render simple 2D charts or complex 3D games. This article describes an experimental Eclipse plug-in that facilitates the use of OpenGL for drawing onto SWT widgets. A short history and overview of OpenGL is presented, followed by an example application.

Folding in Eclipse Text Editors

Starting with release 3.0, Eclipse allows folding in its text editor. In this article, I explain the new projection infrastructure introduced in the JFace Text framework and show how to extend the XML Editor example provided with Eclipse to allow folding of text.

Eclipse User Interface Guidelines: Version 2.1

The Eclipse platform is very flexible and extensible, but this flexibility has a serious drawback. In particular, there is no way within the program to ensure user interface consistency between the registered components within the platform.

Eclipse for Dummies

Eclipse for Testers

Eclipse has been one of the best IDEs for unit testing ever since its early days. Not too great a surprise, as until a few months ago, JUnit co-founder Erich Gamma was also lead engineer for Eclipse Java Development Tools and related IBM products like Rational Jazz. From Version 3.2 on, JUnit was directly built into Eclipse after a separate plug-in has already been available.

Professional Eclipse 3 for Java Developers

This step-by-step guide introduces novices to using all major features of Eclipse 3. It is packed with code-rich, real-world examples that show programmers how to speed up the development of applications by reusing and extending existing Eclipse components. It describes SWT and JFace and shows how Eclipse can be used as a tool platform and application framework.

Modeling Rule-Based Systems with EMF

There are examples of meta-models defined in ECore for modeling objects and relational data. However, not much has been said about how to model rules. This article will define a meta-model in ECore for modeling rule-based systems. We will then use the meta-model to model the solution of a logical problem. Then we will compose some JET templates and generate code from the model, run the generated code through a rule engine and see that the logical problem is correctly solved.

Building Administrative Applications in Eclipse

Eclipse is most commonly used as a platform for tools that allow the user to construct or assemble an end product out of development resources. It is less usual to use Eclipse as an administrative tool for monitoring existing runtime systems or applications. This article will describe some of the issues that arise in this case and illustrate possible solutions. It will show you can build an Eclipse perspective dedicated to the monitoring task. Running processes are shown in a dedicated view which always reflects their current state. You can start/stop the process, manage connections, invoke operations that the server exposes, examine server output and view events generated by the running applications.

EMF goes RCP

This article explains how you can use EMF to generate RCP applications. It assumes that you have already used EMF, or have at least read the articles and references available on the documentation section of the EMF web site.

SWT: A Developer's Notebook

In typical Developer's Notebook style, you'll learn how to take SWT out for a spin, make it work for you,and turn it upside down, all without wasted words or space. Each lab in this notebook details a specific task; you can read from the first page to the last, look up just what you need to know, and even squeeze this book into your laptop bag as a quick reference when you forget how to create a multi-tabbed view.

The Java Developer's Guide to Eclipse, 2nd Edition

Eclipse is a world-class Java integrated development environment (IDE) and an open source project and community. Written by members of the IBM Eclipse Jumpstart team, The Java™ Developer's Guide to Eclipse is the definitive Eclipse companion. As in the best-selling first edition, the authors draw on their considerable experience teaching Eclipse and mentoring developers to provide guidance on how to customize Eclipse for increased productivity and efficiency.

Building a Database Schema Diagram Editor with GEF

GEF is a very powerful framework for visually creating and editing models. With a small initial investment, even the relative Eclipse novice can be quickly up and running, building applications with graphical editing capabilities. To illustrate, this article uses a relational database schema diagram editor with a deliberately simplified underlying model, but with enough bells and whistles to show some of the interesting features of GEF at work.

On the Job: The Eclipse Jobs API

This article looks at the new Jobs API available as part of Eclipse 3.0. It describes the main portions of the Jobs API and the use of scheduling rules. It also describes some changes to Eclipse resource management including how the Resources plug-in integrates with the new API. Finally, it describes some new UI functionality that has been added to provide feedback to users about jobs that are run in the background.

Branding Your Application

In this article we look at how to create branding for your Eclipse-based application. Branding is how you change the high level visual elements of your product. This includes items such as the splash screen, the about dialog, and the program executable.

How to Write an Eclipse Debugger

One of the major tasks of adding a new language to an Eclipse-based IDE is debugging support. A debugger needs to start and stop the program being debugged, suspend and resume, single-step, manage breakpoints and watch points, and so on. This article explains the Eclipse Platform debug framework and steps through a simple, yet illustrative, example of adding debug support for a new language.

Rich Client Tutorial

The Rich Client Platform (RCP) is an exciting new way to build Java applications that can compete with native applications on any platform. This tutorial is designed to get you started building RCP applications quickly. It has been updated for Eclipse 3.1.2.

Eclipse Cookbook

Eclipse is a powerful open source platform that gives Java developers a new way to approach development projects. In the Eclipse Cookbook, Java expert Steve Holzner demystifies Eclipse with practical recipes for more than 800 situations you may encounter--from deploying a web application automatically to reverse engineering compiled code, from re-naming all references to a class across multiple packages to initializing the SWT JNI libraries.

Eclipse

O'Reilly's new guide to the technology, Eclipse, provides exactly what you're looking for: a fast-track approach to mastery of Eclipse. This insightful, hands-on book delivers clear and concise coverage, with no fluff, that gets down to business immediately. The book is tightly focused, covering all aspects of Eclipse: the menus, preferences, views, perspectives, editors, team and debugging techniques, and how they're used every day by thousands of developers. Development of practical skills is emphasized with dozens of examples presented throughout the book.

A Basic Image Viewer

This article shows how to extend the SWT Canvas to implement a mini image viewer plug-in using Java2D transforms. The extended image canvas can be used to scroll and zoom large images, and can also be extended to apply other transforms. The implementation is based on SWT and the non-UI portions of AWT. The plug-in has been tested on Windows, Linux GTK, and Mac OS X Carbon with Eclipse 2.1 or better.

SWT/JFace in Action: GUI Design with Eclipse 3.0

SWT and JFace are Eclipse's graphical libraries. They enable you to build nimble and powerful Java GUIs--but this is only the beginning. With Draw2D and the Graphical Editing Framework, you can go beyond static applications and create full-featured editors. And with the Rich Client Platform, you can build customized workbenches whose capabilities far exceed those of traditional interfaces. SWT/JFace in Action covers the territory, from simple widgets to complex graphics. It guides you through the process of developing Eclipse-based GUIs and shows how to build applications with features your users will love. The authors share their intimate knowledge of the subject with you in a friendly, readable style.

Mutatis mutandis - Using Preference Pages as Property Pages

A common problem in the implementation of applications is the implementation of project-specific properties that override workbench-wide preferences on project or file level. The naive approach is to implement these pages from scratch. However, writing the same code twice is a boring task and leads to increased maintenance efforts. In this article we show how existing preferences pages (with or without field editors) can be easily converted into pages that can act as both preference and property pages. We demonstrate this by implementing the abstract class FieldEditorOverlayPage providing the necessary functionality.

A small cup of SWT: A bag of hints, tricks and recipes for developing SWT apps on the Pocket PC

Are you interested in developing applications for the Microsoft® Pocket PC? Are you a desktop developer curious about embedded user interfaces? A well-built embedded application is both user and resource friendly. User expectations are high. Resources are very limited...

Taking a look at SWT Images

SWT's Image class can be used to display images in a GUI. The most common source of images is to load from a standard file format such as GIF, JPEG, PNG, or BMP. Some controls, including Buttons and TreeItems, are able to display an Image directly through the setImage(Image) method, but any control's paint event allows images to be drawn through the callback's graphic context. SWT's ImageData class represents the raw data making up an SWT Image and determines the color for each pixel coordinate. This article shows the correct uses of ImageData and Image, shows how to load images from files, and how to achieve graphic effects such as transparency, alpha blending, animation, scaling, and custom cursors.

PDE Does Plug-ins

The Plug-in Development Environment (PDE) provides a set of tools that assist the developer in every stage of plug-in development from genesis to deployment. This article chronicles the creation, development, testing, building, and deployment of a simple "Hello World" plug-in using a subset of these tools.

How To Keep Up To Date

This article shows you how to create and publish bundles of plug-ins (called features) to an update site so that customers can download and install them directly into Eclipse using the Eclipse update manager. This has many advantages over the low tech way of delivering new or updated plug-ins in a zip file that someone manually unzips into the directory where Eclipse is installed.

JET Tutorial Part 2 (Write Code that Writes Code)

In Part 2 of this JET (Java Emitter Templates) tutorial, we will take a look at the JET engine API. You will learn how to write plug-ins that use the classes in the JET package to generate Java source code.As a real-world example, we will create a plug-in that takes user input and generates a Typesafe Enumeration class. The generated source code is based on a JET template that can be distributed with the plug-in, allowing users of the plug-in to customize the generated code by editing the template. This article also provides a short reference to the JET API.

Launching Java Applications Programmatically

Application developers require the ability to run and debug code in order to test it. Tool developers require the ability to launch Java™ applications that assist in application development - for example, starting and stopping a Web server on which servlets, JSPs, and HTML pages can be tested; or launching a VM on which scrapbook evaluations can be performed. This article focuses on the high-level API provided by the Java launching plug-in that tool developers can leverage for the programmatic launching of local Java applications.

Adding Drag and Drop to an SWT Application

Drag and drop provides a quick and easy mechanism for users to re-order and transfer data within an application and between applications. This article is an overview of how to implement Drag and Drop and Clipboard data transfers within an SWT application.

Display a UML Diagram using Draw2D

The Graphical Editing Framework (GEF) ships with a painting and layout plug-in called Draw2D. Draw2D provides figures and layout managers which form the graphical layer of a GEF application. This article focuses only on the use of Draw2D to render a simple UML class diagram. While Draw2D can be used for standalone purposes, it is not an editing framework. Most applications will use the GEF plug-in as the editing layer.

Drag and Drop in the Eclipse UI

In this article, we discuss the drag and drop facilities provided by JFace and the Eclipse platform UI. After reading this, you will know how to add drag and drop support to your own Eclipse views, and how that support will interact with the standard views in the Eclipse platform. Along the way, we'll also discuss that keyboard relative of drag and drop: cut and paste. You'll learn that putting your own custom objects on the clipboard is easy once you've figured out the basics of drag and drop.

Using Native Drag and Drop with GEF

Native drag and drop provides the ability to drag data from one GUI object to another GUI object, which could potentially be in another application. GEF allows access to the operating system's underlying drag and drop infrastructure through SWT. This article will provide an in-depth look at GEF's drag and drop functionality and show some simple examples of how to take advantage of this API.

The Complete Eclipse Guidebook: From Installation to Plug-In

JET Tutorial Part 1 (Introduction to JET)

Generating source code can save you time in your projects and can reduce the amount of tedious redundant programming. Generating source code can be powerful, but the program that writes the code can quickly become very complex and hard to understand. One way to reduce complexity and increase readability is to use templates. In this article you will learn how to create JET templates, how to use the JET Nature and JET Builder to automatically translate templates into Java classes, and how to use these classes to generate source code. This article also provides a short reference to the JET syntax.

Inside the Memory View: A Guide for Debug Providers

There are many programming languages that allow access and discrete control of system memory. If you are a debug provider for one of these languages, then you probably have a requirement to provide support for debug-time memory inspection and manipulation. The Eclipse debug framework provides a Memory View, along with an extensible framework to simplify and standardize this task. This article introduces the Memory View and describes how to add your own customized memory support.

Building and delivering a table editor with SWT/JFace

The JFace API provides several classes that can be used to build editable table views. In this article, we present a fairly extensive example that exercises the JFace and SWT classes needed to implement a table with cell editors for check-boxes, free text and combo-boxes. We also show how to package and deliver the classes into a stand-alone (non-Eclipse) Java application.

Graphics Context - Quick on the draw

The package org.eclipse.swt.graphics contains classes that allow management of graphics resources. Graphics can be drawn on anything that implements org.eclipse.swt.graphics.Drawable, which includes org.eclipse.swt.widgets.Control and org.eclipse.swt.graphics.Image. The class org.eclipse.swt.graphics.GC encapsulates all of the drawing API, including how to draw lines and shapes, draw text and images and fill shapes. This article shows how to use a GC to draw onto an Image, or onto a control through its paintEvent callback. The Canvas control, specifically designed for drawing operations, has a number of constructor style bits that allow you to determine when and how painting occurs, and the article shows how to use these.

Notes on the Eclipse Plug-in Architecture

Eclipse plug-ins embody an architectural pattern for building an application from constituent parts. This article presents an in-depth view of the participant roles and collaborations of this architectural pattern, as they exist in an instance of the Eclipse workbench. The goal is to provide an understanding of plug-ins, and of how plug-in extensions are defined and processed, independently of the mechanics of using the Eclipse workbench to produce plug-ins.

Eclipse: Step by Step

Eclipse is in your future! Whether you're an OO Guru, a Java neophyte, or a professional business programmer, there's a good chance that you will be using Eclipse some day soon. IBM spent millions of dollars on Eclipse before releasing it into the Open Source community, and you can take advantage of all of that development. But how do you get started?

Designing Accessible Plug-ins in Eclipse

Accessibility for disabled users is now a priority in application development as advances in techniques and support within operating systems have now made this possible. This article covers the Eclipse accessibility support, general tips for creating accessible plug-ins, and the types of disabilities that the Eclipse accessibility support assists. This is all illustrated using an example of making a view accessible.

Take control of your properties

The Eclipse workbench provides a properties view which is used to view (and/or edit) properties of a selected item. In this article, you will learn how to use the properties view to dynamically modify the properties of a GUI button.

Project Builders and Natures

This article discusses two central mechanisms that are associated with projects in an Eclipse workspace. The first of these is incremental project builders, which create some built state based on the project contents, and then keep that built state synchronized as the project contents change. The second is project natures, which define and manage the association between a given project and a particular plug-in or feature.

Understanding Decorators in Eclipse

Decorators, as the name suggests, are used for adorning/annotating resources with useful information. Decorators can be used by plug-ins to convey more information about a resource and other objects displayed in different workbench views. This article, with the help of a simple plug-in example, will illustrate the steps involved in decorating resources, along with some best practice approaches for decorating resources. Finally, we will discuss performance issues that may arise when enabling decorators, and briefly go over the new lightweight decorators found in Eclipse 2.1.

We Have Lift-off: The Launching Framework in Eclipse

The ability to launch (run or debug) code under development is fundamental to an IDE. But because Eclipse is more of a tools platform than a tool itself, Eclipse's launching capabilities depend entirely on the current set of installed plug-ins. This article describes the API available to build launching plug-ins and works through developing an example launcher using this API.

Eclipse in Action: A Guide for the Java Developer

This book provides a thorough guide to using Eclipse features and plug-ins effectively in the context of real-world Java development. Realistic examples demonstrate how to use Eclipse effectively to build, test and debug applications using the tools provided by Eclipse and other third-party open source plugins. The reader will learn how to use plugin tools for using Eclipse in a team environment, including using Ant for more sophisticated build processes and CVS for source control. Plugin-ins for building web applications, using J2EE technologies, such as JSP/Servlets and EJB, are also discussed.

How You've Changed!: Responding to resource changes in the Eclipse workspace

Many tools and user interface elements are interested in processing resource changes as they happen. For example, the task list wants to update new or changed markers, the navigator wants to reflect added and deleted resources, and the Java compiler wants to recompile modified Java files. Such notifications are potentially costly to compute, manage and broadcast. The Eclipse Platform resource model includes a series of mechanisms for efficiently notifying clients of resource changes. This article outlines these facilities and gives some examples of their use.

How to Internationalize your Eclipse Plug-In

This article is a roadmap for writing Eclipse plug-ins destined for the international market. We'll begin with a brief review of the motivations and technical challenges of internationalization, followed by step-by-step instructions of how to internationalize your Eclipse plug-in.

How to Test Your Internationalized Eclipse Plug-In

This article shows you how to validate your internationalized product and prepares you for the types of common problems you can expect during translation testing. It includes an Eclipse plug-in that defines a Properties File Compare view that can help your translation testers find errors more quickly.

Simplifying Preference Pages with Field Editors

Even though preference pages can be simple to program, you can spend a lot of time getting them "just right." Field editors make this task faster and easier by providing the behavior for storing, loading, and validating preferences. Field editors also define some of the behavior for grouping and laying out widgets on a preference page.

Preferences in the Eclipse Workbench UI

In the Eclipse Platform plug-in developers define preference pages for their plug-ins for use in the Workbench Preferences Dialog. This article explains when to use a preference and some of the features the Eclipse Platform provides to support preferences.

Using the Eclipse AJAX Toolkit Framework (ATF)

The Eclipse Ajax Toolkit Framework (ATF) provides exemplary tools for creating and debugging AJAX applications. These tools include enhanced JavaScript editing features such as edit-time syntax checking, an embedded DOM browser, CSS Tools, JavaScript debugger, a JavaScript console, and an embedded Mozilla web browser. The goal of ATF is to provide an ever-expanding set of high-function tools for AJAX developers. The AJAX Toolkit Framework is an extensible framework that supports using arbitrary AJAX runtimes through the Personality Builder function. This webinar demonstrates how to use ATF to create, debug, and deploy an Ajax application on both Apache and J2EE servers.

Creating an Eclipse View

In the Eclipse Platform a view is typically used to navigate a hierarchy of information, open an editor, or display properties for the active editor. In this article the design and implementation of a view will be examined in detail. You'll learn how to create a simple view based on SWT, and a more advanced view using the JFace viewer hierarchy. We'll also look at ways to achieve good integration with many of the existing features in the workbench, such as the window menu and toolbar, view linking, workbench persistence and action extension.

Using Perspectives in the Eclipse UI

In the Eclipse Platform a Perspective determines the visible actions and views within a window. Perspectives also go well beyond this by providing mechanisms for task oriented interaction with resources in the Eclipse Platform, multi-tasking and information filtering. In this article the concepts behind perspectives are examined. The process for perspective definition, extension and instantiation will also be covered in detail with coding examples and sample scenarios.

How to Use the Eclipse API

The Eclipse Platform offers a comprehensive API (Application Programmer Interface) to developers writing plug-ins. This article discusses the general ground rules for using the Eclipse Platform API, including how to tell API from non-API, and how to stay in the API "sweet spot" to avoid the risk of being broken as the platform and its APIs evolve. These general ground rules are also recommended practice for plug-ins that must declare API elements of their own.

Getting Your Feet Wet with the SWT StyledText Widget

The StyledText widget is a customizable widget that can be used to display and edit text with different colors and font styles. This article presents an overview of the concepts, issues, and rules that you should be aware of when using the StyledText widget.

SWT Color Model

The combination of platforms, display devices and color depth makes providing an easy to use yet powerful and portable color model an interesting challenge. In this article we will examine the color management models of Windows® and X/Motif and then dig into the makings of the SWT color model and its implications for client code.

Using Images in the Eclipse UI

Managing images in a large graphical application can be a daunting task. Since modern operating systems such as Windows® only support a small number of images in memory at once, an application's icons and background images must be carefully managed and sometimes shared between widgets. This article describes the image management facilities provided by the Eclipse Platform, along with some best practice guidelines to keep in mind when writing your own Eclipse UI plug-ins. We assume the reader already has a basic understanding of Eclipse, the UI extension points defined by the Eclipse Platform, and the Standard Widget Toolkit (SWT).

Mark My Words: Using markers to tell users about problems and tasks

Eclipse workbench has a central mechanism for managing resource annotations. They are called markers. In this article, you will learn how to use markers to mark-up resources as well as how to define your own marker types and enhance the Tasks view to handle them in a special way.

Levels Of Integration: Five ways you can integrate with the Eclipse Platform

The types of problems web application developers face today require the use of a diverse set of tools that operate in many domains. In order to provide flexible tool integration, a tool integration platform must allow tool developers to target different levels or integration based on the desired level of investment, time to market, and specific tool needs. Each integration level determines how a tool must behave, and what end users can expect as a result. This article defines the different levels of tool integration supported by Eclipse, and gives an overview of how they work.

ActiveX Support In SWT

OLE Documents, such as Word, Excel or PowerPoint, and ActiveX Controls such as Internet Explorer are COM objects that can be embedded into other applications running on a Microsoft® Windows ® platform. This article provides an overview of integrating OLE Documents and ActiveX Controls into an application using SWT.

Creating Your Own Widgets using SWT

When writing applications, you typically use the standard widgets provided by SWT. On occasion, you will need to create your own custom widgets. For example, you might want to add a new type of widget not provided by the standard widgets, or extend the functionality of an existing widget. This article explains the different SWT extension strategies and shows you how to use them.

SWT: The Standard Widget Toolkit

The two part series of articles describes the design ideas behind SWT. SWT is the software component that delivers native widget functionality for the Eclipse platform in an operating system independent manner. It is analogous to AWT/Swing in Java with a difference - SWT uses a rich set of native widgets. Even in an ideal situation, industrial strength cross platform widget libraries are very difficult to write and maintain. This is due to the inherent complexity of widget systems and the many subtle differences between platforms. There are several basic approaches that have helped significantly to reduce the complexity of the problem and deliver high quality libraries.

Obfuscating an RCP Application

Obfuscating RCP applications can be a challenge for a number of reasons. First, RCP applications are composed of many plugins that must be obfuscated at the same time. And second, classes often need to be excluded from obfuscation because they're referenced by plugin extensions or extension points. In this article the author takes you on a tour of the process they use to build and obfuscate a large-scale RCP application.

Understanding Layouts in SWT

When writing applications in SWT, you may need to use layouts to give your windows a specific look. A layout controls the position and size of children in a Composite. Layout classes are subclasses of the abstract class Layout. This article shows you how to work with standard layouts, and write your own custom layout class.

Developing C/C++ Applications with the CDT

Eclipse is not just for Java-centric development. The C/C++ Development Tools (CDT) provides solid support for developing applications written in C or C++ as well. The CDT project has been a part of Eclipse for over four years now and has acquired a large and faithful following. There are a large number of embedded tool vendors, for example, that are including the CDT as a standard part of their development tool suite. But the CDT is much more than embedded as it supports building any type of C/C++ application from command line utilities to large graphical applications on all platforms including Windows, Linux, Mac OS X, embedded, and others.

Web 2.0 the Eclipse Way with the Rich AJAX Platform

The Rich AJAX Platform is ready to help you create AJAX-enabled Web applications using the methods and concepts of the Eclipse Rich Client Platform. In fact, RAP can be thought of as RCP for the Web, and that means, among other things, that a large part of the existing code from desktop RCP applications can be used to run them in a browser. This webinar will teach you about the three RAP building blocks - a widget toolkit, the Eclipse plug-in mechanism, and a workbench - and how they compare with RCP. The widget toolkit is a Java component library similar to SWT. It shields you from differences in the underlying technologies. RAP renders the appropriate HTML, CSS, and JavaScript instead of the developer hand-coding it. The plug-in mechanism for Web applications employs the OSGi functionality. The workbench is tightly integrated with the widget toolkit and is similar to the Eclipse platform workbench.

Introducing AJDT: The AspectJ Development Tools

The AspectJ Development Tools (AJDT) project is an Eclipse Tools project which enables the development of AspectJ applications in Eclipse. This article gives an overview of the capabilities of AJDT 1.4 for Eclipse 3.2 by describing several scenarios, including adding aspects to existing Java® projects, working with aspects across multiple projects, and using the load-time weaving capabilities of AspectJ 5.

The Java Persistence API is part of the new Java EE 5 EJB 3.0 specification and defines a vendor-neutral standard for object-relational mapping. But don't be fooled by the term "EJB." The JPA specification was certainly developed under the umbrella EJB 3.0 specification, but that doesn't mean it's just for Java EE. JPA is designed to work in Java SE as well as EE, and will likely be split off into its own specification in the future.

The Heart of Eclipse

Developing, Deploying and Running a Hello World BPEL Process with the Eclipse BPEL Designer and Apache ODE

In this Tutorial, we will show how to develop a Hello World Process with the Eclipse BPEL Designer and subsequently deploy it to the Apache ODE runtime. This tutorial consists of three parts: First, we will take a deep dive into installation and configuration. We’ll show how to install and configure ODE, how to install and set up the latest and greatest BPEL Designer in Eclipse, and how to bring them together.

Binding XML to EMF

Manipulating XML data easily and efficiently in Java remains an important problem. Numerous approaches to XML binding exist in the industry, including DOM, JAXB, XML Beans, Castor, SDO and so on. This article explores how the Eclipse Modeling Framework, EMF, solves the XML binding problem in a number of interesting ways, and compares that to the alternatives.

Mylar: A Task Focused UI for Eclipse

This webinar will demonstrate what it is like to work with Mylar when developing Java, Plug-in, and J2EE apps. Views such as the Package Explorer, Outline, and Resource Navigator show only the elements relevant to the task-at-hand. The editor folds away uninteresting members and automatically unfolds those in the task context. JUnit integration maintains a suite of tests affected by your current task context. Active Search makes you aware of related elements whether they are in Java, JSP, or XML files. CVS integration makes it possible to synchronize only the tasks' resources. Working with issue trackers like Bugzilla and JIRA becomes a seamless part of task management, and planning is assisted by reports of your task activity. Recalling and sharing task contexts makes picking up where you or someone else left off effortless.

Abstract Syntax Tree

The Abstract Syntax Tree is the base framework for many powerful tools of the Eclipse IDE, including refactoring, Quick Fix and Quick Assist. The Abstract Syntax Tree maps plain Java source code in a tree form. This tree is more convenient and reliable to analyse and modify programmatically than text-based source. This article shows how you can use the Abstract Syntax Tree for your own applications.

Creating Bottom Up Web Service

This tutorial shows how to create a simple Web service and Web service client from a Java class using the Eclipse Web Tools Platform. The Java class in this scenario converts between the Celsius and Farenheit temperature scales.

Running Web Service Scenarios using Ant

WTP Tutorials - Building a CMP Based School Schedule Web Application

In this tutorial you will create a CMP based school schedule Web application. You will learn how to create a Container Managed Entity Bean to store the schedule. A Session bean will be used to interact with the CMP. A JSP and Servlet will serve as the front end. The Web portion of this tutorial was adapted from the Building a School Schedule Web Application tutorial by Lawrence Mandel.

WTP Tutorials – Building and Running a Web Application

This tutorial will give you a step by step tour of using some the tools for web development. For this purpose we will build and run a J2EE web application using Eclipse Web Tools Platform and Apache Tomcat.

WTP Tutorials - Building a School Schedule Web Application

In this tutorial you will create a school schedule web application using the Eclipse Web Tools Platform. This application allows students to input their courses and create a schedule. This tutorial will introduce you to JSPs, servlets and the Web Tools Platform project's server tools.

WTP Tutorials - Building a Simple EJB Application

In this tutorial you will create a simple Enterprise JavaBeans (EJB) component and a client web application. This tutorial will introduce you to Session beans and the Web Tools Platform project's support for XDoclet and server tools.

Cactus Integration in the Web Tools Project

This article briefly explains Cactus, its common uses and advantages and then provides a step-by-step tutorial on how to use the Cactus integration provided by the Eclipse Web Tools Platform (WTP). The article assumes that you are familiar with JUnit and the basics of using WTP to build, deploy and run web projects.

Generic Server - Server Definition File Explained

Generic server is a special server and runtime implementation of base server tooling that can adjust its behaviour by a server type definition file. Server type definition files are XML based meta information files that are introduced using "org.eclipse.jst.server.generic.core.serverdefinition" extension point. This document describes the different parts of the server definition files.

Reintroducing the Structured Source Editing family of editors

The Structured Source Editing (SSE) family of editors are now available as part of the Eclipse Web Tools Platform. They support editing XML, DTD, HTML, CSS, JavaScript, and JSP files. The SSE editors make significant usage of Eclipse frameworks as well as each other. For end users it means that they behave consistently with each other as well as with other Eclipse editors.

Migrate Visual Studio C and C++ projects to Eclipse CDT

With most C/C++ projects on Windows® developed with Microsoft® Visual Studio®, it is essential to study the migration of these projects to Eclipse, the open source IDE. This article provides a brief step-by-step procedure for migrating Microsoft Visual Studio C/C++ (MSVC) projects to Eclipse. It compares and contrasts the benefits of MSVC and Eclipse CDT.

Integrating and Extending BIRT

The second of a two-book series about business intelligence and reporting technology, Integrating and Extending BIRT introduces programmers to BIRT architecture and the reporting framework. Built on the Eclipse platform, this exciting technology makes it possible for programmers to build and deploy customized reports using scripting and BIRT APIs. In addition, programmers can extend the BIRT framework by building new plug-ins using the Eclipse Plug-in Development Environment. This book describes the key components of BIRT architecture, applications, and engines, including installing, deploying, and troubleshooting the Reporting and Charting engines in an Enterprise Java application-server environment. For developers who wish to incorporate custom business logic in their reports or access data from Java objects, the book describes BIRT's extensive scripting capabilities in JavaScript and Java. For developers who want to extend the BIRT framework, the book describes the key extension points to use in creating customized report items, rendering extensions for generating output other than HTML or PDF, and Open Data Access (ODA) drivers for new data sources. The book provides extensive examples of how to build plug-ins to extend the features of the BIRT framework.

Mobile Tools for the Java Platform

Mobile Tools for the Java Platform (MTJ) completed its first release (0.7) in November. MTJ's power lies in its extensibility in the highly customizable world of Java ME. MTJ is both an IDE for developers in the Java ME space, as well as an extensible architecture that allows for customization to aid development against any device, configuration, or profile. The MTJ architecture consists of several small plug-ins which can easily be extended or replaced to change the functionality of the IDE. In addition there is a compilation environment for Unified Emulator Interface (UEI) devices, and the ability to extend the architecture for other environments. This webinar discusses the current features of the product, exposes our future plans, and highlights the extensible architecture.

Developing an Eclipse BIRT Report Item Extension

This article describes how to create a BIRT extension using the Eclipse Plug-in Development Environment (PDE). The example adds a custom report item, RotatedLabel, to the BIRT Report Designer Palette that a report developer can drag-and-drop into a report design.

Eclipse, Equinox and OSGi

Eclipse has been enormously popular as a tooling platform. With the use of Eclipse as a Rich Client Platform (RCP), Eclipse made a step towards being a runtime platform. Now, with the emergence of Eclipse on the server, Eclipse clearly has leapt into the runtime world. So what makes Eclipse capable of adapting to these different environments – what makes Eclipse tick?

Java EE Development with Eclipse

Callisto Podcast Series: Richard Gronback of GMF

With the latest major release of Eclipse, Riyad Kalla kicks off the EclipseZone Callisto Podcast Series with Richard Gronback of the GMF project. In this first of ten episodes, Riyad covers the past, present and future of GMF.

Callisto Podcast Series: Gili Mendel and Joe Winchester of VE

In the second episode of the series, Riyad talks to the authors of the VE project in Callisto. Listen in as they talk about the roots of the project and how designing device drivers ties into building a visual editor.

Callisto Podcast Series: Tim Wagner of the WTP Project

In the third episode of the series, Riyad talks to the author of the WTP project in Callisto. Listen in as they discuss how the WTP project started, commercial contributes on the way and where WTP is going.

Extending the Eclipse CDT Managed Build System

Callisto Podcast Series: Ed Merks of EMF

In the fourth episode of the series, Riyad talks to the author of the EMF project in Callisto. Listen in as they discuss why most people are confused by EMF and how this amazing tool can be leveraged in almost any situation.

Callisto Podcast Series: Sri Doddapaneni of the TPTP Project

In the fifth episode of this series, Riyad talks to the Sri Doddapaneni of the TPTP project in Callisto. Find out how this powerful testing and performance platform can improve your Eclipse application and see what they have planned for the future.

Callisto Podcast Series: Doug Schaefer of the CDT Project

In the sixth episode of this series, Riyad talks to Doug Schaefer, head of the CDT project. Listen in as Riyad and Doug discuss the progress of C/C++ development on the Eclipse platform. They also touch on the C# work going on for a future release and the

Tune in to hear Riyad's interview with Wenfeng Li and Jason Weathersby of the BIRT team. Wenfeng and Jason discuss the massive success BIRT has had with report developers, managers and users and how the future work of BIRT is BI (Business Intelligence).

Callisto Podcast Series: John Graham of the DTP project

Tune in as Riyad and John discuss the goals and progress the DTP project is making as both a platform for every Eclipse data-enabled projects as well as end user tool for folks needing to explore and manipulate data sources.

Callisto Podcast Series: Jeff McAffer of the RCP project

Unleashing the Power of Refactoring

In this article, Tobias Widmer sheds light on the services offered by the Eclipse Java Development Tools (JDT) and the Refactoring Language Toolkit (LTK) to support automated Java refactorings, explains how these services are used by refactorings to perform searches on the Java workspace, rewrite existing code and provide a rich user-interface to present the results of the refactoring. To demonstrate this combination of Java-specific and language-neutral frameworks, this article presents a simple but working refactoring implementation for an 'Introduce Indirection' refactoring designed to introduce an indirection method for existing method invocations.

Eclipse File System

This article discusses the Eclipse File System or EFS. Firstly, we'll look at why we have EFS; then, how it's structured. We'll then see an example of using EFS to mount a Zip file (with attached source code for comparison) and finally summarise what EFS provides and a few things to be aware of when creating your own EFS implementation.

Eclipse - a tale of two VMs (and many classloaders)

When starting off with Eclipse plugin development or rich client platform development, you're more than likely to run into issues like ClassNotFoundException or problems with the Java command line and properties like java.endorsed.dirs. Most often, these problems arise because many Eclipse developers don't realise the magic that lets Eclipse do its work. Amongst these are the fact that there's actually two processes under the covers, and that each bundle has its own classloader. Once you understand how these fit together, debugging problems may be somewhat easier.

Business Intelligence and Reporting Tools Project

The Open Source community is fortunate enough to have a large collection of excellent free tools at its disposal. From such great software packages as Apache, Eclipse, and OpenOffice.org, stakeholders are finding that an increasing number of common business tasks are easily done using open source alternatives to proprietary software. However, reporting has been one of the areas severely lacking in the Open Source world. Thanks to the Eclipse Foundation and Actuate, this is being addressed with a tool developed in the Eclipse framework—BIRT.

Why You Should Use Eclipse RCP (In 10 Minutes)

This screencast showcases one of Eclipse's core advantages -- module reusability. Not just class reusability, but full component reuse. Such reuse is not easy to achieve, but Eclipse's architecture makes this much more possible than ever before. That programmer's holy grail is now within reach.

Universal Logger Plug-ins for RCP Applications

When building an RCP application, you may need to include a third party code library that uses a common logger API to generate log messages. It may not be practical to modify the library to use the Eclipse ILog API. Therefore, an implementation of the logger library must be incorporated into your application.

Getting started with OSGi: Your first bundle

Getting started with OSGi: Interacting with the Framework

Last time we looked at a simple Hello World bundle that printed a message when starting and stopping. It did that by implementing the BundleActivator interface and providing start and stop methods. Take another look at the code now, in particular the method signature of start and stop , and you'll notice that we were passed a parameter, the BundleContext. In this installment of the tutorial we will be looking at BundleContext and what we can do with it.

A Comparison of Eclipse Extensions and OSGi Services

Since Eclipse adopted the OSGi runtime in version 3.0, there has been some tension between the Extension Registry, which has been a feature of Eclipse from its beginning, and the Service Layer, which came from OSGi and pre- existed the involvement of Eclipse. The cause of the tension is that these two models overlap somewhat, and because they are both intended to solve very similar problems. However “the Devil is in the details”, and these two models are different enough to make it impractical for them to be merged. Therefore developers of Eclipse plugins and RCP applications need to make a choice between the two.

Building Eclipse Plugins with Maven 2

In a mature and agile development environment, it is vital that the developers are kept productive and that builds are done continuously and dependably. Eclipse is a great environment for developers and Maven 2 (in conjunction with Continuum or Cruise Control) is a great environment for continuous integration. As with most great software, both Eclipse and Maven 2 tend to be somewhat opinionated and the two don't always see eye to eye on how things should be done. This article describes how to use Maven 2 with Eclipse in general. In particular we will focus on how to develop, package and test Eclipse plugins using Eclipse (Callisto) and Maven 2 (2.0.4) efficiently.

Getting Started with OSGi: Registering a Service

Five Reasons to Love Mylar

Modern development environments bring multiple integrated tools to developers' fingertips. Integration of editors and compilers for multiple languages, database browsers, framework-specific development tools, and more are commonplace and considered by many to be entry-level features: the minimum support required to be taken seriously. But modern development environments miss out when it comes to integrating the most important part: the developer.

Getting Started with OSGi: Dynamic Service Tracking

Dojo Project Cycle

This screen cam demonstration shows you how to use the Eclipse Ajax Toolkit Framework (ATF) to create a Dojo project and application, and launches the application on a HTTP server in the embedded Mozilla browser.

Using the ATF Personality Builder

Ship Happens! Insights From the Eclipse SWT Community

Joe Winchester, Desktop Java Editor for Java Developer's Journal, asked Steve Northover (SWT Team Lead) recently whether he'd be happy to answer some questions about SWT and, after talking to his colleagues and a few developers, here is the result.

Using Working sets and filters

Working sets are static filters for resources. You define a working set as a list of resources (files, for example) and then only those resources are shown. For example, if you want to work in project A, and see project B for reference, you don't want to have your Package Explorer cluttered with the rest of the alphabet. By default, Eclipse offers working sets for Resources, Breakpoints, Java Resources and Plug-ins. If you have your own plug-in, and some view in it can be cluttered with information, you may want to define your own working set type, and filter your view based on it. This article aims to describe how to add a new resource type to the working sets already defined in Eclipse. (Note: This article was developed and tested against Eclipse 3.2.)

Getting Started with Eclipse plug-ins: your first plug-in

Following on from our earlier series on getting started with OSGi , we're running a series on getting started with Eclipse plug-ins. In this episode, we'll be looking at getting your first plug-in up and running.

Simple Image Effects for SWT

Using the BIRT Chart Engine in Your Plug-in

The BIRT Chart Engine is a powerful business chart generation tool that can be used as a standalone charting component. This article introduces the basic concepts of BIRT Chart Engine, explains what BIRT Chart Engine is composed of, and illustrates how to create a chart and use it as widget.

Getting Started with OSGi: Introducing Declarative Services

The Declarative Services (or "DS") specification is one of the newest parts of OSGi, and it came about as a result of some of the issues with wiring together service across bundles. It's not that this task is difficult but it does require a fair amount of boilerplate code. It also requires you to be cautious about threading issues, which means you can easily shoot yourself in the foot.

Getting Started with OSGi: Dependencies between Bundles

Bundles are modules. They allow us to split apart our monolithic projects into manageable pieces which can be loaded individually into an OSGi runtime. The problem is, whether we like it or not, modules nearly always have dependencies on other modules.

Getting Started with OSGi: Consuming a Service

Swing/SWT Integration

Swing and SWT are sometimes seen as strictly competing technologies. Some people have strong opinions on which UI toolkit to use exclusively for client applications. However, in the real world, ideological extremes are often impractical. Some valid use cases require both technologies to coexist in a single application. While mixing the two toolkits is not a simple task, it can be done, and it can be done such that the two toolkits are smoothly integrated. This article discusses the steps necessary to achieve good Swing/SWT integration. It focuses on the use case of embedding existing Swing components into an SWT-based Rich Client Platform application.

Getting started with Eclipse plug-ins: creating extension points

Getting started with Eclipse plug-ins: understanding extension points

Eclipse is designed as a modular platform, with the ability to install and use plug-ins to extend the core functionality. To achieve this, Eclipse is built upon OSGi, a open modular system for Java with six years of commercial use behind it. Although this is a necessary part of Eclipse's modularity, it's enhanced through the use of the extension registry and extensions/extension points.

Getting Started with OSGi: Declarative Services and Dependencies

How to process OCL Abstract Syntax Trees

The Model Development Tools Object Constraint Language (MDT OCL) project provides the building blocks for Model-Driven tools to weave OCL declarative specifications into software artifacts. We showcase some of these possibilities, taking as starting point a plug-in to visualize OCL abstract syntax trees (ASTs) in the form of annotated trees. This example motivates some practical tips about patterns for OCL visitors, including using Java 5 generics and achieving conciseness by letting MDT OCL take care of the "walking" order. To really reap the benefits of OCL-enriched specifications, tools in our modeling chain have to be able to transform such expressions into the target software platform (e.g. compile into Java, translate into SQL). Work in this area is summarized, to ease jump-starting your own OCL processing project.

Eclipse Web Tools Platform: Developing Java Web Applications

This book presents an in-depth description of all the tools that make up WTP and an introduction to how they can be extended. It also covers Web application architecture and shows you how to set up a development project. It will appeal to Eclipse users, Enterprise Java developers, and companies and developers who reuse Eclipse in their products. Discussion includes many tools that are new to the Eclipse community and provide functionality that has not been present in Eclipse itself. This book will show Eclipse users and developers how to use and extend the new tools and incorporate them into their own products.

Get started with the Eclipse Platform

Find out about the Eclipse Platform, including its origin and architecture. Starting with a brief discussion about the open source nature of Eclipse and its support for multiple programming languages, we demonstrate the Java™ development environment with a simple programming example. We also survey some of the software development tools available as plug-in extensions.

Eclipse and Java for Total Beginners

This site contains a collection of free video screencam tutorials for Eclipse and Java. Includes "Eclipse and Java for Total Beginners" series of screencam tutorials for people who want to learn Java using the Eclipse IDE. Based on Eclipse 3.3 (Europa)

An introduction to Eclipse for Visual Studio users

Eclipse is a new world for Microsoft® Visual Studio® developers, and getting started with Eclipse can be confusing. New concepts, such as plug-in architecture, workspace-centric project structure, and automatic build can seem counterintuitive at first. Learn about these and other differences between the two environments, so that you can begin to feel at home with Eclipse.

Branching with Eclipse and CVS

This two-part article describes how to use the branch and merge features provided by Eclipse's CVS support. Part one presents a brief branch-and-merge scenario designed to quickly illustrate some branch-and-merge features. Part two shows how to rebase a subbranch with changes from the main branch before merging the subbranch back into the main branch.

Adding Help Support to a Rich Client Platform (RCP) Application

In this article we show you how you can incorporate the Eclipse help system into your Rich Client Application in a series of easy to follow steps. We also show you how to set up context help and how to fine tune your help settings.

Dynamic Scripting Lands in Europa: A Profile of Eclipse Monkey

Focusing on JEE Java Development: Mylyn and Spring

As developers, we're familiar with the endless pains that result from maintaining overly complex systems. Some complexity is accidental, so we continually strive to remove its overhead from our application. The latest crop of frameworks and dynamic languages has demonstrated just how far simple implementations can go. However, many applications have an essential complexity that cannot be further reduced without sacrificing end-user functionality or integration.

Integrate Eclipse RCP with Microsoft Applications

The Eclipse Rich Client Platform (RCP) is using the SWT GUI framework. SWT does allow to integrated Microsoft application via OLE (Object Linking and Embedding). This article will demonstrate how SWT can be used within an Eclipse RCP application to integrate / use Microsoft applications. Microsoft Outlook and Microsoft Excel are used as examples

Rich Ajax Platform, Part 1: An introduction

Asynchronous JavaScript + XML (Ajax) and the concept of Web 2.0 has spread through the development community as a way add liveliness to Web-based applications. The Rich Ajax Platform (RAP) is a way to build Ajax-enabled Web applications by using the Eclipse development model. This article introduces RAP, tells you how to set up a RAP development environment, shows off some demos, and concludes with some simple-to-understand examples.

Eclipse And Java: Introducing Persistence

This free video screencam tutorial will teach you how to save your Java objects to disk files using Eclipse version 3.3. This is for beginning programmers who have completed the "Total Beginners" tutorial or have some basic familiarity with Eclipse and Java. The 12 lessons total about 3 hours and are each about 15 minutes long. The lessons guide you through a step-by-step process adding save-to-file and get-from-file methods using the "personal lending library" application developed in the "Total Beginners" tutorial. Each lesson is fully narrated. Along the way, we learn some very cool Eclipse functionality.

Eclipse Forms: New in 3.3

Eclipse Forms is a layer on top of SWT that allows you to achieve a web-like feel inside your desktop applications without having to resort to an embedded browser. In this article, the new features added to Eclipse Forms in version 3.3 are discussed. Readers are expected to be familiar with Eclipse Forms and its concepts.

Eclipse And Java: Using the Debugger

This free video tutorial will teach you how to use the Eclipse Java Debugger. It is based on Eclipse version 3.3. This is for programmers who have completed the "Total Beginners" tutorial or have some familiarity with Eclipse and Java. No prior experience with the Eclipse Debugger is needed.

Defining Generics with UML Templates

Generics in Java have been around for a while but support for mapping generically specified artifacts in UML to their Ecore representation is new to UML2 2.1. This article will walk the reader through the details of the mapping process with the end goal of producing generically specified code. This article assumes some level of familiarity with generics and is not intended as a tutorial in Java generics.

Using the Eclipse Workbench

This free video tutorial will teach you how to use the many features of the Eclipse workbench. It is based on Eclipse version 3.3. This tutorial is not about programming, and no prior experience with Eclipse is needed.

Database Access with the Eclipse Data Tools Platform (DTP) - Tutorial

This article explains how to use the Eclipse Data Tools for handling databases. Eclipse Data Tools Platform (DTP) supports the handling of databases via SQL and via pre-defined editors, e.g. creation of databases, query these databases and updates. This article assume that you have already Eclipse installed.

Integrating EMF and GMF Generated Editors

This article provides a walk-through example how to combine the editor plug-ins generated by the Eclipse Modeling Framework (EMF) and the Graphical Modeling Framework (GMF) to create an integrated editor that supports graphical and list- oder tree-based editing of the same information. The approach outlined in this article can easily be used as a starting point for the implementation of arbitrary multi-page editor solutions that contain GMF-based graphical editors.

Plug-in development 101, Part 2: Introducing rich-client applications

Plug-in development in Eclipse is somewhat of an art form. If you're new to the concept of plug-ins, especially in the context of OSGi and Eclipse, it can be a burden learning the myriad tools Eclipse has to help you write plug-ins. This article will help you learn some basic plug-in development skills, with some best practices sprinkled in for good measure.

Plug-in development 101, Part 1: The fundamentals

Plug-in development in Eclipse is somewhat of an art form. If you're new to the concept of plug-ins, especially in the context of OSGi and Eclipse, it can be quite burdensome learning the myriad tools Eclipse has to help you write plug-ins. The purpose of this article is to help you learn some basic plug-in development skills with some best practices sprinkled in for good measure.

Tips and Tricks for Debugging in Eclipse

In this article I will describe some tips and tricks for debugging your applications in Eclipse. I will cover the debug details formatter, breakpoints on classes only, as well as how to display all references and instances of a particular object or class.

Java Emitter Template (JET) - Tutorial

This article describes the usage of Eclipse JET to transform Eclipse EMF models into other output. JET will be used to generated HTML output from an EMF model. This article assumes that you have already good Eclipse knowledge.

Build your own textual DSL with Tools from the Eclipse Modeling Project

Domain Specific Languages (DSLs) are a hot topic nowadays. While creating internal DSLs is no big deal, creating external DSLs have been said to be hard to create. In this tutorial we will show you how easy it is to create your own DSL with tools from the Eclipse Modeling Project (EMP) in less than one hour.

Eclipse RCP - Tutorial

This article describes how to develop applications using the Eclipse Rich Client Platform (RCP) architecture. The article covers among others the creating of RCP applications, using commands, views, editors, dialogs and creating and deploying a Eclipse product. This article is based on Eclipse 3.6 (Eclipse Helios).

Automating Eclipse PDE Unit Tests using Ant

This article outlines how to integrate your PDE unit tests into an Ant based automated build, using a simple Eclipse plug-in as an example, some simple java classes, basic Eclipse plug-in techniques and some standard Ant tasks.

Adapters

The adapter pattern is used extensively in Eclipse. The use of this pattern allows plug-ins to be loosely coupled, yet still be tightly integrated in the extremely dynamic Eclipse runtime environment. In this article, we show you how to use the adapter framework to make your own objects adaptable, and adapt other objects.

Code Access Guide to Eclipse 3.4 (Ganymede)

This article describes how to access the Eclipse source code, how to use the Plug-in Spy to identify a plug-in which is responsible for a certain part of the user interface and how to debug Eclipse. It also give a few examples how to search for code.

Automating the embedding of Domain Specific Languages in Eclipse JDT

The Eclipse Java Development Tools (JDT) excels at supporting the editing and navigation of Java code, setting the bar for newer IDEs, including those for Domain Specific Languages (DSLs). Although IDE generation keeps making progress, most developers still rely on traditional ways to encapsulate new language abstractions: frameworks and XML dialects. We explore an alternative path, Internal DSLs, by automating the generation of the required APIs from Ecore models describing the abstract syntax of the DSLs in question. To evaluate the approach, we present a case study (statecharts) and discuss the pros and cons with respect to other approaches.

OSGi development with Eclipse Equinox - Tutorial

This article will give an introduction into the OSGi (Open Service Gateway Interface) framework using Eclipse Equinox. The core of OSGi defines a component and service model. One of the key features of OSGi is that you can define per Java package (within an OSGi bundle) if this package should be visible (exported) to other OSGi bundles. This strong OSGi component model enforces modularity and therefore allow an easier re-use of components and reduces the maintenance effort of a code base. This tutorial gives an overview of OSGi. It explains the creation of an OSGi bundle and how to run Eclipse Equinox as an standalone OSGi server with this bundle.

Dynamic User Assistance in Eclipse Based Applications

Development environments have become very complex. As a result, providing users with context relevant assistance is critical to helping them succeed with your tools and applications. This article will introduce you to Eclipse's powerful Dynamic Assistance framework and provide examples that illustrate how you can take full advantage of its capabilities.

JFace Data Binding - Tutorial

his tutorial explains Eclipse JFace Data Binding which can be used to synchronize data between a data model and an user interface. The tutorial uses the properties API which is the recommended way of doing data binding. This tutorial is based on Eclipse 3.6 (Helios) and Java 1.6.

Glimmer - Using Ruby to Build SWT User Interfaces

Glimmer is a JRuby DSL that enables easy and efficient authoring of user-interfaces using the robust platform-independent Eclipse SWT library. Glimmer comes with built-in data-binding support to greatly facilitate synchronizing UI with domain models. The goal of the Glimmer project is to create a JRuby framework on top of Eclipse technologies to enable easy and efficient authoring of desktop applications by taking advantage of the Ruby language. With Glimmer having just become an Eclipse project, it's a good time to find out more.

Eclipse Plug-ins, 3rd Edition

Eclipse Plug-ins provides detailed, practical coverage of every aspect of plug-in development, as well as specific, proven solutions for the challenges developers are most likely to encounter. This comprehensive guide covers the entire process of plug-in development, including all the extra steps needed to achieve the highest quality results. The book has been fully revised to reflect the powerful new capabilities of Eclipse 3.4; its 928 pages offer cookbook-style code examples, relevant API listings, diagrams, screen shots and more.

This article describes how to develop JavaServer Faces web applications with Eclipse WTP JSF tooling. JSF will be explained and the examples will demonstrate the usage of managed beans and validators, JSF components in JSP pages and JSF navigation concept. Also the usage of external resource bundles for messages will be demonstrated. We will also demonstrate how to build tables in JSF which relate to Java collections (list).

Java Persistence API (JPA) with EclipseLink- Tutorial

This article explains how to use EclipseLink, the reference implementation for the Java Persistence API (JPA). The usage of EclipseLink will be demonstrated for Java applications outside the JaveEE environment. The Java Persistence API (JPA) is a specification for persisting Java objects into a relational database. The Java Persistence API let the developer easily map, store, update and retrieve data from relational database tables into Java Objects and vice versa. The Java Persistence API simplifies the life of a developer to a great degree. It permits the developer to work with objects rather then with SQL statements.

OSGi Services Tutorial

Single sourcing for databases management with RAP, EMF and Teneo

In the previous article (Single sourcing with Eclipse RAP) we have seen how to develop an Eclipse project and then run it both as a Desktop (RCP) Application an as a Web (RAP) Application. Now we will see how to go further and develop a database Application with the same dual approach. We will use EMF and Teneo for this.

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial

This article describes how to use Eclipse BIRT for reporting on simple Java Objects. (POJO's - Plan old Java Objects). During this tutorial a stock trading analysis tool is created. The article will also explain how to deploy the resulting BIRT report into a webcontainer (tomcat) and how to use it in an Eclipse RCP application. Eclipse Ganymede is used for this tutorial. Basic knowledge of using Eclipse and programming in Java is assumed.

BIRT Extension Mechanism, Part 2

Refcardz: Essential EMF

The Eclipse Modeling Framework (EMF) is a powerful framework and code generation facility for building Java applications based on simple model definitions. Designed to make modeling practical and useful to the mainstream Java programmer, EMF unifies three important technologies: Java, XML, and UML. Software is focused on manipulating data that can be modeled, hence, models drive software development. This refcard will get you started with the Eclipse Modeling Framework.

Refcardz: Getting Started with Equinox and OSGi

Equinox is a highly modular, dynamic Java runtime environment based on the OSGi framework specifications. This reference card gives you a quick tour of the technology, how it works and how to use it. We touch on modularity basics, key metadata markup and some best-practices for creating modules. We then look at runtime elements of Equinox and OSGi – lifecycle, classloading, key APIs and strategies for inter-bundle collaboration (e.g., services and extensions).

Eclipse Software Project Runs on Schedule at Swiss Railway

Providing railway personnel with an intuitive view of the complex relationships in the UNO database was a critical usability feature for the project. The Eclipse Graphical Editing Framework was an elegant solution.

RCP Case Study: Tailored Technology for Every Customer

Our product, Incremental Epic, started as a set of Eclipse plug-ins with some gross hacks to disguise its IDE origins. In June 2004, to our relief, Eclipse 3.0 introduced RCP, and we switched Incremental Epic to a more comfortable base. However from the very start the plug- in concept permitted a clean architecture.

JPMorgan Raises the Bar for Banking Applications

JPMorgan used SWT and XML to develop the easy-to-use QTrade application authoring tool. Users drag components to a canvas and apply business logic to develop applications quickly and without programming.

Eclipse Equinox Helps the US Army Sniff out Trouble

Cyrano was tested at the 2006 Super Bowl, providing National Guardsmen with situational awareness of WMD threats. The Equinox OSGi runtime allows new sensors to be added to Cyrano with no burden to the user

Refractions has the World Covered with Eclipse

Chirp and Eclipse Deliver Project Management for Professional

Plum Canary's Chirp software used the Eclipse RCP to provide powerful and easy to use project management for individuals and small teams. Users can quickly identify issues that are blocking progress and require attention.

Compass Group Completes Planning Circle with RCP

The Integrated Results System, built on the SmartBase business platform, empowers managers located throughout South Africa to budget, plan, forecast and share data with Compass Group's Head Office in Johannesburg.

Eclipse and WeigleWilczek Help the City of Stuttgart Streamline IT Activities

The Eclipse RCP makes the entire process intuitive and the application easy to use. In the past, requests took three to four weeks to work their way through the organization. Now, the process takes two to three days.

Eclipse RCP Helps AlterPoint Simplify Network Management

AlterPoint's DeviceAuthority uses the same type of constructs as the Eclipse IDE. However, the content is substantially different. The views and editors are geared toward network devices showing an inventory and script execution against a device. The item in the problems tab is not a Java compile exception but a violation of a compliance policy and the search results are not local files but network devices.

NASA Uses Eclipse for Interplanetary Operations

The Maestro rover operations application displaying images received from the Spirit and Opportunity Mars Rovers. The Eclipse Rich Client Platform is the core foundation for Maestro and provides features such as a help system, automatic update, and organization of its many data views.

RSS Solutions Keeps Customers on Schedule with Eclipse RCP

RSS was able to take Eclipse RCP and create an extremely high fidelity vertical solution using the basic building blocks of Views, Editors and Perspectives. In this case, a number of rich components have been integrated and synchronized to deliver a powerful dashboard perspective for analyzing complex manufacturing schedules.

SAS Delivers Architectural and Aesthetic Consistency with Eclipse

Users should not have to jump between multiple applications to perform a set of related tasks. The SAS Rich Client Platform gives us the ability to integrate related functions within an application suite even when they are developed and deployed independently.

Breaking Market Barriers: The Open Source Business Strategy

When investors see the margins on BIRT-related sales, the brand awareness, the new industries and geographic markets we've opened, and the compelling prospect of future growth, they are very impressed.

AspectJ in Action, Second Edition

AspectJ in Action, Second Edition is a revised and updated edition of the bestselling first edition. This book, now covering AspectJ 6 and Spring 2.5, will guide you through AOP and AspectJ using practical applications so you can create systems that are easier to understand, implement, and maintain.

Eclipse Rich Ajax Platform: Bringing Rich Client to the Web

Eclipse Rich Ajax Platform (RAP) is an innovative toolkit for developing applications that will run as rich clients as well as web applications. Eclipse Rich Ajax Platform is the first book on the new Eclipse RAP, and it introduces the required RCP and OSG/i concepts used by Eclipse RAP.

Build an Eclipse development environment for Perl, Python, and PHP

This tutorial shows how Eclipse's DLTK makes it possible to build development tools for scripting languages. In particular, it explains how to implement syntax coloring, user preferences, and interpreter integration in a plug-in-based project.

Equinox p2: Large Scale Deployment

Last year's Eclipse release (Ganymede) came with a new provisioning platform called p2. For years, Eclipse has been shipped along with a component called the "Update Manager", which allowed users to easily update their Eclipse installations. Nevertheless, year after year, and especially when Eclipse 3.0 came out, it has become much more than just an IDE: it is now a software platform, built on top of Equinox (the reference implementation of the OSGi specification).

Modularizing existing web applications with OSGi

Today you can write a new web application and just run it with Equinox/Jetty or Felix http services. However, what if you need to keep evolving an existing web application and can't just stop and spend months rewriting everything to OSGi architecture? This article explores how you can build on an existing webapp and adopt OSGi for web components without first having to rewrite the whole application.

Using Eclipse JFace TableViewer - Tutorial

This article explains the concept of Eclipse JFace TableViewer. Different editors and label provider will be used for different data types. The article demonstrate how to sort based on different table columns and how to use filters to display only selected content of the viewer. We will then learn how to use StyledCellLabelProvider to influence the display of data in the table. The usage of commands and how to hide and sort table columns is demonstrated.

Riena - A New Adventure In Eclipse

The Riena project has just released it's 1.0 version recently. In this article, I'll show you how to get going with Riena by walking you through my own experiences using the project. As well as providing a little background on the project I will show how to create a UI with Riena, and run through an example of remote services.

Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit

Domain-specific languages (DSLs) and model-driven development (MDD) offer software engineers powerful new ways to improve productivity, enhance quality, and insulate systems from rapid technological change. Now, there's a pragmatic, start-to-finish guide to creating DSLs and using MDD techniques with the powerful open source Eclipse platform. In Eclipse Modeling Project, Richard C. Gronback illuminates both the principles and techniques software professionals need to master, offering insights that will be invaluable to developers working with any tool or platform.

Eclipse Plugin Development - Tutorial for Eclipse 3.4

This article describes the basic steps on how to create a plug-in and how to deploy it to the Eclipse IDE. It demonstrates also how to extend the package explorer, how to save additional information on existing resources, how to use JDT (Java Development Tools) and how to create markers in Eclipse.

Eclipse Extension Points and Extensions - Tutorial

This article will describe the definition and usage of the Eclipse Extension Point mechanism. The examples used will be based on Eclipse RCP therefore basic knowledge of Eclipse plug-in or Eclipse RCP development is assumed.

Using Eclipse Commands with Eclipse 3.5 (Galileo) - Tutorial

This article describes the usage of Eclipse commands. The example used are based on Eclipse RCP but the concept also applies to general Eclipse plug-in development. This article is based on Eclipse Galileo (3.5) and assumes that you are already familiar with basic Eclipse RCP development.

This article describes the basic steps to create Eclipse RAP applications and how to use the CSS theming to modify their look. Eclipse RAP aims to enable developers to build rich, Ajax-enabled web applications by using the Eclipse development model. This article assumes that you are already familiar with using the Eclipse IDE. This tutorial is based on Eclipse 3.5 (Galileo).

The Future of SWT

SWT is an open source widget toolkit for Java designed to provide efficient, portable access to the user-interface facilities of the operating systems on which it is implemented. Today's applications are becoming more and more web based. Many desktop applications also have a significant web portion. Can we take some of today's desktop investment to the web?

Java Debugging with Eclipse - Tutorial

Eclipse Java IDE - Tutorial

This article describes the usage of Eclipse as a Java IDE. It describes the installation of Eclipse, the creation of Java programs, the usage of external jars, quick fix and content assist and the usage of the Eclipse update manager.

Galileo: EMF-Databinding

Commands

As you would have seen, there are two different ways to contributing to the Workbench: Actions and Commands. Although Commands are newer and advanced, I've always preferred using Actions, simply because of my comfort level in using them. Now that I've started fixing some bugs in the Command framework, I'm forced to look into the details. The more deeper I look into the Commands, the more I'm loving it.

A first look at Eclipse Rich Ajax Platform (RAP)

Eclipse Rich Ajax Platform (RAP) allows developers to create Rich Internet Applications (RIA) using the OSGi standard component model. The main advantage of this technology is the ability to share the same Java code base for RCP and RIA applications. In this two-part screencast you are going to see RAP installation process, look and feel of the RAP 1.0 Demo application and creation of the simple RAP plugin.

How to Fix a Bug in Eclipse

In this article, the reader will be guided through the entire process of a search for an open bug within one of the Eclipse projects and the steps that may be required in order to implement a fix to be contributed back to the Eclipse community. This article assumes that the reader is familiar with using CVS and Subversion in Eclipse as well as the basics required to develop Eclipse plug-ins.

Eclipse Zest - Tutorial

Eclipse Zest is a visualization toolkit for graphs. This article explains how to create directly a Zest graph and how to use the JFace abstraction. In this article Eclipse 3.5 (Eclipse Galileo) is used.

Android Development with Eclipse - Tutorial

Eclipse e4 highlights: Featuring XWT

The e4 project is the next generation of Eclipse. e4 will provide a platform for pervasive component-based applications and tools. In this article, learn about some of the new features in e4, such as XWT and declarative styling. XWT is a new toolkit for defining the structure of SWT/JFace applications declaratively in XML, while leaving the business logic in Java code. It can separate the model and representation while saving much of the layout and UI-related code originally developed for your SWT/JFace application. An example application walks you through the XWT interface and data-binding feature.

Combining Code Development, Modeling, and Simulation with Eclipse

Embedded systems and software developers juggle three critical challenges: rising design complexity, increasingly narrow time-to-market windows, and doing more with existing resources. To overcome these difficult issues, many development teams use the Eclipse open source platform for software development. One advantage of the Eclipse workspace is that it provides a highly customizable environment that can be tailored to the needs of individual software developers.

Creating Eclipse Wizards - Tutorial

Jetty-OSGi SDK Tutorial

Jetty-OSGi SDK extends the Plugin Development Environment (PDE) to support the debugging of web-applications. The "Jetty" launch configuration prepares the execution of jetty-osgi and deploys web-applications on it. The web-applications are either defined as pure java projects or as OSGi bundles. The SDK also provides two project templates suitable to create web-applications embedded inside an OSGi bundle.

Git with Eclipse (EGit) - Tutorial

C/C++ Development with Eclipse

Eclipse has always been a great choice for an IDE. CDT has also matured enough to be at the center for C/C++ Development. This easy to use guide is for the aspirant C/C++ Developers to want to use Eclipse as their IDE. The book is entirely focussed on C/C++ Developers and the issues faced by them. It does not teach you how to write an eclipse plugin. (That is for the Java developers, not C Developers). But tells you how to compile your own existing software stack.

Eclipse Helios Overview

This 60 minute talk, first delivered at Eclipse Day at the Googleplex, discusses the motivation, organization, and execution of the Eclipse Helios Simultaneous Release. Includes a brief discussion of some projects included in the release.

Securing Eclipse RCP Applications

This article describes the intellectual property (IP) and security vulnerability concerns for Eclipse RCP applications, and shows the different ways of application hardening and protecting your IP. You will learn about the two key methods, code obfuscation and native pre-compilation. Each offers advantages and disadvantages that balance cost against risk. This article provides a deep, detailed view of the options.

Eclipse Preferences - Tutorial

Preferences are key / values pairs where the key is an arbitrary name for the preference. The value can be a boolean, string, int of another primitive type. Eclipse Preferences allow to save plugin specific configuration values. Eclipse preferences (org.osgi.service.prefs.Preferences) are very similar to Java Preferences with some support of additional features. Eclipse Preferences use the Eclipse framework to save and retrieve the configuration. Preferences are received and saved by get and put methods while the get methods also supply a default value in case the preferences is not yet set.

JFace Data Binding and EMF - Tutorial

Introduction to Android development Using Eclipse and Android widgets

This tutorial is intended for anyone interested in beginning Android development on Eclipse using the Android development tools plug-in. It offers insight into the salient features of an Android app, along with a brief explanation of its basic components. The Android process is introduced for developing rich UIs for the apps, as widgets. Finally, it showcases how easy it is to test the developed app by deploying it on an Android device simulator included in the SDK.

Eclipse for PHP Tutorials (using PHPEclipse, not PDT)

A series of video episodes centered around PHP development in Eclipse, using PHPEclipse, Aptana editors and the Subversive plugin. Contains tutorials on setting up the environment as well as a few tips regarding PHP development itself.

SWT Tutorial

Eclipse Jobs and Background Processing

This tutorial describes how the concept of the main user interface thread in SWT and how to synchronize other threads with this thread. It also explains the usage of the Jobs API in Eclipse plug-in projects for performing asynchronous tasks. This tutorial can be used for Eclipse 3.x and Eclipse 4.x based plug-ins.

Eclipse 4 RCP - Tutorial

This tutorial describes the creation of Eclipse 4 based applications, e.g. Eclipse RCP applications. It describes the modeled application concept and the new programming model which is based on annotations and dependency injection.

Eclipse IDE 3.7

This book demonstrates how you can develop Java applications, how you can debug them and how to write JUnit tests for your applications. It also explains how you can work with local Mylyn tasks to organize your work efficiently. It also includes important Eclipse configuration tips which make programming with Eclipse more effective. After finishing this book you should feel comfortable with using the Eclipse IDE for standard Java development tasks and you should be equipped to explore Eclipse further.

Eclipse 4 Platform Services

Babel Pseudo Translations

Babel Pseudo Translations are a very useful tool for globalization testing of Eclipse projects. This article provides step-by-step instructions and examples describing what are the Babel Pseudo Translations, where to download them, how to install them, and how to launch Eclipse in Babel Pseudo Translations. Eclipse developers can use the Babel Pseudo Translations to verify the translatability of their projects and make sure Eclipse excels in national language support.

Eclipse SWT and JFace Dialogs in Eclipse plug-in development

Eclipse Starter Guide for AP® Computer Science

Employers are always looking for practical experience. The best way to stand out is to demonstrate that you are familiar with tools used by professional programmers. There are many Java development tools available, but when it comes to Java programming, Eclipse is the tool frequently used in the industry. Eclipse is a popular Integrated Development Environment (IDE) that supports Java, C/C++, and web development. The goal of this little book is to get you familiar with Eclipse development. The various chapters provide the instructions to download, install, and use Eclipse for Java development. Various chapters have hands-on exercises so that you can use Eclipse to help with homework, GridWorld, and study for the APCS exam.

Instant Eclipse Application Testing How-to

"Instant Eclipse Application Testing How-to" is a quick guide to learning how to test all types of Java applications in an Eclipse environment. This book gives you a step-by-step approach towards application testing and debugging along with optimized sample test projects.

Instant Eclipse 4 RCP Development How-to

Instant Eclipse 4 RCP Development How-to is a practical and hands-on guide to developing standalone applications. It also describes concepts and APIs used to perform specific tasks. The tasks identified in this book are most commonly performed in developing standalone applications of various levels of complexity. Instant Eclipse 4 RCP Development How-to takes the approach of learning new features of Eclipse 4 by breaking them into specific tasks and progressively building a sample application using new features.

Getting Started with Eclipse Juno

Getting Started with Eclipse Juno is targeted at any Java programmer interested in taking advantage of the benefits provided by a full-fledged IDE. This book will get the reader up to speed with Eclipse’s powerful features to write, refactor, test, debug, and deploy Java applications. This book covers all you need to know to get up to speed in Eclipse Juno IDE. It is mainly tailored for Java beginners that want to make the jump from their text editors to a powerful IDE. However, seasoned Java developers not familiar with Eclipse will also find the hands-on tutorials in this book useful.

Eclipse 4 Plug-in Development by Example Beginner's Guide

"Eclipse 4 Plug-in Development by Example Beginner's Guide" takes the reader through the full journey of plug-in development, starting with an introduction to Eclipse plug-ins, continued through packaging and culminating in automated testing and deployment. The example code provides simple snippets which can be developed and extended to get you going quickly. This book covers basics of plug-in development, creating user interfaces with both SWT and JFace, and interacting with the user and execution of long-running tasks in the background.

Android Development Tools for Eclipse

Android Development Tools for Eclipse is a step-by-step guide that provides you with hands-on, practical, and to the point discussion and steps for using Eclipse tools for developing, debugging, and signing Android applications for distribution. It also teaches you to incorporate advertisements to monetize your applications. Every concept and its usage has been demonstrated in this book by implementing them via real world applications.

Gerrit code review - Tutorial

This tutorial explains the usage of the Gerrit code review system. It describes the setup of Eclipse (with EGit) as well as the command line setup. Contributing to an Eclipse.org project via Gerrit is also described.