source: mauRepo/CedaMolesModel/trunk/ceda_moles_model/ea_model/iso_19135_2005_procedures_for_registration/re_reference.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_reference.py@8457
Revision 8457, 6.3 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:12
25
26@author: mnagni
27'''
28
29class RE_Reference(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.similarity = None
43                self._item_cl_classificationruleitem = []
44                self._item_re_subregisterdescription = []
45                self._item_cl_classificationruleitem = []
46                self._item_cl_classificationlegenditem = []
47                self._item_cl_classificationlegenditem = []
48                self._item = []
49                self._specifiedItem_cl_classificationruleitem = None
50                self._specifiedItem_re_subregisterdescription = None
51                self._specifiedItem_cl_classificationruleitem = None
52                self._specifiedItem_cl_classificationlegenditem = None
53                self._specifiedItem_cl_classificationlegenditem = None
54                self._specifiedItem = None
55                self.sourceCitation = None
56                self.referenceText = None
57                self.notes = None
58                self.itemIdentifierAtSource = None
59                super(RE_Reference, self).__init__()
60        @property
61        def item(self):
62                try:
63                        ret = []
64                        ret.extend(self._item_cl_classificationruleitem)
65                        ret.extend(self._item_re_subregisterdescription)
66                        ret.extend(self._item_cl_classificationruleitem)
67                        ret.extend(self._item_cl_classificationlegenditem)
68                        ret.extend(self._item_cl_classificationlegenditem)
69                        if not hasattr(self, '_item'):
70                                self._item = []
71                        if self._item is not None:
72                                ret.extend(self._item)
73                        del self._item[:]
74                        self._item.extend(set(ret))
75                except Exception as e:
76                        pass
77                return self._item
78
79        @property
80        def specifiedItem(self):       
81                if(has_value(self._specifiedItem_cl_classificationruleitem)):
82                        return self._specifiedItem_cl_classificationruleitem
83                if(has_value(self._specifiedItem_re_subregisterdescription)):
84                        return self._specifiedItem_re_subregisterdescription
85                if(has_value(self._specifiedItem_cl_classificationruleitem)):
86                        return self._specifiedItem_cl_classificationruleitem
87                if(has_value(self._specifiedItem_cl_classificationlegenditem)):
88                        return self._specifiedItem_cl_classificationlegenditem
89                if(has_value(self._specifiedItem_cl_classificationlegenditem)):
90                        return self._specifiedItem_cl_classificationlegenditem
91                return  None
92
93        @specifiedItem.setter
94        def specifiedItem(self, value):
95                valueClass = "%s.%s" % (type(value).__module__,type(value).__name__)
96                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleitem.CL_ClassificationRuleItem":
97                        self._specifiedItem_cl_classificationruleitem = value
98                        self._specifiedItem_re_subregisterdescription = None
99                        self._specifiedItem_cl_classificationruleitem = None
100                        self._specifiedItem_cl_classificationlegenditem = None
101                        self._specifiedItem_cl_classificationlegenditem = None
102                if valueClass == "ea_model.iso_19135_2005_procedures_for_registration.re_subregisterdescription.RE_SubregisterDescription":
103                        self._specifiedItem_re_subregisterdescription = value
104                        self._specifiedItem_cl_classificationruleitem = None
105                        self._specifiedItem_cl_classificationruleitem = None
106                        self._specifiedItem_cl_classificationlegenditem = None
107                        self._specifiedItem_cl_classificationlegenditem = None
108                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleitem.CL_ClassificationRuleItem":
109                        self._specifiedItem_cl_classificationruleitem = value
110                        self._specifiedItem_cl_classificationruleitem = None
111                        self._specifiedItem_re_subregisterdescription = None
112                        self._specifiedItem_cl_classificationlegenditem = None
113                        self._specifiedItem_cl_classificationlegenditem = None
114                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegenditem.CL_ClassificationLegendItem":
115                        self._specifiedItem_cl_classificationlegenditem = value
116                        self._specifiedItem_cl_classificationruleitem = None
117                        self._specifiedItem_re_subregisterdescription = None
118                        self._specifiedItem_cl_classificationruleitem = None
119                        self._specifiedItem_cl_classificationlegenditem = None
120                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegenditem.CL_ClassificationLegendItem":
121                        self._specifiedItem_cl_classificationlegenditem = value
122                        self._specifiedItem_cl_classificationruleitem = None
123                        self._specifiedItem_re_subregisterdescription = None
124                        self._specifiedItem_cl_classificationruleitem = None
125                        self._specifiedItem_cl_classificationlegenditem = None
126
127        def synchronize(self):
128                int_item = self.item   
129                del self._item_cl_classificationruleitem[:]
130                del self._item_re_subregisterdescription[:]
131                del self._item_cl_classificationruleitem[:]
132                del self._item_cl_classificationlegenditem[:]
133                del self._item_cl_classificationlegenditem[:]
134                for item in int_item:   
135                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
136                        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleitem.CL_ClassificationRuleItem":
137                                self._item_cl_classificationruleitem.append(item)
138                                continue
139                        if valueClass == "ea_model.iso_19135_2005_procedures_for_registration.re_subregisterdescription.RE_SubregisterDescription":
140                                self._item_re_subregisterdescription.append(item)
141                                continue
142                        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleitem.CL_ClassificationRuleItem":
143                                self._item_cl_classificationruleitem.append(item)
144                                continue
145                        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegenditem.CL_ClassificationLegendItem":
146                                self._item_cl_classificationlegenditem.append(item)
147                                continue
148                        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegenditem.CL_ClassificationLegendItem":
149                                self._item_cl_classificationlegenditem.append(item)
150                                continue
151                pass
152
153        def __key(self):
154                return (self.similarity, self.item, self.specifiedItem, self.sourceCitation, self.referenceText, self.notes, self.itemIdentifierAtSource)
155
156        def __eq__(self, y):
157                if type(self) != type(y):
158                        return False
159                '''
160                Cannot compare classes which do not define a "__key" attribute
161                '''
162                if hasattr(self, '_%s__key' % (type(self).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)):
163                        return self.__key() == y.__key()
164                return id(self) == id(y)
165
166        def __hash__(self):
167                return collectionProofHash(self.__key())
Note: See TracBrowser for help on using the repository browser.