parent
ba7daf5e82
commit
20e2afaf76
@ -0,0 +1,37 @@ |
||||
package de.kreth.vaadin.clubhelper.vaadinclubhelper.ausschreibung; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
import java.util.stream.Collectors; |
||||
|
||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Altersgruppe; |
||||
|
||||
public class Altersgruppen { |
||||
|
||||
private List<Altersgruppe> values; |
||||
|
||||
public Altersgruppen() { |
||||
this.values = new ArrayList<>(); |
||||
} |
||||
|
||||
public static Altersgruppen parse(boolean hasCaption, String inputText) { |
||||
|
||||
Altersgruppen result = new Altersgruppen(); |
||||
|
||||
List<String> lines = inputText.lines().collect(Collectors.toList()); |
||||
if (hasCaption) { |
||||
lines.remove(0); |
||||
} |
||||
for (String line : lines) { |
||||
Altersgruppe g = new Altersgruppe(); |
||||
g.setBezeichnung(line); |
||||
result.getValues().add(g); |
||||
} |
||||
return result; |
||||
} |
||||
|
||||
public List<Altersgruppe> getValues() { |
||||
return values; |
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,7 @@ |
||||
package de.kreth.vaadin.clubhelper.vaadinclubhelper.dao; |
||||
|
||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Pflicht; |
||||
|
||||
public interface PflichtenDao extends IDao<Pflicht> { |
||||
|
||||
} |
||||
@ -0,0 +1,16 @@ |
||||
package de.kreth.vaadin.clubhelper.vaadinclubhelper.dao; |
||||
|
||||
import org.springframework.stereotype.Repository; |
||||
import org.springframework.transaction.annotation.Transactional; |
||||
|
||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Pflicht; |
||||
|
||||
@Repository |
||||
@Transactional |
||||
public class PflichtenDaoImpl extends AbstractDaoImpl<Pflicht> implements PflichtenDao { |
||||
|
||||
public PflichtenDaoImpl() { |
||||
super(Pflicht.class); |
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,120 @@ |
||||
package de.kreth.vaadin.clubhelper.vaadinclubhelper.data; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
import javax.persistence.Entity; |
||||
import javax.persistence.Inheritance; |
||||
import javax.persistence.InheritanceType; |
||||
import javax.persistence.JoinColumn; |
||||
import javax.persistence.ManyToOne; |
||||
import javax.persistence.NamedQuery; |
||||
import javax.persistence.Table; |
||||
|
||||
@Entity |
||||
@Table(name = "altersgruppe") |
||||
@Inheritance(strategy = InheritanceType.SINGLE_TABLE) |
||||
@NamedQuery(name = "Altersgruppe.findAll", query = "SELECT a FROM Altersgruppe a") |
||||
public class Altersgruppe extends BaseEntity implements Serializable { |
||||
|
||||
private static final long serialVersionUID = 126215772910869273L; |
||||
private String bezeichnung; |
||||
private int start; |
||||
private int end; |
||||
private Pflicht pflicht; |
||||
@ManyToOne |
||||
@JoinColumn(name = "event_id") |
||||
private ClubEvent clubEvent; |
||||
|
||||
public String getBezeichnung() { |
||||
return bezeichnung; |
||||
} |
||||
|
||||
public void setBezeichnung(String bezeichnung) { |
||||
this.bezeichnung = bezeichnung; |
||||
} |
||||
|
||||
public int getStart() { |
||||
return start; |
||||
} |
||||
|
||||
public void setStart(int start) { |
||||
this.start = start; |
||||
} |
||||
|
||||
public int getEnd() { |
||||
return end; |
||||
} |
||||
|
||||
public void setEnd(int end) { |
||||
this.end = end; |
||||
} |
||||
|
||||
public Pflicht getPflicht() { |
||||
return pflicht; |
||||
} |
||||
|
||||
public void setPflicht(Pflicht pflicht) { |
||||
this.pflicht = pflicht; |
||||
} |
||||
|
||||
public ClubEvent getClubEvent() { |
||||
return clubEvent; |
||||
} |
||||
|
||||
public void setClubEvent(ClubEvent clubEvent) { |
||||
this.clubEvent = clubEvent; |
||||
} |
||||
|
||||
@Override |
||||
public int hashCode() { |
||||
final int prime = 31; |
||||
int result = super.hashCode(); |
||||
result = prime * result + ((bezeichnung == null) ? 0 : bezeichnung.hashCode()); |
||||
result = prime * result + end; |
||||
result = prime * result + ((pflicht == null) ? 0 : pflicht.hashCode()); |
||||
result = prime * result + start; |
||||
return result; |
||||
} |
||||
|
||||
@Override |
||||
public boolean equals(Object obj) { |
||||
if (this == obj) { |
||||
return true; |
||||
} |
||||
if (!super.equals(obj)) { |
||||
return false; |
||||
} |
||||
if (getClass() != obj.getClass()) { |
||||
return false; |
||||
} |
||||
Altersgruppe other = (Altersgruppe) obj; |
||||
if (bezeichnung == null) { |
||||
if (other.bezeichnung != null) { |
||||
return false; |
||||
} |
||||
} else if (!bezeichnung.equals(other.bezeichnung)) { |
||||
return false; |
||||
} |
||||
if (end != other.end) { |
||||
return false; |
||||
} |
||||
if (pflicht == null) { |
||||
if (other.pflicht != null) { |
||||
return false; |
||||
} |
||||
} else if (!pflicht.equals(other.pflicht)) { |
||||
return false; |
||||
} |
||||
if (start != other.start) { |
||||
return false; |
||||
} |
||||
return true; |
||||
} |
||||
|
||||
@Override |
||||
public String toString() { |
||||
return "Altersgruppe [bezeichnung=" + bezeichnung + ", pflicht=" + pflicht + ", jahre=" + start + " - " + end |
||||
+ "]"; |
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,70 @@ |
||||
package de.kreth.vaadin.clubhelper.vaadinclubhelper.data; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
import javax.persistence.Entity; |
||||
import javax.persistence.Inheritance; |
||||
import javax.persistence.InheritanceType; |
||||
import javax.persistence.NamedQuery; |
||||
import javax.persistence.Table; |
||||
|
||||
@Entity |
||||
@Table(name = "pflichten") |
||||
@Inheritance(strategy = InheritanceType.SINGLE_TABLE) |
||||
@NamedQuery(name = "Pflicht.findAll", query = "SELECT p FROM Pflicht p") |
||||
public class Pflicht extends BaseEntity implements Serializable { |
||||
|
||||
private static final long serialVersionUID = -1309514158086518524L; |
||||
|
||||
private String name; |
||||
private boolean fixed; |
||||
private int ordered; |
||||
private String comment; |
||||
|
||||
public Pflicht() { |
||||
} |
||||
|
||||
public Pflicht(String name, boolean fixed, int ordered, String comment) { |
||||
this.name = name; |
||||
this.fixed = fixed; |
||||
this.ordered = ordered; |
||||
this.comment = comment; |
||||
} |
||||
|
||||
public String getName() { |
||||
return name; |
||||
} |
||||
|
||||
public void setName(String name) { |
||||
this.name = name; |
||||
} |
||||
|
||||
public boolean isFixed() { |
||||
return fixed; |
||||
} |
||||
|
||||
public void setFixed(boolean fixed) { |
||||
this.fixed = fixed; |
||||
} |
||||
|
||||
public int getOrdered() { |
||||
return ordered; |
||||
} |
||||
|
||||
public void setOrdered(int order) { |
||||
this.ordered = order; |
||||
} |
||||
|
||||
public String getComment() { |
||||
return comment; |
||||
} |
||||
|
||||
public void setComment(String comment) { |
||||
this.comment = comment; |
||||
} |
||||
|
||||
@Override |
||||
public String toString() { |
||||
return name; |
||||
} |
||||
} |
||||
@ -0,0 +1,53 @@ |
||||
CREATE TABLE `pflichten` ( |
||||
`id` INT NOT NULL AUTO_INCREMENT, |
||||
`name` VARCHAR(45) NOT NULL, |
||||
`fixed` TINYINT NULL, |
||||
`ordered` INT NOT NULL, |
||||
`comment` VARCHAR(500) NULL, |
||||
`changed` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
||||
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
||||
`deleted` DATETIME NULL DEFAULT NULL, |
||||
PRIMARY KEY (`id`), |
||||
UNIQUE INDEX `name_UNIQUE` (`name` ASC) VISIBLE); |
||||
|
||||
CREATE TABLE `altersgruppe` ( |
||||
`id` INT NOT NULL AUTO_INCREMENT, |
||||
`event_id` VARCHAR(250) NOT NULL, |
||||
`pflicht_id` INT NULL, |
||||
`bezeichnung` VARCHAR(100) NOT NULL, |
||||
`start` INT NULL, |
||||
`end` VARCHAR(45) NULL, |
||||
`changed` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, |
||||
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
||||
`deleted` DATETIME NULL DEFAULT NULL, |
||||
PRIMARY KEY (`id`), |
||||
INDEX `fk_altersgruppe_pflicht_idx` (`pflicht_id` ASC) VISIBLE, |
||||
INDEX `fk_altersgruppe_event_idx` (`event_id` ASC) VISIBLE, |
||||
CONSTRAINT `fk_altersgruppe_pflicht` |
||||
FOREIGN KEY (`pflicht_id`) |
||||
REFERENCES `pflichten` (`id`) |
||||
ON DELETE NO ACTION |
||||
ON UPDATE NO ACTION), |
||||
CONSTRAINT `fk_altersgruppe_event` |
||||
FOREIGN KEY (`event_id`) |
||||
REFERENCES `clubhelper`.`clubevent` (`id`) |
||||
ON DELETE NO ACTION |
||||
ON UPDATE NO ACTION; |
||||
|
||||
CREATE TABLE `event_has_altersgruppe` ( |
||||
`id` INT NOT NULL AUTO_INCREMENT, |
||||
`event_id` VARCHAR(250) NOT NULL, |
||||
`altersgruppe_id` INT NOT NULL, |
||||
PRIMARY KEY (`id`), |
||||
INDEX `fk_event_has_altersgruppe_event_idx` (`event_id` ASC) VISIBLE, |
||||
INDEX `fk_event_has_altersgruppe_altersgruppe_idx` (`altersgruppe_id` ASC) VISIBLE, |
||||
CONSTRAINT `fk_event_has_altersgruppe_event` |
||||
FOREIGN KEY (`event_id`) |
||||
REFERENCES `clubevent` (`id`) |
||||
ON DELETE NO ACTION |
||||
ON UPDATE NO ACTION, |
||||
CONSTRAINT `fk_event_has_altersgruppe_altersgruppe` |
||||
FOREIGN KEY (`altersgruppe_id`) |
||||
REFERENCES `altersgruppe` (`id`) |
||||
ON DELETE NO ACTION |
||||
ON UPDATE NO ACTION); |
||||
@ -1,4 +1,8 @@ |
||||
org.slf4j.simpleLogger.defaultLogLevel = debug |
||||
log4j.logger.de.kreth.vaadin.clubhelper=trace |
||||
log4j.logger.org.hibernate.type=warn |
||||
log4j.logger.org.jboss.logging=warn |
||||
org.slf4j.simpleLogger.defaultLogLevel=trace |
||||
org.slf4j.simpleLogger.logFile=System.err |
||||
org.slf4j.simpleLogger.showThreadName=false |
||||
|
||||
org.slf4j.simpleLogger.log.de.kreth.vaadin.clubhelper=trace |
||||
org.slf4j.simpleLogger.log.org.hibernate=info |
||||
org.slf4j.simpleLogger.log.com.zaxxer.hikari=info |
||||
org.slf4j.simpleLogger.log.com.mysql=info |
||||
@ -0,0 +1,107 @@ |
||||
package de.kreth.vaadin.clubhelper.vaadinclubhelper.ausschreibung; |
||||
|
||||
import static org.junit.Assert.assertEquals; |
||||
import static org.junit.Assert.assertNotNull; |
||||
import static org.mockito.Mockito.when; |
||||
|
||||
import java.util.List; |
||||
|
||||
import org.junit.jupiter.api.BeforeEach; |
||||
import org.junit.jupiter.api.Test; |
||||
import org.mockito.Mock; |
||||
import org.mockito.MockitoAnnotations; |
||||
|
||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.dao.PflichtenDao; |
||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Altersgruppe; |
||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.tests.TestPflichten; |
||||
|
||||
class AltersgruppenParserTest { |
||||
|
||||
@Mock |
||||
private PflichtenDao dao; |
||||
|
||||
@BeforeEach |
||||
void setUp() throws Exception { |
||||
MockitoAnnotations.initMocks(this); |
||||
when(dao.listAll()).thenReturn(TestPflichten.getFixedPflichten()); |
||||
} |
||||
|
||||
@Test |
||||
void testBezirksDMT2019() { |
||||
Altersgruppen bezDmt = Altersgruppen.parse(true, bezirksDMT2019()); |
||||
assertNotNull(bezDmt); |
||||
List<Altersgruppe> gruppen = bezDmt.getValues(); |
||||
assertEquals(7, gruppen.size()); |
||||
|
||||
} |
||||
|
||||
public String bezirksDMT2019() { |
||||
return "Klasse Alter Jahrgang\r\n" |
||||
|
||||
+ "Schüler – innen F 8 u. Jünger 2011 und jünger\r\n" |
||||
|
||||
+ "Schüler – innen E 9-10 2009 - 2010\r\n" |
||||
|
||||
+ "Schüler – innen D 11-12 2007 - 2008\r\n" |
||||
|
||||
+ "Schüler – innen C 13-14 2005 - 2006\r\n" |
||||
|
||||
+ "Schüler – innen B 15-16 2003 - 2004\r\n" |
||||
|
||||
+ "Jugendturner - innen 17-18 2001 - 2002\r\n" |
||||
|
||||
+ "Turner - innen 19 Jahre u. älter 2000 und älter"; |
||||
} |
||||
|
||||
public String bezEinzelWK2019() { |
||||
return "Klasse Jahrgang\r\n" |
||||
|
||||
+ "Schüler – innen G 2013 und jünger P3\r\n" |
||||
|
||||
+ "Schüler – innen F 2011 – 2012 P3\r\n" |
||||
|
||||
+ "Schüler – innen E 2009 – 2010 P3\r\n" |
||||
|
||||
+ "Schüler – innen D 2007 - 2008 P4\r\n" |
||||
|
||||
+ "Schüler – innen C 2005 - 2006 P4\r\n" |
||||
|
||||
+ "Schüler – innen B 2003 - 2004 P5\r\n" |
||||
|
||||
+ "Heranwachsende 2002-1998 P5\r\n" |
||||
|
||||
+ "Turner - innen 1997 -1990 P5"; |
||||
} |
||||
|
||||
public String bezEinzelMS2019() { |
||||
return "Klasse Jahrgang\r\n" |
||||
|
||||
+ "Schüler – innen F 2011 und jünger P3\r\n" |
||||
|
||||
+ "Schüler – innen E 2009 – 2010 P4\r\n" |
||||
|
||||
+ "Schüler – innen D 2007 - 2008 P5\r\n" |
||||
|
||||
+ "Schüler – innen C 2005 - 2006 P6\r\n" |
||||
|
||||
+ "Schüler – innen B 2003 - 2004 P7\r\n" |
||||
|
||||
+ "Heranwachsende 2002-1998 P8\r\n" |
||||
|
||||
+ "Turner - innen 1997 -1990 P8\r\n" |
||||
|
||||
+ "Oldies 1989 und älter P5"; |
||||
} |
||||
|
||||
public String kreisWK2019() { |
||||
return "Einsteigerwettkampf I Einsteigerwettkampf II\r\n" |
||||
+ "Jahrgangseinteilung/ Schüler/innen Jahrg. 2013 und jünger P 3 Jahrg. 2012 und jünger P 3\r\n" |
||||
+ "Pflichtübungen: Schüler/innen Jahrg. 2011 und 2012 P 3 Jahrg. 2009 bis 2011 P 3\r\n" |
||||
+ " Schüler/innen Jahrg. 2009 und 2010 P 3 Jahrg. 2006 bis 2008 P 3\r\n" |
||||
+ " Schüler/innen Jahrg. 2007 und 2008 P 3 Jahrg. 2003 bis 2005 P 3\r\n" |
||||
+ " Schüler/innen Jahrg. 2005 und 2006 P 3 Jahrg. 1994 bis 2002 P 4\r\n" |
||||
+ " Schüler/innen Jahrg. 2003 und 2004 P 3 Jahrg. 1993 und älter P 4\r\n" |
||||
+ " Heranwachsene Jahrg. 2002 bis 1994 P 4\r\n" + " Turner/innen Jahrg. 1993 und älter P 4\r\n" |
||||
+ "\r\n" + ""; |
||||
} |
||||
} |
||||
@ -0,0 +1,47 @@ |
||||
package de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.tests; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.Date; |
||||
import java.util.List; |
||||
|
||||
import javax.persistence.EntityManager; |
||||
import javax.persistence.EntityTransaction; |
||||
|
||||
import org.hibernate.SessionFactory; |
||||
import org.hibernate.cfg.Configuration; |
||||
|
||||
import de.kreth.vaadin.clubhelper.HibernateHolder; |
||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Pflicht; |
||||
|
||||
public class TestPflichten { |
||||
|
||||
public static List<Pflicht> getFixedPflichten() { |
||||
List<Pflicht> pflichten = new ArrayList<>(); |
||||
for (int i = 1; i < 9; i++) { |
||||
pflichten.add(new Pflicht("P" + i, true, i, null)); |
||||
} |
||||
|
||||
pflichten.add(new Pflicht("M5", true, 15, null)); |
||||
pflichten.add(new Pflicht("M6", true, 16, null)); |
||||
pflichten.add(new Pflicht("M7", true, 17, null)); |
||||
return pflichten; |
||||
} |
||||
|
||||
public static void main(String[] args) { |
||||
Configuration config = HibernateHolder.configuration(); |
||||
SessionFactory sf = config.buildSessionFactory(); |
||||
EntityManager em = sf.createEntityManager(); |
||||
|
||||
List<Pflicht> pflichten = getFixedPflichten(); |
||||
Date now = new Date(); |
||||
EntityTransaction tx = em.getTransaction(); |
||||
tx.begin(); |
||||
for (Pflicht pf : pflichten) { |
||||
pf.setCreated(now); |
||||
pf.setChanged(now); |
||||
em.persist(pf); |
||||
} |
||||
tx.commit(); |
||||
em.close(); |
||||
} |
||||
} |
||||
Loading…
Reference in new issue