Skip to content

Commit ff73c79

Browse files
author
vinnie87
committed
Candidate release v1.4.2
Bug Fix for Multi-Instance version
1 parent 8411980 commit ff73c79

File tree

3 files changed

+149
-104
lines changed

3 files changed

+149
-104
lines changed

Multiinstance/Application/CmsConfigExplorer/app.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Multiinstance/Application/exposed/exposed.py

Lines changed: 143 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,48 @@ class Exposed(object):
2929
simple_counter = 0
3030
cache = CacheDbQueries()
3131

32+
def skipPathSequence(self, counter, items, level):
33+
while(counter < len(items) and items[counter].lvl >= level):
34+
counter = counter + 1
35+
return counter
36+
37+
def getPathSequenceChildren(self, counter, written_sequences, items, elements_dict, level, built_sequences):
38+
children = []
39+
while(counter < len(items) and items[counter].lvl == level):
40+
elem = elements_dict[items[counter].id_pae]
41+
item = Pathitem(items[counter].id_pae, elem.name, items[counter].id_pathid, elem.paetype, items[counter].id_parent, items[counter].lvl, items[counter].order, items[counter].operator)
42+
43+
# item.gid = seqsMap.put(idgen,elem,items[counter].id_pathid,items[counter].order,items[counter].lvl,items[counter].id)
44+
# item.gid = seqsMap.put(elem,items[counter].id_pathid,items[counter].order,items[counter].lvl)
45+
if elem.paetype == 1:
46+
# item.gid = modsMap.put(elem, items[counter].id_pathid, items[counter].order, items[counter].lvl)
47+
item.gid = cache.patMappingDictPut(src, items[counter].id_pae, "mod", cache_session, log, 0)
48+
elif elem.paetype == 2:
49+
# item.gid = seqsMap.put(elem,items[counter].id_pathid,items[counter].order,items[counter].lvl)
50+
item.gid = cache.patMappingDictPut(src, items[counter].id_pae, "seq", cache_session, log, 0)
51+
52+
self.simple_counter = self.simple_counter + 1
53+
counter = counter + 1
54+
if item.paetype == 2:
55+
if item.name in written_sequences:
56+
item.expanded = False
57+
counter, new_children, written_sequences, built_sequences = self.getPathSequenceChildren(counter, written_sequences, items, elements_dict, item.lvl+1, built_sequences)
58+
for child in new_children:
59+
item.children.append(child)
60+
61+
else:
62+
item.expanded = False
63+
counter, new_children, written_sequences, built_sequences = self.getPathSequenceChildren(counter, written_sequences, items, elements_dict, item.lvl+1, built_sequences)
64+
for child in new_children:
65+
item.children.append(child)
66+
67+
written_sequences.add(item.name)
68+
built_sequences.add(item)
69+
70+
children.append(item)
71+
72+
return counter, children, written_sequences, built_sequences
73+
3274
#Returns the path items (Sequences and Modules)
3375
#@params: patsMap: map of paths database ids
3476
# seqsMap: map of sequences database ids
@@ -85,55 +127,58 @@ def getPathItems(self, gid=-2, ver=-2, db = None, log = None, src = 0, request =
85127
idpaes = {}
86128

87129
#Build all the sequences
88-
for p in items:
89-
elem = elements_dict[p.id_pae]
90-
item = Pathitem(p.id_pae, elem.name, p.id_pathid, elem.paetype, p.id_parent, p.lvl, p.order, p.operator)
91-
92-
if (item.paetype == 2):
93-
# item.gid = seqsMap.put(elem, p.id_pathid, p.order, p.lvl)
94-
item.gid = cache.patMappingDictPut(src, p.id_pae, "seq", cache_session, log, 0)
95-
item.expanded = False
96-
seq[item.gid]=item
97-
idpaes[item.gid]=p.id_pae
98-
if (item.lvl == 0):
99-
iid = item.id
100-
lvlZeroSeq_Dict[item.gid] = iid
101-
102-
# It is a module
103-
else:
104-
# item.gid = modsMap.put(elem, p.id_pathid, p.order, p.lvl)
105-
item.gid = cache.patMappingDictPut(src, p.id_pae, "mod", cache_session, log, 0)
106-
id_par = item.id_parent
107-
# idPae_values = idpaes.viewvalues()
108-
idPae_values = idpaes.values()
109-
lKeys = []
110-
for key, value in idpaes.iteritems():
111-
if value == id_par:
112-
lKeys.append(key)
113-
114-
# lKey = [key for key, value in idpaes.iteritems() if value == id_par][0]
115-
116-
for lKey in lKeys:
117-
childs = seq[lKey].children
118-
isIn = False
119-
for c in childs:
120-
if c.id == item.id:
121-
isIn = True
122-
if not isIn:
123-
seq[lKey].children.insert(p.order, item)
124-
# seq[p.id_parent].children.insert(p.order, item)
125-
126-
# seqs = seq.viewvalues()
127-
seqs = seq.values()
128-
for s in seqs:
129-
if (s.lvl != 0):
130-
id_par = s.id_parent
131-
132-
lKey = [key for key, value in idpaes.iteritems() if value == id_par][0]
133-
134-
childs = seq[lKey].children
135-
childs.insert(s.order, s)
136-
childs.sort(key=lambda x: x.order, reverse=False)
130+
# #
131+
# ----------------------------------------------------------------------------------------------------------------- #
132+
# New Routine for sequences
133+
#
134+
135+
elements_dict = dict((element.id, element) for element in elements)
136+
137+
counter = 0
138+
idgen_new = 1
139+
140+
while counter < len(items):
141+
elem = elements_dict[items[counter].id_pae]
142+
item = Pathitem(items[counter].id_pae, elem.name, items[counter].id_pathid, elem.paetype, items[counter].id_parent, items[counter].lvl, items[counter].order, items[counter].operator)
143+
# item.gid = seqsMap.put(idgen,elem,items[counter].id_pathid,items[counter].order,items[counter].lvl,items[counter].id)
144+
# item.gid = seqsMap.put(elem,items[counter].id_pathid,items[counter].order,items[counter].lvl)
145+
146+
if elem.paetype == 1:
147+
# item.gid = modsMap.put(elem, items[counter].id_pathid, items[counter].order, items[counter].lvl)
148+
item.gid = cache.patMappingDictPut(src, items[counter].id_pae, "mod", cache_session, log, 0)
149+
elif elem.paetype == 2:
150+
# item.gid = seqsMap.put(elem,items[counter].id_pathid,items[counter].order,items[counter].lvl)
151+
item.gid = cache.patMappingDictPut(src, items[counter].id_pae, "seq", cache_session, log, 0)
152+
153+
self.simple_counter = self.simple_counter + 1
154+
counter = counter + 1
155+
156+
if item.paetype == 2:
157+
158+
if item.lvl == 0:
159+
lvlZeroSeq_Dict[item.gid] = item.id
160+
161+
if item.name in written_sequences:
162+
counter = self.skipPathSequence(counter, items, item.lvl+1)
163+
else:
164+
counter, new_children, written_sequences, built_sequences = self.getPathSequenceChildren(counter, written_sequences, items, elements_dict, item.lvl+1, built_sequences)
165+
for child in new_children:
166+
167+
item.children.append(child)
168+
169+
written_sequences.add(item.name)
170+
item.expanded = False
171+
built_sequences.add(item)
172+
173+
174+
175+
176+
# #
177+
# ----------------------------------------------------------------------------------------------------------------- #
178+
#
179+
180+
seq = dict((x.gid, x) for x in built_sequences)
181+
137182

138183
#Retreive the lvl 0 of the path
139184
lista = queries.getLevelZeroPathItems(id_p, ver, db, log)
@@ -217,55 +262,55 @@ def getEndPathItems(self, gid=-2, ver=-2, db = None, log = None, request = None,
217262
lvlZeroSeq_Dict = {}
218263
idpaes = {}
219264

220-
#Build all the sequences
221-
for p in items:
222-
elem = elements_dict[p.id_pae]
223-
item = Pathitem(p.id_pae, elem.name, p.id_pathid, elem.paetype, p.id_parent, p.lvl, p.order, p.operator)
224-
225-
if (item.paetype == 2):
226-
# item.gid = seqsMap.put(elem, p.id_pathid, p.order, p.lvl)
227-
item.gid = cache.patMappingDictPut(src, p.id_pae, "seq", cache_session, log,0)
228-
item.expanded = False
229-
seq[item.gid]=item
230-
idpaes[item.gid]=p.id_pae
231-
if (item.lvl == 0):
232-
iid = item.id
233-
lvlZeroSeq_Dict[item.gid] = iid
234-
235-
# It is a module
236-
else:
237-
# item.gid = modsMap.put(elem, p.id_pathid, p.order, p.lvl)
238-
item.gid = cache.patMappingDictPut(src, p.id_pae, "mod", cache_session, log,0)
239-
id_par = item.id_parent
240-
# idPae_values = idpaes.viewvalues()
241-
idPae_values = idpaes.values()
242-
lKeys = []
243-
for key, value in idpaes.iteritems():
244-
if value == id_par:
245-
lKeys.append(key)
246-
247-
# lKey = [key for key, value in idpaes.iteritems() if value == id_par][0]
248-
249-
for lKey in lKeys:
250-
childs = seq[lKey].children
251-
isIn = False
252-
for c in childs:
253-
if c.id == item.id:
254-
isIn = True
255-
if not isIn:
256-
seq[lKey].children.insert(p.order, item)
257-
# seq[p.id_parent].children.insert(p.order, item)
258-
259-
seqs = seq.values() #view
260-
for s in seqs:
261-
if (s.lvl != 0):
262-
id_par = s.id_parent
263-
264-
lKey = [key for key, value in idpaes.iteritems() if value == id_par][0]
265-
266-
childs = seq[lKey].children
267-
childs.insert(s.order, s)
268-
childs.sort(key=lambda x: x.order, reverse=False)
265+
# #
266+
# ----------------------------------------------------------------------------------------------------------------- #
267+
# New Routine for sequences
268+
#
269+
270+
elements_dict = dict((element.id, element) for element in elements)
271+
272+
counter = 0
273+
idgen_new = 1
274+
275+
while counter < len(items):
276+
elem = elements_dict[items[counter].id_pae]
277+
item = Pathitem(items[counter].id_pae, elem.name, items[counter].id_pathid, elem.paetype, items[counter].id_parent, items[counter].lvl, items[counter].order, items[counter].operator)
278+
# item.gid = seqsMap.put(idgen,elem,items[counter].id_pathid,items[counter].order,items[counter].lvl,items[counter].id)
279+
# item.gid = seqsMap.put(elem,items[counter].id_pathid,items[counter].order,items[counter].lvl)
280+
281+
if elem.paetype == 1:
282+
# item.gid = modsMap.put(elem, items[counter].id_pathid, items[counter].order, items[counter].lvl)
283+
item.gid = cache.patMappingDictPut(src, items[counter].id_pae, "mod", cache_session, log, 0)
284+
elif elem.paetype == 2:
285+
# item.gid = seqsMap.put(elem,items[counter].id_pathid,items[counter].order,items[counter].lvl)
286+
item.gid = cache.patMappingDictPut(src, items[counter].id_pae, "seq", cache_session, log, 0)
287+
288+
self.simple_counter = self.simple_counter + 1
289+
counter = counter + 1
290+
291+
if item.paetype == 2:
292+
293+
if item.lvl == 0:
294+
lvlZeroSeq_Dict[item.gid] = item.id
295+
296+
if item.name in written_sequences:
297+
counter = self.skipPathSequence(counter, items, item.lvl+1)
298+
else:
299+
counter, new_children, written_sequences, built_sequences = self.getPathSequenceChildren(counter, written_sequences, items, elements_dict, item.lvl+1, built_sequences)
300+
for child in new_children:
301+
302+
item.children.append(child)
303+
304+
written_sequences.add(item.name)
305+
item.expanded = False
306+
built_sequences.add(item)
307+
308+
309+
# #
310+
# ----------------------------------------------------------------------------------------------------------------- #
311+
#
312+
313+
seq = dict((x.gid, x) for x in built_sequences)
269314

270315
#Retreive the lvl 0 of the path
271316
lista = queries.getLevelZeroPathItems(id_p, ver, db, log)

Multiinstance/Application/exposed/summary_builder.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,8 @@ def getL1Seeds(self, pats, id_rel, queries, db, log):
148148
if m_params_dict.has_key('L1TechTriggerSeeding'):
149149
tech = m_params_dict.get('L1TechTriggerSeeding').value
150150

151-
else:
152-
tech = l1seedTempParams_dict.get('L1TechTriggerSeeding').value
151+
elif l1seedTempParams_dict.has_key('L1TechTriggerSeeding'):
152+
tech = l1seedTempParams_dict.get('L1TechTriggerSeeding').value
153153

154154
if m_params_dict.has_key('L1SeedsLogicalExpression'):
155155
par = m_params_dict.get('L1SeedsLogicalExpression')
@@ -190,8 +190,8 @@ def getL1Seeds(self, pats, id_rel, queries, db, log):
190190
if m_params_dict.has_key('L1TechTriggerSeeding'):
191191
tech = m_params_dict.get('L1TechTriggerSeeding').value
192192

193-
else:
194-
tech = l1seedTempParams_dict.get('L1TechTriggerSeeding').value
193+
elif l1seedTempParams_dict.has_key('L1TechTriggerSeeding'):
194+
tech = l1seedTempParams_dict.get('L1TechTriggerSeeding').value
195195

196196
if m_params_dict.has_key('L1SeedsLogicalExpression'):
197197
par = m_params_dict.get('L1SeedsLogicalExpression')
@@ -230,7 +230,7 @@ def getL1Seeds(self, pats, id_rel, queries, db, log):
230230
if m_params_dict.has_key('L1TechTriggerSeeding'):
231231
tech = m_params_dict.get('L1TechTriggerSeeding').value
232232

233-
else:
233+
elif l1seedTempParams_dict.has_key('L1TechTriggerSeeding'):
234234
tech = l1seedTempParams_dict.get('L1TechTriggerSeeding').value
235235

236236
if m_params_dict.has_key('L1SeedsLogicalExpression'):

0 commit comments

Comments
 (0)