package ee.esutoniagodesu.service;
import ee.esutoniagodesu.bean.ProjectDAO;
import ee.esutoniagodesu.domain.estwn.table.Example;
import ee.esutoniagodesu.domain.estwn.table.Variant;
import ee.esutoniagodesu.domain.estwn.table.WordMeaning;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import javax.inject.Inject;
/**
* Eesti WordNeti töötlemine. Baasiskeem estwn
*/
@Service
@Transactional
public class EstwnService {
@Inject
private ProjectDAO dao;
public void persist(WordMeaning meaning) {
Assert.notNull(meaning);
dao.save(meaning);
meaning.getVariants().forEach(this::persist);
}
public void persist(Variant variant) {
Assert.notNull(variant);
dao.save(variant);
variant.getExamples().forEach(this::persist);
}
public void persist(Example example) {
Assert.notNull(example);
dao.save(example);
}
public void commit() {
dao.flush();
}
}