| Summary: | Need external APIs for Caspian for execution internals | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Kevin Mooney <kmooney> | ||||||
| Component: | TPTP | Assignee: | Samson Wai <samwai> | ||||||
| Status: | CLOSED FIXED | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P1 | CC: | jkubasta, jptoomey, kdsiefke, nevicosi, paulslau | ||||||
| Version: | unspecified | Keywords: | plan | ||||||
| Target Milestone: | --- | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows XP | ||||||||
| Whiteboard: | closed460 | ||||||||
| Attachments: |
|
||||||||
|
Description
Kevin Mooney
Assigning these to 4.3 as the appropriate release to deal with this API work. Deferring to 4.4, which is the next release the consuming product that needs these APIs will adopt. Reassigning to platform execution framework component for this work to be investigated for 4.4. I forgot to add the note that a P2 priority should be considered for 4.4 since requiring consumers to perpetually incur the risk of consuming internal TPTP api without reasonable alternatives isn't a good situation. changing to P1 Joanna, the API's in context pertain to the old RAC Execution framework API's. I have no idea of that code base. Pls assign it to a member of your team. Joanna, I should be able to contain this in 4.4 i2. Feel free to assign it to me. Thanks, --Joe Sizing of 4PW is estimated as this is considered as new API. This is not new API. It's existing, internal API that has existed for many releases (most since Hyades 1.0), and is required by our consuming products. If our consumers follow the same rules we follow ourselves, then they should discontinue using TPTP features that require the use of internal API. For the execution area, that is nearly all of TPTP. This request is not for new design or new API. It is to publically expose existing, hardened and tested API that has been unchanged at an API level for years. I'd like to have a meeting to discuss the apparent reluctance on the part of TPTP to treat our own consumers the same way that we demand to be treated ourselves. Joanna, can we please queue this up for next week's platform call? Hi Joe. I think we have to keep those "internal" APIs around for backward compatibility purpose. What we can do is to deprecate and duplicate all the existing "internal" interfaces and classes and copy them to a "public" package. We "may" be able to delegate all the method implementations to the new "public" classes but I am not sure how to handle those products who are still implementing the old "internal" interfaces. This may or may not break their code. Hi Samson. I completely agree. I think the right way to expose these APIs is to mirror them in a public package. We should then delegate the implementation of the internal classes back to the new public ones (so we don't duplicate the code) and mark the internal classes as deprecated but not remove them until TPTP 4.5. Adjusted sizing. Created attachment 60396 [details]
Patch #1
Created attachment 60397 [details]
Patch #1 jar file
I have ended up duplicating the classes instead of delegating them. The reason is that there are some internal interface methods which expect internal parameter classes as well as return internal class return codes. One common example is the "addAgentListener()" method of the "Agent" interface. This expects the internal "AgentListener" interface. If our new public "AgentImpl" class were to implement this interface we have to grab in also the internal "AgentListener" interface - which is no good. Since we cannot break existing implementation of these interfaces we have no choice but duplicating these classes. Hi Kevin, Joe. Do you guys have an even better way of fixing this? Otherwise, can you guys try out this Patch #1 jar to see if there are still missing classes/interfaces required? The classes are now located under the same package name without the "internal" part. Fixes checked into CVS 2007/04/09 10:03 EDT. - new directory "src-local-public" with enclosing classes and interfaces - updated file ".classpath" - updated file "build.properties" *** Bug 121649 has been marked as a duplicate of this bug. *** As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this enhancement/defect has been resolved and unverified for more than 1 year and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open. |