public List<List<String>> parseSampleContents() { String delim = getDelimiter(); if (contents == null) { throw new IllegalStateException("Sample Contents is null, nothing to parse"); // $NON-NLS-1$ } else if (delim == null || "".equals(delim)) { // $NON-NLS-1$ // use a random delimiter that will result in an un-parsed list delim = "~!@#$%"; } List<List<String>> sample = new ArrayList<List<String>>(); CSVTokenizer csvTokenizer; String enclosure = null; if (!"".equals(getEnclosure())) { enclosure = getEnclosure(); } for (String line : contents) { csvTokenizer = new CSVTokenizer(line, delim, enclosure); List<String> rowData = new ArrayList<String>(); int count = 0; while (csvTokenizer.hasMoreTokens()) { // get next token and store it in the list rowData.add(csvTokenizer.nextToken()); count++; } sample.add(rowData); } return sample; }
/** * Boots modules, which have been spcified in the * "org.pentaho.reporting.engine.classic.core.boot.Modules" configuration parameter. */ private void bootAdditionalModules() { try { final String bootModules = getGlobalConfig() .getConfigProperty( "org.pentaho.reporting.engine.classic.core.boot.Modules"); // NON-NLS if (bootModules != null) { final CSVTokenizer csvToken = new CSVTokenizer(bootModules, ","); while (csvToken.hasMoreTokens()) { final String token = csvToken.nextToken(); getPackageManager().load(token); } } } catch (SecurityException se) { // we'll ignore any Security exception .. ClassicEngineBoot.logger.info( "Security settings forbid to check the system properties for extension modules."); // NON-NLS } catch (Exception se) { ClassicEngineBoot.logger.error( "An error occured while checking the system properties for extension modules.", // NON-NLS se); } }
/** * Returns the value of the function, expression or column using its specific name. The given name * is translated into a valid column number and the the column is queried. For functions and * expressions, the <code>getValue()</code> method is called and for columns from the tablemodel * the tablemodel method <code>getValueAt(row, column)</code> gets called. * * @param col the item index. * @return the value. */ public Object get(final String col) { final String envName = columnMap.get(col); if (envName == null) { return null; } if (envName.endsWith("-array")) // NON-NLS { final String name = envName.substring(0, envName.length() - 6); final Object s = environment.getEnvironmentProperty(name); if (s == null) { return new String[0]; } final CSVTokenizer csvTokenizer = new CSVTokenizer(String.valueOf(s), ",", "\"", false); final int length = csvTokenizer.countTokens(); final String[] rolesArray = new String[length]; for (int i = 0; i < length; i += 1) { rolesArray[i] = csvTokenizer.nextToken(); } return rolesArray; } return environment.getEnvironmentProperty(envName); }