public void service(SourceBean request, SourceBean response) { EngineAnalysisMetadata analysisMetadata = null; JSONObject meta; String rowMeta = ""; logger.debug("IN"); try { super.service(request, response); analysisMetadata = getEngineInstance().getAnalysisMetadata(); meta = new JSONObject(); meta.put("id", analysisMetadata.getId()); meta.put("name", analysisMetadata.getName()); meta.put("description", analysisMetadata.getDescription()); meta.put("scope", analysisMetadata.getScope()); try { writeBackToClient(new JSONSuccess(meta)); } catch (IOException e) { throw new SpagoBIServiceException( SERVICE_NAME, "Impossible to write back the responce to the client", e); } } catch (Throwable t) { throw SpagoBIEngineServiceExceptionHandler.getInstance() .getWrappedException(getActionName(), getEngineInstance(), t); } finally { logger.debug("OUT"); } }
public void service(SourceBean request, SourceBean response) { logger.debug("IN"); try { super.service(request, response); boolean validationResult = false; IStatement statement = getEngineInstance().getStatment(); statement.setParameters(getEnv()); String jpaQueryStr = statement.getQueryString(); // String sqlQuery = statement.getSqlQueryString(); logger.debug("Validating query (HQL/JPQL): [" + jpaQueryStr + "]"); // logger.debug("Validating query (SQL): [" + sqlQuery + "]"); try { IDataSet dataSet = QbeDatasetFactory.createDataSet(statement); Map userAttributes = new HashMap(); UserProfile profile = (UserProfile) this.getEnv().get(EngineConstants.ENV_USER_PROFILE); Iterator it = profile.getUserAttributeNames().iterator(); while (it.hasNext()) { String attributeName = (String) it.next(); Object attributeValue = profile.getUserAttribute(attributeName); userAttributes.put(attributeName, attributeValue); } dataSet.addBinding("attributes", userAttributes); dataSet.addBinding("parameters", this.getEnv()); dataSet.loadData(0, 1, 1); logger.info("Query execution did not throw any exception. Validation successful."); validationResult = true; } catch (Throwable t) { logger.info("Query execution thrown an exception. Validation failed."); logger.debug(t); validationResult = false; } JSONObject result = new JSONObject(); result.put("validationResult", validationResult); writeBackToClient(new JSONSuccess(result)); } catch (Throwable t) { throw SpagoBIEngineServiceExceptionHandler.getInstance() .getWrappedException(getActionName(), getEngineInstance(), t); } finally { logger.debug("OUT"); } }