Skip to content

Commit 3d26c31

Browse files
author
NoteFox
committed
revied Comments and corrected
1 parent 860516b commit 3d26c31

6 files changed

Lines changed: 140 additions & 113 deletions

File tree

pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@
4343
</exclusion>
4444
</exclusions>
4545
</dependency>
46+
<dependency>
47+
<groupId>DemoProject</groupId>
48+
<artifactId>demo</artifactId>
49+
<version>0.0.1-SNAPSHOT</version>
50+
</dependency>
4651
</dependencies>
4752

4853
<build>
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package Server.FTPServer;
2+
3+
import org.apache.ftpserver.FtpServer;
4+
import org.apache.ftpserver.FtpServerFactory;
5+
import org.apache.ftpserver.ftplet.*;
6+
import org.apache.ftpserver.listener.ListenerFactory;
7+
import org.apache.ftpserver.usermanager.PropertiesUserManagerFactory;
8+
import org.apache.ftpserver.usermanager.impl.BaseUser;
9+
import org.apache.ftpserver.usermanager.impl.WritePermission;
10+
11+
import java.io.File;
12+
import java.io.IOException;
13+
import java.util.ArrayList;
14+
import java.util.HashMap;
15+
import java.util.List;
16+
import java.util.Map;
17+
18+
public class FTPService {
19+
public void ftpServer() {
20+
//setting up a server Factory
21+
FtpServerFactory serverFactory = new FtpServerFactory();
22+
ListenerFactory factory = new ListenerFactory();
23+
24+
factory.setPort(5000);// set the port of the listener (choose your desired port, not 1234)
25+
serverFactory.addListener("default", factory.createListener()); // adding a "default Listener"
26+
PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory(); // adding a new UserManagementClass
27+
userManagerFactory.setFile(new File("~/ftp/userList.properties"));//choose any. We're telling the FTP-server where to read its user list
28+
userManagerFactory.setPasswordEncryptor(new PasswordEncryptorsImpl()); // encrypts passwords of users by using the EncrImpl
29+
30+
//Let's add a user, since our userList.properties file is empty on our first test run
31+
BaseUser user = new BaseUser();
32+
33+
user.setName("ohdmOffViewer");
34+
user.setPassword("H!3r0glyph Sat3llite Era$er");
35+
user.setHomeDirectory("/map");
36+
37+
List<Authority> authorities = new ArrayList<>();
38+
authorities.add(new WritePermission());
39+
user.setAuthorities(authorities);
40+
UserManager um = userManagerFactory.createUserManager();
41+
42+
try {
43+
um.save(user);//Save the user to the user list on the filesystem
44+
} catch (FtpException e1) {
45+
//Deal with exception as you need
46+
}
47+
48+
serverFactory.setUserManager(um);
49+
Map<String, Ftplet> m = new HashMap<>();
50+
m.put("miaFtplet", new FtpLetImpl());
51+
52+
serverFactory.setFtplets(m);
53+
54+
//Map<String, Ftplet> mappa = serverFactory.getFtplets();
55+
//System.out.println(mappa.size());
56+
//System.out.println("Thread #" + Thread.currentThread().getId());
57+
//System.out.println(mappa.toString());
58+
59+
FtpServer server = serverFactory.createServer();
60+
try {
61+
server.start();//Your FTP server starts listening for incoming FTP-connections, using the configuration options previously set
62+
} catch (FtpException ex) {
63+
//Deal with exception as you need
64+
}
65+
}
66+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package Server.FTPServer;
2+
3+
import org.apache.ftpserver.ftplet.*;
4+
5+
import java.io.IOException;
6+
7+
public class FtpLetImpl implements Ftplet {
8+
@Override
9+
public void init(FtpletContext ftpletContext) throws FtpException {
10+
//System.out.println("init");
11+
//System.out.println("Thread #" + Thread.currentThread().getId());
12+
}
13+
14+
@Override
15+
public void destroy() {
16+
//System.out.println("destroy");
17+
//System.out.println("Thread #" + Thread.currentThread().getId());
18+
}
19+
20+
@Override
21+
public FtpletResult beforeCommand(FtpSession session, FtpRequest request) throws FtpException, IOException {
22+
//System.out.println("beforeCommand " + session.getUserArgument() + " : " + session.toString() + " | " + request.getArgument() + " : " + request.getCommand() + " : " + request.getRequestLine());
23+
//System.out.println("Thread #" + Thread.currentThread().getId());
24+
25+
//do something
26+
return FtpletResult.DEFAULT;//...or return accordingly
27+
}
28+
29+
@Override
30+
public FtpletResult afterCommand(FtpSession session, FtpRequest request, FtpReply reply) throws FtpException, IOException {
31+
//System.out.println("afterCommand " + session.getUserArgument() + " : " + session.toString() + " | " + request.getArgument() + " : " + request.getCommand() + " : " + request.getRequestLine() + " | " + reply.getMessage() + " : " + reply.toString());
32+
//System.out.println("Thread #" + Thread.currentThread().getId());
33+
34+
//do something
35+
return FtpletResult.DEFAULT;//...or return accordingly
36+
}
37+
38+
@Override
39+
public FtpletResult onConnect(FtpSession session) throws FtpException, IOException {
40+
//System.out.println("onConnect " + session.getUserArgument() + " : " + session.toString());
41+
//System.out.println("Thread #" + Thread.currentThread().getId());
42+
43+
//do something
44+
return FtpletResult.DEFAULT;//...or return accordingly
45+
}
46+
47+
@Override
48+
public FtpletResult onDisconnect(FtpSession session) throws FtpException, IOException {
49+
//System.out.println("onDisconnect " + session.getUserArgument() + " : " + session.toString());
50+
//System.out.println("Thread #" + Thread.currentThread().getId());
51+
52+
//do something
53+
return FtpletResult.DEFAULT;//...or return accordingly
54+
}
55+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package Server.FTPServer;
2+
3+
public class PasswordEncryptorsImpl implements org.apache.ftpserver.usermanager.PasswordEncryptor {
4+
@Override
5+
public String encrypt(String password) {
6+
return password;
7+
}
8+
9+
@Override
10+
public boolean matches(String passwordToCheck, String storedPassword) {
11+
return passwordToCheck.equals(storedPassword);
12+
}
13+
}

src/main/java/Server/FTPService.java

Lines changed: 0 additions & 112 deletions
This file was deleted.

src/main/java/Server/SpringClass.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public String status() {
5858
return sb.toString();
5959
}
6060

61-
// 192.168.178.35:8080/request?name=mapname&coords=13.005,15.123_13.005,15.123_13.005,15.123_13.005,15.123_13.005,15.123&date=11-09-97
61+
// 192.168.178.35:8080/request?name=mapname&coords=13.005,15.123_13.005,15.123_13.005,15.123_13.005,15.123_13.005,15.123&date=2117-12-11
6262
@GetMapping("/request")
6363
public String request(@RequestParam(value = "name", defaultValue = "noname") String mapname,
6464
@RequestParam(value = "coords") String coords,

0 commit comments

Comments
 (0)