39 |
|
|
40 |
self.modules = moduleDict |
self.modules = moduleDict |
41 |
self._module = module |
self._module = module |
42 |
|
|
43 |
self.definition = definition |
self.definition = definition |
44 |
|
|
45 |
if not definition: |
if not definition: |
51 |
self._updateCache (list) |
self._updateCache (list) |
52 |
|
|
53 |
# if a module is specified, fetch all it's classes |
# if a module is specified, fetch all it's classes |
|
# FIXME: use a definition somehow ... |
|
54 |
if module is not None: |
if module is not None: |
55 |
self._updateCache (self._requestData (module.gnue_id)) |
if self.modules.classdict: |
56 |
|
for item in self.modules.classdict.values (): |
57 |
|
if item.module.fullName == module.fullName: |
58 |
|
self._cache [item.fullName] = item |
59 |
|
else: |
60 |
|
self._updateCache (self._requestData (module.gnue_id)) |
61 |
|
|
62 |
|
# otherwise preload the cache with all available classes ! |
63 |
|
else: |
64 |
|
self._updateCache (self._requestData ()) |
65 |
|
|
66 |
# --------------------------------------------------------------------------- |
# --------------------------------------------------------------------------- |
67 |
# Update the cache with all business objects in list |
# Update the cache with all business objects in list |
74 |
# --------------------------------------------------------------------------- |
# --------------------------------------------------------------------------- |
75 |
# Request a list of matching business objects |
# Request a list of matching business objects |
76 |
# --------------------------------------------------------------------------- |
# --------------------------------------------------------------------------- |
77 |
def _requestData (self, moduleId, className=None): |
def _requestData (self, moduleId = None, className = None): |
78 |
cond = [["eq", ""], ["field", "gnue_module"], ["const", moduleId]] |
if not self.session: |
79 |
|
return [] |
80 |
|
|
81 |
|
cond = [] |
82 |
|
if moduleId: |
83 |
|
cond = [["eq", ""], ["field", "gnue_module"], ["const", moduleId]] |
84 |
|
|
85 |
if className: |
if className: |
86 |
cond += [["eq", ""], ["field", "gnue_name"], ["const", className]] |
cond += [["eq", ""], ["field", "gnue_name"], ["const", className]] |
87 |
|
|