package org.openbakery.racecontrol.service;
import org.openbakery.racecontrol.data.RaceEntry;
import org.openbakery.racecontrol.persistence.Persistence;
import org.openbakery.racecontrol.persistence.PersistenceException;
import org.openbakery.racecontrol.persistence.RCSVGenerator;
import org.openbakery.racecontrol.persistence.Transaction;
import org.openbakery.racecontrol.plugin.rcsv.web.RCSVPage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import javax.swing.*;
import java.util.Collections;
import java.util.List;
/**
* Created by IntelliJ IDEA.
* User: rene
* Date: 19.03.12
* Time: 18:14
* To change this template use File | Settings | File Templates.
*/
public class RaceEntryService {
private static Logger log = LoggerFactory.getLogger(RCSVPage.class);
@Autowired
Persistence persistence;
public List<RaceEntry> getRaceEntries()
{
try {
return (List<RaceEntry>)persistence.query("SELECT raceEntry from RaceEntry raceEntry");
} catch (PersistenceException e) {
return Collections.emptyList();
}
}
public String createRcsv(RaceEntry raceEntry) {
RCSVGenerator generator = new RCSVGenerator();
Transaction transaction = persistence.createTransaction();
try {
raceEntry = transaction.refresh(raceEntry.getClass(), raceEntry.getId() );
return generator.generate(raceEntry);
} catch (PersistenceException e) {
log.error(e.getMessage(), e);
return "";
}
finally {
transaction.commit();
}
}
}