You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@zookeeper.apache.org by "Andor Molnar (Jira)" <ji...@apache.org> on 2020/04/01 15:06:00 UTC

[jira] [Resolved] (ZOOKEEPER-3581) use factory design pattern to refactor ZooKeeperMain

     [ https://issues.apache.org/jira/browse/ZOOKEEPER-3581?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andor Molnar resolved ZOOKEEPER-3581.
-------------------------------------
    Fix Version/s: 3.7.0
       Resolution: Fixed

> use factory design pattern to refactor ZooKeeperMain
> ----------------------------------------------------
>
>                 Key: ZOOKEEPER-3581
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3581
>             Project: ZooKeeper
>          Issue Type: Improvement
>            Reporter: maoling
>            Priority: Minor
>              Labels: newbie
>             Fix For: 3.7.0
>
>
> use factory design pattern to refactor ZooKeeperMain, make the code more elegant
> {code:java}
> static {
>     commandMap.put("connect", "host:port");
>     commandMap.put("history", "");
>     commandMap.put("redo", "cmdno");
>     commandMap.put("printwatches", "on|off");
>     commandMap.put("quit", "");
>     new CloseCommand().addToMap(commandMapCli);
>     new CreateCommand().addToMap(commandMapCli);
>     new DeleteCommand().addToMap(commandMapCli);
>     new DeleteAllCommand().addToMap(commandMapCli);
>     // Depricated: rmr
>     new DeleteAllCommand("rmr").addToMap(commandMapCli);
>     new SetCommand().addToMap(commandMapCli);
>     new GetCommand().addToMap(commandMapCli);
>     new LsCommand().addToMap(commandMapCli);
>     new Ls2Command().addToMap(commandMapCli);
>     new GetAclCommand().addToMap(commandMapCli);
>     new SetAclCommand().addToMap(commandMapCli);
>     new StatCommand().addToMap(commandMapCli);
>     new SyncCommand().addToMap(commandMapCli);
>     new SetQuotaCommand().addToMap(commandMapCli);
>     new ListQuotaCommand().addToMap(commandMapCli);
>     new DelQuotaCommand().addToMap(commandMapCli);
>     new AddAuthCommand().addToMap(commandMapCli);
>     new ReconfigCommand().addToMap(commandMapCli);
>     new GetConfigCommand().addToMap(commandMapCli);
>     new RemoveWatchesCommand().addToMap(commandMapCli);
>     new GetEphemeralsCommand().addToMap(commandMapCli);
>     new GetAllChildrenNumberCommand().addToMap(commandMapCli);
>     new VersionCommand().addToMap(commandMapCli);
>     // add all to commandMap
>     for (Entry<String, CliCommand> entry : commandMapCli.entrySet()) {
>         commandMap.put(entry.getKey(), entry.getValue().getOptionStr());
>     }
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)