提交 26c43710 编写于 作者: J Jacobien Carstens

Fixed bug #176 Duplicating filter works now

上级 07d691d5
......@@ -184,15 +184,22 @@ public class QueryNode extends AbstractNode {
public void actionPerformed(ActionEvent e) {
FilterController filterController = Lookup.getDefault().lookup(FilterController.class);
if (query.getParent() == null) {
//filterController.add(query);
Query q = filterController.createQuery(query.getFilter());
filterController.add(q);
} else {
//filterController.add(query.getParent());
Query q = filterController.createQuery(query.getParent().getFilter());
filterController.add(q);
}
Query ancestor = query;
while(ancestor.getParent() != null)
ancestor = ancestor.getParent();
duplicateQuery(filterController, null, ancestor);
}
private void duplicateQuery(FilterController filterController, Query parent, Query child){
Query childQuery = filterController.createQuery(child.getFilter());
if(parent == null)
filterController.add(childQuery);
else
filterController.setSubQuery(parent, childQuery);
if(child.getChildrenSlotsCount() > 0)
for(Query grandChild : child.getChildren())
duplicateQuery(filterController, childQuery, grandChild);
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册