After investigating the long term maintenance issues with the EMF generation tools and our core J2EE models, I realized some changes needed to happen.
The EMF Generation tools do support a seperate java package for "internal" implementation classes, but follows a strict naming model.
For instance, currently we follow this convention: "org.eclipse.jst.j2ee.internal.application.impl"
EMF Gen tools follow this model: <base package name><emf package name><package suffix>
This would allow the following scheme for internal packages: "org.eclipse.jst.j2ee.application.internal.impl"
I hate to make additional renames, but because this is only affecting "internal" packages, the impact should be not as great. - (And should be handled by "organize imports")
Any changes would mean updating our current migration scripts of course..
In addition, I had moved the EMF Package classes into internal packages, to minimize the amount of EMF related code becoming api.
I would like to move these classes back to the api packages for the following reasons:
1) The EMF Gen Tool does not support this structure, and would require additional manual steps during a model regen.
2) The J2EE Model is using EMF as its current modeling technology, and supporting Package classes are required for 1st class support of these models. (Notification, metamodel access, etc)
3) The EMF Package class api's do not pollute the J2EE interface class api in any way, and should not prohibit a technology change in the future.
Here are the changes going into today's Integration build:
Package Changes:
org.eclipse.jst.j2ee.internal.application.impl -> org.eclipse.jst.j2ee.application.internal.impl
org.eclipse.jst.j2ee.internal.application.util -> org.eclipse.jst.j2ee.application.internal.util
org.eclipse.jst.j2ee.internal.client.impl -> org.eclipse.jst.j2ee.client.internal.impl
org.eclipse.jst.j2ee.internal.client.util -> org.eclipse.jst.j2ee.client.internal.util
org.eclipse.jst.j2ee.internal.common.impl -> org.eclipse.jst.j2ee.common.internal.impl
org.eclipse.jst.j2ee.internal.common.util -> org.eclipse.jst.j2ee.common.internal.util
org.eclipse.jst.j2ee.internal.ejb.impl -> org.eclipse.jst.j2ee.ejb.internal.impl
org.eclipse.jst.j2ee.internal.ejb.util -> org.eclipse.jst.j2ee.ejb.internal.util
org.eclipse.jst.j2ee.internal.jca.impl -> org.eclipse.jst.j2ee.jca.internal.impl
org.eclipse.jst.j2ee.internal.jca.util -> org.eclipse.jst.j2ee.jca.internal.util
org.eclipse.jst.j2ee.internal.jsp.impl -> org.eclipse.jst.j2ee.jsp.internal.impl
org.eclipse.jst.j2ee.internal.jsp.util -> org.eclipse.jst.j2ee.jsp.internal.util
org.eclipse.jst.j2ee.internal.jca.impl -> org.eclipse.jst.j2ee.jca.internal.impl
org.eclipse.jst.j2ee.internal.jca.util -> org.eclipse.jst.j2ee.jca.internal.util
org.eclipse.jst.j2ee.internal.taglib.impl -> org.eclipse.jst.j2ee.taglib.internal.impl
org.eclipse.jst.j2ee.internal.taglib.util -> org.eclipse.jst.j2ee.taglib.internal.util
org.eclipse.jst.j2ee.internal.webapplication.impl -> org.eclipse.jst.j2ee.webapplication.internal.impl
org.eclipse.jst.j2ee.internal.webapplication.util -> org.eclipse.jst.j2ee.webapplication.internal.util
org.eclipse.jst.j2ee.webservice.internal.wsclient.impl -> org.eclipse.jst.j2ee.webservice.wsclient.internal.impl
org.eclipse.jst.j2ee.webservice.internal.wsclient.util -> org.eclipse.jst.j2ee.webservice.wsclient.internal.util
org.eclipse.jst.j2ee.webservice.internal.wscommon.impl -> org.eclipse.jst.j2ee.webservice.wscommon.internal.impl
org.eclipse.jst.j2ee.webservice.internal.wscommon.util -> org.eclipse.jst.j2ee.webservice.wscommon.internal.util
org.eclipse.jst.j2ee.webservice.internal.wsdd.impl -> org.eclipse.jst.j2ee.webservice.wsdd.internal.impl
org.eclipse.jst.j2ee.webservice.internal.wsdd.util -> org.eclipse.jst.j2ee.webservice.wsdd.internal.util
The EMF "Package" interface class for each model moved to the api package.
Thanks - Chuck
Rational J2EE Tooling Team Lead
IBM Software Lab - Research Triangle Park, NC
Email: [EMAIL PROTECTED]
Phone: 919-254-1848 (T/L: 444)
_______________________________________________ wtp-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/wtp-dev
