source: mauRepo/CedaMolesModel/trunk/ceda_moles_model/ea_model/iso_19130_sensor_data/parameter_model/sd_groupparameterset.py @ 8457

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/mauRepo/CedaMolesModel/trunk/ceda_moles_model/ea_model/iso_19130_sensor_data/parameter_model/sd_groupparameterset.py@8457
Revision 8457, 4.0 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 ea_model.iso_19130_sensor_data.parameter_model.sd_parameterset import  SD_ParameterSet
22from ascore.utils import has_value, collectionProofHash
23
24'''
25Created on 10-Jul-2012 14:15:06
26
27@author: mnagni
28'''
29
30class SD_GroupParameterSet(SD_ParameterSet):
31        '''
32                Represents a data entity defined in a UML diagram and supposed to
33                be persisted in a relational database.
34 
35                This class has been genererated automatically using the Apache Velocity project.
36        '''
37        '''
38                Please note that any access to the inner attributes should be done using
39                the given get/set methods and NOT accessing them directly.
40        '''
41        def __init__(self):
42                self._sd_parameterset = SD_ParameterSet()       
43
44                self.identifier = None
45                self._subSet_sd_sampleset = []
46                self._subSet_sd_groupparameterset = []
47                self._subSet = []
48                self.scanAxis = None
49                self.fieldOfView = None
50                self.storageSize = None
51                self.time = None
52                self.position = None
53                self.numberOfSubelements = None
54                self.scanDirection = None
55                self._interTime_tm_periodduration = None
56                self._interTime_tm_intervallength = None
57                self._interTime = None
58                super(SD_GroupParameterSet, self).__init__()
59        @property
60        def subSet(self):       
61                try:
62                        ret = []
63                        ret.extend(self._subSet_sd_sampleset)
64                        ret.extend(self._subSet_sd_groupparameterset)
65                        if not hasattr(self, '_subSet'):
66                                self._subSet = []
67                        if self._subSet is not None:
68                                ret.extend(self._subSet)
69                        del self._subSet[:]
70                        self._subSet.extend(set(ret))
71                except Exception as e:
72                        pass
73                return self._subSet
74
75        @property
76        def fieldOfView(self): 
77                return self._sd_parameterset.fieldOfView
78
79        @fieldOfView.setter
80        def fieldOfView(self, value):   
81                        self._sd_parameterset.fieldOfView = value
82        @property
83        def storageSize(self): 
84                return self._sd_parameterset.storageSize
85
86        @storageSize.setter
87        def storageSize(self, value):   
88                        self._sd_parameterset.storageSize = value
89        @property
90        def time(self):
91                return self._sd_parameterset.time
92
93        @time.setter
94        def time(self, value): 
95                        self._sd_parameterset.time = value
96        @property
97        def position(self):     
98                return self._sd_parameterset.position
99
100        @position.setter
101        def position(self, value):     
102                        self._sd_parameterset.position = value
103        @property
104        def interTime(self):   
105                if(has_value(self._interTime_tm_periodduration)):
106                        return self._interTime_tm_periodduration
107                if(has_value(self._interTime_tm_intervallength)):
108                        return self._interTime_tm_intervallength
109                return  None
110
111        @interTime.setter
112        def interTime(self, value):     
113                valueClass = "%s.%s" % (type(value).__module__,type(value).__name__)
114                if valueClass == "ea_model.iso_19108_2006_temporal_schema.temporal_objects.tm_periodduration.TM_PeriodDuration":
115                        self._interTime_tm_periodduration = value
116                        self._interTime_tm_intervallength = None
117                if valueClass == "ea_model.iso_19108_2006_temporal_schema.temporal_objects.tm_intervallength.TM_IntervalLength":
118                        self._interTime_tm_intervallength = value
119                        self._interTime_tm_periodduration = None
120
121        def synchronize(self):
122                int_subSet = self.subSet       
123                del self._subSet_sd_sampleset[:]
124                del self._subSet_sd_groupparameterset[:]
125                for item in int_subSet:
126                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
127                        if valueClass == "ea_model.iso_19130_sensor_data.parameter_model.sd_sampleset.SD_SampleSet":
128                                self._subSet_sd_sampleset.append(item)
129                                continue
130                        if valueClass == "ea_model.iso_19130_sensor_data.parameter_model.sd_groupparameterset.SD_GroupParameterSet":
131                                self._subSet_sd_groupparameterset.append(item)
132                                continue
133                pass
134
135        def __key(self):
136                return (self.identifier, self.subSet, self.scanAxis, self.fieldOfView, self.storageSize, self.time, self.position, self.numberOfSubelements, self.scanDirection, self.interTime)
137
138        def __eq__(self, y):
139                if type(self) != type(y):
140                        return False
141                '''
142                Cannot compare classes which do not define a "__key" attribute
143                '''
144                if hasattr(self, '_%s__key' % (type(self).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)):
145                        return self.__key() == y.__key()
146                return id(self) == id(y)
147
148        def __hash__(self):
149                return collectionProofHash(self.__key())
Note: See TracBrowser for help on using the repository browser.