Hi.  Within the EPackageImpl implementing class generated by
tuscany-sdo-plugin, the init() method calls a method on an instance of
itself before the instance is initialized.  For example:

<snippet>

 public static MedRecWebServicesPackageImpl init()
 {
   if (isInited) return
(MedRecWebServicesPackageImpl)EPackage.Registry.INSTANCE.getEPackage(
MedRecWebServicesPackageImpl.eNS_URI);

   // Obtain or create and register package
   MedRecWebServicesPackageImpl theMedRecWebServicesPackageImpl =
(MedRecWebServicesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI)
instanceof MedRecWebServicesPackageImpl ?
EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new
MedRecWebServicesPackageImpl());

   isInited = true;

   // Initialize simple dependencies
   MedRecWebServicesPackageImpl.eINSTANCE.eClass();  <---- P R O D U C E
S   N P E
   SDOPackageImpl.eINSTANCE.eClass();
   ModelPackageImpl.eINSTANCE.eClass();

</snippet>

The eClass() method needs to be called on theMedRecWebServicesPackageImpl,
called later in the process once eINSTANCE is initialized, or eINSTANCE
needs to not be declared final.

Thanks.

-Chris

Reply via email to