Bug 183165 - [api] Interfaces should not be extended just to bring constants into namespace
Summary: [api] Interfaces should not be extended just to bring constants into namespace
Status: RESOLVED FIXED
Alias: None
Product: Target Management
Classification: Tools
Component: RSE (show other bugs)
Version: 1.0.1   Edit
Hardware: All All
: P2 enhancement (vote)
Target Milestone: 2.0   Edit
Assignee: Martin Oberhuber CLA
QA Contact: Martin Oberhuber CLA
URL:
Whiteboard:
Keywords: api
Depends on:
Blocks: 180562 230298 261486
  Show dependency tree
 
Reported: 2007-04-19 07:47 EDT by Martin Oberhuber CLA
Modified: 2009-01-19 06:19 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Oberhuber CLA 2007-04-19 07:47:12 EDT
+++ This bug was initially created as a clone of Bug #180562 +++

There are still some interfaces which just define constants, but are extended by other interfaces just to bring these constants into the namespace. According to bug 180562, this is deprecated usage of interfaces and should be avoided. The following interfaces have been identified to be disconnected:

ISystemResourceChangeEvents
ISystemRemoteChangeEvents
ISystemModelChangeEvents
IServiceConstants
ISystemEditPaneStates

At the same time, the constant
  ISystemResourceChangeEvents.PROPERTYSHEET_UPDATE_EVENT
should be removed - it is not currently used anywhere, can be implemented by
  new SystemResourceChangeEvent("dummy",EVENT_PROPERTYSHEET_UPDATE,null)
and should better use a concrete event source in concrete implementations.
Comment 1 Martin Oberhuber CLA 2007-04-23 09:53:42 EDT
Change complete, checkin comments:
[168975] Move RSE Events API to Core
[183165] Do not implement constant interfaces

Migration docs for users: If you migrate code to RSE 2.0, 
 - and error markers indicate that UPPERCASE constants can not be found,
 - and your class is extending an RSE base class,
it is likely that you need to prefix the UPPERCASE constant with one of the
constant holding interfaces mentioned above. Best use a text search to find
where the constant is declared (search workspace for UPPERCASE constant), and
prefix the usage with the corresponding interface found.

See also bug 180562.
Comment 2 Martin Oberhuber CLA 2008-08-13 13:18:28 EDT
[target cleanup] 2.0 M7 was the original target milestone for this bug