source: mauRepo/CedaMolesModel/trunk/ceda_moles_model/ea_model/iso_19135_2005_procedures_for_registration/re_register.py @ 8457

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/mauRepo/CedaMolesModel/trunk/ceda_moles_model/ea_model/iso_19135_2005_procedures_for_registration/re_register.py@8457
Revision 8457, 5.9 KB checked in by mnagni, 7 years ago (diff)

Corrected an error in the generation of the classes "synchronize" method.

  • Property svn:mime-type set to text/plain
Line 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21from ascore.utils import has_value, collectionProofHash
22
23'''
24Created on 10-Jul-2012 14:15:10
25
26@author: mnagni
27'''
28
29class RE_Register(object):
30        '''
31                Represents a data entity defined in a UML diagram and supposed to
32                be persisted in a relational database.
33 
34                This class has been genererated automatically using the Apache Velocity project.
35        '''
36        '''
37                Please note that any access to the inner attributes should be done using
38                the given get/set methods and NOT accessing them directly.
39        '''
40        def __init__(self):
41
42                self.owner = None
43                self.version = None
44                self.manager = None
45                self._containedItemClass_cl_classificationlegendclass = []
46                self._containedItemClass_cl_classificationlegendclass = []
47                self._containedItemClass_cl_classificationruleclass = []
48                self._containedItemClass_cl_classificationruleclass = []
49                self._containedItemClass = []
50                self.dateOfLastChange = None
51                self.contentSummary = None
52                self.citation = []
53                self.name = None
54                self.submitter = []
55                self.uniformResourceIdentifier = []
56                self.alternativeLanguages = []
57                self.operatingLanguage = None
58                self._containedItem_cl_classificationruleitem = []
59                self._containedItem_re_subregisterdescription = []
60                self._containedItem_cl_classificationruleitem = []
61                self._containedItem_cl_classificationlegenditem = []
62                self._containedItem_cl_classificationlegenditem = []
63                self._containedItem = []
64                super(RE_Register, self).__init__()
65        @property
66        def containedItemClass(self):   
67                try:
68                        ret = []
69                        ret.extend(self._containedItemClass_cl_classificationlegendclass)
70                        ret.extend(self._containedItemClass_cl_classificationlegendclass)
71                        ret.extend(self._containedItemClass_cl_classificationruleclass)
72                        ret.extend(self._containedItemClass_cl_classificationruleclass)
73                        if not hasattr(self, '_containedItemClass'):
74                                self._containedItemClass = []
75                        if self._containedItemClass is not None:
76                                ret.extend(self._containedItemClass)
77                        del self._containedItemClass[:]
78                        self._containedItemClass.extend(set(ret))
79                except Exception as e:
80                        pass
81                return self._containedItemClass
82
83        @property
84        def containedItem(self):       
85                try:
86                        ret = []
87                        ret.extend(self._containedItem_cl_classificationruleitem)
88                        ret.extend(self._containedItem_re_subregisterdescription)
89                        ret.extend(self._containedItem_cl_classificationruleitem)
90                        ret.extend(self._containedItem_cl_classificationlegenditem)
91                        ret.extend(self._containedItem_cl_classificationlegenditem)
92                        if not hasattr(self, '_containedItem'):
93                                self._containedItem = []
94                        if self._containedItem is not None:
95                                ret.extend(self._containedItem)
96                        del self._containedItem[:]
97                        self._containedItem.extend(set(ret))
98                except Exception as e:
99                        pass
100                return self._containedItem
101
102
103        def synchronize(self):
104                int_containedItemClass = self.containedItemClass       
105                del self._containedItemClass_cl_classificationlegendclass[:]
106                del self._containedItemClass_cl_classificationlegendclass[:]
107                del self._containedItemClass_cl_classificationruleclass[:]
108                del self._containedItemClass_cl_classificationruleclass[:]
109                int_containedItem = self.containedItem 
110                del self._containedItem_cl_classificationruleitem[:]
111                del self._containedItem_re_subregisterdescription[:]
112                del self._containedItem_cl_classificationruleitem[:]
113                del self._containedItem_cl_classificationlegenditem[:]
114                del self._containedItem_cl_classificationlegenditem[:]
115                for item in int_containedItemClass:     
116                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
117                        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegendclass.CL_ClassificationLegendClass":
118                                self._containedItemClass_cl_classificationlegendclass.append(item)
119                                continue
120                        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegendclass.CL_ClassificationLegendClass":
121                                self._containedItemClass_cl_classificationlegendclass.append(item)
122                                continue
123                        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleclass.CL_ClassificationRuleClass":
124                                self._containedItemClass_cl_classificationruleclass.append(item)
125                                continue
126                        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleclass.CL_ClassificationRuleClass":
127                                self._containedItemClass_cl_classificationruleclass.append(item)
128                                continue
129                for item in int_containedItem: 
130                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
131                        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleitem.CL_ClassificationRuleItem":
132                                self._containedItem_cl_classificationruleitem.append(item)
133                                continue
134                        if valueClass == "ea_model.iso_19135_2005_procedures_for_registration.re_subregisterdescription.RE_SubregisterDescription":
135                                self._containedItem_re_subregisterdescription.append(item)
136                                continue
137                        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleitem.CL_ClassificationRuleItem":
138                                self._containedItem_cl_classificationruleitem.append(item)
139                                continue
140                        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegenditem.CL_ClassificationLegendItem":
141                                self._containedItem_cl_classificationlegenditem.append(item)
142                                continue
143                        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegenditem.CL_ClassificationLegendItem":
144                                self._containedItem_cl_classificationlegenditem.append(item)
145                                continue
146                pass
147
148        def __key(self):
149                return (self.owner, self.version, self.manager, self.containedItemClass, self.dateOfLastChange, self.contentSummary, self.citation, self.name, self.submitter, self.uniformResourceIdentifier, self.alternativeLanguages, self.operatingLanguage, self.containedItem)
150
151        def __eq__(self, y):
152                if type(self) != type(y):
153                        return False
154                '''
155                Cannot compare classes which do not define a "__key" attribute
156                '''
157                if hasattr(self, '_%s__key' % (type(self).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)):
158                        return self.__key() == y.__key()
159                return id(self) == id(y)
160
161        def __hash__(self):
162                return collectionProofHash(self.__key())
Note: See TracBrowser for help on using the repository browser.