Skip to main content

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

Jump to: navigation, search

Difference between revisions of "OTDT/NonAPI"

 
(5 intermediate revisions by the same user not shown)
Line 18: Line 18:
 
*** ensure the incremental builder respects implicit role inheritance as a trigger for rebuilding affected classes
 
*** ensure the incremental builder respects implicit role inheritance as a trigger for rebuilding affected classes
 
*** make information from aspectBindings available for checking imports and specifically base imports during compilation
 
*** make information from aspectBindings available for checking imports and specifically base imports during compilation
 
 
  
 
===org.eclipse.jdt.core.apt===
 
===org.eclipse.jdt.core.apt===
Line 30: Line 28:
 
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.debug.adaptor
 
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.debug.adaptor
 
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptor.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file PresentationAdaptor] -- access JavaEditor for computing the start line of an element
 
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptor.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file PresentationAdaptor] -- access JavaEditor for computing the start line of an element
 
+
** Also: instantiate internal class AppearanceAwareLabelProvider.
  
 
===org.eclipse.jdt.debug===
 
===org.eclipse.jdt.debug===
Line 45: Line 43:
 
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JDTDebugUILaunchingAdaptor.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file JDTDebugUILaunchingAdaptor] -- add OT/J checkbox to JavaJRETab and JavaConnectTab
 
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JDTDebugUILaunchingAdaptor.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file JDTDebugUILaunchingAdaptor] -- add OT/J checkbox to JavaJRETab and JavaConnectTab
 
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/OTToggleBreakpointAdapter.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file OTToggleBreakpointAdapter] -- replace ToggleBreakPointAdapter with a variant that handles implicit role inheritance and non-Java elements (callout/callin method binding)
 
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/OTToggleBreakpointAdapter.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file OTToggleBreakpointAdapter] -- replace ToggleBreakPointAdapter with a variant that handles implicit role inheritance and non-Java elements (callout/callin method binding)
 +
** also: extend ToggleBooleanPreferenceAction to implement a new option in the Variables view
 
** also: access to two internal constants from DebugUIMessages
 
** also: access to two internal constants from DebugUIMessages
 +
** for a variant of BreakpointLocationVerifierJob
 +
*** copy&adjust some source files
 +
*** access internal classes ActionDelegateHelper, ActionMessages, BreakpointUtils, DebugWorkingCopyManager, JavaDebugUtils, JDIDebugUIPlugin, ValidBreakpointLocationLocator
 +
 +
===org.eclipse.jdt.launching===
 +
Accessed by:
 +
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.debug.adaptor
 +
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JDTLaunchingAdaptor.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file JDTLaunchingAdaptor] -- conditionally activate OT/J runtime for normal Java launches
  
 
===org.eclipse.jdt.junit===
 
===org.eclipse.jdt.junit===
Line 51: Line 58:
 
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.debug.adaptor
 
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.debug.adaptor
 
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor3.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file DebugUIDialogAdaptor3] -- add new "Team Activation" tab to JUnitTabGroup
 
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor3.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file DebugUIDialogAdaptor3] -- add new "Team Activation" tab to JUnitTabGroup
 +
 +
===org.eclipse.jdt.junit.core===
 +
Accessed by:
 +
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.debug.adaptor
 +
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JUnitLaunchingAdaptor.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file JUnitLaunchingAdaptor] -- conditionally activate OT/J runtime for JUnit launches
  
 
===org.eclipse.debug.core===
 
===org.eclipse.debug.core===
Line 63: Line 75:
 
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptorActivator.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file PresentationAdaptorActivator] -- conditionally enable beautification of stack frames for generated code (only for OT launches)
 
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptorActivator.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file PresentationAdaptorActivator] -- conditionally enable beautification of stack frames for generated code (only for OT launches)
 
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/VariablesViewAdaptor.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file VariablesViewAdaptor] -- filter synthetic variables from the view (configurable via a preference)
 
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/VariablesViewAdaptor.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file VariablesViewAdaptor] -- filter synthetic variables from the view (configurable via a preference)
 
+
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.debug.ui
 
+
** for implementing a view similar to the Variables view:
 
+
*** subclass internal classes AbstractModelProxy, VariableLabelProvider
 +
*** access internal classes ModelDelta, VariableColumnPresentation, IPresentationContext
 +
** also: instantiate internal class BooleanFieldEditor2 which works around a method protection
 +
** access internal class ColorManager
  
 
===org.eclipse.pde.core===
 
===org.eclipse.pde.core===
Line 75: Line 90:
 
Accessed by:
 
Accessed by:
 
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.debug.adaptor
 
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.debug.adaptor
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/PDELaunchingAdaptor.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file PDELaunchingAdaptor] -- add OT/Equinox checkbox to all OSGi related launch configuration dialogs (JREBlock)
+
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/PDELaunchingAdaptor.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file PDELaunchingAdaptor] -- add OT/Equinox checkbox to all OSGi related launch configuration dialogs (JREBlock)
 
** also: access to an internal constant from IPDEUIConstants
 
** also: access to an internal constant from IPDEUIConstants
 +
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.samples
 +
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SamplesAdapter.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file SamplesAdapter] -- small bugfixes and adjustments for re-using "orphaned" classes
  
 
===org.eclipse.pde.launching===
 
===org.eclipse.pde.launching===
Line 93: Line 110:
 
* org.eclipse.objectteams.otdt.compiler.adaptor
 
* org.eclipse.objectteams.otdt.compiler.adaptor
 
* org.eclipse.objectteams.otdt.debug
 
* org.eclipse.objectteams.otdt.debug
 
+
* org.eclipse.objectteams.otdt.debug.ui
 
+
* org.eclipse.objectteams.otdt.debug.adaptor
 +
* org.eclipse.objectteams.otdt.samples
  
 
[[Category:Object Teams]]
 
[[Category:Object Teams]]
 
[[Category:Object Teams Development]]
 
[[Category:Object Teams Development]]

Latest revision as of 16:10, 28 November 2010

For the sake of a smooth and deep integration into the JDT the OTDT connects to other plugins using these non-API mechanisms:

  • Adaptation using OT/Equinox with Team obj.gif Team and Role classes.
  • Accessing internal classes

The extent and rationale is documented on this page.

Affected plugins

org.eclipse.jdt.core

The OTDT contains a variant of the jdt.core plugin as described here.

Additionally, the following OT plugins access internals of the JDT/Core:

  • Plugin obj.gif org.eclipse.objectteams.otdt
    • Team obj.gif OTTypeHierarchies -- This team adapts the TypeHierarchy mechanism to account for implicit inheritance
  • Plugin obj.gif org.eclipse.objectteams.otdt.apt
    • Team obj.gif VisitorsAdaptor -- This team accesses internal classes for adapting annotation processing (APT)
  • Plugin obj.gif org.eclipse.objectteams.otdt.compiler.adaptor
    • Multiple Team classes -- adaptations for the following purposes
      • ensure the incremental builder respects implicit role inheritance as a trigger for rebuilding affected classes
      • make information from aspectBindings available for checking imports and specifically base imports during compilation

org.eclipse.jdt.core.apt

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.apt
    • Team obj.gif VisitorsAdaptor -- This team adapts the AnnotationDiscoveryVisitor so that it will finds annotations of method bindings (callin/callout) and their arguments, too.

org.eclipse.jdt.ui

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor
    • Team obj.gif PresentationAdaptor -- access JavaEditor for computing the start line of an element
    • Also: instantiate internal class AppearanceAwareLabelProvider.

org.eclipse.jdt.debug

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor

org.eclipse.jdt.debug.ui

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor
    • Team obj.gif PresentationAdaptorActivator -- beautify stackframes relating to generated code (manages activation of PresentationAdaptor)
    • Team obj.gif DebugUIDialogAdaptor2 -- add new "Team Activation" tab to LocalJavaApplicationTabGroup
    • Team obj.gif JDTDebugUILaunchingAdaptor -- add OT/J checkbox to JavaJRETab and JavaConnectTab
    • Team obj.gif OTToggleBreakpointAdapter -- replace ToggleBreakPointAdapter with a variant that handles implicit role inheritance and non-Java elements (callout/callin method binding)
    • also: extend ToggleBooleanPreferenceAction to implement a new option in the Variables view
    • also: access to two internal constants from DebugUIMessages
    • for a variant of BreakpointLocationVerifierJob
      • copy&adjust some source files
      • access internal classes ActionDelegateHelper, ActionMessages, BreakpointUtils, DebugWorkingCopyManager, JavaDebugUtils, JDIDebugUIPlugin, ValidBreakpointLocationLocator

org.eclipse.jdt.launching

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor

org.eclipse.jdt.junit

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor

org.eclipse.jdt.junit.core

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor

org.eclipse.debug.core

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor

org.eclipse.debug.ui

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor
  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.ui
    • for implementing a view similar to the Variables view:
      • subclass internal classes AbstractModelProxy, VariableLabelProvider
      • access internal classes ModelDelta, VariableColumnPresentation, IPresentationContext
    • also: instantiate internal class BooleanFieldEditor2 which works around a method protection
    • access internal class ColorManager

org.eclipse.pde.core

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.compiler.adaptor
    • Team obj.gif PDEAdaptor -- feed information about aspectBindings into the compiler for access checking

org.eclipse.pde.ui

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor
    • Team obj.gif PDELaunchingAdaptor -- add OT/Equinox checkbox to all OSGi related launch configuration dialogs (JREBlock)
    • also: access to an internal constant from IPDEUIConstants
  • Plugin obj.gif org.eclipse.objectteams.otdt.samples
    • Team obj.gif SamplesAdapter -- small bugfixes and adjustments for re-using "orphaned" classes

org.eclipse.pde.launching

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor

org.eclipse.core.resources

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.compiler.adaptor
    • Team obj.gif ResourceProjectAdaptor -- decorate objects of type Project to store two more fields if the project is an OT/Equinox project.

Status: List of OT-plugins processed:

  • org.eclipse.objectteams.otdt
  • org.eclipse.objectteams.otdt.apt
  • org.eclipse.objectteams.otdt.compiler.adaptor
  • org.eclipse.objectteams.otdt.debug
  • org.eclipse.objectteams.otdt.debug.ui
  • org.eclipse.objectteams.otdt.debug.adaptor
  • org.eclipse.objectteams.otdt.samples

Copyright © Eclipse Foundation, Inc. All Rights Reserved.