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

refactoring

parent 47bfb9ad
Branches
No related tags found
No related merge requests found
......@@ -81,15 +81,6 @@ public class FTPResource {
return Response.ok(results).build();
}
@DELETE
@Path("/{alias}")
public Response removeFTPServer(@PathParam("alias") String alias) {
System.out.println("removeFTPServer()");
boolean removed = FTPServerRepository.getInstance().removeServer(alias);
return removed ? Response.noContent().build()
: Response.status(Response.Status.NOT_FOUND).build();
}
@PUT
@Path("/{alias}")
@Consumes(MediaType.APPLICATION_JSON)
......@@ -100,6 +91,15 @@ public class FTPResource {
: Response.status(Response.Status.NOT_FOUND).build();
}
@DELETE
@Path("/{alias}")
public Response removeFTPServer(@PathParam("alias") String alias) {
System.out.println("removeFTPServer()");
boolean removed = FTPServerRepository.getInstance().removeServer(alias);
return removed ? Response.noContent().build()
: Response.status(Response.Status.NOT_FOUND).build();
}
// --- Endpoints pour les opérations FTP ---
@GET
......@@ -143,7 +143,6 @@ public class FTPResource {
}
// GET pour télécharger une ressource : fichier ou dossier compressé en ZIP
@GET
@Path("/{alias}/{path: .+}")
public Response getFTPResource(
......@@ -199,20 +198,18 @@ public class FTPResource {
}
}
@POST
@Path("/{alias}/upload-dir/{path: .*}")
@Consumes(MediaType.APPLICATION_OCTET_STREAM)
public Response uploadDirectory(
// DELETE pour supprimer une ressource (fichier ou dossier récursivement)
@DELETE
@Path("/{alias}/{path: .+}")
public Response deleteResource(
@PathParam("alias") String alias,
@PathParam("path") String path,
@HeaderParam("X-FTP-User") String user,
@HeaderParam("X-FTP-Pass") String pass,
InputStream zipStream) {
System.out.println("uploadDirectory()");
@HeaderParam("X-FTP-Pass") String pass) {
System.out.println("deleteResource()");
try {
ftpService.uploadDirectoryAsZip(alias, path, user, pass, zipStream);
return Response.ok().build();
ftpService.deleteResource(alias, path, user, pass);
return Response.noContent().build();
} catch (FTPException e) {
return Response.status(e.getStatus()).entity(e.getMessage()).build();
} catch (IOException e) {
......@@ -242,18 +239,20 @@ public class FTPResource {
}
}
// DELETE pour supprimer une ressource (fichier ou dossier récursivement)
@DELETE
@Path("/{alias}/{path: .+}")
public Response deleteResource(
@POST
@Path("/{alias}/upload-dir/{path: .*}")
@Consumes(MediaType.APPLICATION_OCTET_STREAM)
public Response uploadDirectory(
@PathParam("alias") String alias,
@PathParam("path") String path,
@HeaderParam("X-FTP-User") String user,
@HeaderParam("X-FTP-Pass") String pass) {
System.out.println("deleteResource()");
@HeaderParam("X-FTP-Pass") String pass,
InputStream zipStream) {
System.out.println("uploadDirectory()");
try {
ftpService.deleteResource(alias, path, user, pass);
return Response.noContent().build();
ftpService.uploadDirectoryAsZip(alias, path, user, pass, zipStream);
return Response.ok().build();
} catch (FTPException e) {
return Response.status(e.getStatus()).entity(e.getMessage()).build();
} catch (IOException e) {
......
......@@ -390,9 +390,7 @@ public class FTPService {
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;
String ftpUrl = "http://" + config.getHost() + "/" + newPath;
urls.add(ftpUrl);
}
// Parcours des enfants si le nœud est un répertoire
......
......@@ -135,10 +135,12 @@ public class FTPResourceTest {
@Test
public void testDeleteResource() throws IOException {
File toDelete = new File(ftpHomeDir, "to_delete.txt");
toDelete.createNewFile();
String filename = "/to_delete.txt";
File toDelete = new File(ftpHomeDir, filename);
FileUtils.writeStringToFile(toDelete, "test content", StandardCharsets.UTF_8);
FTPResource resource = new FTPResource();
Response response = resource.deleteResource(ALIAS, "to_delete.txt", USER, PASS);
Response response = resource.deleteResource(ALIAS, filename, USER, PASS);
assertEquals(Response.Status.NO_CONTENT.getStatusCode(), response.getStatus());
assertFalse(toDelete.exists());
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment