String datamartName = null;
Query query = null;
IQbeTreeEntityFilter entityFilter = null;
IQbeTreeFieldFilter fieldFilter = null;
QbeTreeFilter treeFilter = null;
ExtJsQbeTreeBuilder qbeBuilder = null;
JSONArray nodes = null;
logger.debug("IN");
try {
super.service(request, response);
queryId = getAttributeAsString(QUERY_ID);
logger.debug("Parameter [" + QUERY_ID + "] is equals to [" + queryId + "]");
Assert.assertNotNull(getEngineInstance(), "It's not possible to execute " + this.getActionName() + " service before having properly created an instance of EngineInstance class");
logger.debug("Filtering entities list ...");
entityFilter = new QbeTreeAccessModalityEntityFilter();
logger.debug("Apply entity filter [" + entityFilter.getClass().getName() + "]");
if(queryId != null) {
logger.debug("Filtering on query [" + queryId + "] selectd entities");
query = getEngineInstance().getQueryCatalogue().getQuery(queryId);
if(query != null){
entityFilter = new QbeTreeQueryEntityFilter(entityFilter, query);
}
}
entityFilter = new QbeTreeOrderEntityFilter(entityFilter);
logger.debug("Apply field filter [" + entityFilter.getClass().getName() + "]");
logger.debug("Filtering fields list ...");
fieldFilter = new QbeTreeAccessModalityFieldFilter();
logger.debug("Apply field filter [" + fieldFilter.getClass().getName() + "]");
fieldFilter = new QbeTreeOrderFieldFilter(fieldFilter);
logger.debug("Apply field filter [" + fieldFilter.getClass().getName() + "]");
treeFilter = new QbeTreeFilter(entityFilter, fieldFilter);
qbeBuilder = new ExtJsQbeTreeBuilder(treeFilter);
datamartName = getAttributeAsString(DATAMART_NAME);
if (datamartName != null) {