Skip to content
Snippets Groups Projects
Commit be082b29 authored by fabiovandewaeter's avatar fabiovandewaeter
Browse files

refactoring

parent 4286c231
Branches
Tags
No related merge requests found
......@@ -65,7 +65,7 @@ public class FTPResource {
List<String> urls = new ArrayList<>();
// Parcourir récursivement l’arborescence pour chercher le fichier (ou
// répertoire) recherché
searchInTree(tree, searchTerm, "", config, urls);
ftpService.searchInTree(tree, searchTerm, "", config, urls);
if (!urls.isEmpty()) {
results.put(config.getAlias(), urls);
}
......@@ -77,34 +77,6 @@ public class FTPResource {
return Response.ok(results).build();
}
/**
* Recherche récursive dans l’arborescence FTP.
*
* @param node l’arborescence à parcourir
* @param searchTerm la chaîne à rechercher
* @param currentPath le chemin courant dans l’arborescence
* @param config la configuration du serveur FTP (pour construire l’URL)
* @param urls la liste des URLs trouvées
*/
private void searchInTree(FTPService.FtpNode node, String searchTerm, String currentPath, FTPServerConfig config,
List<String> urls) {
// Concaténation du chemin
String newPath = currentPath.isEmpty() ? node.name : currentPath + "/" + node.name;
// Si le nom contient le terme recherché (fichier ou dossier)
if (node.name.toLowerCase().contains(searchTerm.toLowerCase())) {
// Construction de l’URL FTP. On suppose que FTPServerConfig possède une méthode
// getHost().
String ftpUrl = "ftp://" + config.getHost() + "/" + newPath;
urls.add(ftpUrl);
}
// Parcours des enfants si le nœud est un répertoire
if (node.isDirectory && node.children != null) {
for (FTPService.FtpNode child : node.children) {
searchInTree(child, searchTerm, newPath, config, urls);
}
}
}
@DELETE
@Path("/{alias}")
public Response removeFTPServer(@PathParam("alias") String alias) {
......
......@@ -371,4 +371,32 @@ public class FTPService {
}
}
}
/**
* Recherche récursive dans l’arborescence FTP.
*
* @param node l’arborescence à parcourir
* @param searchTerm la chaîne à rechercher
* @param currentPath le chemin courant dans l’arborescence
* @param config la configuration du serveur FTP (pour construire l’URL)
* @param urls la liste des URLs trouvées
*/
public void searchInTree(FTPService.FtpNode node, String searchTerm, String currentPath, FTPServerConfig config,
List<String> urls) {
// Concaténation du chemin
String newPath = currentPath.isEmpty() ? node.name : currentPath + "/" + node.name;
// Si le nom contient le terme recherché (fichier ou dossier)
if (node.name.toLowerCase().contains(searchTerm.toLowerCase())) {
// Construction de l’URL FTP. On suppose que FTPServerConfig possède une méthode
// getHost().
String ftpUrl = "ftp://" + config.getHost() + "/" + newPath;
urls.add(ftpUrl);
}
// Parcours des enfants si le nœud est un répertoire
if (node.isDirectory && node.children != null) {
for (FTPService.FtpNode child : node.children) {
searchInTree(child, searchTerm, newPath, config, urls);
}
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment