teichmann@5829: package org.dive4elements.river.importer; sascha@763: teichmann@5829: import org.dive4elements.river.model.AnnotationType; sascha@763: sascha@763: import org.hibernate.Session; sascha@763: import org.hibernate.Query; sascha@763: sascha@763: import java.util.List; sascha@763: sascha@763: public class ImportAnnotationType sascha@763: implements Comparable sascha@763: { sascha@763: protected String name; sascha@763: protected AnnotationType peer; sascha@763: sascha@763: public ImportAnnotationType() { sascha@763: } sascha@763: sascha@763: public ImportAnnotationType(String name) { sascha@763: this.name = name; sascha@763: } sascha@763: sascha@763: public int compareTo(ImportAnnotationType other) { sascha@763: return name.compareTo(other.name); sascha@763: } sascha@763: sascha@766: public String getName() { sascha@766: return name; sascha@766: } sascha@766: sascha@766: public void setName(String name) { sascha@766: this.name = name; sascha@766: } sascha@766: sascha@766: sascha@763: public AnnotationType getPeer() { sascha@763: if (peer == null) { sascha@763: Session session = ImporterSession.getInstance().getDatabaseSession(); sascha@763: Query query = session.createQuery( sascha@763: "from AnnotationType where name=:name"); sascha@763: query.setParameter("name", name); sascha@763: List types = query.list(); sascha@763: if (types.isEmpty()) { sascha@763: peer = new AnnotationType(name); sascha@763: session.save(peer); sascha@763: } sascha@763: else { sascha@763: peer = types.get(0); sascha@763: } sascha@763: } sascha@763: return peer; sascha@763: } sascha@763: } sascha@763: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :