36 Commits

Author SHA1 Message Date
Gnat008
73272b5931 Remove all but one hasPermission() method in the PermissionsManager
#739 (cherry picked from commit 65f3347)
2016-06-02 23:11:47 +02:00
ljacqu
b48e080324 Minor code householding
- Fix Javadoc errors reported during Jenkins build
- Use Guava methods in NewSetting where possible
2016-05-28 07:56:26 +02:00
ljacqu
5e5836f167 #432 Injector improvements
- Separate FieldInjection from default fallback for no-Inject public no-args constructor classes
- Make CommandInitializer a normal, instantiable service
- Add various injections instead of fetching through command service
2016-05-08 11:15:56 +02:00
ljacqu
02079f1f5c #432 Create custom dependency injector 2016-04-27 22:49:20 +02:00
ljacqu
fc0b7c46ac #306 Add permission manager to command service
- Inject permission manager into command service explicitly via constructor
- Change command mapper to only care about generating FoundCommandResult objects, and command handler to worry about dealing with it later on
2016-01-09 21:57:20 +01:00
ljacqu
a0da423a7b Minor - Javadoc changes
- Add/replace/improve javadoc in the commands and encryption section
- Note: A simple <p> is the javadoc way to make a new paragraph
http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#format
- Note: Do not escape '<' and '>' inside of {@code }
- Note: '>' does not need to be escaped
2015-12-31 13:32:41 +01:00
Xephi59
e1a84448a2 Fix the whole Javadoc syntax 2015-12-31 01:06:09 +01:00
ljacqu
8ef1b2ae3e #306 Add command service and set up constructor dependency injection
(work in progress)
- Pass all dependencies via constructor
- Encapsulate command handling more (e.g. split CommandHandler with new CommandMapper)
- Add help command to all base commands at one central point

See AccountsCommand or HelpCommand for an example of the advantages - all necessary functions come from CommandService; objects aren't retrieved through a singleton getInstance() method anymore
2015-12-23 14:54:45 +01:00
ljacqu
efa458cae1 Finalization for #305 - command refactor 2015-12-19 20:25:12 +01:00
ljacqu
b64b6177fa Fix invoking help command throwing exception
- ConcurrentModificationException was being thrown because labels was being modified again in transformForHelpCommand
2015-12-19 17:45:58 +01:00
ljacqu
a928a4092d #305 Fix label handling, add extensive tests for command handler 2015-12-19 16:27:00 +01:00
ljacqu
42c34c56a0 Fix command formatting after refactor
- Fix spacing issues (too few or too many spaces)
- Handle base commands with invalid arguments properly
- Add highlighting function for command syntax
2015-12-19 12:20:52 +01:00
ljacqu
bf9724dd34 Fix label handling issues after reformatting
- Pass the correct arguments to HelpCommand
- Fix minor formatting / conditional check issues
2015-12-19 10:35:02 +01:00
ljacqu
01a294a334 #305 Adjust behavior of label handling; cleanup
- Fix bugs in behavior (wrong labels being shown for help)
- Change order of labels and arguments in FoundCommandResult constructors
- Move FoundResultStatus enum to its own class
- Create test class for HelpProvider
2015-12-18 22:19:26 +01:00
ljacqu
cbf0996197 Logic for FoundCommandResult.Status / Add tests for CommandHandler
- Fix other tests
- Add logic for smaller pending FIXME's
2015-12-17 22:23:43 +01:00
ljacqu
c48c56f08c Change to new HelpProvider, adjust classes to new methods 2015-12-13 10:12:54 +01:00
ljacqu
01cba2a508 #315 #305 Refactor HelpProvider - add bit flags, reduce duplication (wip) 2015-12-12 22:50:07 +01:00
ljacqu
eecad80748 Change ExecutableCommand interface (wip – doesn't compile)
- Change interface to use (CommandSender, List<String> arguments)
- Use CommandArgumentDescription#name instead of "label" (to prevent confusion between command labels and arguments)
- Simplify command difference computation in CommandHandler (no longer consider argument difference)
2015-12-12 11:39:19 +01:00
ljacqu
2f153fb85c #305 Modularize logic / separate from data classes (wip – doesn't compile)
- Remove permission logic on command side; make PermissionsManager handle checks for all CommandSender objects (not only Player), cf. #314
- Remove unnecessary redundancies in passed arguments ("command references" that can be inferred from the FoundResult)
- Extend FoundCommandResult to represent all possible error cases
2015-12-12 00:43:55 +01:00
ljacqu
ec9009d776 Separate command handler into smaller parts (wip – doesn't compile)
- Move logic from CommandMapper to CommandHandler
- Create "ResultStatus" on FoundCommandResult to precisely return the error case
Naming and structure not final
2015-12-11 23:16:13 +01:00
ljacqu
61875f26fa #305 Prepare to remove CommandParts - replace getCount() to List#size()
- Preparations to remove the CommandParts as it's a "decorated list".
2015-12-05 12:06:44 +01:00
ljacqu
8eb1b38d21 Slim down CommandParts API
- Remove all methods that aren't constructors / fancy get() on list; almost possible to remove class entirely
2015-12-04 23:47:48 +01:00
ljacqu
9140ebe602 Change initialized command descriptions to Set
- Set is more efficient if it's frequently used for `contains()`, which is what we use it for after initialization
2015-12-04 21:58:16 +01:00
ljacqu
c78e12de04 Refactorings - prepare to remove FoundCommandResult
- Reduce tight coupling by passing list of available commands as param to CommandHandler
- Split command processing method into several smaller ones
- Remove unfinished logic for unlimited command arguments (reason: was not implemented and not used, probably needs another way to handle it once the need for it arises)
- Create test for CommandHandler
2015-12-04 21:33:50 +01:00
ljacqu
a4c45e126e Start refactoring of command handling (work in progress)
Preparation:
- Remove unused API
- Move some logic from "data classes" elsewhere
2015-11-30 21:09:52 +01:00
ljacqu
da0c5d1ea2 Split command management into initializer and handler
- Create Initializer class that only initializes AuthMe commands
- Move remaining method to CommandHandler
- Deprecate constructors on CommandDescription in favor of the builder
- Various cleanups and comments
2015-11-29 12:51:11 +01:00
Tim Visée
36c50c4507 Reformatted code with new code style 2015-11-23 21:46:34 +01:00
Tim Visée
2e868c7492 Reformatted all code files, cleaned up the project 2015-11-23 21:33:08 +01:00
AuthMe-Team
9ec2d6d059 Stuff from the common floobits workspace
Author:    AuthMe-Team <AuthMeTeam@123NoEmail.com>
2015-11-23 20:23:52 +01:00
Gabriele C
118c79401a Prepare the project for javadocs 2015-11-21 01:27:06 +01:00
Xephi
4fd8d6e0cd Don't use SuppressWarnings please :3 2015-11-02 10:25:53 +01:00
Gabriele C
175da3f6fc Cleanup! 2015-11-01 23:35:10 +01:00
Tim Visée
9d386ed80a Fixed invalid login command label 2015-11-01 19:15:56 +01:00
Tim Visée
a4461dd564 Ignore unused method 2015-11-01 16:17:57 +01:00
Tim Visée
5a0ffab6c2 Fixed import in CommandHandler class 2015-11-01 16:17:16 +01:00
Tim Visée
eeec8ca228 Moved new command handler system to new package 2015-11-01 15:34:13 +01:00