/** * GUI-Methode Diese Methode erstellt im AlbumContainer ein Album mit Titel, Beschreibung und * Sortierkennzeichen * * @param title Titel des Albums welches erstellt werden soll * @param beschreibung Beschreibung des Albums welches erstellt werden soll * @param sortierkennzeichen Sortierkennzeichen des Albums welches erstellt werden soll * @return Fehlercode zur Auswertung * <p>Version-History: * @date 24.11.2015 by Danilo: Initialisierung * @date 25.11.2015 by Danilo: Initialisierung Stringprüfung und Fehlerbehandlung * @date 29.11.2015 by Danilo: Fehlerkorrektur bei Fehler´haftenversuch ein Album anzulegen * @date 01.12.2015 by Danilo: Fehlerkorrektur * @date 04.12.2015 by Danilo: Fehlerkorrektur bei zu kurzen Albentiteln * @date 07.12.2015 by Danilo: Sortierkennzeichen Datentyp zu int und transparente Speicherung * @date 08.12.2015 by Danilo: Einfügen eines Fehlerloggingsystemes * @date 10.12.2015 by Danilo: Einfügen globaler Variablen */ public static int createNewAlbum(String title, String beschreibung, int sortierkennzeichen) { // Prüft zu kruze Albentitel if (title == null || title.length() <= minTitleLength) { return ErrorController.addDebugReport(115); } if (beschreibung == null) { return ErrorController.addDebugReport(116); } // Prüfen der Eingabe if (title.length() > maxTitleLength) { title = title.substring(0, maxTitleLength); } if (beschreibung.length() > maxBeschLength) { beschreibung = beschreibung.substring(0, maxBeschLength); } if (sortierkennzeichen < 0 || sortierkennzeichen > 2) { sortierkennzeichen = 0; } if (createAlbum(title) != 0) { return ErrorController.addDebugReport(110); } if (editAlbumBeschreibung(title, beschreibung) != 0) { return ErrorController.addDebugReport(120); } if (editAlbumSortierkennzeichen(title, sortierkennzeichen) != 0) { return ErrorController.addDebugReport(130); } // Speichern des Systemes return SystemController.loadOrSave(false); }
/** * Diese Methode gibt das Sortierkennzeichen für ein Album zurück, damit es richtig in der GUI * angezeigt werden kann. * * @param title Titel des Albums * @return Code für das Sortierkennzeichen * <p>Version-History: * @date 15.01.2016 by Tobias: Anlegen der Methode */ public static int getSortierkennzeichenFromAlbum(String title) { for (Album tmpAlbum : SystemController.getAlbumContainer().getAlbenListe()) { if (tmpAlbum.getTitel().equals(title)) { return tmpAlbum.getSortierkennzeichen(); } } return ErrorController.addDebugReport(350); }
/** * Diese Methode ändert im AlbumContainer die Beschreibung eines Albums * * @param title Titel des Albums welches geändert werden soll * @param beschreibung Neue Beschreibung des Albums * <p>Version-History: * @return Fehlercode zur Auswertung <br> * 0 = Albumbeschreibung wurde geändert <br> * 1 = Album nicht vorhanden * @date 21.11.2015 by Danilo: Initialisierung * @date 23.11.2015 by Danilo: Kommentar angepasst * @date 24.11.2015 by Danilo: Methode auf static gesetzt * @date 01.12.2015 by Danilo: Fehlerkorrektur * @date 08.12.2015 by Danilo: Einfügen eines Fehlerloggingsystemes */ private static int editAlbumBeschreibung(String title, String beschreibung) { for (Album tmpAlbum : SystemController.getAlbumContainer().getAlbenListe()) { if (tmpAlbum.getTitel().equals(title)) { tmpAlbum.setBeschreibung(beschreibung); return 0; } } return ErrorController.addDebugReport(340); }
/** * Diese Methode ändert im AlbumContainer das Sortierkennzeichen eines Albums * * @param title Titel des Albums welches geändert werden soll * @param sortierkennzeichen Neues Sortierkennzeichen des Albums * @return Fehlercode zur Auswertung <br> * 0 = Albumsortierkennzeichen wurde geändert <br> * 1 = Album nicht vorhanden * <p>Version-History: * @date 21.11.2015 by Danilo: Initialisierung * @date 23.11.2015 by Danilo: Kommentar angepasst * @date 24.11.2015 by Danilo: Methode auf static gesetzt * @date 01.12.2015 by Danilo: Fehlerkorrektur * @date 07.12.2015 by Danilo: Sortierkennzeichen Datentyp zu int * @date 08.12.2015 by Danilo: Einfügen eines Fehlerloggingsystemes */ private static int editAlbumSortierkennzeichen(String title, int sortierkennzeichen) { for (Album tmpAlbum : SystemController.getAlbumContainer().getAlbenListe()) { if (tmpAlbum.getTitel().equals(title)) { tmpAlbum.setSortierkennzeichen(sortierkennzeichen); return 0; } } return ErrorController.addDebugReport(350); }
/** * Diese Methode ändert im AlbumContainer den Namen eines Albums * * @param title Titel des Albums welches geändert werden soll * @param newTitle Neuer Titel des Albums * <p>Version-History: * @return Fehlercode zur Auswertung <br> * 0 = Albumtitel wurde geändert <br> * 1 = Album nicht vorhanden <br> * 2 = neuer Albumtitel schon vorhanden * @date 21.11.2015 by Danilo: Initialisierung * @date 23.11.2015 by Danilo: Kommentar angepasst * @date 24.11.2015 by Danilo: Methode auf static gesetzt * @date 28.11.2015 by Tobias: Prüfung von newTitel hinzugefügt * @date 01.12.2015 by Danilo: Fehlerkorrektur * @date 02.12.2015 by Tobias: Prüfen ob die Titel gleich sind * @date 08.12.2015 by Danilo: Einfügen eines Fehlerloggingsystemes */ private static int editAlbumTitle(String title, String newTitle) { for (Album tmpAlbum : SystemController.getAlbumContainer().getAlbenListe()) { // Wenn die Titel gleich sind, muss nichts geändert werden if (title.equals(newTitle)) { return 0; } // Wenn die Titel unterschiedlich sind: else { // Prüfen ob neuer Titel schon vergeben ist if (tmpAlbum.getTitel().equals(newTitle)) { return ErrorController.addDebugReport(331); } if (tmpAlbum.getTitel().equals(title)) { tmpAlbum.setTitel(newTitle); return 0; } } } return ErrorController.addDebugReport(330); }
/** * Diese Methode erstellt im AlbumContainer ein Album * * @param title Titel vom Album * @return Fehlercode zur Auswertung * <p>Version-History: * @date 21.11.2015 by Danilo: Initialisierung * @date 23.11.2015 by Danilo: Kommentar angepasst * @date 24.11.2015 by Danilo: Methode auf static gesetzt * @date 01.12.2015 by Danilo: Fehlerkorrektur * @date 08.12.2015 by Danilo: Einfügen eines Fehlerloggingsystemes */ private static int createAlbum(String title) { for (Album tmpAlbum : SystemController.getAlbumContainer().getAlbenListe()) { if (tmpAlbum.getTitel().equals(title)) { return ErrorController.addDebugReport(320); } } Album newAlbum = new Album(title); SystemController.getAlbumContainer().add(newAlbum); return 0; }
/** * GUI-Methode Diese Methode löscht eine Liste von Alben * * @param titlelist Liste der Albentitel die gelöscht werden sollen * @return Rückgabe der Anzahl der nicht vorhandenen Alben * <p>Version-History: * @date 25.11.2015 by Danilo: Initialisierung * @date 07.12.2015 by Danilo: Transparente Speicherung * @date 08.12.2015 by Danilo: Änderung des Fehlercodes und einfügen eines Fehlerloggingsystemes */ public static int deleteListOfAlbum(List<String> titlelist) { int errorcode = 0; for (String title : titlelist) { errorcode += deleteAlbum(title); } if (errorcode == 0) { return SystemController.loadOrSave(false); } return ErrorController.addDebugReport(300); }
/** * Diese Methode löscht im AlbumContainer ein Album * * @param title Titel des Albums welches gelöscht werden soll * @return Fehlercode zur Auswertung <br> * 0 = Album wurde gelöscht <br> * 1 = Album nicht vorhanden * <p>Version-History: * @date 21.11.2015 by Danilo: Initialisierung * @date 23.11.2015 by Danilo: Rückgabewert geändert und Kommentar angepasst * @date 24.11.2015 by Danilo: Methode auf static gesetzt * @date 25.11.2015 by Danilo: Methode auf private gesetzt * @date 01.12.2015 by Danilo: Fehlerkorrektur * @date 08.12.2015 by Danilo: Einfügen eines Fehlerloggingsystemes */ private static int deleteAlbum(String title) { for (Album tmpAlbum : SystemController.getAlbumContainer().getAlbenListe()) { if (tmpAlbum.getTitel().equals(title)) { FotoController.deleteAllFotosInAlbum(tmpAlbum); SystemController.getAlbumContainer().delete(tmpAlbum); return 0; } } return ErrorController.addDebugReport(310); }
/** * Methode sucht nach einem Album und gibt dieses zurück * * @param title Übergabe des gesuchten Albumtitels * @return Rückgabe des Albums, wenn keins gefunden dann null * <p>Version-History: * @date 24.11.2015 by Danilo: Initialisierung * @date 02.12.2015 by Tobias: Setzten auf public * @date 04.12.2015 by Danilo: Fehlerkorrektur bei zu kurzen Albentiteln * @date 08.12.2015 by Danilo: Einfügen eines Fehlerloggingsystemes * @date 10.12.2015 by Danilo: Einfügen globaler Variablen */ public static Album getAlbum(String title) { // Prüft zu kruze Albentitel if (title == null || title.length() <= minTitleLength) { return null; } for (Album tmpAlbum : SystemController.getAlbumContainer().getAlbenListe()) { if (tmpAlbum.getTitel().equals(title)) { return tmpAlbum; } } ErrorController.addDebugReport(100); return null; }