ulrich
2022-02-11 ae1d6348242c3be10a38586c9d21f6187787e8cd
src/de/uhilger/bildhelfer/Koordinator.java
@@ -1,7 +1,18 @@
package de.uhilger.bildhelfer;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
 * Verkleinern von Bilddateien mit der Endung jpeg, jpg oder png
 *
 * Ausfuehren auf der Kommandozeile mit:
 * java -jar liste
 * java -jar verkleinern 1920 0.7 /media/extssd/Bildarchiv/Film /home/ulli/Bilder/film-1920
 * java -jar stapel 1920 0.7 /media/extssd/Bildarchiv/Film /home/ulli/Bilder/film-1920
 */
public class Koordinator {
@@ -12,14 +23,32 @@
      if(args[0].equals("verkleinern")) {
        verkleinern(args);
      } else if(args[0].equals("liste")) {
        // TODO liste
        System.out.println("Bilder in einzelnem Ordner verarbeiten:");
        System.out.println("   java -jar bildhelfer.jar verkleinern groesse qualitaet eingangsordner ausgabeordner");
        System.out.println("Ganze Ordnerstruktur mit Bildern verarbeiten:");
        System.out.println("   java -jar bildhelfer.jar stapel groesse qualitaet eingangsordner ausgabeordner");
        System.out.println("groesse: Anzahl Bildpunkte entlang der laengsten Kante als Ganzzahl");
        System.out.println("qualitaet: Prozentwert als Fliesskommazahl, z.B. 0.75 fuer 75%");
      } else if(args[0].equals("stapel")) {
        stapelverarbeitung(args);
      } else {
        logger.info("Fehlendes oder ungueltiges Kommando, gueltige Kommandos mit java -jar imagetool.jar liste");
        logger.info("Fehlendes oder ungueltiges Kommando. Gueltige Kommandos mit java -jar bildhelfer.jar liste");
      }
    }
  }
  private void stapelverarbeitung(String[] args) {
    try {
      System.out.println(args[0] + " " + args[1] + " "  + args[2] + " "  + args[3] + " "  + args[4]);
      OrdnerVerarbeiter ov = new OrdnerVerarbeiter();
      Verkleinerer v = new Verkleinerer();
      ov.verarbeiten(v, args[1], args[2], args[3], args[4]);
    } catch (IOException ex) {
      Logger.getLogger(Koordinator.class.getName()).log(Level.SEVERE, null, ex);
    }
  }
  private void verkleinern(String[] args) {
    if(args.length < 5) {
      logger.info("Es muessen 4 Parameter sein: groesse, qualitaet, eingangsordner, ausgabeordner");