Fix file storage
parent
91d02f798e
commit
8dc317396e
|
@ -46,7 +46,7 @@ public class FileSystemStorageService implements StorageService {
|
||||||
String tempDest="";
|
String tempDest="";
|
||||||
String[] locations=this.rootLocation.resolve(dest).toString().split("/");
|
String[] locations=this.rootLocation.resolve(dest).toString().split("/");
|
||||||
for(int i=0; i<locations.length-1;i++)
|
for(int i=0; i<locations.length-1;i++)
|
||||||
tempDest=tempDest+"/"+locations[i];
|
tempDest=tempDest+locations[i]+"/";
|
||||||
|
|
||||||
if(!Files.exists(Paths.get(tempDest)))
|
if(!Files.exists(Paths.get(tempDest)))
|
||||||
Files.createDirectory(Paths.get(tempDest));
|
Files.createDirectory(Paths.get(tempDest));
|
||||||
|
|
2
config
2
config
|
@ -1 +1 @@
|
||||||
Subproject commit f7492aa6e9e3b1ec809e1088d2b6a3785657970f
|
Subproject commit dbff79cfd99b1937b676ef10efc1443e2620a92e
|
|
@ -2,7 +2,10 @@ package ba.steleks.controller;
|
||||||
|
|
||||||
import ba.steleks.error.exception.ExternalServiceException;
|
import ba.steleks.error.exception.ExternalServiceException;
|
||||||
import ba.steleks.model.Event;
|
import ba.steleks.model.Event;
|
||||||
|
import ba.steleks.model.EventRequest;
|
||||||
|
import ba.steleks.model.Media;
|
||||||
import ba.steleks.repository.EventsJpaRepository;
|
import ba.steleks.repository.EventsJpaRepository;
|
||||||
|
import ba.steleks.repository.MediaJpaRepository;
|
||||||
import ba.steleks.util.ProxyHeaders;
|
import ba.steleks.util.ProxyHeaders;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.data.rest.webmvc.RepositoryRestController;
|
import org.springframework.data.rest.webmvc.RepositoryRestController;
|
||||||
|
@ -13,6 +16,8 @@ import org.springframework.web.client.HttpClientErrorException;
|
||||||
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
|
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
|
||||||
|
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by admin on 01/04/2017.
|
* Created by admin on 01/04/2017.
|
||||||
|
@ -22,17 +27,32 @@ import java.net.URI;
|
||||||
public class EventController {
|
public class EventController {
|
||||||
|
|
||||||
private EventsJpaRepository repository;
|
private EventsJpaRepository repository;
|
||||||
|
private MediaJpaRepository mediaJpaRepository;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public EventController(EventsJpaRepository repository) {
|
public EventController(EventsJpaRepository repository, MediaJpaRepository mediaJpaRepository) {
|
||||||
this.repository = repository;
|
this.repository = repository;
|
||||||
|
this.mediaJpaRepository = mediaJpaRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(path = "/events", method = RequestMethod.POST)
|
@RequestMapping(path = "/events", method = RequestMethod.POST)
|
||||||
public ResponseEntity<?> add(@RequestBody Event event, @RequestHeader(ProxyHeaders.USER_ID) String userId) throws ExternalServiceException {
|
public ResponseEntity<?> add(@RequestBody EventRequest eventRequest, @RequestHeader(ProxyHeaders.USER_ID) String userId) throws ExternalServiceException {
|
||||||
|
System.out.println(eventRequest);
|
||||||
try {
|
try {
|
||||||
|
Event event = new Event();
|
||||||
|
event.setTitle(eventRequest.getTitle());
|
||||||
|
event.setShortText(eventRequest.getShortText());
|
||||||
|
event.setLongText(eventRequest.getLongText());
|
||||||
event.setCreatedById(Long.parseLong(userId));
|
event.setCreatedById(Long.parseLong(userId));
|
||||||
|
Set<Media> savedMedia = new HashSet<>();
|
||||||
|
for (Media media : eventRequest.getMedias()) {
|
||||||
|
Media loadedMedia = mediaJpaRepository.findOne(media.getId());
|
||||||
|
savedMedia.add(loadedMedia);
|
||||||
|
System.out.println("Loaded media: " + loadedMedia);
|
||||||
|
}
|
||||||
Event result = repository.save(event);
|
Event result = repository.save(event);
|
||||||
|
result.setMediaSet(savedMedia);
|
||||||
|
result = repository.save(result);
|
||||||
URI location = ServletUriComponentsBuilder
|
URI location = ServletUriComponentsBuilder
|
||||||
.fromCurrentRequest().path("/{id}")
|
.fromCurrentRequest().path("/{id}")
|
||||||
.buildAndExpand(result.getId()).toUri();
|
.buildAndExpand(result.getId()).toUri();
|
||||||
|
|
|
@ -42,7 +42,7 @@ public class MediaController {
|
||||||
try {
|
try {
|
||||||
BufferedImage mediaImage = null;
|
BufferedImage mediaImage = null;
|
||||||
if (!TextUtils.isEmpty(media.getContentUrl())) {
|
if (!TextUtils.isEmpty(media.getContentUrl())) {
|
||||||
mediaImage = ImageIO.read(new URL(media.getContentUrl()));
|
mediaImage = ImageIO.read(new URL(media.getContentUrl()).openStream());
|
||||||
}
|
}
|
||||||
media.setCreatedById(Long.parseLong(userId));
|
media.setCreatedById(Long.parseLong(userId));
|
||||||
Media result = repository.save(media);
|
Media result = repository.save(media);
|
||||||
|
|
|
@ -30,12 +30,12 @@ public class Event {
|
||||||
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
|
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
|
||||||
@JoinTable(
|
@JoinTable(
|
||||||
name = "event_media_set",
|
name = "event_media_set",
|
||||||
joinColumns=@JoinColumn(name = "event_id"),
|
joinColumns=@JoinColumn(name = "event_id", referencedColumnName = "id"),
|
||||||
inverseJoinColumns = @JoinColumn(name="media_set_id")
|
inverseJoinColumns = @JoinColumn(name="media_set_id", referencedColumnName = "id")
|
||||||
)
|
)
|
||||||
private Set<Media> mediaSet;
|
private Set<Media> mediaSet;
|
||||||
|
|
||||||
protected Event() {}
|
public Event() {}
|
||||||
|
|
||||||
public long getId() {
|
public long getId() {
|
||||||
return id;
|
return id;
|
||||||
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
package ba.steleks.model;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class EventRequest {
|
||||||
|
|
||||||
|
private String title;
|
||||||
|
private String shortText;
|
||||||
|
private String longText;
|
||||||
|
private List<Media> medias;
|
||||||
|
|
||||||
|
public String getTitle() {
|
||||||
|
return title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTitle(String title) {
|
||||||
|
this.title = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getShortText() {
|
||||||
|
return shortText;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setShortText(String shortText) {
|
||||||
|
this.shortText = shortText;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLongText() {
|
||||||
|
return longText;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLongText(String longText) {
|
||||||
|
this.longText = longText;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Media> getMedias() {
|
||||||
|
return medias;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMedias(List<Media> medias) {
|
||||||
|
this.medias = medias;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "EventRequest{" +
|
||||||
|
"title='" + title + '\'' +
|
||||||
|
", shortText='" + shortText + '\'' +
|
||||||
|
", longText='" + longText + '\'' +
|
||||||
|
", medias=" + medias +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
|
@ -63,4 +63,14 @@ public class Media {
|
||||||
protected void onCreate() {
|
protected void onCreate() {
|
||||||
this.creationDate = new Timestamp(new Date().getTime());
|
this.creationDate = new Timestamp(new Date().getTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Media{" +
|
||||||
|
"id=" + id +
|
||||||
|
", contentUrl='" + contentUrl + '\'' +
|
||||||
|
", creationDate=" + creationDate +
|
||||||
|
", createdById=" + createdById +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#Tue Mar 28 22:00:42 CEST 2017
|
#Sun Sep 09 23:15:29 CEST 2018
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
|
||||||
|
|
Reference in New Issue