diff --git a/javadoc/NTNU/IDATT1002/ApplicationState.html b/javadoc/NTNU/IDATT1002/ApplicationState.html index 85f7b415f710c8f90cfe68673f5b0afa0538a6d3..1006b124f54618236dcb8f18f6e253513f84d8ba 100644 --- a/javadoc/NTNU/IDATT1002/ApplicationState.html +++ b/javadoc/NTNU/IDATT1002/ApplicationState.html @@ -124,7 +124,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); <li>java.lang.Object</li> <li> <ul class="inheritance"> -<li>NTNU.IDATT1002.ApplicationState</li> +<li>NTNU.IDATT1002.service.ApplicationState</li> </ul> </li> </ul> diff --git a/src/main/java/NTNU/IDATT1002/controllers/CreateAlbum.java b/src/main/java/NTNU/IDATT1002/controllers/CreateAlbum.java index 4a063bc1739d25941bbeea3f943fdc8931e9a44c..99c28cf82df83c3a4864142fdfb4991e8a4e6629 100644 --- a/src/main/java/NTNU/IDATT1002/controllers/CreateAlbum.java +++ b/src/main/java/NTNU/IDATT1002/controllers/CreateAlbum.java @@ -1,12 +1,12 @@ package NTNU.IDATT1002.controllers; import NTNU.IDATT1002.App; -import NTNU.IDATT1002.ApplicationState; import NTNU.IDATT1002.models.Album; import NTNU.IDATT1002.models.Image; import NTNU.IDATT1002.models.Tag; import NTNU.IDATT1002.models.User; import NTNU.IDATT1002.service.AlbumService; +import NTNU.IDATT1002.service.ApplicationState; import NTNU.IDATT1002.service.ImageService; import NTNU.IDATT1002.service.TagService; import NTNU.IDATT1002.utils.ImageUtil; diff --git a/src/main/java/NTNU/IDATT1002/controllers/Explore.java b/src/main/java/NTNU/IDATT1002/controllers/Explore.java index 5405b0ccf5ce3232bd898c22bed83d9e7f72757f..2fd1250849ba2b566e2a0b0e6f9374b86bd5aa84 100644 --- a/src/main/java/NTNU/IDATT1002/controllers/Explore.java +++ b/src/main/java/NTNU/IDATT1002/controllers/Explore.java @@ -1,7 +1,6 @@ package NTNU.IDATT1002.controllers; import NTNU.IDATT1002.App; -import NTNU.IDATT1002.models.Tag; import NTNU.IDATT1002.service.ImageService; import NTNU.IDATT1002.service.TagService; import NTNU.IDATT1002.utils.ImageUtil; @@ -13,7 +12,6 @@ import javafx.scene.Node; import javafx.scene.control.Button; import javafx.scene.control.ScrollPane; import javafx.scene.control.TextField; -import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.input.MouseEvent; import javafx.scene.layout.GridPane; @@ -23,10 +21,8 @@ import javafx.scene.text.Text; import java.io.IOException; import java.net.URL; -import java.util.Arrays; import java.util.List; import java.util.ResourceBundle; -import java.util.stream.Collectors; /** * Controls the buttons and changeable elements on explore.fxml, diff --git a/src/main/java/NTNU/IDATT1002/controllers/Login.java b/src/main/java/NTNU/IDATT1002/controllers/Login.java index 908647d126ccd176d337fb80729a0bb130560992..a55844d4897828f057a45449bf6ddfdfa63dc8ed 100644 --- a/src/main/java/NTNU/IDATT1002/controllers/Login.java +++ b/src/main/java/NTNU/IDATT1002/controllers/Login.java @@ -3,7 +3,6 @@ package NTNU.IDATT1002.controllers; import NTNU.IDATT1002.App; import NTNU.IDATT1002.service.UserService; import javafx.event.ActionEvent; -import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.PasswordField; import javafx.scene.control.TextField; @@ -11,7 +10,6 @@ import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; import javafx.scene.text.Text; - import javax.persistence.EntityManager; import java.io.IOException; diff --git a/src/main/java/NTNU/IDATT1002/controllers/Search.java b/src/main/java/NTNU/IDATT1002/controllers/Search.java index c64c9813dc5c2e2a789564a0ec7237576aabb432..35157e867c46eef2f6faac6a89da35374c50dd37 100644 --- a/src/main/java/NTNU/IDATT1002/controllers/Search.java +++ b/src/main/java/NTNU/IDATT1002/controllers/Search.java @@ -1,8 +1,6 @@ package NTNU.IDATT1002.controllers; import NTNU.IDATT1002.App; -import NTNU.IDATT1002.models.Image; -import NTNU.IDATT1002.models.Tag; import NTNU.IDATT1002.service.ImageService; import NTNU.IDATT1002.service.TagService; import NTNU.IDATT1002.utils.ImageUtil; @@ -23,19 +21,10 @@ import javafx.scene.layout.VBox; import javafx.scene.text.Font; import javafx.scene.text.Text; -import javax.persistence.*; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaDelete; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.CriteriaUpdate; -import javax.persistence.metamodel.Metamodel; import java.io.IOException; import java.net.URL; -import java.util.Arrays; import java.util.List; -import java.util.Map; import java.util.ResourceBundle; -import java.util.stream.Collectors; /** diff --git a/src/main/java/NTNU/IDATT1002/controllers/SignUp.java b/src/main/java/NTNU/IDATT1002/controllers/SignUp.java index 7dc707db60b62716d423fc52ce84210c8ce3c9da..5e20b1d3be6001a44c8e5575fb3a596d582c1437 100644 --- a/src/main/java/NTNU/IDATT1002/controllers/SignUp.java +++ b/src/main/java/NTNU/IDATT1002/controllers/SignUp.java @@ -1,22 +1,22 @@ package NTNU.IDATT1002.controllers; -import java.io.IOException; -import java.time.Instant; -import java.time.LocalDate; -import java.time.ZoneId; -import java.util.ArrayList; -import java.util.Date; - import NTNU.IDATT1002.App; import NTNU.IDATT1002.service.UserService; -import java.util.regex.Pattern; import javafx.event.ActionEvent; import javafx.scene.control.Button; import javafx.scene.control.DatePicker; import javafx.scene.control.PasswordField; import javafx.scene.control.TextField; import javafx.scene.layout.GridPane; + import javax.persistence.EntityManager; +import java.io.IOException; +import java.time.Instant; +import java.time.LocalDate; +import java.time.ZoneId; +import java.util.ArrayList; +import java.util.Date; +import java.util.regex.Pattern; /** * Controls the buttons and changeable elements on signup.fxml, diff --git a/src/main/java/NTNU/IDATT1002/controllers/UploadImages.java b/src/main/java/NTNU/IDATT1002/controllers/UploadImages.java index 8d471ca10cfe1ac9c3ed8fb96fb97a5d44f085e6..459d20837f8b51aab14f402a3ea045d963df8bb5 100644 --- a/src/main/java/NTNU/IDATT1002/controllers/UploadImages.java +++ b/src/main/java/NTNU/IDATT1002/controllers/UploadImages.java @@ -1,10 +1,10 @@ package NTNU.IDATT1002.controllers; import NTNU.IDATT1002.App; -import NTNU.IDATT1002.ApplicationState; import NTNU.IDATT1002.models.Album; import NTNU.IDATT1002.models.Tag; import NTNU.IDATT1002.service.AlbumService; +import NTNU.IDATT1002.service.ApplicationState; import NTNU.IDATT1002.service.ImageService; import NTNU.IDATT1002.service.TagService; import NTNU.IDATT1002.utils.MetaDataExtractor; @@ -16,7 +16,10 @@ import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Node; import javafx.scene.Parent; -import javafx.scene.control.*; +import javafx.scene.control.Alert; +import javafx.scene.control.Button; +import javafx.scene.control.TextArea; +import javafx.scene.control.TextField; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.input.MouseEvent; @@ -25,14 +28,16 @@ import javafx.scene.layout.VBox; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; - import org.controlsfx.control.CheckComboBox; import javax.persistence.EntityManager; import java.io.File; import java.io.IOException; import java.net.URL; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.ResourceBundle; import java.util.stream.Collectors; /** diff --git a/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java b/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java index c099421e68a12dbe526e8c404a89f0b275aad062..75c88caeb3a36b3ead5fa85ba01892b3dcd7ad6c 100644 --- a/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java +++ b/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java @@ -7,11 +7,6 @@ import NTNU.IDATT1002.service.AlbumDocument; import NTNU.IDATT1002.service.AlbumService; import NTNU.IDATT1002.service.TagService; import NTNU.IDATT1002.utils.ImageUtil; -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.util.*; -import java.util.logging.Logger; import javafx.application.HostServices; import javafx.event.ActionEvent; import javafx.event.EventHandler; @@ -29,17 +24,15 @@ import javafx.scene.layout.VBox; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; -import javax.persistence.EntityManager; -import org.slf4j.LoggerFactory; import javax.persistence.EntityManager; import java.io.File; import java.io.IOException; import java.net.URL; +import java.util.List; import java.util.Optional; import java.util.ResourceBundle; import java.util.stream.Collectors; -import org.slf4j.LoggerFactory; /** * Controls the buttons and changeable elements on view_album.fxml, diff --git a/src/main/java/NTNU/IDATT1002/controllers/ViewPicture.java b/src/main/java/NTNU/IDATT1002/controllers/ViewPicture.java index 47f300f6a1b8becf031e675622238338a742ddd9..4751385e6738a6de383096f0730f15d59a7fab51 100644 --- a/src/main/java/NTNU/IDATT1002/controllers/ViewPicture.java +++ b/src/main/java/NTNU/IDATT1002/controllers/ViewPicture.java @@ -16,7 +16,6 @@ import javafx.scene.text.Text; import javax.persistence.EntityManager; import java.io.IOException; import java.net.URL; -import java.util.Optional; import java.util.ResourceBundle; diff --git a/src/main/java/NTNU/IDATT1002/filters/AlbumFilter.java b/src/main/java/NTNU/IDATT1002/filters/AlbumFilter.java deleted file mode 100644 index fc98256744eb144f1b718bffb515903bb614fe71..0000000000000000000000000000000000000000 --- a/src/main/java/NTNU/IDATT1002/filters/AlbumFilter.java +++ /dev/null @@ -1,59 +0,0 @@ -package NTNU.IDATT1002.filters; - -import NTNU.IDATT1002.models.Album; - -import java.util.function.Predicate; - - -/** - * Album Filter. Class to filter an album by title, description and tag names. - * - * @author Eirik Steira - * @version 1.0 22.03.20 - */ -public class AlbumFilter { - - /** - * Chain the predicates and test the album by the given query. - * - * @param query the query to filter by - * @return predicate chaining the album filter components. - */ - public static Predicate<Album> filter(String query) { - return filterByTitle(query) - .or(filterByDescription(query)) - .or(filterByTags(query)); - } - - /** - * Filter an album by given title. - * - * @param title the title to query by - * @return predicate to apply. - */ - private static Predicate<Album> filterByTitle(String title) { - return album -> album.getTitle().contains(title); - } - - /** - * Filter an album by given description. - * - * @param description the description to query by - * @return predicate to apply. - */ - private static Predicate<Album> filterByDescription(String description) { - return album -> album.getTitle().contains(description); - } - - /** - * Filter an album by given tag name. - * - * @param tagName the tag name to query by - * @return predicate to apply. - */ - private static Predicate<Album> filterByTags(String tagName) { - return album -> album.getTags().stream() - .anyMatch(tag -> tag.getName().equalsIgnoreCase(tagName)); - } - -} diff --git a/src/main/java/NTNU/IDATT1002/filters/ImageFilter.java b/src/main/java/NTNU/IDATT1002/filters/ImageFilter.java deleted file mode 100644 index afb780140478ad4d724fc15c50ca1036e86396d5..0000000000000000000000000000000000000000 --- a/src/main/java/NTNU/IDATT1002/filters/ImageFilter.java +++ /dev/null @@ -1,40 +0,0 @@ -package NTNU.IDATT1002.filters; - - -import NTNU.IDATT1002.models.Image; - -import java.util.function.Predicate; - - -/** - * Album Filter. Class to filter an album by title, description and tag names. - * - * @author Stian Mogen - * @version 1.0 22.03.20 - */ -public class ImageFilter { - - /** - * Image filter can filter an album by tags - * Uses method filterByTags - * @param query the query to filter by - * @return predicate chaining the album filter components. - */ - - public static Predicate<Image> filter(String query) { - return filterByTags(query); - } - - /** - * Filters images based on tag - * @param tagName - * @return predicate to apply - */ - - - private static Predicate<Image> filterByTags(String tagName){ - return image -> image.getTags().stream() - .anyMatch(tag -> tag.getName().equalsIgnoreCase(tagName)); - } - -} diff --git a/src/main/java/NTNU/IDATT1002/repository/ImageRepository.java b/src/main/java/NTNU/IDATT1002/repository/ImageRepository.java index 07b854f64d616575c3cc2ddfe55e3db7979144ec..bdb25bddd9fdcbd494394494564834b3669b9c93 100644 --- a/src/main/java/NTNU/IDATT1002/repository/ImageRepository.java +++ b/src/main/java/NTNU/IDATT1002/repository/ImageRepository.java @@ -1,11 +1,8 @@ package NTNU.IDATT1002.repository; -import NTNU.IDATT1002.App; import NTNU.IDATT1002.models.Image; - import javax.persistence.EntityManager; -import javax.persistence.TypedQuery; import java.util.List; diff --git a/src/main/java/NTNU/IDATT1002/ApplicationState.java b/src/main/java/NTNU/IDATT1002/service/ApplicationState.java similarity index 95% rename from src/main/java/NTNU/IDATT1002/ApplicationState.java rename to src/main/java/NTNU/IDATT1002/service/ApplicationState.java index 640517cb58ddd22edd63dc4ff65cbe8d553d4e67..285fcba4af38d46edaa8f07b7188899fa0c98725 100644 --- a/src/main/java/NTNU/IDATT1002/ApplicationState.java +++ b/src/main/java/NTNU/IDATT1002/service/ApplicationState.java @@ -1,6 +1,7 @@ -package NTNU.IDATT1002; +package NTNU.IDATT1002.service; +import NTNU.IDATT1002.Config; import NTNU.IDATT1002.models.User; import NTNU.IDATT1002.repository.UserRepository; diff --git a/src/main/java/NTNU/IDATT1002/service/ImageService.java b/src/main/java/NTNU/IDATT1002/service/ImageService.java index 93bb9de2e764979827cb43cbe2c197b10126a105..e9d6113ebded6b4925a641bcc4a724b041c9a555 100644 --- a/src/main/java/NTNU/IDATT1002/service/ImageService.java +++ b/src/main/java/NTNU/IDATT1002/service/ImageService.java @@ -1,6 +1,5 @@ package NTNU.IDATT1002.service; -import NTNU.IDATT1002.filters.ImageFilter; import NTNU.IDATT1002.models.*; import NTNU.IDATT1002.repository.ImageRepository; import NTNU.IDATT1002.utils.ImageUtil; @@ -84,21 +83,6 @@ public class ImageService { return imageRepository.findAll(); } - /** - * Search all images by tags specified in {@link ImageFilter#filter(String)}. - * - * @param query the query to filter by - * @return list of images matching the query - */ - - //This search method is for futureproofing, when we will search using additional parameters than just tags - public List<Image> searchImages(String query) { - List<Image> allImages = imageRepository.findAll(); - return allImages.stream() - .filter(ImageFilter.filter(query)) - .collect(Collectors.toList()); - } - public Optional<Image> findById(Long id){ return imageRepository.findById(id); } diff --git a/src/main/java/NTNU/IDATT1002/service/PdfDocument.java b/src/main/java/NTNU/IDATT1002/service/PdfDocument.java index 8d012e0a1ee990020753c64370488b976304a035..d9cd213f5c2dfbf8288c0c01ac85485e43a15ab1 100644 --- a/src/main/java/NTNU/IDATT1002/service/PdfDocument.java +++ b/src/main/java/NTNU/IDATT1002/service/PdfDocument.java @@ -1,17 +1,17 @@ package NTNU.IDATT1002.service; -import NTNU.IDATT1002.models.Image; import NTNU.IDATT1002.models.Album; +import NTNU.IDATT1002.models.Image; import NTNU.IDATT1002.models.Metadata; import com.itextpdf.text.*; import com.itextpdf.text.pdf.PdfWriter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.Date; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** diff --git a/src/main/java/NTNU/IDATT1002/service/UserService.java b/src/main/java/NTNU/IDATT1002/service/UserService.java index 532eadd4368ae9db065f07621de10f74e82f2e4a..c7341527ddbf447e394cbb4777e2a7a76d3c0ee9 100644 --- a/src/main/java/NTNU/IDATT1002/service/UserService.java +++ b/src/main/java/NTNU/IDATT1002/service/UserService.java @@ -1,6 +1,5 @@ package NTNU.IDATT1002.service; -import NTNU.IDATT1002.ApplicationState; import NTNU.IDATT1002.models.Login; import NTNU.IDATT1002.models.User; import NTNU.IDATT1002.repository.LoginRepository; diff --git a/src/main/java/NTNU/IDATT1002/utils/Authentication.java b/src/main/java/NTNU/IDATT1002/utils/Authentication.java index 311c9ea43b753ad151bb4504d18140f00864a6fb..e0ecf90772558eb8eca4805655e178405deb7636 100644 --- a/src/main/java/NTNU/IDATT1002/utils/Authentication.java +++ b/src/main/java/NTNU/IDATT1002/utils/Authentication.java @@ -1,11 +1,9 @@ package NTNU.IDATT1002.utils; -import javax.xml.bind.DatatypeConverter; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.util.ArrayList; -import java.util.Arrays; import java.util.Random; /** diff --git a/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java b/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java index 97c25beed5656008bb5bb250f9ad6cb5aa16d18f..9d51ca8be7b3ad1e7342d396d18faf6532f857d1 100644 --- a/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java +++ b/src/main/java/NTNU/IDATT1002/utils/MetaDataExtractor.java @@ -1,6 +1,5 @@ package NTNU.IDATT1002.utils; -import NTNU.IDATT1002.controllers.ExploreAlbums; import NTNU.IDATT1002.models.GeoLocation; import NTNU.IDATT1002.repository.GeoLocatioRepository; import com.drew.imaging.ImageMetadataReader; @@ -11,17 +10,16 @@ import com.drew.metadata.Tag; import com.drew.metadata.exif.ExifIFD0Directory; import com.drew.metadata.exif.ExifSubIFDDirectory; import com.drew.metadata.exif.GpsDirectory; - import com.drew.metadata.file.FileSystemDirectory; import com.drew.metadata.file.FileTypeDirectory; import com.drew.metadata.iptc.IptcDirectory; - import com.drew.metadata.jpeg.JpegDirectory; -import java.io.File; -import java.io.IOException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.io.IOException; + /** * Class MetaDataExtractor. Extracts metadata and geolocation and histogram from it.