22
33import com .github .javafaker .Faker ;
44import org .javawebstack .abstractdata .AbstractElement ;
5- import org .javawebstack .command .CommandSystem ;
6- import org .javawebstack .command .MultiCommand ;
75import org .javawebstack .framework .bind .ModelBindParamTransformer ;
86import org .javawebstack .framework .bind .ModelBindTransformer ;
9- import org .javawebstack .framework .command .ShellCommand ;
10- import org .javawebstack .framework .command .StartCommand ;
11- import org .javawebstack .framework .command .crypto .DecryptCommand ;
12- import org .javawebstack .framework .command .crypto .EncryptCommand ;
13- import org .javawebstack .framework .command .crypto .GenerateKeyCommand ;
14- import org .javawebstack .framework .command .crypto .HashCommand ;
15- import org .javawebstack .framework .command .db .MigrateCommand ;
16- import org .javawebstack .framework .command .db .SeedCommand ;
17- import org .javawebstack .framework .command .schedule .WorkCommand ;
187import org .javawebstack .framework .config .Config ;
198import org .javawebstack .framework .module .Module ;
209import org .javawebstack .framework .seed .AllSeeder ;
2413import org .javawebstack .httpserver .HTTPServer ;
2514import org .javawebstack .injector .Injector ;
2615import org .javawebstack .injector .SimpleInjector ;
27- import org .javawebstack .orm .ORM ;
28- import org .javawebstack .orm .Repo ;
2916import org .javawebstack .orm .exception .ORMConfigurationException ;
3017import org .javawebstack .orm .wrapper .SQL ;
3118import org .javawebstack .orm .wrapper .SQLDriverFactory ;
3219import org .javawebstack .orm .wrapper .SQLDriverNotFoundException ;
33- import org .javawebstack .scheduler .job .JobQueue ;
34- import org .javawebstack .scheduler .job .local .LocalJobQueue ;
35- import org .javawebstack .scheduler .job .redis .RedisJobQueue ;
36- import org .javawebstack .scheduler .job .sql .SQLJobModel ;
37- import org .javawebstack .scheduler .job .sql .SQLJobQueue ;
38- import org .javawebstack .scheduler .scheduler .Schedule ;
39- import org .javawebstack .scheduler .scheduler .local .LocalSchedule ;
40- import org .javawebstack .scheduler .scheduler .redis .RedisSchedule ;
41- import org .javawebstack .scheduler .scheduler .sql .SQLSchedule ;
42- import org .javawebstack .scheduler .scheduler .sql .SQLScheduledTaskModel ;
43- import redis .clients .jedis .Jedis ;
4420
4521import java .io .IOException ;
4622import java .util .*;
@@ -57,11 +33,8 @@ public abstract class WebApplication {
5733 private final Crypt crypt ;
5834 private final List <Module > modules = new ArrayList <>();
5935 private final ModelBindParamTransformer modelBindParamTransformer ;
60- private final CommandSystem commandSystem = new CommandSystem ();
6136 private final Map <String , Seeder > seeders = new HashMap <>();
6237 private final I18N translation = new I18N ();
63- private JobQueue jobQueue ;
64- private Schedule schedule ;
6538 private SQLDriverFactory sqlDriverFactory ;
6639
6740 public WebApplication () {
@@ -71,9 +44,7 @@ public WebApplication() {
7144 injector .setInstance (Config .class , config );
7245 injector .setInstance ((Class <WebApplication >) getClass (), this );
7346 injector .setInstance (WebApplication .class , this );
74- injector .setInstance (CommandSystem .class , commandSystem );
7547 injector .setInstance (I18N .class , translation );
76- commandSystem .setInjector (injector );
7748
7849 setupModules ();
7950 modules .forEach (m -> m .beforeSetupConfig (this , config ));
@@ -112,32 +83,6 @@ public WebApplication() {
11283 setupInjection (injector );
11384 modules .forEach (m -> m .setupInjection (this , injector ));
11485
115- jobQueue = new LocalJobQueue ();
116- schedule = new LocalSchedule ();
117-
118- if (config .get ("scheduler.driver" ) != null ) {
119- switch (config .get ("scheduler.driver" )) {
120- case "DATABASE" :
121-
122- try {
123- ORM .register (SQLJobModel .class , sql ).autoMigrate ();
124- ORM .register (SQLScheduledTaskModel .class , sql ).autoMigrate ();
125- } catch (ORMConfigurationException e ) {
126- e .printStackTrace ();
127- }
128- jobQueue = new SQLJobQueue (sql , config .get ("scheduler.jobs.name" , "default" ));
129- schedule = new SQLSchedule (sql , config .get ("scheduler.jobs.name" , "default" ));
130- break ;
131- case "REDIS" :
132- jobQueue = new RedisJobQueue (new Jedis (config .get ("redis.host" , "localhost" ), config .getInt ("redis.port" , 6379 )), config .get ("schedule.jobs.name" , "default" ));
133- schedule = new RedisSchedule (new Jedis (config .get ("redis.host" , "localhost" ), config .getInt ("redis.port" , 6379 )), config .get ("schedule.jobs.name" , "default" ));
134- break ;
135- }
136- }
137-
138- injector .setInstance (JobQueue .class , jobQueue );
139- injector .setInstance (Schedule .class , schedule );
140-
14186 server = new HTTPServer ()
14287 .port (config .getInt ("http.server.port" , 80 ));
14388 injector .setInstance (HTTPServer .class , server );
@@ -157,26 +102,6 @@ public WebApplication() {
157102 setupSeeding ();
158103 modules .forEach (m -> m .setupSeeding (this ));
159104 addSeeder ("all" , new AllSeeder ());
160-
161- setupCommands (commandSystem );
162- modules .forEach (m -> m .setupCommands (this , commandSystem ));
163- commandSystem .addCommand ("start" , new StartCommand ());
164- commandSystem .addCommand ("sh" , new ShellCommand ());
165- commandSystem .addCommand ("db" , new MultiCommand ()
166- .add ("migrate" , new MigrateCommand ())
167- .add ("seed" , new SeedCommand ())
168- );
169- commandSystem .addCommand ("crypt" , new MultiCommand ()
170- .add ("encrypt" , new EncryptCommand ())
171- .add ("decrypt" , new DecryptCommand ())
172- .add ("hash" , new HashCommand ())
173- );
174- commandSystem .addCommand ("generate" , new MultiCommand ()
175- .add ("key" , new GenerateKeyCommand ())
176- );
177- commandSystem .addCommand ("schedule" , new MultiCommand ()
178- .add ("work" , new WorkCommand ())
179- );
180105 }
181106
182107 public Map <String , Seeder > getSeeders () {
@@ -263,10 +188,6 @@ public I18N getTranslation() {
263188 return translation ;
264189 }
265190
266- public CommandSystem getCommandSystem () {
267- return commandSystem ;
268- }
269-
270191 protected void setupModules () {
271192 }
272193
@@ -282,18 +203,6 @@ protected void setupSeeding() {
282203
283204 protected abstract void setupServer (HTTPServer server );
284205
285- protected abstract void setupCommands (CommandSystem system );
286-
287- public void run (String [] args ) {
288- if (args == null )
289- args = new String []{"start" };
290- try {
291- commandSystem .run (args );
292- } catch (Throwable t ) {
293- t .printStackTrace ();
294- }
295- }
296-
297206 public void start () {
298207 server .start ();
299208 server .join ();
0 commit comments