Skip to content

Package: PlaneUndSimuliereKommando

PlaneUndSimuliereKommando

nameinstructionbranchcomplexitylinemethod
PlaneUndSimuliereKommando(LocalDateTime, Collection, Set, List, List, MaschinenRollenbelegungServiceParameter, Collection)
M: 0 C: 24
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 9
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(LocalDateTime, Collection, Set, List, List, MaschinenRollenbelegungServiceParameter, Collection)
M: 0 C: 11
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: 19
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.tagesplanung;
2:
3: import auftraege.Dokumentenklasse;
4: import auftraege.auftragsBildungsParameter.abstraction.ProduktionsauftragsParameter;
5: import maschine.Maschine;
6: import material.MaterialMitMessung;
7: import mensch.Mitarbeiter;
8: import rollenbelegung.SortierParameter.MaschinenRollenbelegungServiceParameter;
9: import schnittstelle.kommandoArchitektur.KommandoMitExceptionMitResultat;
10: import schnittstelle.kommandoArchitektur.KommandoVisitor;
11: import simulation.SimulationsErgebnis;
12: import simulation.exceptions.SimulationsException;
13: import tagesplanung.TagesplanungsServiceImpl;
14: import util.Pair;
15: import util.exceptions.PPSException;
16:
17: import java.time.LocalDateTime;
18: import java.util.Collection;
19: import java.util.List;
20: import java.util.Set;
21:
22: /**
23: * Klasse, welche ein Kommando darstellt, welches die Operation planeUndSimuliere aus {@link tagesplanung.TagesplanungsService} kapselt.
24: */
25: public final class PlaneUndSimuliereKommando extends
26: KommandoMitExceptionMitResultat<Pair<Collection<Dokumentenklasse>, SimulationsErgebnis>, SimulationsException> {
27:         
28:         private final LocalDateTime startzeit;
29:         private final Collection<Dokumentenklasse> dokumentenklassen;
30:         private final Set<ProduktionsauftragsParameter> produktionsauftragsParameter;
31:         private final List<Maschine> maschinen;
32:         private final List<Mitarbeiter> mitarbeiter;
33:         private final MaschinenRollenbelegungServiceParameter maschinenRollenbelegungServiceParameter;
34:         private final Collection<MaterialMitMessung<?>> verfuegbaresMaterial;
35:         
36:         private PlaneUndSimuliereKommando(final LocalDateTime startzeit,
37:                         final Collection<Dokumentenklasse> dokumentenklassen,
38:                         final Set<ProduktionsauftragsParameter> produktionsauftragsParameter, final List<Maschine> maschinen,
39:                         final List<Mitarbeiter> mitarbeiter,
40:                         final MaschinenRollenbelegungServiceParameter maschinenRollenbelegungServiceParameter,
41:                         final Collection<MaterialMitMessung<?>> verfuegbaresMaterial) {
42:                 this.startzeit = startzeit;
43:                 this.dokumentenklassen = dokumentenklassen;
44:                 this.produktionsauftragsParameter = produktionsauftragsParameter;
45:                 this.maschinen = maschinen;
46:                 this.mitarbeiter = mitarbeiter;
47:                 this.maschinenRollenbelegungServiceParameter = maschinenRollenbelegungServiceParameter;
48:                 this.verfuegbaresMaterial = verfuegbaresMaterial;
49:         }
50:         
51:         /**
52:          * Erstellt das Kommando mit den entsprechenden Parametern für die Operation.
53:          *
54:          * @param startzeit
55:          * füt planeUndSimuliere.
56:          * @param dokumentenklassen
57:          * für planeUndSimuliere.
58:          * @param produktionsauftragsParameter
59:          * für planeUndSimuliere.
60:          * @param maschinen
61:          * für planeUndSimuliere.
62:          * @param mitarbeiter
63:          * für planeUndSimuliere.
64:          * @param maschinenRollenbelegungServiceParameter
65:          * für planeUndSimuliere.
66:          * @param verfuegbaresMaterial
67:          * für planeUndSimuliere.
68:          * @return das erstellte Kommando
69:          */
70:         public static PlaneUndSimuliereKommando create(final LocalDateTime startzeit,
71:                         final Collection<Dokumentenklasse> dokumentenklassen,
72:                         final Set<ProduktionsauftragsParameter> produktionsauftragsParameter, final List<Maschine> maschinen,
73:                         final List<Mitarbeiter> mitarbeiter,
74:                         final MaschinenRollenbelegungServiceParameter maschinenRollenbelegungServiceParameter,
75:                         final Collection<MaterialMitMessung<?>> verfuegbaresMaterial) {
76:                 return new PlaneUndSimuliereKommando(startzeit, dokumentenklassen, produktionsauftragsParameter, maschinen, mitarbeiter,
77:                                 maschinenRollenbelegungServiceParameter, verfuegbaresMaterial);
78:         }
79:         
80:         @Override
81:         protected Pair<Collection<Dokumentenklasse>, SimulationsErgebnis> doIt() {
82:                 return new TagesplanungsServiceImpl(this.startzeit).planeUndSimuliere(
83:                                 this.dokumentenklassen,
84:                                 this.produktionsauftragsParameter, this.maschinen, this.mitarbeiter,
85:                                 this.maschinenRollenbelegungServiceParameter, this.verfuegbaresMaterial);
86:         }
87:         
88:         @Override
89:         public void accept(final KommandoVisitor v) throws PPSException {
90: // TODO Wenn man den Visitor dies handeln lässt, muss der Visitor aus model das Packet service kennen.
91: // Service kennt aber schon model und wir hätten eine circular dependency
92:         }
93: }