From 4268ce6820ce1481cf8c8bc54d6eca4c02240ef6 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Thu, 14 Nov 2024 11:59:57 +0000
Subject: [PATCH] Download-Link in Readme berichtigt

---
 src/de/uhilger/fm/Renamer.java |   67 ++++++++++++++++++++-------------
 1 files changed, 41 insertions(+), 26 deletions(-)

diff --git a/src/de/uhilger/fm/Renamer.java b/src/de/uhilger/fm/Renamer.java
index d85facc..dd9f37e 100644
--- a/src/de/uhilger/fm/Renamer.java
+++ b/src/de/uhilger/fm/Renamer.java
@@ -1,5 +1,5 @@
 /*
-  neon-fm - File management extensions to Neon
+  fm - File management class library
   Copyright (C) 2024  Ulrich Hilger
 
   This program is free software: you can redistribute it and/or modify
@@ -17,7 +17,6 @@
  */
 package de.uhilger.fm;
 
-import com.sun.net.httpserver.HttpExchange;
 import java.io.File;
 import java.io.IOException;
 import java.nio.file.DirectoryStream;
@@ -25,7 +24,7 @@
 import java.nio.file.Path;
 
 /**
- * Eine Klasse mit Methoden zum Umbenennen von Dateien
+ * Umbenennen von Dateien
  * 
  * @author Ulrich Hilger, 15. Januar 2024
  */
@@ -33,13 +32,21 @@
   
   public static final String STR_DOT = ".";
   
-  public String umbenennen(HttpExchange exchange, String relPfad, String neuerName, File file) throws IOException {
+  /**
+   * Eine Datei oder einen Ordner umbenennen
+   * 
+   * @param neuerName  der Name fuer das Objekt
+   * @param file  das Objekt, das umbenannt werden soll
+   * @return der neue Name
+   * @throws IOException wenn etwas schief geht
+   */
+  public String rename(/*HttpExchange exchange, *//*String relPfad,*/ String neuerName, File file) 
+          throws IOException {
     File neueDatei;
-    //String relPfad = helper.getFileName(exchange);
-    //File file = new File(exchange.getHttpContext().getAttributes().get(FileHandler.ATTR_FILE_BASE).toString(), relPfad);
     String fname = file.getName().toLowerCase();
-    if(fname.endsWith(Const.JPEG) || fname.endsWith(Const.JPG) || fname.endsWith(Const.PNG)) {
-      neueDatei = renameImgFiles(file.getParentFile(), file, neuerName);  
+    if(fname.endsWith(ImageFileFilter.JPEG) || fname.endsWith(ImageFileFilter.JPG) || 
+            fname.endsWith(ImageFileFilter.PNG)) {
+      neueDatei = renameImgFiles(file, neuerName);  
     } else {
       neueDatei = new File(file.getParentFile(), neuerName);
       file.renameTo(neueDatei);
@@ -47,37 +54,48 @@
     return neueDatei.getName();
   }
   
-  public File renameImgFiles(File targetDir, File targetFile, String newName) throws IOException {
+  /**
+   * Alle Varianten einer Bilddatei umbenennen
+   * 
+   * TODO einen sinnvolleren Rueckgabewert bauen
+   * 
+   * @param file  die Origianlbilddatei
+   * @param newName  der neue Name
+   * @return  Name der letzten Datei, die umbenannt wurde
+   * @throws IOException   wenn etwas schief geht
+   */
+  public File renameImgFiles(/*File targetDir, */ File file, String newName) throws IOException {
     String alt;
     String neu;
-    File neueDatei = targetFile;
+    File neueDatei = file;
     
+    File targetDir = file.getParentFile();
     int newdotpos = newName.lastIndexOf(STR_DOT);
     String newfname = newName.substring(0, newdotpos);
     String newext = newName.substring(newdotpos);
     //logger.fine("newfname: " + newfname + ", newext: " + newext);
     
-    String fnameext = targetFile.getName();
+    String fnameext = file.getName();
     int dotpos = fnameext.lastIndexOf(STR_DOT);
     String fname = fnameext.substring(0, dotpos);
     String ext = fnameext.substring(dotpos);
     //logger.fine("fname: " + fname + ", ext: " + ext);
     
-    DirectoryStream<Path> stream = Files.newDirectoryStream(targetDir.toPath(), fname + "*" + ext); //"*.{txt,doc,pdf,ppt}"
+    DirectoryStream<Path> stream = Files.newDirectoryStream(targetDir.toPath(), fname + "*" + ext); 
     for (Path path : stream) {
       //logger.fine(path.getFileName().toString());
       alt = path.getFileName().toString();
       //logger.fine("alt: " + alt);
-      if(alt.contains(Const.TN)) {
-        neu = newfname + Const.TN + newext;
-      } else if (alt.contains(Const.KL)) {
-        neu = newfname + Const.KL + newext;
-      } else if(alt.contains(Const.GR)) {
-        neu = newfname + Const.GR + newext;
-      } else if(alt.contains(Const.MT)) {
-        neu = newfname + Const.MT + newext;
-      } else if(alt.contains(Const.SM)) {
-        neu = newfname + Const.SM + newext;
+      if(alt.contains(ImageFileFilter.TN)) {
+        neu = newfname + ImageFileFilter.TN + newext;
+      } else if (alt.contains(ImageFileFilter.KL)) {
+        neu = newfname + ImageFileFilter.KL + newext;
+      } else if(alt.contains(ImageFileFilter.GR)) {
+        neu = newfname + ImageFileFilter.GR + newext;
+      } else if(alt.contains(ImageFileFilter.MT)) {
+        neu = newfname + ImageFileFilter.MT + newext;
+      } else if(alt.contains(ImageFileFilter.SM)) {
+        neu = newfname + ImageFileFilter.SM + newext;
       } else {
         neu = newName;
       }
@@ -87,7 +105,4 @@
     stream.close();
     return neueDatei;
   }
-  
-  
-  
-}
+}
\ No newline at end of file

--
Gitblit v1.9.3