PartJunction*Dto

This commit is contained in:
Patrick Haßel 2024-05-17 10:05:40 +02:00
parent 4fc22e961c
commit 0bd947a27b
24 changed files with 100 additions and 40 deletions

View File

@ -1,7 +1,6 @@
package de.ph87.electro.circuit;
import de.ph87.electro.circuit.dto.CircuitDto;
import de.ph87.electro.circuit.dto.PartDto;
import de.ph87.electro.circuit.part.PartDto;
import de.ph87.electro.circuit.part.Junction;
import de.ph87.electro.circuit.part.Orientation;
import de.ph87.electro.circuit.part.Part;

View File

@ -1,6 +1,6 @@
package de.ph87.electro.circuit.dto;
package de.ph87.electro.circuit;
import de.ph87.electro.circuit.Circuit;
import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;

View File

@ -1,7 +1,6 @@
package de.ph87.electro.circuit;
import com.fasterxml.jackson.databind.ObjectMapper;
import de.ph87.electro.circuit.dto.CircuitDto;
import java.io.IOException;
import java.io.InputStream;

View File

@ -1,7 +1,6 @@
package de.ph87.electro.circuit.part;
import de.ph87.electro.circuit.ShortCircuit;
import de.ph87.electro.circuit.dto.JunctionDto;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

View File

@ -1,6 +1,5 @@
package de.ph87.electro.circuit.dto;
package de.ph87.electro.circuit.part;
import de.ph87.electro.circuit.part.Junction;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;

View File

@ -1,7 +1,6 @@
package de.ph87.electro.circuit.part;
import de.ph87.electro.circuit.ShortCircuit;
import de.ph87.electro.circuit.dto.*;
import de.ph87.electro.circuit.part.impl.*;
import lombok.Getter;
import lombok.Setter;
@ -191,6 +190,9 @@ public abstract class Part {
public static Part of(final PartDto abstractDto) {
return switch (abstractDto) {
case final PartBatteryDto dto -> new PartBattery(dto);
case final PartJunctionCornerDto dto -> new PartJunctionCorner(dto);
case final PartJunctionEdgeDto dto -> new PartJunctionEdge(dto);
case final PartJunctionMiddleDto dto -> new PartJunctionMiddle(dto);
case final PartLightDto dto -> new PartLight(dto);
case final PartSwitch1x1Dto dto -> new PartSwitch1x1(dto);
case final PartSwitch1x2Dto dto -> new PartSwitch1x2(dto);

View File

@ -1,8 +1,6 @@
package de.ph87.electro.circuit.dto;
package de.ph87.electro.circuit.part;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import de.ph87.electro.circuit.part.Orientation;
import de.ph87.electro.circuit.part.Part;
import de.ph87.electro.circuit.part.impl.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
@ -38,6 +36,9 @@ public class PartDto {
public static PartDto of(final Part abstractPart) {
return switch (abstractPart) {
case final PartBattery part -> new PartBatteryDto(part);
case final PartJunctionCorner part -> new PartJunctionCornerDto(part);
case final PartJunctionEdge part -> new PartJunctionEdgeDto(part);
case final PartJunctionMiddle part -> new PartJunctionMiddleDto(part);
case final PartLight part -> new PartLightDto(part);
case final PartSwitch1x1 part -> new PartSwitch1x1Dto(part);
case final PartSwitch1x2 part -> new PartSwitch1x2Dto(part);

View File

@ -1,7 +1,5 @@
package de.ph87.electro.circuit.part;
import de.ph87.electro.circuit.dto.PartDto;
import java.awt.*;
public abstract class PartOther extends Part {

View File

@ -1,7 +1,6 @@
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.ShortCircuit;
import de.ph87.electro.circuit.dto.PartBatteryDto;
import de.ph87.electro.circuit.part.Junction;
import de.ph87.electro.circuit.part.Orientation;
import de.ph87.electro.circuit.part.Part;

View File

@ -1,6 +1,7 @@
package de.ph87.electro.circuit.dto;
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.part.impl.PartBattery;
import de.ph87.electro.circuit.part.JunctionDto;
import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;

View File

@ -1,6 +1,5 @@
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.dto.PartSwitchCrossDto;
import de.ph87.electro.circuit.part.Junction;
import de.ph87.electro.circuit.part.Orientation;
import de.ph87.electro.circuit.part.PartOther;
@ -29,10 +28,10 @@ public class PartJunctionCorner extends PartOther {
j1 = newJunction(this, "", P90, P90);
}
public PartJunctionCorner(final PartSwitchCrossDto dto) {
public PartJunctionCorner(final PartJunctionCornerDto dto) {
super(dto);
j0 = newJunction(this, dto.getCommon0(), P10, P25);
j1 = newJunction(this, dto.getOutput1(), P90, P75);
j0 = newJunction(this, dto.getJ0(), P10, P10);
j1 = newJunction(this, dto.getJ1(), P90, P90);
}
}

View File

@ -0,0 +1,23 @@
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.part.JunctionDto;
import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Getter
@ToString
@NoArgsConstructor
public class PartJunctionCornerDto extends PartDto {
private JunctionDto j0;
private JunctionDto j1;
public PartJunctionCornerDto(final PartJunctionCorner part) {
j0 = new JunctionDto(part.getJ0());
j1 = new JunctionDto(part.getJ1());
}
}

View File

@ -1,6 +1,5 @@
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.dto.PartSwitchCrossDto;
import de.ph87.electro.circuit.part.Junction;
import de.ph87.electro.circuit.part.Orientation;
import de.ph87.electro.circuit.part.PartOther;
@ -30,10 +29,10 @@ public class PartJunctionEdge extends PartOther {
j1 = newJunction(this, "", P50, P10);
}
public PartJunctionEdge(final PartSwitchCrossDto dto) {
public PartJunctionEdge(final PartJunctionEdgeDto dto) {
super(dto);
j0 = newJunction(this, dto.getCommon0(), 0, P50);
j1 = newJunction(this, dto.getOutput1(), P50, 0);
j0 = newJunction(this, dto.getJ0(), P10, P50);
j1 = newJunction(this, dto.getJ1(), P50, P10);
}
}

View File

@ -0,0 +1,23 @@
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.part.JunctionDto;
import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Getter
@ToString
@NoArgsConstructor
public class PartJunctionEdgeDto extends PartDto {
private JunctionDto j0;
private JunctionDto j1;
public PartJunctionEdgeDto(final PartJunctionEdge part) {
j0 = new JunctionDto(part.getJ0());
j1 = new JunctionDto(part.getJ1());
}
}

View File

@ -1,6 +1,5 @@
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.dto.PartSwitchCrossDto;
import de.ph87.electro.circuit.part.Junction;
import de.ph87.electro.circuit.part.Orientation;
import de.ph87.electro.circuit.part.PartOther;
@ -26,9 +25,9 @@ public class PartJunctionMiddle extends PartOther {
junction = newJunction(this, "", P50, P50);
}
public PartJunctionMiddle(final PartSwitchCrossDto dto) {
public PartJunctionMiddle(final PartJunctionMiddleDto dto) {
super(dto);
junction = newJunction(this, dto.getCommon0(), P50, P50);
junction = newJunction(this, dto.getJunction(), P50, P50);
}
}

View File

@ -0,0 +1,20 @@
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.part.JunctionDto;
import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Getter
@ToString
@NoArgsConstructor
public class PartJunctionMiddleDto extends PartDto {
private JunctionDto junction;
public PartJunctionMiddleDto(final PartJunctionMiddle part) {
junction = new JunctionDto(part.getJunction());
}
}

View File

@ -1,6 +1,5 @@
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.dto.PartLightDto;
import de.ph87.electro.circuit.part.Junction;
import de.ph87.electro.circuit.part.Orientation;
import de.ph87.electro.circuit.part.PartOther;

View File

@ -1,6 +1,7 @@
package de.ph87.electro.circuit.dto;
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.part.impl.PartLight;
import de.ph87.electro.circuit.part.JunctionDto;
import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;

View File

@ -1,7 +1,6 @@
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.ShortCircuit;
import de.ph87.electro.circuit.dto.PartSwitch1x1Dto;
import de.ph87.electro.circuit.part.Junction;
import de.ph87.electro.circuit.part.Orientation;
import de.ph87.electro.circuit.part.PartOther;

View File

@ -1,6 +1,7 @@
package de.ph87.electro.circuit.dto;
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.part.impl.PartSwitch1x1;
import de.ph87.electro.circuit.part.JunctionDto;
import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;

View File

@ -1,7 +1,6 @@
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.ShortCircuit;
import de.ph87.electro.circuit.dto.PartSwitch1x2Dto;
import de.ph87.electro.circuit.part.Junction;
import de.ph87.electro.circuit.part.Orientation;
import de.ph87.electro.circuit.part.PartOther;

View File

@ -1,6 +1,7 @@
package de.ph87.electro.circuit.dto;
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.part.impl.PartSwitch1x2;
import de.ph87.electro.circuit.part.JunctionDto;
import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;

View File

@ -1,7 +1,6 @@
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.ShortCircuit;
import de.ph87.electro.circuit.dto.PartSwitchCrossDto;
import de.ph87.electro.circuit.part.Junction;
import de.ph87.electro.circuit.part.Orientation;
import de.ph87.electro.circuit.part.PartOther;

View File

@ -1,6 +1,7 @@
package de.ph87.electro.circuit.dto;
package de.ph87.electro.circuit.part.impl;
import de.ph87.electro.circuit.part.impl.PartSwitchCross;
import de.ph87.electro.circuit.part.JunctionDto;
import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;