Events verarbeiten

Detlef7able

Aktives Mitglied
Guten Tag,

ich habe hier eine Übungsaufgabe bzgl. Events. Mir ist die Sache noch sehr unverständlich.

Die Aufgabe ist folgende:

Wenn eine Person dem Schachverein beitritt, wird sie zu einem Mitglied des Vereins (Member.java), d.h. die Mitgliedsinstanz und relevante Mitgliedsangaben (Mitgliedsnummer, Eintrittsdatum, …) werden erst bei Vereinsbeitritt erzeugt. Folgende Events, die von DomainEvent erben, beeinflussen hierbei das Datenmodell und sollen durch den EventProcessor (EventProcessor.java) verarbeitet werden:

• JoinEvent: o Personen treten einem Verein bei und werden zu Mitgliedern dieses Vereins. Die Mitgliedsnummer wird mit jedem neuen Vereinsmitglied um den Wert 1 erhöht.

• LeaveEvent: o Mitglieder treten aus dem Verein aus. Das Austrittsdatum (exitDate1 ) soll hierbei auf das aktuelle Datum gesetzt werden.

Implementieren und testen Sie JoinEvent.java und LeaveEvent.java.

Ja habe hier vorgefertigte Programmstücke. Ich weiß nun gar nicht wie hier alles zusammenhängt.
Wäre schön wenn mir das jemand etwas näher bringen könnte bzgl. dem Sinn des Ganzen.

[CODE lang="java" title="Chessclub.java"]package org.htwdresden.informatik.eventSourcingExercise.model;

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Predicate;

import org.htwdresden.informatik.eventSourcingExercise.event.JoinEvent;
import org.htwdresden.informatik.eventSourcingExercise.event.LeaveEvent;
import org.htwdresden.informatik.eventSourcingSimpleDemo.model.Cargo;
import org.htwdresden.informatik.eventSourcingSimpleDemo.model.Ship;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class ChessClub extends Club {
private static final Logger log = LoggerFactory.getLogger(ChessClub.class);
private String zps;
private List<Member> memberList = new ArrayList<Member>();




public ChessClub(String zps, String name, Address address) {
super(name, address);
this.zps = zps;
}

public String getZps() {
return zps;
}


public boolean isMember(Person p) {
if(memberIndex(p) != -1 ) {
log.info("found member "+p.getName().getFullName());
return true;
}
return false;
}

// return -1 if member is not found
// otherwise position in list
private int memberIndex(Person p) {
for (Member member : memberList) {
if(p.equals(member)) {
return memberList.indexOf(member);
}
}
return -1;
}

public List<Member> getMembers() {
return memberList;
}


// TODO implement active members. method should return the number of active members
// i.e. where exitDate is null
public long activeMembers() {
return 0;

}

public void handleJoin(JoinEvent event) {
// TODO handleJoin

}


public void handleReverseJoin(JoinEvent event) {
// TODO handleReverseJoin
}

private Member getMember(Person p) {
int memberIndex = memberIndex(p);
if(memberIndex != -1) {
Member m = memberList.get(memberIndex);
return m;
}
return null;
}


public void handleLeave(LeaveEvent event) {
// TODO handleLeave event

}


}
[/CODE]
[CODE lang="java" title="Person.java"]package org.htwdresden.informatik.eventSourcingExercise.model;

import java.time.LocalDate;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Person {
private static final Logger log = LoggerFactory.getLogger(Person.class);

private Name name;
private Address address;


private Gender gender;


private LocalDate birthDate;

public Gender getGender() {
return gender;
}

public LocalDate getBirthDate() {
return birthDate;
}

public Name getName() {
return name;
}

public Address getAddress() {
return this.address;
}



public void setGender(Gender gender) {
this.gender = gender;
}


private Person(Name name, Address address) {
this.name = name;
this.address = address;
}

public Person(Name name, Address address, Gender gender, LocalDate birthDate) {
this(name,address);
setGender(gender);
this.birthDate = birthDate;
}


@Override
public boolean equals(Object obj) {
if(!(obj instanceof Person)) return false;

Person p = (Person) obj;

// Gleich wenn Name, Geburtsdatum und Adresse übereinstimmen
if(p.getName().equals(this.getName()))
if(p.getBirthDate().equals(this.getBirthDate()))
if(p.getAddress().equals(this.getAddress()))
return true;

return false;
}

}[/CODE]

[CODE lang="java" title="JoinEvent.java"]package org.htwdresden.informatik.eventSourcingExercise.event;

import java.time.LocalDate;

import org.htwdresden.informatik.eventSourcingExercise.model.ChessClub;
import org.htwdresden.informatik.eventSourcingExercise.model.Member;
import org.htwdresden.informatik.eventSourcingExercise.model.Person;
import org.htwdresden.informatik.eventSourcingSimpleDemo.event.DomainEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


//TODO implement JoinEvent (as DomainEvent)
public class JoinEvent {
private static final Logger log = LoggerFactory.getLogger(JoinEvent.class);
public JoinEvent(LocalDate date, Person person, ChessClub club) {

}



}[/CODE]
 

Neumi5694

Top Contributor
Das sind ganz einfache Datenklassen, da kommt nichts fancy rein. Es geht hier rein um das Speichern der Parameter und die Möglichkeit, von außen darauf zuzugreifen.
Was du machen musst, ist den fehlenden Code zu ergänzen.

Fang mal mit der Klasse Join-Event an. Die Parameter im Konstruktur kriegst du ja schon, da wird dir der "schwierige" Teil eh eh schon vorgekaut.
Jetzt musst du zunächst mal dafür sorgen, dass die in der Instanz der Klasse (also keine static variablen) auch abgespeichert werden, verwende dafür den private modifier. Zusätzlich schreibst du noch public Zugriffsmethoden, damit man von außen auf die abgespeicherten Werte zugreifen kann.

Sobald du das hast, poste mal und/oder mach mit der Klasse LeaveEvent das Gleiche.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Ical4j - Lazy Loading von Events? Java Basics - Anfänger-Themen 2
nonickatall Erste Schritte Events Dokumentation/Tutorial Java Basics - Anfänger-Themen 1
K die Source eines Events bei verschiedenen Quellen herausfinden Java Basics - Anfänger-Themen 1
M Best Practice Events für jeden, oder für die Allgemeinheit "registrieren"? Java Basics - Anfänger-Themen 5
O Wie Log4J - Ausgaben/Events auffangen?! Java Basics - Anfänger-Themen 3
Thallius Best Practice Events zwischen eigenen Klassen Java Basics - Anfänger-Themen 2
G Events schreiben, solange Programm läuft Java Basics - Anfänger-Themen 6
H [JAVA] NetBeans GUI Builder - Events Java Basics - Anfänger-Themen 10
G Erste Schritte Window Events in Java Java Basics - Anfänger-Themen 6
Y Events auslösen Java Basics - Anfänger-Themen 11
T fenster schliesen und mouse events in einer nicht abstrakten klasse Java Basics - Anfänger-Themen 6
S Dauer eines Events anhandUnterschied berechnen? Java Basics - Anfänger-Themen 3
Nicer Maus Events Java Basics - Anfänger-Themen 2
H Listener und Events entfernen Java Basics - Anfänger-Themen 2
R wieso Nullpoint und was mit Events ? Java Basics - Anfänger-Themen 14
F Reihenfolge in der Events abgearbeitet werden Java Basics - Anfänger-Themen 2
Luk10 Problem mit vielen Timer(-Events) Java Basics - Anfänger-Themen 17
B Events behandeln Java Basics - Anfänger-Themen 4
A Events werfen/feuern wenn bestimtm methode ausgeführt wird Java Basics - Anfänger-Themen 3
E import org.eclipse.swt.Events.PaintListener; Java Basics - Anfänger-Themen 1
M Urheber von Events ermitteln Java Basics - Anfänger-Themen 5
S Eigene Events werfen? Java Basics - Anfänger-Themen 6
G Events manuell aulösen Java Basics - Anfänger-Themen 3
C Listener und Events Java Basics - Anfänger-Themen 10
D Events nicht bei den jeweiligen Objekten? Java Basics - Anfänger-Themen 3
G PropertyChangeListener empfängt Events doppelt Java Basics - Anfänger-Themen 5
F Eigene Klasse für Events Java Basics - Anfänger-Themen 10
G Events Java Basics - Anfänger-Themen 8
S Keylistener-Events hochreichen Java Basics - Anfänger-Themen 4
H Problem mit Events bzw. Referenzen Java Basics - Anfänger-Themen 4
H Events Java Basics - Anfänger-Themen 5
G Loop blockt alle Events Java Basics - Anfänger-Themen 7
D Probleme mit key events Java Basics - Anfänger-Themen 6
S Events Java Basics - Anfänger-Themen 11
S MouseListener - Events auf Mouseklick Java Basics - Anfänger-Themen 14
D Events Java Basics - Anfänger-Themen 4
G Events Java Basics - Anfänger-Themen 2
E Events nicht an aufrufendes Objekt schicken Java Basics - Anfänger-Themen 23
R events . usw Java Basics - Anfänger-Themen 6
S winXP -> window-events Java Basics - Anfänger-Themen 2
D [Problem] Events Java Basics - Anfänger-Themen 3
T 3D Objekte verarbeiten Java Basics - Anfänger-Themen 2
A CSV-Datei Verarbeiten Java Basics - Anfänger-Themen 8
J CSV-Datei verarbeiten Java Basics - Anfänger-Themen 27
A Verarbeiten einer Excel Datei durch das java-Programm Java Basics - Anfänger-Themen 3
S Datein auslesen und verarbeiten Java Basics - Anfänger-Themen 1
R txt Einlesen und Verarbeiten Java Basics - Anfänger-Themen 15
M Erste Schritte CSV-File einlesen und Daten verarbeiten Java Basics - Anfänger-Themen 5
G csv datei verarbeiten Java Basics - Anfänger-Themen 18
Z Textdateien einlesen und verarbeiten Java Basics - Anfänger-Themen 3
V Excel Datei einlesen und verarbeiten Java Basics - Anfänger-Themen 4
J CSV Datei einlesen und verarbeiten Java Basics - Anfänger-Themen 10
A Auslesen, verarbeiten und ausgeben Java Basics - Anfänger-Themen 22
B große jpeg verarbeiten Java Basics - Anfänger-Themen 8
H Daten einlesen und verarbeiten Java Basics - Anfänger-Themen 4
M Datentypen Strings nach Muster auslesen und verarbeiten Java Basics - Anfänger-Themen 5
D CSV Datei einlesen und verarbeiten Java Basics - Anfänger-Themen 23
N Fragen zu String durchsuchen und verarbeiten Java Basics - Anfänger-Themen 23
D Eingelesene Datei verarbeiten Java Basics - Anfänger-Themen 11
R Daten aus Datenbank lesen, verarbeiten und schreiben. Java Basics - Anfänger-Themen 1
C Problem mit Lesen und Speichern und Verarbeiten von großen Text Dateien Java Basics - Anfänger-Themen 5
G Gleichzeitiges Verarbeiten von Variablen 2er Obj. selber Kl. Java Basics - Anfänger-Themen 5
S utf-8 codierte Strings verarbeiten Java Basics - Anfänger-Themen 2
X mehrere Dateien lesen/verarbeiten Java Basics - Anfänger-Themen 3
A Textfile verarbeiten. Java Basics - Anfänger-Themen 15
G setValueAt Rückgabewert verarbeiten? Java Basics - Anfänger-Themen 12
M Letzte Zeille einer Datei verarbeiten Java Basics - Anfänger-Themen 3
T longs binär verarbeiten Java Basics - Anfänger-Themen 4
G dateien verarbeiten Java Basics - Anfänger-Themen 7
zilti String verarbeiten Java Basics - Anfänger-Themen 4
M HTML Seite die Daten in JavaApplet dynamisch verarbeiten Java Basics - Anfänger-Themen 2
G Gleiche Aktionen verarbeiten (aber nur einmal Code)? Java Basics - Anfänger-Themen 2
T Bei Struts Beans updaten ohne ein Request zu verarbeiten Java Basics - Anfänger-Themen 4
M Daten eingeben und verarbeiten Java Basics - Anfänger-Themen 8
C Html-Seite aus dem Internet verarbeiten Java Basics - Anfänger-Themen 10
G Dateiliste verarbeiten Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben