source: mauRepo/CedaMolesModel/trunk/ceda_moles_model/ea_model/iso_19111_referencing_by_coordinates/coordinate_systems/cs_coordinatesystem.py @ 8457

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/mauRepo/CedaMolesModel/trunk/ceda_moles_model/ea_model/iso_19111_referencing_by_coordinates/coordinate_systems/cs_coordinatesystem.py@8457
Revision 8457, 4.8 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_19111_referencing_by_coordinates.identified_objects.io_identifiedobject import  IO_IdentifiedObject
22from ascore.utils import has_value, collectionProofHash
23
24'''
25Created on 10-Jul-2012 14:15:09
26
27@author: mnagni
28'''
29
30class CS_CoordinateSystem(IO_IdentifiedObject):
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._io_identifiedobject = IO_IdentifiedObject()       
43
44                self.name = None
45                self.remarks = None
46                self.axis = []
47                self._referenceSystem_sc_geodeticcrs = []
48                self._referenceSystem_tm_temporalcrs = []
49                self._referenceSystem_sc_imagecrs = []
50                self._referenceSystem_temporalcrs = []
51                self._referenceSystem_sc_verticalcrs = []
52                self._referenceSystem_sc_engineeringcrs = []
53                self._referenceSystem_sc_generalderivedcrs = []
54                self._referenceSystem = []
55                super(CS_CoordinateSystem, self).__init__()
56        @property
57        def identifier(self):   
58                return self._io_identifiedobject.identifier
59
60        @identifier.setter
61        def identifier(self, value):   
62                        self._io_identifiedobject.identifier = value
63        @property
64        def name(self):
65                return self._io_identifiedobject.name
66
67        @name.setter
68        def name(self, value): 
69                        self._io_identifiedobject.name = value
70        @property
71        def remarks(self):     
72                return self._io_identifiedobject.remarks
73
74        @remarks.setter
75        def remarks(self, value):       
76                        self._io_identifiedobject.remarks = value
77        @property
78        def referenceSystem(self):     
79                try:
80                        ret = []
81                        ret.extend(self._referenceSystem_sc_geodeticcrs)
82                        ret.extend(self._referenceSystem_tm_temporalcrs)
83                        ret.extend(self._referenceSystem_sc_imagecrs)
84                        ret.extend(self._referenceSystem_temporalcrs)
85                        ret.extend(self._referenceSystem_sc_verticalcrs)
86                        ret.extend(self._referenceSystem_sc_engineeringcrs)
87                        ret.extend(self._referenceSystem_sc_generalderivedcrs)
88                        if not hasattr(self, '_referenceSystem'):
89                                self._referenceSystem = []
90                        if self._referenceSystem is not None:
91                                ret.extend(self._referenceSystem)
92                        del self._referenceSystem[:]
93                        self._referenceSystem.extend(set(ret))
94                except Exception as e:
95                        pass
96                return self._referenceSystem
97
98        @property
99        def alias(self):       
100                return self._io_identifiedobject.alias
101
102        @alias.setter
103        def alias(self, value):
104                        self._io_identifiedobject.alias = value
105
106        def synchronize(self):
107                int_referenceSystem = self.referenceSystem     
108                del self._referenceSystem_sc_geodeticcrs[:]
109                del self._referenceSystem_tm_temporalcrs[:]
110                del self._referenceSystem_sc_imagecrs[:]
111                del self._referenceSystem_temporalcrs[:]
112                del self._referenceSystem_sc_verticalcrs[:]
113                del self._referenceSystem_sc_engineeringcrs[:]
114                del self._referenceSystem_sc_generalderivedcrs[:]
115                for item in int_referenceSystem:       
116                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
117                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_reference_systems.sc_geodeticcrs.SC_GeodeticCRS":
118                                self._referenceSystem_sc_geodeticcrs.append(item)
119                                continue
120                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.temporal_reference_systems.tm_temporalcrs.TM_TemporalCRS":
121                                self._referenceSystem_tm_temporalcrs.append(item)
122                                continue
123                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_reference_systems.sc_imagecrs.SC_ImageCRS":
124                                self._referenceSystem_sc_imagecrs.append(item)
125                                continue
126                        if valueClass == "ea_model.iso_19136_gml.coordinatereferencesystems.temporalcrs.TemporalCRS":
127                                self._referenceSystem_temporalcrs.append(item)
128                                continue
129                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_reference_systems.sc_verticalcrs.SC_VerticalCRS":
130                                self._referenceSystem_sc_verticalcrs.append(item)
131                                continue
132                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_reference_systems.sc_engineeringcrs.SC_EngineeringCRS":
133                                self._referenceSystem_sc_engineeringcrs.append(item)
134                                continue
135                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_reference_systems.sc_generalderivedcrs.SC_GeneralDerivedCRS":
136                                self._referenceSystem_sc_generalderivedcrs.append(item)
137                                continue
138                pass
139
140        def __key(self):
141                return (self.identifier, self.name, self.remarks, self.axis, self.referenceSystem, self.alias)
142
143        def __eq__(self, y):
144                if type(self) != type(y):
145                        return False
146                '''
147                Cannot compare classes which do not define a "__key" attribute
148                '''
149                if hasattr(self, '_%s__key' % (type(self).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)):
150                        return self.__key() == y.__key()
151                return id(self) == id(y)
152
153        def __hash__(self):
154                return collectionProofHash(self.__key())
Note: See TracBrowser for help on using the repository browser.