Select select = new Select(symbols);
From from = new From();
from.addGroup(new GroupSymbol("g")); //$NON-NLS-1$
Criteria criteria = new CompareCriteria(new ElementSymbol("a2"), CompareCriteria.EQ, //$NON-NLS-1$
new Constant(new Integer(5)));
Query query = new Query();
query.setSelect(select);
query.setFrom(from);
query.setCriteria(criteria);
AssignmentStatement queryStmt = new AssignmentStatement(var1, query);
Block ifBlock = new Block();
ifBlock.addStatement(queryStmt);
//else block
ElementSymbol var2 = new ElementSymbol("var2"); //$NON-NLS-1$
Statement elseDeclStmt = new DeclareStatement(var2, shortType);
//element for has criteria
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
List elements = new ArrayList();
elements.add(a);
List elseSymbols = new ArrayList();
elseSymbols.add(new ElementSymbol("b1")); //$NON-NLS-1$
Select elseSelect = new Select(elseSymbols);
Query elseQuery = new Query();
elseQuery.setSelect(elseSelect);
elseQuery.setFrom(from);
Criteria crit1 = new CompareCriteria(a, CompareCriteria.EQ,
new Constant(new Integer(5)));
ElementSymbol m = new ElementSymbol("m"); //$NON-NLS-1$
Criteria crit2= new CompareCriteria(m, CompareCriteria.EQ,
new Constant(new Integer(6)));
List critList = new ArrayList();
critList.add(crit1);
critList.add(crit2);