public Configuration parseConfiguration()

in taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/SpreadsheetActivityParser.java [65:110]


	public Configuration parseConfiguration(T2FlowParser t2FlowParser, ConfigBean configBean,
			ParserState parserState) throws ReaderException {
		SpreadsheetImportConfig config = unmarshallConfig(t2FlowParser, configBean, "xstream",
				SpreadsheetImportConfig.class);

		Configuration configuration = new Configuration();
		configuration.setParent(parserState.getCurrentProfile());

		ObjectNode json = (ObjectNode) configuration.getJson();
		configuration.setType(ACTIVITY_URI.resolve("#Config"));

		ObjectNode columnRange = json.objectNode();
		json.put("columnRange", columnRange);
		makeRange(config.getColumnRange(), columnRange);

		ObjectNode rowRange = json.objectNode();
        json.put("rowRange", rowRange);
        makeRange(config.getRowRange(), rowRange);

		if (config.getEmptyCellValue() != null)
		    json.put("emptyCellValue", config.getEmptyCellValue());
		
		ArrayNode columnNames = json.arrayNode();
        if (config.getColumnNames() != null && config.getColumnNames().getEntry() != null) {
    		for (SpreadsheetColumnNameEntry entry : config.getColumnNames().getEntry()) {
    		    ObjectNode mapping = json.objectNode();
    		    columnNames.add(mapping);
                mapping.put("column", entry.getString().get(0));
                mapping.put("port", entry.getString().get(1));
    		}
    		if (columnNames.size() > 0)
    		    json.put("columnNames", columnNames);
        }
		
		json.put("allRows", config.isAllRows());
		json.put("excludeFirstRow", config.isExcludeFirstRow());
		json.put("ignoreBlankRows", config.isIgnoreBlankRows());
		if (config.getEmptyCellPolicy() != null)
			json.put("emptyCellPolicy", config.getEmptyCellPolicy().value());
		if (config.getOutputFormat() != null)
			json.put("outputFormat", config.getOutputFormat().value());
		if (config.getCsvDelimiter() != null)
			json.put("csvDelimiter", config.getCsvDelimiter());

		return configuration;
	}