private void writeTableWithoutData() throws IOException { // Write Header if (valueTable.getDataHeaderMap().isEmpty()) { Map<String, Integer> generatedHeader = generateDataHeaderMapFromVariables(); if (generatedHeader.size() > 0) { valueTable.setDataHeaderMap(generateDataHeaderMapFromVariables()); csvLine.setHeaderMap(valueTable.getDataHeaderMap()); } else { valueTable.setDataHeaderMap(csvLine.getHeaderMap()); } } writeValueToCsv(valueTable.getDataHeaderAsArray()); getExistingHeaderMap(); valueTable.setDataHeaderMap(csvLine.getHeaderMap()); valueTable.setDataFileEmpty(false); }
private void writeTableWithData() throws IOException { // Test header is a subset List<String> extraHeaders = getExtraHeadersFromNewValueSet(getExistingHeaderMap(), csvLine.getHeaderMap()); if (extraHeaders.size() != 0) { StringBuilder sb = new StringBuilder(); for (String header : extraHeaders) { sb.append(header).append(" "); } throw new MagmaRuntimeException( "Cannot update the CSV ValueTable [" + valueTable.getName() + "]. The new ValueSet (record) included the following unexpected Variables (fields): " + sb.toString()); } if (valueTable.hasValueSet(entity)) { // Delete existing value set. valueTable.clearEntity(entity); } // Set existing header csvLine.setHeaderMap(getExistingHeaderMap()); }