Update of /cvsroot/pymerase/pymerase/pymerase
In directory sc8-pr-cvs1:/tmp/cvs-serv6486
Modified Files:
ClassMembers.py
Log Message:
Added code to hopefully start tracking location of syntax errors in
the XML files. (appendLocation/getLocation setDefined/getDefined)
Changed computation of foreign key to be based off of the current
class name instead of the base class name which is used to construct
the primary key name.
Index: ClassMembers.py
===================================================================
RCS file: /cvsroot/pymerase/pymerase/pymerase/ClassMembers.py,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** ClassMembers.py 1 Apr 2003 23:26:00 -0000 1.22
--- ClassMembers.py 25 Apr 2003 23:51:28 -0000 1.23
***************
*** 121,124 ****
--- 121,126 ----
self.uuid = None
# utility
+ self.location = []
+ self.defined = 0
# ER related
***************
*** 159,163 ****
--- 161,185 ----
return self.uuid
+ def appendLocation(self, location):
+ """Append a location describing where we saw this Element
+ """
+ self.location.append(location)
+
+ def getLocations(self):
+ """Return list of locations describing where we saw this element
+ """
+ return self.location
+
+ def setDefined(self, flag):
+ """Indicate if this model element has been fully defined
+ As opposed to just having been created by a dangling association reference.
+ """
+ self.defined = flag
+
+ def getDefined(self):
+ """
+ """
+ return self.defined
def __str__(self):
return str(self.__dict__)
***************
*** 743,750 ****
! def setForeignKeyName(self, keyName):
"""Set the foreign key name that should be used for this class.
"""
! self.foreignKeyName = keyName
def getForeignKeyName(self, translatorName):
--- 765,782 ----
! def setForeignKeyName(self, keyName=None):
"""Set the foreign key name that should be used for this class.
"""
! if keyName is None:
! if self.foreignKeyName is None:
! # Construct a primary key object
! self.foreignKeyName = self.name + "_fk"
! self.foreignKeyNameConstructed = 1
! else:
! self.foreignKeyName = keyName
!
! warn("Setting foreign_key_name: %s" % ( self.foreignKeyName ),
! DebugWarning)
! return self.foreignKeyName
def getForeignKeyName(self, translatorName):
***************
*** 756,761 ****
return mangler.mangle(self.foreignKeyName)
elif not self.isRootClass():
! rootClass = self.getRootClass()
! return rootClass.getForeignKeyName(translatorName)
else:
primaryKeyName = self.getPrimaryKeyName(translatorName)
--- 788,792 ----
return mangler.mangle(self.foreignKeyName)
elif not self.isRootClass():
! return mangler.mangle(self.setForeignKeyName())
else:
primaryKeyName = self.getPrimaryKeyName(translatorName)
|