package cleanup

This commit is contained in:
Patrick Haßel 2024-05-22 13:54:45 +02:00
parent a4d8f9cb2a
commit 81375c94e9
39 changed files with 86 additions and 66 deletions

1
.gitignore vendored
View File

@ -1,4 +1,5 @@
/.idea/ /.idea/
/data/
target/ target/
!.mvn/wrapper/maven-wrapper.jar !.mvn/wrapper/maven-wrapper.jar

View File

@ -1,17 +1,27 @@
package de.ph87.electro.circuit; package de.ph87.electro.circuit;
import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.calculation.Calculation;
import de.ph87.electro.circuit.part.Part; import de.ph87.electro.circuit.part.Part;
import de.ph87.electro.circuit.part.PartDto; import de.ph87.electro.circuit.part.PartDto;
import de.ph87.electro.circuit.part.Position; import de.ph87.electro.circuit.part.Position;
import de.ph87.electro.circuit.part.junction.Junction;
import de.ph87.electro.circuit.wire.Wire;
import de.ph87.electro.circuit.wire.WireDto;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.NonNull; import lombok.NonNull;
import lombok.extern.slf4j.Slf4j;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Stream; import java.util.stream.Stream;
import static de.ph87.electro.circuit.CircuitIOService.write;
@Slf4j
@NoArgsConstructor @NoArgsConstructor
public class Circuit { public class Circuit {
@ -40,6 +50,15 @@ public class Circuit {
} }
public void evaluateAndRender() { public void evaluateAndRender() {
try {
final File file = new File("./data/circuit.json");
if (file.getParentFile().mkdirs()) {
log.info("Directory created: {}", file.getParent());
}
write(this, new FileOutputStream(file));
} catch (IOException e) {
log.error(e.toString());
}
Calculation.calculate(this); Calculation.calculate(this);
parts.forEach(Part::render); parts.forEach(Part::render);
} }

View File

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

View File

@ -6,7 +6,7 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
public class CircuitService { public class CircuitIOService {
private static final ObjectMapper objectMapper = new ObjectMapper(); private static final ObjectMapper objectMapper = new ObjectMapper();

View File

@ -1,8 +1,9 @@
package de.ph87.electro.circuit; package de.ph87.electro.circuit;
import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.part.junction.Junction;
import de.ph87.electro.circuit.part.Part; import de.ph87.electro.circuit.part.Part;
import de.ph87.electro.circuit.part.Position; import de.ph87.electro.circuit.part.Position;
import de.ph87.electro.circuit.wire.Wire;
import java.awt.*; import java.awt.*;
import java.awt.event.MouseAdapter; import java.awt.event.MouseAdapter;

View File

@ -1,5 +0,0 @@
package de.ph87.electro.circuit;
public class ShortCircuit extends Exception {
}

View File

@ -1,7 +1,9 @@
package de.ph87.electro.circuit; package de.ph87.electro.circuit.calculation;
import de.ph87.electro.circuit.Circuit;
import de.ph87.electro.circuit.wire.Wire;
import de.ph87.electro.circuit.part.InnerConnection; import de.ph87.electro.circuit.part.InnerConnection;
import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.part.junction.Junction;
import de.ph87.electro.circuit.part.Part; import de.ph87.electro.circuit.part.Part;
import de.ph87.electro.circuit.part.parts.PartBattery; import de.ph87.electro.circuit.part.parts.PartBattery;
import de.ph87.electro.circuit.part.parts.PartLight; import de.ph87.electro.circuit.part.parts.PartLight;

View File

@ -1,5 +1,7 @@
package de.ph87.electro.circuit.part; package de.ph87.electro.circuit.part;
import de.ph87.electro.circuit.part.junction.Junction;
import java.util.stream.Stream; import java.util.stream.Stream;
public class InnerConnection { public class InnerConnection {

View File

@ -1,5 +1,7 @@
package de.ph87.electro.circuit.part; package de.ph87.electro.circuit.part;
import de.ph87.electro.circuit.part.junction.Junction;
import de.ph87.electro.circuit.part.junction.JunctionDto;
import de.ph87.electro.circuit.part.parts.*; import de.ph87.electro.circuit.part.parts.*;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;

View File

@ -1,6 +1,7 @@
package de.ph87.electro.circuit.part; package de.ph87.electro.circuit.part;
import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeInfo;
import de.ph87.electro.circuit.part.junction.JunctionDto;
import de.ph87.electro.circuit.part.parts.*; import de.ph87.electro.circuit.part.parts.*;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;

View File

@ -1,5 +1,6 @@
package de.ph87.electro.circuit.part; package de.ph87.electro.circuit.part;
import de.ph87.electro.circuit.part.junction.Junction;
import lombok.Getter; import lombok.Getter;
import java.awt.*; import java.awt.*;

View File

@ -1,6 +1,9 @@
package de.ph87.electro.circuit.part; package de.ph87.electro.circuit.part.junction;
import de.ph87.electro.circuit.Wire; import de.ph87.electro.circuit.part.Part;
import de.ph87.electro.circuit.part.Position;
import de.ph87.electro.circuit.part.Render;
import de.ph87.electro.circuit.wire.Wire;
import lombok.Getter; import lombok.Getter;
import lombok.ToString; import lombok.ToString;

View File

@ -1,4 +1,4 @@
package de.ph87.electro.circuit.part; package de.ph87.electro.circuit.part.junction;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;

View File

@ -1,6 +1,6 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.part.junction.Junction;
import de.ph87.electro.circuit.part.Orientation; import de.ph87.electro.circuit.part.Orientation;
import de.ph87.electro.circuit.part.Part; import de.ph87.electro.circuit.part.Part;
import de.ph87.electro.circuit.part.Position; import de.ph87.electro.circuit.part.Position;

View File

@ -1,6 +1,6 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.JunctionDto; import de.ph87.electro.circuit.part.junction.JunctionDto;
import de.ph87.electro.circuit.part.PartDto; import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;

View File

@ -1,6 +1,6 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.part.junction.Junction;
import de.ph87.electro.circuit.part.PartOther; import de.ph87.electro.circuit.part.PartOther;
import de.ph87.electro.circuit.part.Position; import de.ph87.electro.circuit.part.Position;
import lombok.Getter; import lombok.Getter;

View File

@ -1,6 +1,6 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.JunctionDto; import de.ph87.electro.circuit.part.junction.JunctionDto;
import de.ph87.electro.circuit.part.PartDto; import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;

View File

@ -1,6 +1,6 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.part.junction.Junction;
import de.ph87.electro.circuit.part.PartOther; import de.ph87.electro.circuit.part.PartOther;
import de.ph87.electro.circuit.part.Position; import de.ph87.electro.circuit.part.Position;
import lombok.Getter; import lombok.Getter;

View File

@ -1,6 +1,6 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.JunctionDto; import de.ph87.electro.circuit.part.junction.JunctionDto;
import de.ph87.electro.circuit.part.PartDto; import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;

View File

@ -1,6 +1,6 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.part.junction.Junction;
import de.ph87.electro.circuit.part.PartOther; import de.ph87.electro.circuit.part.PartOther;
import de.ph87.electro.circuit.part.Position; import de.ph87.electro.circuit.part.Position;
import lombok.Getter; import lombok.Getter;

View File

@ -1,6 +1,6 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.JunctionDto; import de.ph87.electro.circuit.part.junction.JunctionDto;
import de.ph87.electro.circuit.part.PartDto; import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;

View File

@ -1,6 +1,7 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.*; import de.ph87.electro.circuit.part.*;
import de.ph87.electro.circuit.part.junction.Junction;
import lombok.Getter; import lombok.Getter;
import lombok.ToString; import lombok.ToString;

View File

@ -1,6 +1,6 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.JunctionDto; import de.ph87.electro.circuit.part.junction.JunctionDto;
import de.ph87.electro.circuit.part.PartDto; import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;

View File

@ -1,7 +1,7 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.InnerConnection; import de.ph87.electro.circuit.part.InnerConnection;
import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.part.junction.Junction;
import de.ph87.electro.circuit.part.PartOther; import de.ph87.electro.circuit.part.PartOther;
import de.ph87.electro.circuit.part.Position; import de.ph87.electro.circuit.part.Position;
import lombok.Getter; import lombok.Getter;
@ -12,7 +12,7 @@ import java.awt.*;
import java.util.List; import java.util.List;
import static de.ph87.electro.CONFIG.*; import static de.ph87.electro.CONFIG.*;
import static de.ph87.electro.circuit.Calculation.NO_RESISTANCE; import static de.ph87.electro.circuit.calculation.Calculation.NO_RESISTANCE;
@Getter @Getter
@ToString(callSuper = true) @ToString(callSuper = true)

View File

@ -1,6 +1,6 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.JunctionDto; import de.ph87.electro.circuit.part.junction.JunctionDto;
import de.ph87.electro.circuit.part.PartDto; import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;

View File

@ -1,7 +1,7 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.InnerConnection; import de.ph87.electro.circuit.part.InnerConnection;
import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.part.junction.Junction;
import de.ph87.electro.circuit.part.PartOther; import de.ph87.electro.circuit.part.PartOther;
import de.ph87.electro.circuit.part.Position; import de.ph87.electro.circuit.part.Position;
import lombok.Getter; import lombok.Getter;
@ -11,7 +11,7 @@ import lombok.ToString;
import java.util.List; import java.util.List;
import static de.ph87.electro.CONFIG.*; import static de.ph87.electro.CONFIG.*;
import static de.ph87.electro.circuit.Calculation.NO_RESISTANCE; import static de.ph87.electro.circuit.calculation.Calculation.NO_RESISTANCE;
@Getter @Getter
@ToString(callSuper = true) @ToString(callSuper = true)

View File

@ -1,6 +1,6 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.JunctionDto; import de.ph87.electro.circuit.part.junction.JunctionDto;
import de.ph87.electro.circuit.part.PartDto; import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;

View File

@ -1,7 +1,7 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.InnerConnection; import de.ph87.electro.circuit.part.InnerConnection;
import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.part.junction.Junction;
import de.ph87.electro.circuit.part.PartOther; import de.ph87.electro.circuit.part.PartOther;
import de.ph87.electro.circuit.part.Position; import de.ph87.electro.circuit.part.Position;
import lombok.Getter; import lombok.Getter;
@ -11,7 +11,7 @@ import lombok.ToString;
import java.util.List; import java.util.List;
import static de.ph87.electro.CONFIG.*; import static de.ph87.electro.CONFIG.*;
import static de.ph87.electro.circuit.Calculation.NO_RESISTANCE; import static de.ph87.electro.circuit.calculation.Calculation.NO_RESISTANCE;
@Getter @Getter
@ToString(callSuper = true) @ToString(callSuper = true)

View File

@ -1,6 +1,6 @@
package de.ph87.electro.circuit.part.parts; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.JunctionDto; import de.ph87.electro.circuit.part.junction.JunctionDto;
import de.ph87.electro.circuit.part.PartDto; import de.ph87.electro.circuit.part.PartDto;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;

View File

@ -1,6 +1,6 @@
package de.ph87.electro.circuit; package de.ph87.electro.circuit.wire;
import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.part.junction.Junction;
import de.ph87.electro.circuit.part.Position; import de.ph87.electro.circuit.part.Position;
import lombok.Getter; import lombok.Getter;
import lombok.NonNull; import lombok.NonNull;

View File

@ -1,4 +1,4 @@
package de.ph87.electro.circuit; package de.ph87.electro.circuit.wire;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;

View File

@ -1,11 +1,10 @@
package de.ph87.electro.circuit.net; package de.ph87.electro.circuit;
import de.ph87.electro.circuit.Calculation; import de.ph87.electro.circuit.calculation.Calculation;
import de.ph87.electro.circuit.Circuit; import de.ph87.electro.circuit.part.junction.Junction;
import de.ph87.electro.circuit.Wire;
import de.ph87.electro.circuit.part.Junction;
import de.ph87.electro.circuit.part.parts.PartBattery; import de.ph87.electro.circuit.part.parts.PartBattery;
import de.ph87.electro.circuit.part.parts.PartLight; import de.ph87.electro.circuit.part.parts.PartLight;
import de.ph87.electro.circuit.wire.Wire;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -1,6 +1,5 @@
package de.ph87.electro.circuit.net; package de.ph87.electro.circuit.calculation;
import de.ph87.electro.circuit.Calculation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -1,6 +1,7 @@
package de.ph87.electro.circuit; package de.ph87.electro.circuit.io;
import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.Circuit;
import de.ph87.electro.circuit.part.junction.Junction;
import de.ph87.electro.circuit.part.Part; import de.ph87.electro.circuit.part.Part;
import de.ph87.electro.circuit.part.parts.PartBattery; import de.ph87.electro.circuit.part.parts.PartBattery;
import de.ph87.electro.circuit.part.parts.PartLight; import de.ph87.electro.circuit.part.parts.PartLight;
@ -11,9 +12,11 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import static de.ph87.electro.circuit.CircuitIOService.read;
import static de.ph87.electro.circuit.CircuitIOService.write;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
class CircuitCalculationServiceTest { class CircuitIOServiceTest {
@Test @Test
void serialization() throws IOException { void serialization() throws IOException {
@ -27,11 +30,11 @@ class CircuitCalculationServiceTest {
private void check(final Circuit original) throws IOException { private void check(final Circuit original) throws IOException {
final ByteArrayOutputStream output = new ByteArrayOutputStream(); final ByteArrayOutputStream output = new ByteArrayOutputStream();
CircuitService.write(original, output); write(original, output);
System.out.println(output.toString(StandardCharsets.UTF_8)); System.out.println(output.toString(StandardCharsets.UTF_8));
final ByteArrayInputStream input = new ByteArrayInputStream(output.toByteArray()); final ByteArrayInputStream input = new ByteArrayInputStream(output.toByteArray());
final Circuit reloaded = CircuitService.read(input); final Circuit reloaded = read(input);
original.evaluateAndRender(); original.evaluateAndRender();
reloaded.evaluateAndRender(); reloaded.evaluateAndRender();

View File

@ -1,7 +1,6 @@
package de.ph87.electro.circuit; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.parts.PartBattery; import de.ph87.electro.circuit.Circuit;
import de.ph87.electro.circuit.part.parts.PartLight;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -1,8 +1,6 @@
package de.ph87.electro.circuit; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.parts.PartBattery; import de.ph87.electro.circuit.Circuit;
import de.ph87.electro.circuit.part.parts.PartLight;
import de.ph87.electro.circuit.part.parts.PartSwitch1x1;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -1,8 +1,6 @@
package de.ph87.electro.circuit; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.parts.PartBattery; import de.ph87.electro.circuit.Circuit;
import de.ph87.electro.circuit.part.parts.PartLight;
import de.ph87.electro.circuit.part.parts.PartSwitch1x2;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -1,8 +1,6 @@
package de.ph87.electro.circuit; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.parts.PartBattery; import de.ph87.electro.circuit.Circuit;
import de.ph87.electro.circuit.part.parts.PartLight;
import de.ph87.electro.circuit.part.parts.PartSwitch1x2;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -1,9 +1,6 @@
package de.ph87.electro.circuit; package de.ph87.electro.circuit.part.parts;
import de.ph87.electro.circuit.part.parts.PartBattery; import de.ph87.electro.circuit.Circuit;
import de.ph87.electro.circuit.part.parts.PartLight;
import de.ph87.electro.circuit.part.parts.PartSwitch1x2;
import de.ph87.electro.circuit.part.parts.PartSwitchCross;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;