Добавлено api пакетов

This commit is contained in:
serega6531
2019-04-29 20:39:25 +03:00
parent 9c9b7cc942
commit 2ef4f2d480
8 changed files with 49 additions and 11 deletions

View File

@@ -3,30 +3,36 @@ package ru.serega6531.packmate.controller;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import ru.serega6531.packmate.model.Packet; import ru.serega6531.packmate.model.Packet;
import ru.serega6531.packmate.model.Pagination;
import ru.serega6531.packmate.model.Stream;
import ru.serega6531.packmate.service.PacketService; import ru.serega6531.packmate.service.PacketService;
import ru.serega6531.packmate.service.StreamService;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Optional;
@RestController @RestController
@RequestMapping("/api/packet/") @RequestMapping("/api/packet/")
public class PacketController { public class PacketController {
private final PacketService service; private final StreamService streamService;
private final PacketService packetService;
@Autowired @Autowired
public PacketController(PacketService service) { public PacketController(StreamService streamService, PacketService packetService) {
this.service = service; this.streamService = streamService;
this.packetService = packetService;
} }
@PostMapping("/all") @PostMapping("/{streamId}")
public List<Packet> getPackets() { public List<Packet> getPacketsForStream(@PathVariable int streamId, @RequestBody Pagination pagination) {
return Collections.emptyList(); final Optional<Stream> stream = streamService.find(streamId);
} if(stream.isPresent()) {
return packetService.getPacketsForStream(pagination, stream.get());
@PostMapping("/{stream}") } else {
public List<Packet> getStreams(@PathVariable int stream) { return Collections.emptyList();
return Collections.emptyList(); }
} }
} }

View File

@@ -1,5 +1,6 @@
package ru.serega6531.packmate.model; package ru.serega6531.packmate.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
@@ -18,6 +19,7 @@ public class CtfService {
private String name; private String name;
@OneToMany(mappedBy = "service", cascade = CascadeType.ALL, orphanRemoval = true) @OneToMany(mappedBy = "service", cascade = CascadeType.ALL, orphanRemoval = true)
@JsonIgnore
private List<Stream> streams; private List<Stream> streams;
} }

View File

@@ -1,7 +1,10 @@
package ru.serega6531.packmate.model; package ru.serega6531.packmate.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*; import javax.persistence.*;
@@ -17,6 +20,8 @@ import javax.persistence.*;
@org.hibernate.annotations.Parameter(name = "increment_size", value = "1") @org.hibernate.annotations.Parameter(name = "increment_size", value = "1")
} }
) )
@NoArgsConstructor
@AllArgsConstructor
@Builder @Builder
public class Packet { public class Packet {
@@ -25,10 +30,12 @@ public class Packet {
private Long id; private Long id;
@Transient @Transient
@JsonIgnore
private Long tempId; private Long tempId;
@ManyToOne @ManyToOne
@JoinColumn(name = "stream_id", nullable = false) @JoinColumn(name = "stream_id", nullable = false)
@JsonIgnore
private Stream stream; private Stream stream;
private long timestamp; private long timestamp;

View File

@@ -0,0 +1,4 @@
package ru.serega6531.packmate.model;
public class Pagination {
}

View File

@@ -1,5 +1,6 @@
package ru.serega6531.packmate.model; package ru.serega6531.packmate.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Data;
import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.GenericGenerator;
import ru.serega6531.packmate.Protocol; import ru.serega6531.packmate.Protocol;
@@ -31,6 +32,7 @@ public class Stream {
private Protocol protocol; private Protocol protocol;
@OneToMany(mappedBy = "stream", cascade = CascadeType.ALL, orphanRemoval = true) @OneToMany(mappedBy = "stream", cascade = CascadeType.ALL, orphanRemoval = true)
@JsonIgnore
private List<Packet> packets; private List<Packet> packets;
private long startTimestamp; private long startTimestamp;

View File

@@ -3,8 +3,12 @@ package ru.serega6531.packmate.service;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import ru.serega6531.packmate.model.Packet; import ru.serega6531.packmate.model.Packet;
import ru.serega6531.packmate.model.Pagination;
import ru.serega6531.packmate.model.Stream;
import ru.serega6531.packmate.repository.PacketRepository; import ru.serega6531.packmate.repository.PacketRepository;
import java.util.List;
@Service @Service
public class PacketService { public class PacketService {
@@ -15,6 +19,10 @@ public class PacketService {
this.repository = repository; this.repository = repository;
} }
public List<Packet> getPacketsForStream(Pagination pagination, Stream stream) {
return repository.findAll();
}
public Packet save(Packet packet) { public Packet save(Packet packet) {
return repository.save(packet); return repository.save(packet);
} }

View File

@@ -7,6 +7,7 @@ import ru.serega6531.packmate.model.Stream;
import ru.serega6531.packmate.repository.StreamRepository; import ru.serega6531.packmate.repository.StreamRepository;
import java.util.List; import java.util.List;
import java.util.Optional;
@Service @Service
@Slf4j @Slf4j
@@ -25,6 +26,10 @@ public class StreamService {
return saved; return saved;
} }
public Optional<Stream> find(long id) {
return repository.findById(id);
}
public List<Stream> findAll() { public List<Stream> findAll() {
return repository.findAll(); return repository.findAll();
} }

View File

@@ -7,5 +7,9 @@ spring:
jpa: jpa:
hibernate: hibernate:
ddl-auto: update ddl-auto: update
properties:
hibernate:
temp:
use_jdbc_metadata_defaults: false
interface-name: enp0s31f6 interface-name: enp0s31f6
local-ip: "192.168.0.125" local-ip: "192.168.0.125"