Добавлено 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.web.bind.annotation.*;
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.StreamService;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
@RestController
@RequestMapping("/api/packet/")
public class PacketController {
private final PacketService service;
private final StreamService streamService;
private final PacketService packetService;
@Autowired
public PacketController(PacketService service) {
this.service = service;
public PacketController(StreamService streamService, PacketService packetService) {
this.streamService = streamService;
this.packetService = packetService;
}
@PostMapping("/all")
public List<Packet> getPackets() {
return Collections.emptyList();
}
@PostMapping("/{stream}")
public List<Packet> getStreams(@PathVariable int stream) {
return Collections.emptyList();
@PostMapping("/{streamId}")
public List<Packet> getPacketsForStream(@PathVariable int streamId, @RequestBody Pagination pagination) {
final Optional<Stream> stream = streamService.find(streamId);
if(stream.isPresent()) {
return packetService.getPacketsForStream(pagination, stream.get());
} else {
return Collections.emptyList();
}
}
}

View File

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

View File

@@ -1,7 +1,10 @@
package ru.serega6531.packmate.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
@@ -17,6 +20,8 @@ import javax.persistence.*;
@org.hibernate.annotations.Parameter(name = "increment_size", value = "1")
}
)
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Packet {
@@ -25,10 +30,12 @@ public class Packet {
private Long id;
@Transient
@JsonIgnore
private Long tempId;
@ManyToOne
@JoinColumn(name = "stream_id", nullable = false)
@JsonIgnore
private Stream stream;
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;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;
import ru.serega6531.packmate.Protocol;
@@ -31,6 +32,7 @@ public class Stream {
private Protocol protocol;
@OneToMany(mappedBy = "stream", cascade = CascadeType.ALL, orphanRemoval = true)
@JsonIgnore
private List<Packet> packets;
private long startTimestamp;

View File

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

View File

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