1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.waarp.ftp.simpleimpl;
21
22 import org.waarp.common.file.filesystembased.FilesystemBasedFileParameterImpl;
23 import org.waarp.common.logging.SysErrLogger;
24 import org.waarp.common.logging.WaarpLogger;
25 import org.waarp.common.logging.WaarpLoggerFactory;
26 import org.waarp.common.logging.WaarpSlf4JLoggerFactory;
27 import org.waarp.ftp.core.exception.FtpNoConnectionException;
28 import org.waarp.ftp.simpleimpl.config.FileBasedConfiguration;
29 import org.waarp.ftp.simpleimpl.control.SimpleBusinessHandler;
30 import org.waarp.ftp.simpleimpl.data.FileSystemBasedDataBusinessHandler;
31
32
33
34
35
36
37 public class SimpleGatewayFtpServer {
38
39
40
41
42
43
44 public static void main(final String[] args) {
45 if (args.length != 1) {
46 SysErrLogger.FAKE_LOGGER.syserr(
47 "Usage: " + SimpleGatewayFtpServer.class.getName() +
48 " <config-file>");
49 return;
50 }
51 WaarpLoggerFactory.setDefaultFactoryIfNotSame(
52 new WaarpSlf4JLoggerFactory(null));
53
54
55
56 final WaarpLogger logger =
57 WaarpLoggerFactory.getLogger(SimpleGatewayFtpServer.class);
58 final String config = args[0];
59 final FileBasedConfiguration configuration =
60 new FileBasedConfiguration(SimpleGatewayFtpServer.class,
61 SimpleBusinessHandler.class,
62 FileSystemBasedDataBusinessHandler.class,
63 new FilesystemBasedFileParameterImpl());
64 if (!configuration.setConfigurationFromXml(config)) {
65 SysErrLogger.FAKE_LOGGER.syserr("Bad configuration");
66 return;
67 }
68
69 try {
70 configuration.serverStartup();
71 } catch (final FtpNoConnectionException e) {
72 logger.error("FTP not started", e);
73 }
74 logger.info("FTP started");
75 }
76
77 }