Author: [log in to unmask]
Date: Tue Jul 7 08:18:24 2015
New Revision: 3234
Log:
Change text import so it only accepts CSV files. HPSJAVA-554
Modified:
java/branches/HPSJAVA-488/conditions/pom.xml
java/branches/HPSJAVA-488/conditions/src/main/java/org/hps/conditions/api/BaseConditionsObjectCollection.java
java/branches/HPSJAVA-488/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectCollection.java
java/branches/HPSJAVA-488/conditions/src/main/java/org/hps/conditions/cli/LoadCommand.java
java/branches/HPSJAVA-488/conditions/src/test/java/org/hps/conditions/dummy/DummyConditionsObjectCollectionTest.java
Modified: java/branches/HPSJAVA-488/conditions/pom.xml
=============================================================================
--- java/branches/HPSJAVA-488/conditions/pom.xml (original)
+++ java/branches/HPSJAVA-488/conditions/pom.xml Tue Jul 7 08:18:24 2015
@@ -37,7 +37,8 @@
<exclude>org/hps/conditions/beam/BeamConditionsTest.java</exclude>
<exclude>org/hps/conditions/ecal/EcalHardwareConditionsTest.java</exclude>
<exclude>org/hps/conditions/database/CollectionIdTest.java</exclude>
- <exclude>/org/hps/conditions/svt/SvtTimingConstantsTest.java</exclude>
+ <exclude>org/hps/conditions/svt/SvtTimingConstantsTest.java</exclude>
+ <exclude>org/hps/conditions/dummy/**.java</exclude>
</excludes>
</configuration>
</plugin>
Modified: java/branches/HPSJAVA-488/conditions/src/main/java/org/hps/conditions/api/BaseConditionsObjectCollection.java
=============================================================================
--- java/branches/HPSJAVA-488/conditions/src/main/java/org/hps/conditions/api/BaseConditionsObjectCollection.java (original)
+++ java/branches/HPSJAVA-488/conditions/src/main/java/org/hps/conditions/api/BaseConditionsObjectCollection.java Tue Jul 7 08:18:24 2015
@@ -423,7 +423,7 @@
* @param file the CSV file
*/
@Override
- public void load(final File file, final Character delimiter) throws IOException, FileNotFoundException,
+ public void loadCsv(final File file) throws IOException, FileNotFoundException,
ConditionsObjectException {
// Clear the objects from the collection.
@@ -445,20 +445,7 @@
// Read in the CSV records.
reader = new FileReader(file);
- // Default comma-delimited format.
- CSVFormat csvFileFormat = CSVFormat.DEFAULT.withHeader();
-
- if (delimiter != null) {
- if (delimiter == '\t') {
- // Tab-delimited format.
- csvFileFormat = CSVFormat.TDF.withHeader();
- } else {
- // Custom delimiter was provided.
- csvFileFormat = CSVFormat.newFormat(delimiter).withHeader();
- }
- }
-
- parser = new CSVParser(reader, csvFileFormat);
+ parser = new CSVParser(reader, CSVFormat.DEFAULT.withHeader());
final List<CSVRecord> records = parser.getRecords();
// Get the database field names from the table info.
@@ -713,38 +700,26 @@
* @param file the output CSV file
*/
@Override
- public void write(final File file, final Character delimiter) throws IOException {
+ public void writeCsv(final File file) throws IOException {
FileWriter fileWriter = null;
CSVPrinter csvFilePrinter = null;
- // Default comma-delimited format.
- CSVFormat csvFileFormat = CSVFormat.DEFAULT;
-
- if (delimiter != null) {
- if (delimiter == '\t') {
- // Tab-delimited format.
- csvFileFormat = CSVFormat.TDF;
- } else {
- // Custom delimiter was provided.
- csvFileFormat = CSVFormat.newFormat(delimiter);
- }
- }
try {
fileWriter = new FileWriter(file);
- csvFilePrinter = new CSVPrinter(fileWriter, csvFileFormat);
+ csvFilePrinter = new CSVPrinter(fileWriter, CSVFormat.DEFAULT);
final List<String> fieldNameList = new ArrayList<String>(this.getTableMetaData().getFieldNames());
fieldNameList.remove(BaseConditionsObject.COLLECTION_ID_FIELD);
csvFilePrinter.printRecord(fieldNameList);
for (final ConditionsObject conditionsObject : this.getObjects()) {
- final List<Object> conditionsObjectRecord = new ArrayList<Object>();
+ final List<Object> record = new ArrayList<Object>();
for (final String fieldName : fieldNameList) {
Object value = conditionsObject.getFieldValue(fieldName);
if (value instanceof Date) {
value = BaseConditionsObject.DEFAULT_DATE_FORMAT.format(value);
}
- conditionsObjectRecord.add(value);
+ record.add(value);
}
- csvFilePrinter.printRecord(conditionsObjectRecord);
+ csvFilePrinter.printRecord(record);
}
} finally {
try {
Modified: java/branches/HPSJAVA-488/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectCollection.java
=============================================================================
--- java/branches/HPSJAVA-488/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectCollection.java (original)
+++ java/branches/HPSJAVA-488/conditions/src/main/java/org/hps/conditions/api/ConditionsObjectCollection.java Tue Jul 7 08:18:24 2015
@@ -69,8 +69,7 @@
* @throws FileNotFoundException if the input file does not exist
* @throws ConditionsObjectException if there is an error creating a conditions object
*/
- void load(final File file, Character delimiter) throws IOException, FileNotFoundException,
- ConditionsObjectException;
+ public void loadCsv(final File file) throws IOException, FileNotFoundException, ConditionsObjectException;
/**
* Set the collection ID.
@@ -107,5 +106,5 @@
* @param file the output text file
* @param delimiter the field delimiter (leave blank for default which is comma-delimited)
*/
- void write(File file, Character delimiter) throws IOException;
+ void writeCsv(File file) throws IOException;
}
Modified: java/branches/HPSJAVA-488/conditions/src/main/java/org/hps/conditions/cli/LoadCommand.java
=============================================================================
--- java/branches/HPSJAVA-488/conditions/src/main/java/org/hps/conditions/cli/LoadCommand.java (original)
+++ java/branches/HPSJAVA-488/conditions/src/main/java/org/hps/conditions/cli/LoadCommand.java Tue Jul 7 08:18:24 2015
@@ -27,11 +27,6 @@
final class LoadCommand extends AbstractCommand {
/**
- * The default separator for making tokens from input data (tab-delimited).
- */
- private static final String DEFAULT_FIELD_SEPARATOR = "\t";
-
- /**
* Setup the logger.
*/
private static final Logger LOGGER = LogUtil.create(LoadCommand.class, new MessageOnlyLogFormatter(), Level.ALL);
@@ -47,8 +42,6 @@
OPTIONS.addOption(new Option("f", true, "input data file path (required)"));
OPTIONS.getOption("f").setRequired(true);
OPTIONS.addOption(new Option("d", true, "description for the collection log"));
- OPTIONS.addOption(new Option("c", true, "field delimiter character (default is tab-delimited)"));
- OPTIONS.addOption(new Option("s", false, "use space as field delimiter (overrides the -c arg if also present)"));
}
/**
@@ -93,20 +86,6 @@
description = commandLine.getOptionValue("d");
}
- String separator = DEFAULT_FIELD_SEPARATOR;
- if (commandLine.hasOption("c")) {
- separator = commandLine.getOptionValue("c");
- LOGGER.info("using column separator <" + separator + ">");
- if (separator.length() > 1) {
- throw new IllegalArgumentException("Separator must be a single character.");
- }
- }
-
- if (commandLine.hasOption("s")) {
- separator = " ";
- LOGGER.info("using space for column separator");
- }
-
final TableMetaData tableMetaData = conditionsManager.findTableMetaData(tableName);
if (tableMetaData == null) {
throw new IllegalArgumentException("No table meta data found for " + tableName);
@@ -127,7 +106,7 @@
LOGGER.info("parsing input file " + fileName + " ...");
try {
- newCollection.load(new File(fileName), separator.charAt(0));
+ newCollection.loadCsv(new File(fileName));
} catch (final Exception e) {
throw new RuntimeException("Error loading CSV file.", e);
}
Modified: java/branches/HPSJAVA-488/conditions/src/test/java/org/hps/conditions/dummy/DummyConditionsObjectCollectionTest.java
=============================================================================
--- java/branches/HPSJAVA-488/conditions/src/test/java/org/hps/conditions/dummy/DummyConditionsObjectCollectionTest.java (original)
+++ java/branches/HPSJAVA-488/conditions/src/test/java/org/hps/conditions/dummy/DummyConditionsObjectCollectionTest.java Tue Jul 7 08:18:24 2015
@@ -110,7 +110,7 @@
collection.add(object2);
// Write to CSV file.
- collection.write(new File("dummy.csv"), null);
+ collection.writeCsv(new File("dummy.csv"));
System.out.println("wrote CSV values");
System.out.println(collection);
@@ -118,45 +118,10 @@
final ConditionsObjectCollection<?> csvCollection = ConditionsObjectUtilities.newCollection("dummy");
// Load CSV data.
- collection.load(new File("dummy.csv"), null);
+ collection.loadCsv(new File("dummy.csv"));
System.out.println("loaded CSV values");
System.out.println(csvCollection);
}
- public void testTsv() throws Exception {
- System.out.println("DummyConditionsObjectCollectionTest.testTsv");
-
- // Create a new collection.
- final DummyConditionsObjectCollection collection = new DummyConditionsObjectCollection(this.connection,
- this.tableMetaData);
-
- // Add object to collection.
- final DummyConditionsObject object1 = new DummyConditionsObject(this.connection, this.tableMetaData);
- object1.setFieldValue("dummy", 1.0);
- object1.setFieldValue("dummy_ts", new Date());
- object1.setFieldValue("dummy_dt", new Date());
- collection.add(object1);
-
- // Add object to collection.
- final DummyConditionsObject object2 = new DummyConditionsObject(this.connection, this.tableMetaData);
- object2.setFieldValue("dummy", 2.0);
- object2.setFieldValue("dummy_ts", new Date());
- object2.setFieldValue("dummy_dt", new Date());
- collection.add(object2);
-
- // Write to CSV file.
- collection.write(new File("dummy.tsv"), '\t');
- System.out.println("wrote TSV values");
- System.out.println(collection);
-
- // Create an object collection.
- final ConditionsObjectCollection<?> csvCollection = ConditionsObjectUtilities.newCollection("dummy");
-
- // Load CSV data.
- collection.load(new File("dummy.tsv"), '\t');
-
- System.out.println("loaded TSV values");
- System.out.println(csvCollection);
- }
}
|