package net.sf.minuteProject.configuration.bean.model.statement; import java.util.ArrayList; import java.util.List; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.lang.StringUtils; import net.sf.minuteProject.configuration.bean.AbstractConfiguration; public class QueryParams extends AbstractConfiguration { private List<QueryParam> queryParams; private Query query; public boolean isEmpty () { return getQueryParams().isEmpty(); } public List<QueryParam> getQueryParams() { if (queryParams == null) { if (!StringUtils.isEmpty(refid)) { queryParams = getReferenceQueryParams(refid); } if (queryParams == null) queryParams = new ArrayList<QueryParam>(); } return queryParams; } private List<QueryParam> getReferenceQueryParams(String refid) { if (query != null) { Queries queries = query.getQueries(); if (queries != null) for (Query q : queries.getQueries()) { if (refid.equals(q.getId())) { return q.getQueryParams().getQueryParams();//copy(q); } } } return null; } // private List<QueryParam> copy(Query q) { // List<QueryParam> r = new ArrayList<QueryParam>(); // for (QueryParam qp : q.getQueryParams().getQueryParams()) { // QueryParam param = new QueryParam(); // param.setName(qp.getName()); //// column.setName(queryParam.getName()); // String type = qp.getType(); // param.setType(type); // param.setSize(qp.getSize()); // param.setScale(qp.getScale()); // r.add(param); // } // return r; // } public void setQueryParams(List<QueryParam> queryParams) { this.queryParams = queryParams; } public void addQueryParam(QueryParam queryParam) { getQueryParams().add(queryParam); } public void setQuery(Query query) { this.query = query; } }