Package org.pentaho.reporting.engine.classic.core

Examples of org.pentaho.reporting.engine.classic.core.ReportDataFactoryException


    final QueryXmlHelper helper =
        (QueryXmlHelper) ObjectUtilities.loadAndInstantiate(xmlHelperClass, SimplePmdDataFactory.class, QueryXmlHelper.class);
    if (helper == null)
    {
      throw new ReportDataFactoryException("Failed to create XmlHelper: " + xmlHelperClass);//$NON-NLS-1$
    }


    try
    {
      // never returns null
      return helper.fromXML(getDomainRepository(), query);
    }
    catch (ReportDataFactoryException e)
    {
      throw e;
    }
    catch (Exception e)
    {
      logger.error("error", e); //$NON-NLS-1$
      throw new ReportDataFactoryException("Failed to parse query", e);//$NON-NLS-1$
    }
  }
View Full Code Here


  {
    // need to get the correct DatabaseMeta
    final List<LogicalTable> tables = queryObject.getLogicalModel().getLogicalTables();
    if (tables.isEmpty())
    {
      throw new ReportDataFactoryException("No Tables in this query");
    }
    final SqlPhysicalModel sqlModel = (SqlPhysicalModel) tables.get(0).getPhysicalTable().getPhysicalModel();
    return ThinModelConverter.convertToLegacy(sqlModel.getId(), sqlModel.getDatasource());
  }
View Full Code Here

      final SqlGenerator sqlGenerator = (SqlGenerator) ObjectUtilities.loadAndInstantiate
          (sqlGeneratorClass, SimplePmdDataFactory.class, SqlGenerator.class);
      if (sqlGenerator == null)
      {
        logger.error("Default SqlGenerator class " + sqlGeneratorClass + " not found."); //$NON-NLS-1$
        throw new ReportDataFactoryException("Failed to generate SQL. No valid SqlGenerator class found.");//$NON-NLS-1$
      }
      // convert DataRow into Map<String,Object>
      final Map<String, Object> parameterMap = new HashMap<String, Object>();
      final String[] columnNames = parameters.getColumnNames();
      for (int i = 0; i < columnNames.length; i++)
      {
        final String key = columnNames[i];
        final Object value = parameters.get(key);
        parameterMap.put(key, value);
      }

      final IMetadataDomainRepository domainRepository = getDomainRepository();

      Locale locale;
      if (resourceBundleFactory != null)
      {
        locale = resourceBundleFactory.getLocale();
      }
      else
      {
        locale = LocaleHelper.getLocale();
      }
      if (locale == null)
      {
        locale = Locale.getDefault();
      }

      return sqlGenerator.generateSql(queryObject, locale.toString(), domainRepository, databaseMeta, parameterMap, true);
    }
    catch (ReportDataFactoryException e)
    {
      throw e;
    }
    catch (Exception e)
    {
      throw new ReportDataFactoryException(e.getMessage(), e);//$NON-NLS-1$
    }
  }
View Full Code Here

      // now lets wrap up the model into a meta-data aware model ..
      final List<Selection> selections = queryObject.getSelections();
      if (selections.size() != tableModel.getColumnCount())
      {
        throw new ReportDataFactoryException("Whatever the query returned, it does not look familiar");
      }
      // cast is safe, as the SQL-Datasource is guaranteed to return a
      // MetaTableModel
      return new PmdMetaTableModel((MetaTableModel) tableModel, queryObject.getSelections());
    }
    catch (SQLException e)
    {
      throw new ReportDataFactoryException("The generated SQL-query did not execute successfully.", e);
    }

  }
View Full Code Here

      throw e;
    }
    catch (Exception e)
    {
      logger.error("error", e); //$NON-NLS-1$
      throw new ReportDataFactoryException("Failed to perform query", e);//$NON-NLS-1$
    }
  }
View Full Code Here

      final ScrollableResults res = pstmt.scroll(ScrollMode.FORWARD_ONLY);
      return generateDefaultTableModel(res, pstmt.getReturnAliases());
    }
    catch (Exception e)
    {
      throw new ReportDataFactoryException("Failed at query: " + query, e);
    }
  }
View Full Code Here

      final QueryResultWrapper cellSet = performQuery(queryName, parameters);
      return new LegacyBandedMDXTableModel(cellSet, extractQueryLimit(parameters));
    }
    catch (SQLException sqE)
    {
      throw new ReportDataFactoryException("Failed to execute query", sqE);
    }
  }
View Full Code Here

    }
    if ("Date".equals(type))
    {
      if (raw instanceof Date == false && raw instanceof Number == false)
      {
        throw new ReportDataFactoryException("For parameter " + name + " Expected date, but got " + raw);
      }
      final SimpleDateFormat dateFormat = new SimpleDateFormat(pattern, resourceBundleFactory.getLocale());
      dateFormat.setTimeZone(resourceBundleFactory.getTimeZone());
      return dateFormat.format(raw);
    }
    if ("Integer".equals(type) || "Numeric".equals(type))
    {
      if (raw instanceof Number == false)
      {
        throw new ReportDataFactoryException("For parameter " + name + " Expected number, but got " + raw);
      }
      return String.valueOf(raw);
    }
    if ("String".equals(type))
    {
      return String.valueOf(raw);
    }
    if (type.endsWith("Array"))
    {
      if (raw.getClass().isArray() == false)
      {
        throw new ReportDataFactoryException("For parameter " + name + " Expected array, but got " + raw);
      }

      final CSVQuoter quoter = new CSVQuoter(';');
      final String arrayType = type.substring(0, type.length() - 5);
      final StringBuffer b = new StringBuffer();
      final int length = Array.getLength(raw);
      for (int i = 0; i < length; i++)
      {
        final Object o = Array.get(raw, i);
        if (i > 0)
        {
          b.append(";");
        }
        final String str = parameterToString(name + "[" + i + "]", arrayType, pattern, o);
        b.append(quoter.doQuoting(str));
      }
    }
    throw new ReportDataFactoryException("Unknown type " + type + " for parameter " + name);
  }
View Full Code Here

                                    final Map<String, String> extraParameter) throws ReportDataFactoryException
  {
    final String baseURL = computeBaseUrl(dataRow);
    if (StringUtils.isEmpty(baseURL, true))
    {
      throw new ReportDataFactoryException("Base URL is null");
    }
    try
    {
      final StringBuilder url = new StringBuilder();
      url.append(baseURL);
      url.append("/content/cda/");
      url.append(method);
      url.append("?");
      url.append("outputType=xml");
      url.append("&solution=");
      url.append(encodeParameter(solution));
      url.append("&path=");
      url.append(encodeParameter(path));
      url.append("&file=");
      url.append(encodeParameter(file));
      for (final Map.Entry<String, String> entry : extraParameter.entrySet())
      {
        final String key = encodeParameter(entry.getKey());
        if (StringUtils.isEmpty(key))
        {
          continue;
        }
       
        // For custom parameters, we prepend 'param'. Exception is dataAccessId
        if(key.equals("dataAccessId")){
          url.append("&");       
        }
        else{
          url.append("&param");
        }
        url.append(key);
        url.append("=");
        url.append(encodeParameter(entry.getValue()));
      }

      httpCall = new GetMethod(url.toString());
      final HttpClient client = getHttpClient();
      final int status = client.executeMethod(httpCall);
      if (status != 200)
      {
        throw new ReportDataFactoryException("Failed to retrieve data: " + httpCall.getStatusLine());
      }

      final InputStream responseBody = httpCall.getResponseBodyAsStream();
      return CdaResponseParser.performParse(responseBody);
    }
    catch (UnsupportedEncodingException use)
    {
      throw new ReportDataFactoryException("Failed to encode parameter", use);
    }
    catch (Exception e)
    {
      throw new ReportDataFactoryException("Failed to send request", e);
    }
    finally
    {
      httpCall = null;
    }
View Full Code Here

        stream.close();
      }
    }
    catch (Exception e)
    {
      throw new ReportDataFactoryException("The Specified XMI File is invalid: " + xmiFile, e);
    }
  }
View Full Code Here

TOP

Related Classes of org.pentaho.reporting.engine.classic.core.ReportDataFactoryException

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.