Hi, Chris,
Usually MedRecWebServicesPackageImpl.eINSTANCE.eClass() should not be called
in MedRecWebServicesPackageImpl.init() method. It seems to be a
code-generation issue. Frank, Fuwei or Yang, any idea?
Thanks,
Raymond
----- Original Message -----
From: "Chris Wall" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, August 30, 2006 2:12 PM
Subject: tuscany-sdo-plugin produces NPE
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
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]