Robotfactory bugfix
parent
5cc917bbd3
commit
8705cf23ea
|
@ -10,12 +10,13 @@ public class Main {
|
|||
RobotType R2D2 = RobotType.R2D2;
|
||||
RobotType C3P0 = RobotType.C3P0;
|
||||
for (int i = 0; i < 10000; i++) {
|
||||
rf.getRobot(R2D2, 0);
|
||||
rf.getRobot(R2D2, "TestR2D2");
|
||||
}
|
||||
System.out.println("finished R2D2");
|
||||
for (int i = 0; i < 10000; i++) {
|
||||
rf.getRobot(C3P0, 0);
|
||||
rf.getRobot(C3P0, "TestC3P0");
|
||||
}
|
||||
System.out.println("finished C3P0");
|
||||
System.out.println("finished");
|
||||
}
|
||||
}
|
|
@ -17,8 +17,8 @@ import java.util.Set;
|
|||
* @see RobotType
|
||||
*/
|
||||
public class RobotFactory {
|
||||
private Set<Integer> serialNumbersR2D2 = new HashSet<>();
|
||||
private Set<Integer> serialNumbersC3P0 = new HashSet<>();
|
||||
private static Set<Integer> serialNumbersR2D2 = new HashSet<>();
|
||||
private static Set<Integer> serialNumbersC3P0 = new HashSet<>();
|
||||
|
||||
/**
|
||||
* Factory Method to get a {@link Robot}
|
||||
|
@ -28,7 +28,7 @@ public class RobotFactory {
|
|||
* @return a {@link Robot robot instance} of specified type, if no type matches {@code null}
|
||||
* @throws RobotIllegalStateException the robot initializes in an illegal state
|
||||
*/
|
||||
public Robot getRobot(RobotType type, int serialNumber) throws RobotIllegalStateException {
|
||||
public Robot getRobot(RobotType type, String name) throws RobotIllegalStateException {
|
||||
Random r = new Random();
|
||||
boolean usedSerialNumber = true;
|
||||
switch (type) {
|
||||
|
@ -53,7 +53,7 @@ public class RobotFactory {
|
|||
usedSerialNumber = false;
|
||||
}
|
||||
}while(usedSerialNumber);
|
||||
return new R2D2(serialNumberR2D2);
|
||||
return new R2D2(serialNumberR2D2, name);
|
||||
}
|
||||
default -> {
|
||||
return null;
|
||||
|
|
|
@ -13,8 +13,8 @@ import de.hsmannheim.informatik.name.domain.exceptions.RobotMagicValueException;
|
|||
* @see StarWarsRobot
|
||||
*/
|
||||
public class R2D2 extends StarWarsRobot {
|
||||
public R2D2(int id) throws RobotIllegalStateException {
|
||||
super(',', id, "R2D2");
|
||||
public R2D2(int id, String name) throws RobotIllegalStateException {
|
||||
super(',', id, name);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue