SlideShare a Scribd company logo
1 of 11
Download to read offline
Make Me an Eclipse View (with less Plumbing):
    The PTP External Tools Framework
    Feedback View

                                                    Beth R. Tibbitts
                                                        IBM Corp.
                                                 tibbitts@us.ibm.com
                                                      March, 2010

                                    EclipseCon 2010, Santa Clara
       This material is partly based upon work supported by the Defense Advanced Research Projects Agency under
       its Agreement No. HR0011-07-9-0002




          EclipseCon 2010: Beth Tibbitts                          Make Me an Eclipse View … the PTP ETFw Feedback view
1         Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation
          is licensed under Creative Commons Att. Nc Nd 2.5 license.
Background/Motivation

    •  You have a tool that generates information about a (source code)
       file, including line numbers
    •  You want to display the information to the end-user is a way that
       makes it easy to navigate to that src code line
        •  Like the “Problems” view
    •  You don’t want to write a lot of Eclipse “plumbing” code


      Problems view shows error
      Double-click on error
       to go to src line



           EclipseCon 2010: Beth Tibbitts                          Make Me an Eclipse View … the PTP ETFw Feedback view
2          Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation
           is licensed under Creative Commons Att. Nc Nd 2.5 license.
Tool

ETFw Feedback view                                                                            ?
                                                                          File

    PTP External Tools Framework (ETFw)
    •  Provides simple way to integrate execution of existing
       (command-line?) tools into eclipse workbench
    •  But if your tool (launched from ETFw or not) has results, how to
       show user src lines that are relevant?
    •  Answer: ETFw Feedback view
        •  You provide:
           output file (e.g. xml file with info about src files and line numbers)
           A simple Parser that creates IFeedback items from your file
             (xml parser basics are in the sample)
        •  ETFw Feedback view provides:
           View with your items in a TreeTable view, mapped to src lines



            EclipseCon 2010: Beth Tibbitts                          Make Me an Eclipse View … the PTP ETFw Feedback view
3           Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation
            is licensed under Creative Commons Att. Nc Nd 2.5 license.
ETFw Feedback view – What it looks like

    •  Select side
       file
    •  Select feedback
       action

    •  Show view
    •  Double-click
       line in view
       to highlight
       line of src




            EclipseCon 2010: Beth Tibbitts                          Make Me an Eclipse View … the PTP ETFw Feedback view
4           Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation
            is licensed under Creative Commons Att. Nc Nd 2.5 license.
ETFw Feedback view – how to use

    •  See sample project:
       dev.eclipse.org / tools / org.eclipse.ptp / tools
         Project: org.eclipse.ptp.feedback.sample
    •  Add menus/actions, as desired – to invoke
    •  Name your parser
       recognized by initial node
       in side file (e.g. root XML node)
    •  Name your view
    •  Implement the action

      Most of the above classes are
      simple extensions of the base
      classes. Except..

            EclipseCon 2010: Beth Tibbitts                          Make Me an Eclipse View … the PTP ETFw Feedback view
5           Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation
            is licensed under Creative Commons Att. Nc Nd 2.5 license.
ETFw Feedback view parser – you implement

    …Except for the parser that interprets your side file and creates
     objects that can be shown in the view




                                    …etc.


           EclipseCon 2010: Beth Tibbitts                          Make Me an Eclipse View … the PTP ETFw Feedback view
6          Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation
           is licensed under Creative Commons Att. Nc Nd 2.5 license.
Sample XML file

    <?xml version="1.0"?>
    <SampleXMLRoot>   Root XML node identifies type of file
       <MyItem name="main is here" parent="mysample" file="sample.c"
      function="main" lineNo="14" isFunction="true" id="0"/>
       <MyItem name="loop is here" parent="mysample" file="sample.c"
      function="main" lineNo="16" isFunction="true" id="1"/>
       <MyItem name="this is return" parent="mysample" file="sample.c"
      function="turkey" lineNo="19" isFunction="true" id="2"/>
       <MyItem name="open brace" parent="braces" file="sample.c"
      function="turkey" lineNo="14" isFunction="true" id="3"/>
       <MyItem name="close brace" parent="braces" file="sample.c"
      function="turkey" lineNo="18" isFunction="true" id="4"/>
    </SampleXMLRoot>
                                                                                                     Parent node can be
                                                                                                     used to group items
                                                                                                     in Feedback view
                                                                                                     Tree



            EclipseCon 2010: Beth Tibbitts                          Make Me an Eclipse View … the PTP ETFw Feedback view
7           Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation
            is licensed under Creative Commons Att. Nc Nd 2.5 license.
ETFw Feedback view with compiler reports

    •  Compiler
       attempts
       at inlining
       etc.
    •  Action can
       be attached.
       Refactoring?




             EclipseCon 2010: Beth Tibbitts                          Make Me an Eclipse View … the PTP ETFw Feedback view
8            Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation
             is licensed under Creative Commons Att. Nc Nd 2.5 license.
ETFw Feedback view with Bottleneck reports




         EclipseCon 2010: Beth Tibbitts                          Make Me an Eclipse View … the PTP ETFw Feedback view
9        Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation
         is licensed under Creative Commons Att. Nc Nd 2.5 license.
Summary

     •  Feedback view provides simple/easy way to view results of
        external tools
     •  Good reviews from users
     •  Can attach other actions… to leverage data from the tools
     •  PTP 3.0.x contains framework/abstract code for Feedback view
         •  PTP 4.0 in Helios too
         •  No concrete views; Sample project in CVS

     •  Simple Implementation now
     •  Some limitations now
     •  Open to suggestions on extensions / other uses



            EclipseCon 2010: Beth Tibbitts                          Make Me an Eclipse View … the PTP ETFw Feedback view
10          Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation
            is licensed under Creative Commons Att. Nc Nd 2.5 license.
References

       Parallel Tools Platform: http://eclipse.org/ptp
       ETFw wiki page: http://wiki.eclipse.org/PTP/ETFw/PTP_External_Tools_Framework
       ETFw Feedback view specifically:
       http://wiki.eclipse.org/PTP/ETFw/PTP_External_Tools_Framework_Feedback_View




              EclipseCon 2010: Beth Tibbitts                          Make Me an Eclipse View … the PTP ETFw Feedback view
11            Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation
              is licensed under Creative Commons Att. Nc Nd 2.5 license.

More Related Content

Similar to EclipseCon 2010: Make Me an Eclipse View with PTP ETFw

Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)Pascal Rapicault
 
Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013jsievers
 
What is new in Helios
What is new in HeliosWhat is new in Helios
What is new in HeliosTomasz Zarna
 
javagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platformjavagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platformTonny Madsen
 
Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)Mikkel Flindt Heisterberg
 
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Mikkel Flindt Heisterberg
 
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012jsievers
 
Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview Lars Vogel
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insTonny Madsen
 
Ef Poco And Unit Testing
Ef Poco And Unit TestingEf Poco And Unit Testing
Ef Poco And Unit TestingJames Phillips
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Ryan Baxter
 
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Mikkel Flindt Heisterberg
 
Eclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And TricksEclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And TricksChris Aniszczyk
 
Staying ahead of the multi-core revolution with CDT debug
Staying ahead of the multi-core revolution with CDT debugStaying ahead of the multi-core revolution with CDT debug
Staying ahead of the multi-core revolution with CDT debugmarckhouzam
 
Os Tibbittstutorial
Os TibbittstutorialOs Tibbittstutorial
Os Tibbittstutorialoscon2007
 
Fun with ASP.NET MVC 3, MEF and NuGet
Fun with ASP.NET MVC 3, MEF and NuGetFun with ASP.NET MVC 3, MEF and NuGet
Fun with ASP.NET MVC 3, MEF and NuGetMaarten Balliauw
 
Demystifying dot NET reverse engineering - Part1
Demystifying  dot NET reverse engineering - Part1Demystifying  dot NET reverse engineering - Part1
Demystifying dot NET reverse engineering - Part1Soufiane Tahiri
 
EEF You Want Sexy Properties ...
EEF You Want Sexy Properties ...EEF You Want Sexy Properties ...
EEF You Want Sexy Properties ...glefur
 
eBPF — Divulging The Hidden Super Power.pdf
eBPF — Divulging The Hidden Super Power.pdfeBPF — Divulging The Hidden Super Power.pdf
eBPF — Divulging The Hidden Super Power.pdfSGBSeo
 

Similar to EclipseCon 2010: Make Me an Eclipse View with PTP ETFw (20)

Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)
 
Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013
 
What is new in Helios
What is new in HeliosWhat is new in Helios
What is new in Helios
 
javagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platformjavagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platform
 
Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)
 
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)
 
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
 
Discovering the p2 API
Discovering the p2 APIDiscovering the p2 API
Discovering the p2 API
 
Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-ins
 
Ef Poco And Unit Testing
Ef Poco And Unit TestingEf Poco And Unit Testing
Ef Poco And Unit Testing
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
 
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)
 
Eclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And TricksEclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And Tricks
 
Staying ahead of the multi-core revolution with CDT debug
Staying ahead of the multi-core revolution with CDT debugStaying ahead of the multi-core revolution with CDT debug
Staying ahead of the multi-core revolution with CDT debug
 
Os Tibbittstutorial
Os TibbittstutorialOs Tibbittstutorial
Os Tibbittstutorial
 
Fun with ASP.NET MVC 3, MEF and NuGet
Fun with ASP.NET MVC 3, MEF and NuGetFun with ASP.NET MVC 3, MEF and NuGet
Fun with ASP.NET MVC 3, MEF and NuGet
 
Demystifying dot NET reverse engineering - Part1
Demystifying  dot NET reverse engineering - Part1Demystifying  dot NET reverse engineering - Part1
Demystifying dot NET reverse engineering - Part1
 
EEF You Want Sexy Properties ...
EEF You Want Sexy Properties ...EEF You Want Sexy Properties ...
EEF You Want Sexy Properties ...
 
eBPF — Divulging The Hidden Super Power.pdf
eBPF — Divulging The Hidden Super Power.pdfeBPF — Divulging The Hidden Super Power.pdf
eBPF — Divulging The Hidden Super Power.pdf
 

Recently uploaded

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Recently uploaded (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

EclipseCon 2010: Make Me an Eclipse View with PTP ETFw

  • 1. Make Me an Eclipse View (with less Plumbing): The PTP External Tools Framework Feedback View Beth R. Tibbitts IBM Corp. tibbitts@us.ibm.com March, 2010 EclipseCon 2010, Santa Clara This material is partly based upon work supported by the Defense Advanced Research Projects Agency under its Agreement No. HR0011-07-9-0002 EclipseCon 2010: Beth Tibbitts Make Me an Eclipse View … the PTP ETFw Feedback view 1 Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
  • 2. Background/Motivation •  You have a tool that generates information about a (source code) file, including line numbers •  You want to display the information to the end-user is a way that makes it easy to navigate to that src code line •  Like the “Problems” view •  You don’t want to write a lot of Eclipse “plumbing” code Problems view shows error Double-click on error to go to src line EclipseCon 2010: Beth Tibbitts Make Me an Eclipse View … the PTP ETFw Feedback view 2 Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
  • 3. Tool ETFw Feedback view ? File PTP External Tools Framework (ETFw) •  Provides simple way to integrate execution of existing (command-line?) tools into eclipse workbench •  But if your tool (launched from ETFw or not) has results, how to show user src lines that are relevant? •  Answer: ETFw Feedback view •  You provide: output file (e.g. xml file with info about src files and line numbers) A simple Parser that creates IFeedback items from your file (xml parser basics are in the sample) •  ETFw Feedback view provides: View with your items in a TreeTable view, mapped to src lines EclipseCon 2010: Beth Tibbitts Make Me an Eclipse View … the PTP ETFw Feedback view 3 Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
  • 4. ETFw Feedback view – What it looks like •  Select side file •  Select feedback action •  Show view •  Double-click line in view to highlight line of src EclipseCon 2010: Beth Tibbitts Make Me an Eclipse View … the PTP ETFw Feedback view 4 Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
  • 5. ETFw Feedback view – how to use •  See sample project: dev.eclipse.org / tools / org.eclipse.ptp / tools Project: org.eclipse.ptp.feedback.sample •  Add menus/actions, as desired – to invoke •  Name your parser recognized by initial node in side file (e.g. root XML node) •  Name your view •  Implement the action Most of the above classes are simple extensions of the base classes. Except.. EclipseCon 2010: Beth Tibbitts Make Me an Eclipse View … the PTP ETFw Feedback view 5 Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
  • 6. ETFw Feedback view parser – you implement …Except for the parser that interprets your side file and creates objects that can be shown in the view …etc. EclipseCon 2010: Beth Tibbitts Make Me an Eclipse View … the PTP ETFw Feedback view 6 Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
  • 7. Sample XML file <?xml version="1.0"?> <SampleXMLRoot> Root XML node identifies type of file <MyItem name="main is here" parent="mysample" file="sample.c" function="main" lineNo="14" isFunction="true" id="0"/> <MyItem name="loop is here" parent="mysample" file="sample.c" function="main" lineNo="16" isFunction="true" id="1"/> <MyItem name="this is return" parent="mysample" file="sample.c" function="turkey" lineNo="19" isFunction="true" id="2"/> <MyItem name="open brace" parent="braces" file="sample.c" function="turkey" lineNo="14" isFunction="true" id="3"/> <MyItem name="close brace" parent="braces" file="sample.c" function="turkey" lineNo="18" isFunction="true" id="4"/> </SampleXMLRoot> Parent node can be used to group items in Feedback view Tree EclipseCon 2010: Beth Tibbitts Make Me an Eclipse View … the PTP ETFw Feedback view 7 Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
  • 8. ETFw Feedback view with compiler reports •  Compiler attempts at inlining etc. •  Action can be attached. Refactoring? EclipseCon 2010: Beth Tibbitts Make Me an Eclipse View … the PTP ETFw Feedback view 8 Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
  • 9. ETFw Feedback view with Bottleneck reports EclipseCon 2010: Beth Tibbitts Make Me an Eclipse View … the PTP ETFw Feedback view 9 Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
  • 10. Summary •  Feedback view provides simple/easy way to view results of external tools •  Good reviews from users •  Can attach other actions… to leverage data from the tools •  PTP 3.0.x contains framework/abstract code for Feedback view •  PTP 4.0 in Helios too •  No concrete views; Sample project in CVS •  Simple Implementation now •  Some limitations now •  Open to suggestions on extensions / other uses EclipseCon 2010: Beth Tibbitts Make Me an Eclipse View … the PTP ETFw Feedback view 10 Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
  • 11. References   Parallel Tools Platform: http://eclipse.org/ptp   ETFw wiki page: http://wiki.eclipse.org/PTP/ETFw/PTP_External_Tools_Framework   ETFw Feedback view specifically: http://wiki.eclipse.org/PTP/ETFw/PTP_External_Tools_Framework_Feedback_View EclipseCon 2010: Beth Tibbitts Make Me an Eclipse View … the PTP ETFw Feedback view 11 Copyright © IBM Corp. 2010. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.