Bug 551562

Summary: IProvisioningAgent#getService(Class) breaks API
Product: [Eclipse Project] Equinox Reporter: Karsten Thoms <karsten.thoms>
Component: p2Assignee: Karsten Thoms <karsten.thoms>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: Lars.Vogel
Version: 4.11Keywords: api, regression
Target Milestone: 4.14 M1   
Hardware: All   
OS: All   
See Also: https://git.eclipse.org/r/150247
https://git.eclipse.org/c/equinox/rt.equinox.p2.git/commit/?id=97a4ce3c1961c36f59f1013296d5ad18d3be728c
Whiteboard:
Bug Depends on: 542420    
Bug Blocks:    

Description Karsten Thoms CLA 2019-09-27 08:47:14 EDT
The addition of method IProvisioningAgent#getService(Class<T>) breaks the API for other implementors of IProvisioningAgent. As example org.eclipse.cbi.p2repo.p2.util.BackgroundProvisioningAgent from the CBI Aggregator project breaks because of this:
  The type BackgroundProvisioningAgent must implement the inherited abstract method IProvisioningAgent.getService(Class<T>)

To solve this the method getService(Class) should become a default method which returns getService(String) with the given class name.
Comment 1 Eclipse Genie CLA 2019-09-27 08:55:07 EDT
New Gerrit change created: https://git.eclipse.org/r/150247
Comment 2 Lars Vogel CLA 2019-10-02 06:15:06 EDT
Thanks, Karsten.