Statistics
| Revision:

gvsig-scripting / org.gvsig.scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.app / org.gvsig.scripting.app.mainplugin / src / main / resources-plugin / scripting / lib / gvsig_2_3_0 / editablefeature.py @ 468

History | View | Annotate | Download (1.71 KB)

1

    
2
from org.gvsig.fmap.dal.feature.impl import DefaultEditableFeature as JEditableFeature
3
import feature
4
from java.lang import IllegalArgumentException
5
from java.lang import RuntimeException
6

    
7
def _setGeometry(self,*args):
8
  if len(args)==1:
9
    self.setDefaultGeometry(args[0])
10
    return
11
  if len(args)==2:
12
    self.set(args[0],args[1])
13
    return
14
  raise IllegalArgumentException("Incorrent number of arguments ("+len(args)+"), expected 1 or 2")
15
  
16
def _setValues(self,*args,**kwargs):
17
  if len(args)!=0:
18
    if len(args)!=2:
19
      raise IllegalArgumentException("Incorrent number of arguments ("+len(args)+"), expected 2.")
20
    self.set(args[0],args[1])
21
    return
22
  for k,v in kwargs.iteritems():
23
    self.set(k,v)
24

    
25
def _setitem(self,attributeName, value):
26
  return self.set(attributeName,value)
27

    
28
def _setattr(self,attributeName, value):
29
  try:
30
      self.set(attributeName, value)        
31
  except Exception, ex:
32
    raise RuntimeException("Can't set the attribute %s of feature (%s)" % (attributeName, str(ex)))    
33

    
34

    
35

    
36
#
37
# Inject new methods in the class JEditableFeature
38
#
39
JEditableFeature.getValues = feature._getValues
40
JEditableFeature.geometry = feature._geometry
41
JEditableFeature.edit = feature._edit
42
JEditableFeature.__getitem__ = feature._getitem
43
JEditableFeature.__getattr__ = feature._getattr
44
JEditableFeature.__call__ = feature._call
45
JEditableFeature.__len__ = feature._len
46
JEditableFeature.__iter__ = feature._itervalues
47
JEditableFeature.itervalues = feature._itervalues
48
JEditableFeature.iteritems = feature._iteritems
49
JEditableFeature.iterkeys = feature._iterkeys
50

    
51
JEditableFeature.setValues = _setValues
52
JEditableFeature.setGeometry = _setGeometry
53
JEditableFeature.__setitem__ = _setitem
54
JEditableFeature.__setattr__ = _setattr
55

    
56