Skip to content

Package: PlaneUndSimuliereMitOptimalenParameterAusKommando

PlaneUndSimuliereMitOptimalenParameterAusKommando

nameinstructionbranchcomplexitylinemethod
PlaneUndSimuliereMitOptimalenParameterAusKommando(LocalDateTime, Collection, Set, List, List, MaschinenRollenbelegungServiceParameter, Collection)
M: 24 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 9 C: 0
0%
M: 1 C: 0
0%
accept(KommandoVisitor)
M: 1 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
create(LocalDateTime, Collection, Set, List, List, MaschinenRollenbelegungServiceParameter, Collection)
M: 11 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
doIt()
M: 19 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%

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