source: mauRepo/CedaMolesModel/trunk/ceda_moles_model/ea_model/iso_19111_referencing_by_coordinates/coordinate_reference_systems/sc_crs.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_reference_systems/sc_crs.py@8457
Revision 8457, 7.1 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.reference_systems.rs_referencesystem import  RS_ReferenceSystem
22from ea_model.iso_19111_referencing_by_coordinates.identified_objects.io_identifiedobjectbase import  IO_IdentifiedObjectBase
23from ascore.utils import has_value, collectionProofHash
24
25'''
26Created on 10-Jul-2012 14:14:58
27
28@author: mnagni
29'''
30
31class SC_CRS(RS_ReferenceSystem,IO_IdentifiedObjectBase):
32        '''
33                Represents a data entity defined in a UML diagram and supposed to
34                be persisted in a relational database.
35 
36                This class has been genererated automatically using the Apache Velocity project.
37        '''
38        '''
39                Please note that any access to the inner attributes should be done using
40                the given get/set methods and NOT accessing them directly.
41        '''
42        def __init__(self):
43                self._io_identifiedobjectbase = IO_IdentifiedObjectBase()       
44                self._rs_referencesystem = RS_ReferenceSystem()         
45
46                self._object_gm_aggregate = []
47                self._object_gm_primitive = []
48                self._object_gm_complex = []
49                self._object = []
50                self.name = None
51                self.domainOfValidity = None
52                self.remarks = None
53                self._coordOperationTo_cc_concatenatedoperation = []
54                self._coordOperationTo_cc_passthroughoperation = []
55                self._coordOperationTo_cc_singleoperation = []
56                self._coordOperationTo = []
57                self.directPosition = []
58                self.scope = []
59                self.grid = []
60                self._coordOperationFrom_cc_concatenatedoperation = []
61                self._coordOperationFrom_cc_passthroughoperation = []
62                self._coordOperationFrom_cc_singleoperation = []
63                self._coordOperationFrom = []
64                super(SC_CRS, self).__init__()
65        @property
66        def identifier(self):   
67                return self._io_identifiedobjectbase.identifier
68
69        @identifier.setter
70        def identifier(self, value):   
71                        self._io_identifiedobjectbase.identifier = value
72        @property
73        def object(self):       
74                try:
75                        ret = []
76                        ret.extend(self._object_gm_aggregate)
77                        ret.extend(self._object_gm_primitive)
78                        ret.extend(self._object_gm_complex)
79                        if not hasattr(self, '_object'):
80                                self._object = []
81                        if self._object is not None:
82                                ret.extend(self._object)
83                        del self._object[:]
84                        self._object.extend(set(ret))
85                except Exception as e:
86                        pass
87                return self._object
88
89        @property
90        def name(self):
91                return self._rs_referencesystem.name
92
93        @name.setter
94        def name(self, value): 
95                        self._rs_referencesystem.name = value
96        @property
97        def domainOfValidity(self):     
98                return self._rs_referencesystem.domainOfValidity
99
100        @domainOfValidity.setter
101        def domainOfValidity(self, value):     
102                        self._rs_referencesystem.domainOfValidity = value
103        @property
104        def remarks(self):     
105                return self._io_identifiedobjectbase.remarks
106
107        @remarks.setter
108        def remarks(self, value):       
109                        self._io_identifiedobjectbase.remarks = value
110        @property
111        def coordOperationTo(self):     
112                try:
113                        ret = []
114                        ret.extend(self._coordOperationTo_cc_concatenatedoperation)
115                        ret.extend(self._coordOperationTo_cc_passthroughoperation)
116                        ret.extend(self._coordOperationTo_cc_singleoperation)
117                        if not hasattr(self, '_coordOperationTo'):
118                                self._coordOperationTo = []
119                        if self._coordOperationTo is not None:
120                                ret.extend(self._coordOperationTo)
121                        del self._coordOperationTo[:]
122                        self._coordOperationTo.extend(set(ret))
123                except Exception as e:
124                        pass
125                return self._coordOperationTo
126
127        @property
128        def alias(self):       
129                return self._io_identifiedobjectbase.alias
130
131        @alias.setter
132        def alias(self, value):
133                        self._io_identifiedobjectbase.alias = value
134        @property
135        def coordOperationFrom(self):   
136                try:
137                        ret = []
138                        ret.extend(self._coordOperationFrom_cc_concatenatedoperation)
139                        ret.extend(self._coordOperationFrom_cc_passthroughoperation)
140                        ret.extend(self._coordOperationFrom_cc_singleoperation)
141                        if not hasattr(self, '_coordOperationFrom'):
142                                self._coordOperationFrom = []
143                        if self._coordOperationFrom is not None:
144                                ret.extend(self._coordOperationFrom)
145                        del self._coordOperationFrom[:]
146                        self._coordOperationFrom.extend(set(ret))
147                except Exception as e:
148                        pass
149                return self._coordOperationFrom
150
151
152        def synchronize(self):
153                int_object = self.object       
154                del self._object_gm_aggregate[:]
155                del self._object_gm_primitive[:]
156                del self._object_gm_complex[:]
157                int_coordOperationTo = self.coordOperationTo   
158                del self._coordOperationTo_cc_concatenatedoperation[:]
159                del self._coordOperationTo_cc_passthroughoperation[:]
160                del self._coordOperationTo_cc_singleoperation[:]
161                int_coordOperationFrom = self.coordOperationFrom       
162                del self._coordOperationFrom_cc_concatenatedoperation[:]
163                del self._coordOperationFrom_cc_passthroughoperation[:]
164                del self._coordOperationFrom_cc_singleoperation[:]
165                for item in int_object:
166                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
167                        if valueClass == "ea_model.iso_19107_2003_spatial_schema.geometry.geometric_aggregates.gm_aggregate.GM_Aggregate":
168                                self._object_gm_aggregate.append(item)
169                                continue
170                        if valueClass == "ea_model.iso_19107_2003_spatial_schema.geometry.geometric_primitive.gm_primitive.GM_Primitive":
171                                self._object_gm_primitive.append(item)
172                                continue
173                        if valueClass == "ea_model.iso_19107_2003_spatial_schema.geometry.geometric_complex.gm_complex.GM_Complex":
174                                self._object_gm_complex.append(item)
175                                continue
176                for item in int_coordOperationTo:       
177                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
178                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_operations.cc_concatenatedoperation.CC_ConcatenatedOperation":
179                                self._coordOperationTo_cc_concatenatedoperation.append(item)
180                                continue
181                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_operations.cc_passthroughoperation.CC_PassThroughOperation":
182                                self._coordOperationTo_cc_passthroughoperation.append(item)
183                                continue
184                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_operations.cc_singleoperation.CC_SingleOperation":
185                                self._coordOperationTo_cc_singleoperation.append(item)
186                                continue
187                for item in int_coordOperationFrom:     
188                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
189                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_operations.cc_concatenatedoperation.CC_ConcatenatedOperation":
190                                self._coordOperationFrom_cc_concatenatedoperation.append(item)
191                                continue
192                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_operations.cc_passthroughoperation.CC_PassThroughOperation":
193                                self._coordOperationFrom_cc_passthroughoperation.append(item)
194                                continue
195                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_operations.cc_singleoperation.CC_SingleOperation":
196                                self._coordOperationFrom_cc_singleoperation.append(item)
197                                continue
198                pass
199
200        def __key(self):
201                return (self.identifier, self.object, self.name, self.domainOfValidity, self.remarks, self.coordOperationTo, self.alias, self.directPosition, self.scope, self.grid, self.coordOperationFrom)
202
203        def __eq__(self, y):
204                if type(self) != type(y):
205                        return False
206                '''
207                Cannot compare classes which do not define a "__key" attribute
208                '''
209                if hasattr(self, '_%s__key' % (type(self).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)):
210                        return self.__key() == y.__key()
211                return id(self) == id(y)
212
213        def __hash__(self):
214                return collectionProofHash(self.__key())
Note: See TracBrowser for help on using the repository browser.