From 81de29f6d90cc68a0cbcb0d6040be2e9abb553cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lars=20Brodin=20=C3=98stby?= <larsbost@stud.ntnu.no>
Date: Fri, 17 Apr 2020 11:52:06 +0200
Subject: [PATCH 1/6] Auto stash before rebase of "origin/dev"

---
 .../java/NTNU/IDATT1002/models/Metadata.java  | 43 +++++++++++++------
 .../NTNU/IDATT1002/service/ImageService.java  |  4 ++
 .../IDATT1002/utils/MetaDataExtractor.java    | 21 +++++++++
 src/main/resources/META-INF/persistence.xml   |  1 +
 4 files changed, 57 insertions(+), 12 deletions(-)

diff --git a/src/main/java/NTNU/IDATT1002/models/Metadata.java b/src/main/java/NTNU/IDATT1002/models/Metadata.java
index e8877120..7d01604d 100644
--- a/src/main/java/NTNU/IDATT1002/models/Metadata.java
+++ b/src/main/java/NTNU/IDATT1002/models/Metadata.java
@@ -1,6 +1,7 @@
 package NTNU.IDATT1002.models;
 
 
+import java.util.ArrayList;
 import javax.persistence.*;
 
 /**
@@ -58,6 +59,10 @@ public class Metadata {
     @Column(name = "filedimension")
     private String fileDimension;
 
+
+    @Column(name = "allMetadata")
+    private String allMetadataList;
+
     public Metadata() {
     }
 
@@ -94,6 +99,10 @@ public class Metadata {
         return camera;
     }
 
+    public String getAllMetadataList(){
+        return allMetadataList;
+    }
+
     public void setCamera(String camera) {
         this.camera = camera;
     }
@@ -178,21 +187,31 @@ public class Metadata {
         this.fileDimension = fileDimension;
     }
 
+    public void setAllMetadataList(String allMetadataList){
+        this.allMetadataList = allMetadataList;
+    }
+
     @Override
     public String toString() {
+      /*  String allData = " ";
+        for (int i = 0; i < allMetadataList.size(); i++){
+            allData += allMetadataList.get(i);
+        }*/
+
         return "Metadata{" +
-                ", metadataId=" + metadataId +
-                ", camera='" + camera + '\'' +
-                ", lens='" + lens + '\'' +
-                ", aperture='" + aperture + '\'' +
-                ", shutterSpeed='" + shutterSpeed + '\'' +
-                ", ISO='" + ISO + '\'' +
-                ", focalLength='" + focalLength + '\'' +
-                ", fileType='" + fileType + '\'' +
-                ", photoDate='" + photoDate + '\'' +
-                ", fileSize='" + fileSize + '\'' +
-                ", fileDimension='" + fileDimension + '\'' +
-                '}';
+            "\nmetadataId=" + metadataId +
+            "\ncamera='" + camera + '\'' +
+            "\nlens='" + lens + '\'' +
+            "\naperture='" + aperture + '\'' +
+            "\nshutterSpeed='" + shutterSpeed + '\'' +
+            "\nISO='" + ISO + '\'' +
+            "\nfocalLength='" + focalLength + '\'' +
+            "\nfileType='" + fileType + '\'' +
+            "\nphotoDate='" + photoDate + '\'' +
+            "\nfileSize='" + fileSize + '\'' +
+            "\nfileDimension='" + fileDimension + '\'' +
+            '}'; /* +
+            " \n\n All the extra stuff that I dont know what to do with yet" + allData;*/
 
     }
 }
diff --git a/src/main/java/NTNU/IDATT1002/service/ImageService.java b/src/main/java/NTNU/IDATT1002/service/ImageService.java
index af5347fa..adaf617c 100644
--- a/src/main/java/NTNU/IDATT1002/service/ImageService.java
+++ b/src/main/java/NTNU/IDATT1002/service/ImageService.java
@@ -52,6 +52,7 @@ public class ImageService {
         Image image = new Image();
         Metadata metadata = new Metadata();
         metadata.setImage(image);
+        metadata.setAllMetadataList(MetaDataExtractor.getAllMetadata(file));
         image.setMetadata(metadata);
 
         metadata.setGeoLocation(geoLocation);
@@ -65,6 +66,9 @@ public class ImageService {
         image.setUser(user);
         image.setPath(file.getPath());
         image.addTags((ArrayList<Tag>) tagService.getOrCreateTags(tags));
+        System.out.println("yeet\n");
+        System.out.println(MetaDataExtractor.getAllMetadata(file));
+        System.out.println("\nferdig da bro");
         return imageRepository.save(image);
     }
 
diff --git a/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java b/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java
index fa7c48a0..89bda65b 100644
--- a/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java
+++ b/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java
@@ -358,4 +358,25 @@ public class MetaDataExtractor {
         textToClean = textToClean.substring(0, textToClean.length()-2);
         return textToClean;
     }
+
+    /**
+     * Method for getting all metadata from an image
+     * @param file that will be checked
+     * @return metadata or an empty string if nothing was found
+     */
+    public static String getAllMetadata(File file){
+        String allMetadata = " ";
+        System.out.println("yeet");
+        try {
+            Metadata metadata = ImageMetadataReader.readMetadata(file);
+            for (Directory directory : metadata.getDirectories()) {
+                    for (Tag tag : directory.getTags()) {
+                            allMetadata += tag + " ";
+                }
+            }
+        } catch (IOException | ImageProcessingException | NullPointerException e) {
+            logger.error("[x] Could not get information from file");
+        }
+        return allMetadata;
+    }
 }
diff --git a/src/main/resources/META-INF/persistence.xml b/src/main/resources/META-INF/persistence.xml
index 7ff7ec01..d79ec1ca 100644
--- a/src/main/resources/META-INF/persistence.xml
+++ b/src/main/resources/META-INF/persistence.xml
@@ -23,6 +23,7 @@
             <property name="hibernate.temp.use_jdbc_metadata_defaults" value="false"/>
             <property name="hibernate.format_sql" value="true"/>
             <property name="hibernate.use_sql_comments" value="true"/>
+            <property name="hibernate.hbm2ddl.auto" value="update" />
 
         </properties>
     </persistence-unit>
-- 
GitLab


From 7b7134bb99ef9af989721d5e946bc65e2f83620c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lars=20Brodin=20=C3=98stby?= <larsbost@stud.ntnu.no>
Date: Fri, 17 Apr 2020 13:45:48 +0200
Subject: [PATCH 2/6] Add method to extract all metadata

---
 src/main/java/NTNU/IDATT1002/models/Metadata.java      | 10 +++++-----
 src/main/java/NTNU/IDATT1002/service/ImageService.java |  5 +----
 .../java/NTNU/IDATT1002/utils/MetaDataExtractor.java   |  2 +-
 src/main/resources/META-INF/persistence.xml            |  1 -
 4 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/src/main/java/NTNU/IDATT1002/models/Metadata.java b/src/main/java/NTNU/IDATT1002/models/Metadata.java
index 7d01604d..dbade864 100644
--- a/src/main/java/NTNU/IDATT1002/models/Metadata.java
+++ b/src/main/java/NTNU/IDATT1002/models/Metadata.java
@@ -61,7 +61,7 @@ public class Metadata {
 
 
     @Column(name = "allMetadata")
-    private String allMetadataList;
+    private String allMetadata;
 
     public Metadata() {
     }
@@ -99,8 +99,8 @@ public class Metadata {
         return camera;
     }
 
-    public String getAllMetadataList(){
-        return allMetadataList;
+    public String getAllMetadata(){
+        return allMetadata;
     }
 
     public void setCamera(String camera) {
@@ -187,8 +187,8 @@ public class Metadata {
         this.fileDimension = fileDimension;
     }
 
-    public void setAllMetadataList(String allMetadataList){
-        this.allMetadataList = allMetadataList;
+    public void setAllMetadata(String allMetadata){
+        this.allMetadata = allMetadata;
     }
 
     @Override
diff --git a/src/main/java/NTNU/IDATT1002/service/ImageService.java b/src/main/java/NTNU/IDATT1002/service/ImageService.java
index adaf617c..2bdf265b 100644
--- a/src/main/java/NTNU/IDATT1002/service/ImageService.java
+++ b/src/main/java/NTNU/IDATT1002/service/ImageService.java
@@ -52,7 +52,7 @@ public class ImageService {
         Image image = new Image();
         Metadata metadata = new Metadata();
         metadata.setImage(image);
-        metadata.setAllMetadataList(MetaDataExtractor.getAllMetadata(file));
+        metadata.setAllMetadata(MetaDataExtractor.getAllMetadata(file));
         image.setMetadata(metadata);
 
         metadata.setGeoLocation(geoLocation);
@@ -66,9 +66,6 @@ public class ImageService {
         image.setUser(user);
         image.setPath(file.getPath());
         image.addTags((ArrayList<Tag>) tagService.getOrCreateTags(tags));
-        System.out.println("yeet\n");
-        System.out.println(MetaDataExtractor.getAllMetadata(file));
-        System.out.println("\nferdig da bro");
         return imageRepository.save(image);
     }
 
diff --git a/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java b/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java
index 89bda65b..006d71c0 100644
--- a/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java
+++ b/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java
@@ -371,7 +371,7 @@ public class MetaDataExtractor {
             Metadata metadata = ImageMetadataReader.readMetadata(file);
             for (Directory directory : metadata.getDirectories()) {
                     for (Tag tag : directory.getTags()) {
-                            allMetadata += tag + " ";
+                            allMetadata += tag + " #";
                 }
             }
         } catch (IOException | ImageProcessingException | NullPointerException e) {
diff --git a/src/main/resources/META-INF/persistence.xml b/src/main/resources/META-INF/persistence.xml
index d79ec1ca..7ff7ec01 100644
--- a/src/main/resources/META-INF/persistence.xml
+++ b/src/main/resources/META-INF/persistence.xml
@@ -23,7 +23,6 @@
             <property name="hibernate.temp.use_jdbc_metadata_defaults" value="false"/>
             <property name="hibernate.format_sql" value="true"/>
             <property name="hibernate.use_sql_comments" value="true"/>
-            <property name="hibernate.hbm2ddl.auto" value="update" />
 
         </properties>
     </persistence-unit>
-- 
GitLab


From 8d3aca9cdd7ff472078d3f3611a4ad176141168c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lars=20Brodin=20=C3=98stby?= <larsbost@stud.ntnu.no>
Date: Fri, 17 Apr 2020 13:47:48 +0200
Subject: [PATCH 3/6] Update Metadata.java

---
 src/main/java/NTNU/IDATT1002/models/Metadata.java | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/main/java/NTNU/IDATT1002/models/Metadata.java b/src/main/java/NTNU/IDATT1002/models/Metadata.java
index dbade864..b77c43fb 100644
--- a/src/main/java/NTNU/IDATT1002/models/Metadata.java
+++ b/src/main/java/NTNU/IDATT1002/models/Metadata.java
@@ -193,10 +193,7 @@ public class Metadata {
 
     @Override
     public String toString() {
-      /*  String allData = " ";
-        for (int i = 0; i < allMetadataList.size(); i++){
-            allData += allMetadataList.get(i);
-        }*/
+     
 
         return "Metadata{" +
             "\nmetadataId=" + metadataId +
@@ -210,8 +207,7 @@ public class Metadata {
             "\nphotoDate='" + photoDate + '\'' +
             "\nfileSize='" + fileSize + '\'' +
             "\nfileDimension='" + fileDimension + '\'' +
-            '}'; /* +
-            " \n\n All the extra stuff that I dont know what to do with yet" + allData;*/
+            '}';
 
     }
 }
-- 
GitLab


From 3d82da8c405575831f7e1f69decad465d63ca9a1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lars=20Brodin=20=C3=98stby?= <larsbost@stud.ntnu.no>
Date: Fri, 17 Apr 2020 13:48:33 +0200
Subject: [PATCH 4/6] Update MetaDataExtractor.java

---
 src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java b/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java
index 006d71c0..2c641054 100644
--- a/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java
+++ b/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java
@@ -366,7 +366,6 @@ public class MetaDataExtractor {
      */
     public static String getAllMetadata(File file){
         String allMetadata = " ";
-        System.out.println("yeet");
         try {
             Metadata metadata = ImageMetadataReader.readMetadata(file);
             for (Directory directory : metadata.getDirectories()) {
-- 
GitLab


From 1e5cc6987d2859f42552d6d93d6ad538c7a63cc5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lars=20Brodin=20=C3=98stby?= <larsbost@stud.ntnu.no>
Date: Fri, 17 Apr 2020 14:44:23 +0200
Subject: [PATCH 5/6] Update Metadata.java

---
 src/main/java/NTNU/IDATT1002/models/Metadata.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/java/NTNU/IDATT1002/models/Metadata.java b/src/main/java/NTNU/IDATT1002/models/Metadata.java
index b77c43fb..d9bebbc6 100644
--- a/src/main/java/NTNU/IDATT1002/models/Metadata.java
+++ b/src/main/java/NTNU/IDATT1002/models/Metadata.java
@@ -59,7 +59,7 @@ public class Metadata {
     @Column(name = "filedimension")
     private String fileDimension;
 
-
+    @Lob
     @Column(name = "allMetadata")
     private String allMetadata;
 
-- 
GitLab


From f7c6e41aed684e811f137f40429a6c17bdc25f38 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lars=20Brodin=20=C3=98stby?= <larsbost@stud.ntnu.no>
Date: Fri, 17 Apr 2020 17:33:09 +0200
Subject: [PATCH 6/6] various fixes to misc metadata

---
 .../java/NTNU/IDATT1002/models/Metadata.java  | 35 +++++++++----------
 .../NTNU/IDATT1002/service/ImageService.java  |  2 +-
 .../IDATT1002/utils/MetaDataExtractor.java    | 18 ++++++----
 3 files changed, 29 insertions(+), 26 deletions(-)

diff --git a/src/main/java/NTNU/IDATT1002/models/Metadata.java b/src/main/java/NTNU/IDATT1002/models/Metadata.java
index d9bebbc6..884732f0 100644
--- a/src/main/java/NTNU/IDATT1002/models/Metadata.java
+++ b/src/main/java/NTNU/IDATT1002/models/Metadata.java
@@ -1,7 +1,6 @@
 package NTNU.IDATT1002.models;
 
 
-import java.util.ArrayList;
 import javax.persistence.*;
 
 /**
@@ -60,8 +59,8 @@ public class Metadata {
     private String fileDimension;
 
     @Lob
-    @Column(name = "allMetadata")
-    private String allMetadata;
+    @Column(name = "miscMetadata")
+    private String miscMetadata;
 
     public Metadata() {
     }
@@ -99,8 +98,8 @@ public class Metadata {
         return camera;
     }
 
-    public String getAllMetadata(){
-        return allMetadata;
+    public String getMiscMetadata(){
+        return miscMetadata;
     }
 
     public void setCamera(String camera) {
@@ -187,8 +186,8 @@ public class Metadata {
         this.fileDimension = fileDimension;
     }
 
-    public void setAllMetadata(String allMetadata){
-        this.allMetadata = allMetadata;
+    public void setMiscMetadata(String miscMetadata){
+        this.miscMetadata = miscMetadata;
     }
 
     @Override
@@ -196,17 +195,17 @@ public class Metadata {
      
 
         return "Metadata{" +
-            "\nmetadataId=" + metadataId +
-            "\ncamera='" + camera + '\'' +
-            "\nlens='" + lens + '\'' +
-            "\naperture='" + aperture + '\'' +
-            "\nshutterSpeed='" + shutterSpeed + '\'' +
-            "\nISO='" + ISO + '\'' +
-            "\nfocalLength='" + focalLength + '\'' +
-            "\nfileType='" + fileType + '\'' +
-            "\nphotoDate='" + photoDate + '\'' +
-            "\nfileSize='" + fileSize + '\'' +
-            "\nfileDimension='" + fileDimension + '\'' +
+            ", metadataId=" + metadataId +
+            ", camera='" + camera + '\'' +
+            ", lens='" + lens + '\'' +
+            ", aperture='" + aperture + '\'' +
+            ", shutterSpeed='" + shutterSpeed + '\'' +
+            ", ISO='" + ISO + '\'' +
+            ", focalLength='" + focalLength + '\'' +
+            ", fileType='" + fileType + '\'' +
+            ", photoDate='" + photoDate + '\'' +
+            ", fileSize='" + fileSize + '\'' +
+            ", fileDimension='" + fileDimension + '\'' +
             '}';
 
     }
diff --git a/src/main/java/NTNU/IDATT1002/service/ImageService.java b/src/main/java/NTNU/IDATT1002/service/ImageService.java
index 2bdf265b..cfaa2c64 100644
--- a/src/main/java/NTNU/IDATT1002/service/ImageService.java
+++ b/src/main/java/NTNU/IDATT1002/service/ImageService.java
@@ -52,7 +52,7 @@ public class ImageService {
         Image image = new Image();
         Metadata metadata = new Metadata();
         metadata.setImage(image);
-        metadata.setAllMetadata(MetaDataExtractor.getAllMetadata(file));
+        metadata.setMiscMetadata(MetaDataExtractor.getMiscMetadata(file));
         image.setMetadata(metadata);
 
         metadata.setGeoLocation(geoLocation);
diff --git a/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java b/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java
index 2c641054..1d7fa3e3 100644
--- a/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java
+++ b/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java
@@ -324,7 +324,7 @@ public class MetaDataExtractor {
         }
         return fileDimension;
     }
-    
+
     public static void setMetadata(NTNU.IDATT1002.models.Metadata metadata, File file) {
         metadata.setCamera(getCamera(file));
         metadata.setLens(getLens(file));
@@ -360,22 +360,26 @@ public class MetaDataExtractor {
     }
 
     /**
-     * Method for getting all metadata from an image
+     * Method for getting all the misceleneous metadata from an image
      * @param file that will be checked
      * @return metadata or an empty string if nothing was found
      */
-    public static String getAllMetadata(File file){
-        String allMetadata = " ";
+    public static String getMiscMetadata(File file){
+
+        StringBuilder miscMetadata = new StringBuilder(" ");
+
         try {
             Metadata metadata = ImageMetadataReader.readMetadata(file);
             for (Directory directory : metadata.getDirectories()) {
                     for (Tag tag : directory.getTags()) {
-                            allMetadata += tag + " #";
+                        if(!(getMetadata(file).contains( cleanUpTags(tag.toString(), directory)))){
+                            miscMetadata.append(tag).append(" #");
+                        }
                 }
             }
         } catch (IOException | ImageProcessingException | NullPointerException e) {
-            logger.error("[x] Could not get information from file");
+            logger.error("[x] Could not get information from file", e);
         }
-        return allMetadata;
+        return miscMetadata.toString();
     }
 }
-- 
GitLab