Skip to content

Package: FindeBelegungKommando

FindeBelegungKommando

nameinstructionbranchcomplexitylinemethod
FindeBelegungKommando(List, List, List, MaschinenRollenbelegungServiceParameter)
M: 0 C: 15
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
accept(KommandoVisitor)
M: 0 C: 1
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
create(List, List, List, MaschinenRollenbelegungServiceParameter)
M: 0 C: 8
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
doIt()
M: 0 C: 13
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: package servicekommandos.rollenbelegung;
2:
3: import auftraege.ProduktionsAuftrag;
4: import maschine.Maschine;
5: import mensch.Mitarbeiter;
6: import rollenbelegung.ErmittelteBelegungen;
7: import rollenbelegung.Produktionsplaner;
8: import rollenbelegung.SortierParameter.MaschinenRollenbelegungServiceParameter;
9: import schnittstelle.kommandoArchitektur.KommandoOhneExceptionMitResultat;
10: import schnittstelle.kommandoArchitektur.KommandoVisitor;
11: import util.exceptions.PPSException;
12:
13: import java.util.List;
14:
15: /**
16: * Klasse, welche ein Kommando darstellt, welches die Operation findeBelegung aus {@link rollenbelegung.MaschinenRollenbelegungService} kapselt.
17: */
18: public final class FindeBelegungKommando extends KommandoOhneExceptionMitResultat<ErmittelteBelegungen> {
19:
20:
21: private final MaschinenRollenbelegungServiceParameter parameter;
22: private final List<ProduktionsAuftrag> produktionsAuftraege;
23: private final List<Mitarbeiter> mitarbeiter;
24: private final List<Maschine> maschinen;
25:
26: private FindeBelegungKommando(final List<Maschine> maschinen,
27: final List<Mitarbeiter> mitarbeiter,
28: final List<ProduktionsAuftrag> produktionsAuftraege,
29: final MaschinenRollenbelegungServiceParameter parameter) {
30: this.parameter = parameter;
31: this.produktionsAuftraege = produktionsAuftraege;
32: this.mitarbeiter = mitarbeiter;
33: this.maschinen = maschinen;
34:
35: }
36:
37: /**
38: *
39: * @param maschinen Maschinen für den MaschinenRollenbelegungService
40: * @param mitarbeiter Mitarbeiter für den MaschinenRollenbelegungService
41: * @param produktionsAuftraege Produktionsaufträge für den MaschinenRollenbelegungService
42: * @param parameter Parameter für den MaschinenRollenbelegungService
43: * @return ein Kommando für die findeBelegung() Operation aus dem MaschinenRollenbelegungService
44: */
45: public static FindeBelegungKommando create(final List<Maschine> maschinen,
46: final List<Mitarbeiter> mitarbeiter,
47: final List<ProduktionsAuftrag> produktionsAuftraege,
48: final MaschinenRollenbelegungServiceParameter parameter) {
49: return new FindeBelegungKommando(maschinen, mitarbeiter, produktionsAuftraege, parameter);
50: }
51:
52:
53: @Override
54: protected ErmittelteBelegungen doIt() {
55: return new Produktionsplaner().findeBelegung(this.maschinen, this.mitarbeiter, this.produktionsAuftraege, this.parameter);
56: }
57:
58: @Override
59: public void accept(final KommandoVisitor v) throws PPSException {
60: // TODO Wenn man den Visitor dies handeln lässt, muss der Visitor aus model das Packet service kennen.
61: // Service kennt aber schon model und wir hätten eine circular dependency
62: }
63: }