hw #5. assignment 1. add a "lod checker properties" page. any java project should have...

7
HW #5

Upload: britton-marsh

Post on 18-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HW #5. Assignment 1. Add a "LoD checker properties" page. Any Java project should have "LoD checker properties" page. Make sure it appears only for Java

HW #5

Page 2: HW #5. Assignment 1. Add a "LoD checker properties" page. Any Java project should have "LoD checker properties" page. Make sure it appears only for Java

Assignment

• 1. Add a "LoD checker properties" page. Any Java project should have "LoD checker properties" page. Make

sure it appears only for Java projects. The properties page is the nerve center where the user can choose which version of the LoD should be checked. Offer the capabilities you implemented in hw 4, e.g. defining stable classes.

• 2. Add AspectJ project nature. If a Java project does not have AspectJ nature and the LoD checker is

enabled, add the AspectJ nature to the project.You need to deal with the AspectJ plug-in when compiling the project. At this point find out how to deal with project natures and how to save information between start-ups and shutdowns of the Platform.

Page 3: HW #5. Assignment 1. Add a "LoD checker properties" page. Any Java project should have "LoD checker properties" page. Make sure it appears only for Java

What does it mean?

• You need to create a “Property Page”, that– is visible only for projects labeled with Java

nature.– contains all the necessary widgets for tuning

your checker for the selected project.– is AspectJ plug-in aware.– attaches/detaches checker source code files on

enabling/disabling checker.– treats all the properties as persistent

Page 4: HW #5. Assignment 1. Add a "LoD checker properties" page. Any Java project should have "LoD checker properties" page. Make sure it appears only for Java

What to do. Manifest file.• Write your plug-in manifest file (plug-in.xml) that

defines extension to the org.eclipse.ui.propertyPages extension point. Hints:– See the extension points reference in the Plug-in the

Plug-in Developer documentation at eclipse.org– To find out how to associate your extension with Java

Nature projects look at the manifest files for existing plugins (example – AspectJ plugin)

– Don’t forget to define all the plug-ins your plug-in uses (import tag of the manifest file).

Page 5: HW #5. Assignment 1. Add a "LoD checker properties" page. Any Java project should have "LoD checker properties" page. Make sure it appears only for Java

What to do. Implementation.

• Write Java implementation class containing all the necessary logic.– Read Preferences and properties section of the Plug-In Developer

guide

– Use documentation (API reference) !!!

– Take a close look at resources API (org.eclipse.core.resources)!!!

– Take a close look at SWT API (org.eclipse.swt.widgets)– In order to find out how to operate Java kind of resources – look at

JDT Plug-in Developer Guide, API reference (org.eclipse.jdt.core) (you’ll need it in the stage of attaching your checker files to the project)

Page 6: HW #5. Assignment 1. Add a "LoD checker properties" page. Any Java project should have "LoD checker properties" page. Make sure it appears only for Java

More on implementation.

– Don’t forget to add AspectJ project nature to the project if necessary. (resources API) Remember – your checker uses AspectJ plug-in and can be applied to any Java project.

– Don’t forget to remove AspectJ project nature if it’s possible and user don’t need it any more. (if project had AspectJ nature before first use of the checker – we cannot remove AspectJ nature from the project)

– Keep your checker files in the plug-in directory (they comes with your plugin). Copy them to a current project directory when enabling checker.

Page 7: HW #5. Assignment 1. Add a "LoD checker properties" page. Any Java project should have "LoD checker properties" page. Make sure it appears only for Java

Any questions?

Ask MESergei Kojarski

[email protected]