diff --git a/common/src/main/java/ba/steleks/storage/FileSystemStorageService.java b/common/src/main/java/ba/steleks/storage/FileSystemStorageService.java index 8f56a1e..82aebe1 100644 --- a/common/src/main/java/ba/steleks/storage/FileSystemStorageService.java +++ b/common/src/main/java/ba/steleks/storage/FileSystemStorageService.java @@ -46,7 +46,7 @@ public class FileSystemStorageService implements StorageService { String tempDest=""; String[] locations=this.rootLocation.resolve(dest).toString().split("/"); for(int i=0; i 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 { + Event event = new Event(); + event.setTitle(eventRequest.getTitle()); + event.setShortText(eventRequest.getShortText()); + event.setLongText(eventRequest.getLongText()); event.setCreatedById(Long.parseLong(userId)); + Set 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); + result.setMediaSet(savedMedia); + result = repository.save(result); URI location = ServletUriComponentsBuilder .fromCurrentRequest().path("/{id}") .buildAndExpand(result.getId()).toUri(); diff --git a/events/src/main/java/ba/steleks/controller/MediaController.java b/events/src/main/java/ba/steleks/controller/MediaController.java index c303dd5..1743ece 100644 --- a/events/src/main/java/ba/steleks/controller/MediaController.java +++ b/events/src/main/java/ba/steleks/controller/MediaController.java @@ -42,7 +42,7 @@ public class MediaController { try { BufferedImage mediaImage = null; 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 result = repository.save(media); diff --git a/events/src/main/java/ba/steleks/model/Event.java b/events/src/main/java/ba/steleks/model/Event.java index 135a6b2..c9ac168 100644 --- a/events/src/main/java/ba/steleks/model/Event.java +++ b/events/src/main/java/ba/steleks/model/Event.java @@ -30,12 +30,12 @@ public class Event { @ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL) @JoinTable( name = "event_media_set", - joinColumns=@JoinColumn(name = "event_id"), - inverseJoinColumns = @JoinColumn(name="media_set_id") + joinColumns=@JoinColumn(name = "event_id", referencedColumnName = "id"), + inverseJoinColumns = @JoinColumn(name="media_set_id", referencedColumnName = "id") ) private Set mediaSet; - protected Event() {} + public Event() {} public long getId() { return id; diff --git a/events/src/main/java/ba/steleks/model/EventRequest.java b/events/src/main/java/ba/steleks/model/EventRequest.java new file mode 100644 index 0000000..5e57000 --- /dev/null +++ b/events/src/main/java/ba/steleks/model/EventRequest.java @@ -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 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 getMedias() { + return medias; + } + + public void setMedias(List medias) { + this.medias = medias; + } + + @Override + public String toString() { + return "EventRequest{" + + "title='" + title + '\'' + + ", shortText='" + shortText + '\'' + + ", longText='" + longText + '\'' + + ", medias=" + medias + + '}'; + } +} diff --git a/events/src/main/java/ba/steleks/model/Media.java b/events/src/main/java/ba/steleks/model/Media.java index 76725c2..bceef19 100644 --- a/events/src/main/java/ba/steleks/model/Media.java +++ b/events/src/main/java/ba/steleks/model/Media.java @@ -63,4 +63,14 @@ public class Media { protected void onCreate() { this.creationDate = new Timestamp(new Date().getTime()); } + + @Override + public String toString() { + return "Media{" + + "id=" + id + + ", contentUrl='" + contentUrl + '\'' + + ", creationDate=" + creationDate + + ", createdById=" + createdById + + '}'; + } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3330386..0e72db1 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Mar 28 22:00:42 CEST 2017 +#Sun Sep 09 23:15:29 CEST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME 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