Summary: | [api][breaking] RSE dstore API leaks non-API types | ||
---|---|---|---|
Product: | [Tools] Target Management | Reporter: | Martin Oberhuber <mober.at+eclipse> |
Component: | RSE | Assignee: | David McKnight <dmcknigh> |
Status: | RESOLVED FIXED | QA Contact: | Martin Oberhuber <mober.at+eclipse> |
Severity: | enhancement | ||
Priority: | P1 | CC: | ddykstal.eclipse, dmcknigh, xuanchen |
Version: | 3.0 | Keywords: | api |
Target Milestone: | 3.0 M6 | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: |
Description
Martin Oberhuber
2008-04-03 05:35:47 EDT
For the rse.services.dstore one, I notice that the complaint is that we're overriding a deprecated method from IFileService. Should we be getting all deprecated methods now? No, the deprecated thing is not a problem, you can keep it in. You're looking at the wrong complaint. The right one is: UniversalFileSystemMiner.java line 109 Leaks non-API type org.eclipse.rse.internal.dstore.universal.miners.filesystem.FileClassifier via return type Please ensure that you do Problems View > LocalMenu > Configure Contents, and enable the "API Tools" Problems. What I did was even create a new problems view config that ONLY shows API Tools problems. I've changed a few methods to use the proper interface rather than the implementation: DomainNotifier -> IDomainNotifier ExternalLoader -> IExternalLoader I've made the following API: CommandGenerator Receiver I've created IDataStoreTrustManager to be used as the interface for DataStoreTrustManager. For the FileClassifier stuff in UniversalFileSystemMiner, we don't need to expose it since we don't use the C_QUERY_FILE_CLASSIFICATION and C_QUERY_FILE_CLASSIFICATIONS operations anymore. I've also removed those constants. So, what if an IBM RSE 7 client would want to use C_QUERY_FILE_CLASSIFICATION on an openRSE server? (In reply to comment #4) > So, what if an IBM RSE 7 client would want to use C_QUERY_FILE_CLASSIFICATION > on an openRSE server? Well, first thing is, the IBM RSE 7 client never used that command. Second, if it were used, the client would be responsible to make sure the command descriptor exists before trying to send the command. |