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

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

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.