Skip to content
Snippets Groups Projects
Commit bb37258d authored by Mads Lundegaard's avatar Mads Lundegaard Committed by Eirik Steira
Browse files

Added geo and histo repos

parent db088276
No related branches found
No related tags found
2 merge requests!104Weekly merge to Master,!75Single photo upload
......@@ -3,8 +3,10 @@ package NTNU.IDATT1002.controllers;
import NTNU.IDATT1002.App;
import NTNU.IDATT1002.ApplicationState;
import NTNU.IDATT1002.models.Tag;
import NTNU.IDATT1002.service.ImageService;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javafx.event.ActionEvent;
......@@ -16,6 +18,7 @@ import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
import javax.persistence.Table;
import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;
......@@ -137,7 +140,8 @@ public class UploadedSingle implements Initializable {
applicationState = new ApplicationState();
List<File> list = App.ex.getUploadedFiles();
File fil = list.get(0);
imageService.createImage(applicationState.getCurrentUser(), fil);
ArrayList<Tag> tags = new ArrayList<>();
imageService.createImage(applicationState.getCurrentUser(), fil, tags);
/* list.stream().forEach(x -> {
image = imageService.createImage(applicationState.getCurrentUser(), x).get();
List tags = tagStringSplit(photo_tag);
......
......@@ -91,6 +91,10 @@ public class Image {
return imageAlbums;
}
public void addTags(ArrayList<Tag> tags) {
tags.addAll(tags);
}
public void addTag(Tag tag){
tags.add(tag);
}
......
package NTNU.IDATT1002.repository;
import NTNU.IDATT1002.models.GeoLocation;
import javax.persistence.EntityManager;
public class GeoLocatioRepository extends GenericRepository<GeoLocation, Long> {
/**
* Constructor to inject {@link EntityManager} dependency.
*
* @param entityManager the entity manager to utilize
*/
public GeoLocatioRepository(EntityManager entityManager) {
super(entityManager);
setClassType(GeoLocation.class);
}
}
package NTNU.IDATT1002.repository;
import NTNU.IDATT1002.models.Histogram;
import javax.persistence.EntityManager;
public class HistorgramRepository extends GenericRepository<Histogram, Long> {
/**
* Constructor to inject {@link EntityManager} dependency.
*
* @param entityManager the entity manager to utilize
*/
public HistorgramRepository(EntityManager entityManager) {
super(entityManager);
setClassType(Histogram.class);
}
}
......@@ -14,6 +14,7 @@ import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
......@@ -49,10 +50,10 @@ public class ImageService {
* @param file the file uploaded
* @return Optional containing the saved image
*/
public Optional<Image> createImage(User user, File file) {
public Optional<Image> createImage(User user, File file, ArrayList<Tag> tags) {
Image image = new Image();
byte[] bFile = ImageUtil.convertToBytes(file.getPath());
Metadata metadata = MetaDataExtractor.assembleMetaData(file);
Metadata metadata = MetaDataExtractor.assembleMetaData(file, image);
metadata = metadataRepository.save(metadata).orElse(null);
//TODO: Unsure what to do with imageAlbum
......@@ -61,6 +62,7 @@ public class ImageService {
image.setUser(null);
image.setMetadata(metadata);
image.setPath(file.getPath());
//image.addTags(tags);
return imageRepository.save(image);
}
......
......@@ -47,6 +47,7 @@ public class MetaDataExtractor {
geoLocation.setLatitude(latitude);
geoLocation.setLongitude(longitude);
} catch (NullPointerException e) {
e.printStackTrace();
}
......@@ -67,11 +68,14 @@ public class MetaDataExtractor {
return histogram;
}
public static NTNU.IDATT1002.models.Metadata assembleMetaData(File file) {
public static NTNU.IDATT1002.models.Metadata assembleMetaData(File file, Image image) {
NTNU.IDATT1002.models.Metadata metadata = new NTNU.IDATT1002.models.Metadata();
try {
metadata.setImage(image);
metadata.setGeoLocation(getGPS(file));
metadata.setHistogram(getHistorgram(file));
}
catch (Exception e) {
e.printStackTrace();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment