Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ecf-dev] ECF refactoring report

Hi Folks,

A quick progress report on the ECF refactoring effort

1) The 'core plugin' (id: org.eclipse.ecf: 130K) is now been split into three plugins:

a) org.eclipse.ecf.identity  (31K)
b) org.eclipse.ecf (49K)
c) org.eclipse.ecf.sharedobject (66K)

Now, b depends upon a, and c depends upon b. All of the other API plugins (presence [23K], datashare, fileshare, discovery [10K]) now depend on *b* (and a) but *not* c.

2) Many classes and packages have changed and moved to be more clearly and consistently structured.
3) Extension points have moved:

a) org.eclipse.ecf.identity.namespace
b) org.eclipse.ecf.containerFactory, and org.eclipse.ecf.startup
c) org.eclipse.ecf.sharedobject.sharedObjectFactory

The connectionFactory extension point has been removed.

4) The datashare API has been simplified/made smaller and the dependency in the API on the sharedobject api has been removed.

5) All example and test code has been updated with above refactorings.

6) Internal packages have been defined with consistent naming to hold the Activator classes and other internal packages/classes. There is more to do here, as I've focused so far only on identity and core plugins.

7) Created a more general Trace class (in org.eclipse.ecf.core.util in identity plugin) and moved over tracing in identity and core to new Trace. More to do here for non core plugins.

8) Fixed and added javadocs for identity and core plugins. See http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/

Remaining Todo (for refactoring/review)

1) Complete #6 for all plugins, both API plugins (first), and then providers (second)
2) Complete #7 for all plugins.
3) Complete #8 for all plugins.
4) Create a new filetransfer plugin (org.eclipse.ecf.filetransfer) and move the filetransfer code (currently in org.eclipse.ecf.fileshare plugin). Remove fileshare plugin.
5) Create/add more test code and refactor existing test cases
6) Restructure build to accomodate new plugins and new dependency structure. 7) Consolidate some ECF features to present an easier download/install procedure for ECF

I'm hoping that I'll be able to get 1-4 done in the next few days






Back to the top