source: mauRepo/CedaMolesModel/trunk/ceda_moles_model/ea_model/iso_19123_2005_coverages/coverages/quadrilateral_grid/cv_gridpoint.py @ 8457

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/mauRepo/CedaMolesModel/trunk/ceda_moles_model/ea_model/iso_19123_2005_coverages/coverages/quadrilateral_grid/cv_gridpoint.py@8457
Revision 8457, 4.4 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_19123_2005_coverages.coverages.coverage_core.cv_domainobject import  CV_DomainObject
22from ascore.utils import has_value, collectionProofHash
23
24'''
25Created on 10-Jul-2012 14:15:14
26
27@author: mnagni
28'''
29
30class CV_GridPoint(CV_DomainObject):
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._cv_domainobject = CV_DomainObject()       
43
44                self.collection = None
45                self.cell = []
46                self.gridCoord = None
47                self._framework_cv_gridvaluesmatrix = None
48                self._framework_cv_referenceablegrid = None
49                self._framework_cv_rectifiedgrid = None
50                self._framework = None
51                self.footprint = []
52                self._groundPoint_eg_pointestimate = []
53                self._groundPoint_gm_compositepoint = []
54                self._groundPoint = []
55                super(CV_GridPoint, self).__init__()
56        @property
57        def collection(self):   
58                return self._cv_domainobject.collection
59
60        @collection.setter
61        def collection(self, value):   
62                        self._cv_domainobject.collection = value
63        @property
64        def spatialElement(self):       
65                return self._cv_domainobject.spatialElement
66
67        @spatialElement.setter
68        def spatialElement(self, value):       
69                        self._cv_domainobject.spatialElement = value
70        @property
71        def temporalElement(self):     
72                return self._cv_domainobject.temporalElement
73
74        @temporalElement.setter
75        def temporalElement(self, value):       
76                        self._cv_domainobject.temporalElement = value
77        @property
78        def framework(self):   
79                if(has_value(self._framework_cv_gridvaluesmatrix)):
80                        return self._framework_cv_gridvaluesmatrix
81                if(has_value(self._framework_cv_referenceablegrid)):
82                        return self._framework_cv_referenceablegrid
83                if(has_value(self._framework_cv_rectifiedgrid)):
84                        return self._framework_cv_rectifiedgrid
85                return  None
86
87        @framework.setter
88        def framework(self, value):     
89                valueClass = "%s.%s" % (type(value).__module__,type(value).__name__)
90                if valueClass == "ea_model.iso_19123_2005_coverages.coverages.quadrilateral_grid.cv_gridvaluesmatrix.CV_GridValuesMatrix":
91                        self._framework_cv_gridvaluesmatrix = value
92                        self._framework_cv_referenceablegrid = None
93                        self._framework_cv_rectifiedgrid = None
94                if valueClass == "ea_model.iso_19123_2005_coverages.coverages.quadrilateral_grid.cv_referenceablegrid.CV_ReferenceableGrid":
95                        self._framework_cv_referenceablegrid = value
96                        self._framework_cv_gridvaluesmatrix = None
97                        self._framework_cv_rectifiedgrid = None
98                if valueClass == "ea_model.iso_19123_2005_coverages.coverages.quadrilateral_grid.cv_rectifiedgrid.CV_RectifiedGrid":
99                        self._framework_cv_rectifiedgrid = value
100                        self._framework_cv_gridvaluesmatrix = None
101                        self._framework_cv_referenceablegrid = None
102        @property
103        def groundPoint(self): 
104                try:
105                        ret = []
106                        ret.extend(self._groundPoint_eg_pointestimate)
107                        ret.extend(self._groundPoint_gm_compositepoint)
108                        if not hasattr(self, '_groundPoint'):
109                                self._groundPoint = []
110                        if self._groundPoint is not None:
111                                ret.extend(self._groundPoint)
112                        del self._groundPoint[:]
113                        self._groundPoint.extend(set(ret))
114                except Exception as e:
115                        pass
116                return self._groundPoint
117
118
119        def synchronize(self):
120                int_groundPoint = self.groundPoint     
121                del self._groundPoint_eg_pointestimate[:]
122                del self._groundPoint_gm_compositepoint[:]
123                for item in int_groundPoint:   
124                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
125                        if valueClass == "ea_model.iso_19133_tracking_and_navigation.tracking.point_estimates.eg_pointestimate.EG_PointEstimate":
126                                self._groundPoint_eg_pointestimate.append(item)
127                                continue
128                        if valueClass == "ea_model.iso_19107_2003_spatial_schema.geometry.geometric_complex.gm_compositepoint.GM_CompositePoint":
129                                self._groundPoint_gm_compositepoint.append(item)
130                                continue
131                pass
132
133        def __key(self):
134                return (self.collection, self.cell, self.gridCoord, self.spatialElement, self.temporalElement, self.framework, self.footprint, self.groundPoint)
135
136        def __eq__(self, y):
137                if type(self) != type(y):
138                        return False
139                '''
140                Cannot compare classes which do not define a "__key" attribute
141                '''
142                if hasattr(self, '_%s__key' % (type(self).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)):
143                        return self.__key() == y.__key()
144                return id(self) == id(y)
145
146        def __hash__(self):
147                return collectionProofHash(self.__key())
Note: See TracBrowser for help on using the repository browser.