diff options
author | Melanie Thielker | 2009-02-07 12:25:39 +0000 |
---|---|---|
committer | Melanie Thielker | 2009-02-07 12:25:39 +0000 |
commit | 54c6a920baa0ef02a9ea09e08cc1effcef3b0a3a (patch) | |
tree | f606cbdbc383ec21fee28f0a1454140a1c714278 /OpenSim/Grid | |
parent | Thank you dslake for a patch that: (diff) | |
download | opensim-SC-54c6a920baa0ef02a9ea09e08cc1effcef3b0a3a.zip opensim-SC-54c6a920baa0ef02a9ea09e08cc1effcef3b0a3a.tar.gz opensim-SC-54c6a920baa0ef02a9ea09e08cc1effcef3b0a3a.tar.bz2 opensim-SC-54c6a920baa0ef02a9ea09e08cc1effcef3b0a3a.tar.xz |
Replace the console for all OpenSim apps with a new console featuring command
line editing, context sensitive help (press ? at any time), command line
history, a new plugin command system and new appender features thet let you
type while the console is scrolling. Seamlessly integrates the ICommander
interfaces.
Diffstat (limited to 'OpenSim/Grid')
-rw-r--r-- | OpenSim/Grid/AssetServer/Main.cs | 6 | ||||
-rw-r--r-- | OpenSim/Grid/GridServer/GridServerBase.cs | 63 | ||||
-rw-r--r-- | OpenSim/Grid/InventoryServer/Main.cs | 21 | ||||
-rw-r--r-- | OpenSim/Grid/MessagingServer/Main.cs | 42 | ||||
-rw-r--r-- | OpenSim/Grid/UserServer/Main.cs | 94 |
5 files changed, 138 insertions, 88 deletions
diff --git a/OpenSim/Grid/AssetServer/Main.cs b/OpenSim/Grid/AssetServer/Main.cs index 060c473..c71e53f 100644 --- a/OpenSim/Grid/AssetServer/Main.cs +++ b/OpenSim/Grid/AssetServer/Main.cs | |||
@@ -43,7 +43,7 @@ namespace OpenSim.Grid.AssetServer | |||
43 | /// <summary> | 43 | /// <summary> |
44 | /// An asset server | 44 | /// An asset server |
45 | /// </summary> | 45 | /// </summary> |
46 | public class OpenAsset_Main : BaseOpenSimServer, conscmd_callback | 46 | public class OpenAsset_Main : BaseOpenSimServer |
47 | { | 47 | { |
48 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 48 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
49 | 49 | ||
@@ -76,7 +76,7 @@ namespace OpenSim.Grid.AssetServer | |||
76 | 76 | ||
77 | public OpenAsset_Main() | 77 | public OpenAsset_Main() |
78 | { | 78 | { |
79 | m_console = new ConsoleBase("Asset", this); | 79 | m_console = new ConsoleBase("Asset"); |
80 | 80 | ||
81 | MainConsole.Instance = m_console; | 81 | MainConsole.Instance = m_console; |
82 | } | 82 | } |
@@ -99,6 +99,8 @@ namespace OpenSim.Grid.AssetServer | |||
99 | AddHttpHandlers(); | 99 | AddHttpHandlers(); |
100 | 100 | ||
101 | m_httpServer.Start(); | 101 | m_httpServer.Start(); |
102 | |||
103 | base.StartupSpecific(); | ||
102 | } | 104 | } |
103 | 105 | ||
104 | protected void AddHttpHandlers() | 106 | protected void AddHttpHandlers() |
diff --git a/OpenSim/Grid/GridServer/GridServerBase.cs b/OpenSim/Grid/GridServer/GridServerBase.cs index 68edbd2..3fb07b5 100644 --- a/OpenSim/Grid/GridServer/GridServerBase.cs +++ b/OpenSim/Grid/GridServer/GridServerBase.cs | |||
@@ -39,7 +39,7 @@ namespace OpenSim.Grid.GridServer | |||
39 | { | 39 | { |
40 | /// <summary> | 40 | /// <summary> |
41 | /// </summary> | 41 | /// </summary> |
42 | public class GridServerBase : BaseOpenSimServer, conscmd_callback | 42 | public class GridServerBase : BaseOpenSimServer |
43 | { | 43 | { |
44 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 44 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
45 | 45 | ||
@@ -59,43 +59,34 @@ namespace OpenSim.Grid.GridServer | |||
59 | 59 | ||
60 | public GridServerBase() | 60 | public GridServerBase() |
61 | { | 61 | { |
62 | m_console = new ConsoleBase("Grid", this); | 62 | m_console = new ConsoleBase("Grid"); |
63 | MainConsole.Instance = m_console; | 63 | MainConsole.Instance = m_console; |
64 | } | 64 | } |
65 | 65 | ||
66 | public override void RunCmd(string cmd, string[] cmdparams) | 66 | private void HandleRegistration(string module, string[] cmd) |
67 | { | 67 | { |
68 | base.RunCmd(cmd, cmdparams); | 68 | switch (cmd[0]) |
69 | |||
70 | switch (cmd) | ||
71 | { | 69 | { |
72 | case "disable-reg": | 70 | case "enable": |
73 | m_config.AllowRegionRegistration = false; | 71 | m_config.AllowRegionRegistration = true; |
74 | m_log.Info("Region registration disabled"); | 72 | m_log.Info("Region registration enabled"); |
75 | break; | 73 | break; |
76 | case "enable-reg": | 74 | case "disable": |
77 | m_config.AllowRegionRegistration = true; | 75 | m_config.AllowRegionRegistration = false; |
78 | m_log.Info("Region registration enabled"); | 76 | m_log.Info("Region registration disabled"); |
79 | break; | 77 | break; |
80 | } | 78 | } |
81 | } | 79 | } |
82 | |||
83 | public override void Show(string[] showParams) | ||
84 | { | ||
85 | base.Show(showParams); | ||
86 | 80 | ||
87 | switch (showParams[0]) | 81 | private void HandleShowStatus(string module, string[] cmd) |
82 | { | ||
83 | if (m_config.AllowRegionRegistration) | ||
88 | { | 84 | { |
89 | case "status": | 85 | m_log.Info("Region registration enabled."); |
90 | if (m_config.AllowRegionRegistration) | 86 | } |
91 | { | 87 | else |
92 | m_log.Info("Region registration enabled."); | 88 | { |
93 | } | 89 | m_log.Info("Region registration disabled."); |
94 | else | ||
95 | { | ||
96 | m_log.Info("Region registration disabled."); | ||
97 | } | ||
98 | break; | ||
99 | } | 90 | } |
100 | } | 91 | } |
101 | 92 | ||
@@ -120,6 +111,20 @@ namespace OpenSim.Grid.GridServer | |||
120 | // Timer simCheckTimer = new Timer(3600000 * 3); // 3 Hours between updates. | 111 | // Timer simCheckTimer = new Timer(3600000 * 3); // 3 Hours between updates. |
121 | // simCheckTimer.Elapsed += new ElapsedEventHandler(CheckSims); | 112 | // simCheckTimer.Elapsed += new ElapsedEventHandler(CheckSims); |
122 | // simCheckTimer.Enabled = true; | 113 | // simCheckTimer.Enabled = true; |
114 | |||
115 | base.StartupSpecific(); | ||
116 | |||
117 | m_console.Commands.AddCommand("gridserver", "enable registration", | ||
118 | "enable registration", | ||
119 | "Enable new regions to register", HandleRegistration); | ||
120 | |||
121 | m_console.Commands.AddCommand("gridserver", "disable registration", | ||
122 | "disable registration", | ||
123 | "Disable registering new regions", HandleRegistration); | ||
124 | |||
125 | m_console.Commands.AddCommand("gridserver", "show status", | ||
126 | "show status", | ||
127 | "Show registration status", HandleShowStatus); | ||
123 | } | 128 | } |
124 | 129 | ||
125 | protected void AddHttpHandlers() | 130 | protected void AddHttpHandlers() |
diff --git a/OpenSim/Grid/InventoryServer/Main.cs b/OpenSim/Grid/InventoryServer/Main.cs index 81a6a03..4727f6e 100644 --- a/OpenSim/Grid/InventoryServer/Main.cs +++ b/OpenSim/Grid/InventoryServer/Main.cs | |||
@@ -38,7 +38,7 @@ using OpenSim.Framework.Servers; | |||
38 | 38 | ||
39 | namespace OpenSim.Grid.InventoryServer | 39 | namespace OpenSim.Grid.InventoryServer |
40 | { | 40 | { |
41 | public class OpenInventory_Main : BaseOpenSimServer, conscmd_callback | 41 | public class OpenInventory_Main : BaseOpenSimServer |
42 | { | 42 | { |
43 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 43 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
44 | 44 | ||
@@ -58,7 +58,7 @@ namespace OpenSim.Grid.InventoryServer | |||
58 | 58 | ||
59 | public OpenInventory_Main() | 59 | public OpenInventory_Main() |
60 | { | 60 | { |
61 | m_console = new ConsoleBase("Inventory", this); | 61 | m_console = new ConsoleBase("Inventory"); |
62 | MainConsole.Instance = m_console; | 62 | MainConsole.Instance = m_console; |
63 | } | 63 | } |
64 | 64 | ||
@@ -77,6 +77,12 @@ namespace OpenSim.Grid.InventoryServer | |||
77 | m_httpServer.Start(); | 77 | m_httpServer.Start(); |
78 | 78 | ||
79 | m_log.Info("[" + LogName + "]: Started HTTP server"); | 79 | m_log.Info("[" + LogName + "]: Started HTTP server"); |
80 | |||
81 | base.StartupSpecific(); | ||
82 | |||
83 | m_console.Commands.AddCommand("inventoryserver", "add user", | ||
84 | "add user", | ||
85 | "Add a random user inventory", HandleAddUser); | ||
80 | } | 86 | } |
81 | 87 | ||
82 | protected void AddHttpHandlers() | 88 | protected void AddHttpHandlers() |
@@ -146,16 +152,9 @@ namespace OpenSim.Grid.InventoryServer | |||
146 | } | 152 | } |
147 | } | 153 | } |
148 | 154 | ||
149 | public override void RunCmd(string cmd, string[] cmdparams) | 155 | private void HandleAddUser(string module, string[] args) |
150 | { | 156 | { |
151 | base.RunCmd(cmd, cmdparams); | 157 | m_inventoryService.CreateUsersInventory(UUID.Random().Guid); |
152 | |||
153 | switch (cmd) | ||
154 | { | ||
155 | case "add-user": | ||
156 | m_inventoryService.CreateUsersInventory(UUID.Random().Guid); | ||
157 | break; | ||
158 | } | ||
159 | } | 158 | } |
160 | } | 159 | } |
161 | } | 160 | } |
diff --git a/OpenSim/Grid/MessagingServer/Main.cs b/OpenSim/Grid/MessagingServer/Main.cs index e83da7a..9b7e731 100644 --- a/OpenSim/Grid/MessagingServer/Main.cs +++ b/OpenSim/Grid/MessagingServer/Main.cs | |||
@@ -41,7 +41,7 @@ namespace OpenSim.Grid.MessagingServer | |||
41 | { | 41 | { |
42 | /// <summary> | 42 | /// <summary> |
43 | /// </summary> | 43 | /// </summary> |
44 | public class OpenMessage_Main : BaseOpenSimServer, conscmd_callback | 44 | public class OpenMessage_Main : BaseOpenSimServer |
45 | { | 45 | { |
46 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 46 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
47 | 47 | ||
@@ -64,7 +64,7 @@ namespace OpenSim.Grid.MessagingServer | |||
64 | 64 | ||
65 | public OpenMessage_Main() | 65 | public OpenMessage_Main() |
66 | { | 66 | { |
67 | m_console = new ConsoleBase("Messaging", this); | 67 | m_console = new ConsoleBase("Messaging"); |
68 | MainConsole.Instance = m_console; | 68 | MainConsole.Instance = m_console; |
69 | } | 69 | } |
70 | 70 | ||
@@ -124,6 +124,16 @@ namespace OpenSim.Grid.MessagingServer | |||
124 | registerWithUserServer(); | 124 | registerWithUserServer(); |
125 | 125 | ||
126 | m_log.Info("[SERVER]: Messageserver 0.5 - Startup complete"); | 126 | m_log.Info("[SERVER]: Messageserver 0.5 - Startup complete"); |
127 | |||
128 | base.StartupSpecific(); | ||
129 | |||
130 | m_console.Commands.AddCommand("messageserver", "clear cache", | ||
131 | "clear cache", | ||
132 | "Clear presence cache", HandleClearCache); | ||
133 | |||
134 | m_console.Commands.AddCommand("messageserver", "register", | ||
135 | "register", | ||
136 | "Re-register with user server(s)", HandleRegister); | ||
127 | } | 137 | } |
128 | 138 | ||
129 | public void do_create(string what) | 139 | public void do_create(string what) |
@@ -154,29 +164,17 @@ namespace OpenSim.Grid.MessagingServer | |||
154 | } | 164 | } |
155 | } | 165 | } |
156 | 166 | ||
157 | public override void RunCmd(string cmd, string[] cmdparams) | 167 | private void HandleClearCache(string module, string[] cmd) |
158 | { | 168 | { |
159 | base.RunCmd(cmd, cmdparams); | 169 | int entries = msgsvc.ClearRegionCache(); |
160 | 170 | m_console.Notice("Region cache cleared! Cleared " + | |
161 | switch (cmd) | 171 | entries.ToString() + " entries"); |
162 | { | ||
163 | case "clear-cache": | ||
164 | int entries = msgsvc.ClearRegionCache(); | ||
165 | m_console.Notice("Region cache cleared! Cleared " + entries.ToString() + " entries"); | ||
166 | break; | ||
167 | case "register": | ||
168 | deregisterFromUserServer(); | ||
169 | registerWithUserServer(); | ||
170 | break; | ||
171 | } | ||
172 | } | 172 | } |
173 | 173 | ||
174 | protected override void ShowHelp(string[] helpArgs) | 174 | private void HandleRegister(string module, string[] cmd) |
175 | { | 175 | { |
176 | base.ShowHelp(helpArgs); | 176 | deregisterFromUserServer(); |
177 | 177 | registerWithUserServer(); | |
178 | m_console.Notice("clear-cache - Clears region cache. Should be done when regions change position. The region cache gets stale after a while."); | ||
179 | m_console.Notice("register - (Re-)registers with user-server. This might be necessary if the userserver crashed/restarted"); | ||
180 | } | 178 | } |
181 | 179 | ||
182 | public override void ShutdownSpecific() | 180 | public override void ShutdownSpecific() |
diff --git a/OpenSim/Grid/UserServer/Main.cs b/OpenSim/Grid/UserServer/Main.cs index be26ab3..0b0bee1 100644 --- a/OpenSim/Grid/UserServer/Main.cs +++ b/OpenSim/Grid/UserServer/Main.cs | |||
@@ -46,7 +46,7 @@ namespace OpenSim.Grid.UserServer | |||
46 | /// <summary> | 46 | /// <summary> |
47 | /// Grid user server main class | 47 | /// Grid user server main class |
48 | /// </summary> | 48 | /// </summary> |
49 | public class OpenUser_Main : BaseOpenSimServer, conscmd_callback | 49 | public class OpenUser_Main : BaseOpenSimServer |
50 | { | 50 | { |
51 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 51 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
52 | 52 | ||
@@ -73,7 +73,7 @@ namespace OpenSim.Grid.UserServer | |||
73 | 73 | ||
74 | public OpenUser_Main() | 74 | public OpenUser_Main() |
75 | { | 75 | { |
76 | m_console = new ConsoleBase("User", this); | 76 | m_console = new ConsoleBase("User"); |
77 | MainConsole.Instance = m_console; | 77 | MainConsole.Instance = m_console; |
78 | } | 78 | } |
79 | 79 | ||
@@ -119,6 +119,37 @@ namespace OpenSim.Grid.UserServer | |||
119 | m_httpServer = new BaseHttpServer(Cfg.HttpPort); | 119 | m_httpServer = new BaseHttpServer(Cfg.HttpPort); |
120 | AddHttpHandlers(); | 120 | AddHttpHandlers(); |
121 | m_httpServer.Start(); | 121 | m_httpServer.Start(); |
122 | |||
123 | base.StartupSpecific(); | ||
124 | |||
125 | m_console.Commands.AddCommand("userserver", "create user", | ||
126 | "create user [<first> [<last> [<x> <y> [email]]]]", | ||
127 | "Create a new user account", RunCommand); | ||
128 | |||
129 | m_console.Commands.AddCommand("userserver", "reset user password", | ||
130 | "reset user password [<first> [<last> [<new password>]]]", | ||
131 | "Reset a user's password", RunCommand); | ||
132 | |||
133 | m_console.Commands.AddCommand("userserver", "login level", | ||
134 | "login level <level>", | ||
135 | "Set the minimum user level to log in", HandleLoginCommand); | ||
136 | |||
137 | m_console.Commands.AddCommand("userserver", "login reset", | ||
138 | "login reset", | ||
139 | "Reset the login level to allow all users", | ||
140 | HandleLoginCommand); | ||
141 | |||
142 | m_console.Commands.AddCommand("userserver", "login text", | ||
143 | "login text <text>", | ||
144 | "Set the text users will see on login", HandleLoginCommand); | ||
145 | |||
146 | m_console.Commands.AddCommand("userserver", "test-inventory", | ||
147 | "test-inventory", | ||
148 | "Perform a test inventory transaction", RunCommand); | ||
149 | |||
150 | m_console.Commands.AddCommand("userserver", "logoff-user", | ||
151 | "logoff-user <first> <last> <message>", | ||
152 | "Log off a named user", RunCommand); | ||
122 | } | 153 | } |
123 | 154 | ||
124 | /// <summary> | 155 | /// <summary> |
@@ -301,39 +332,54 @@ namespace OpenSim.Grid.UserServer | |||
301 | m_userManager.ResetUserPassword(firstName, lastName, newPassword); | 332 | m_userManager.ResetUserPassword(firstName, lastName, newPassword); |
302 | } | 333 | } |
303 | 334 | ||
304 | public override void RunCmd(string cmd, string[] cmdparams) | 335 | private void HandleLoginCommand(string module, string[] cmd) |
305 | { | 336 | { |
306 | base.RunCmd(cmd, cmdparams); | 337 | string subcommand = cmd[1]; |
307 | switch (cmd) | 338 | |
339 | switch (subcommand) | ||
308 | { | 340 | { |
309 | case "create": | 341 | case "level": |
310 | do_create(cmdparams); | 342 | // Set the minimal level to allow login |
311 | break; | 343 | // Useful to allow grid update without worrying about users. |
312 | 344 | // or fixing critical issues | |
313 | case "reset": | 345 | // |
314 | Reset(cmdparams); | 346 | if (cmd.Length > 2) |
315 | break; | ||
316 | |||
317 | |||
318 | case "login-level": | ||
319 | // Set the minimal level to allow login | ||
320 | // Usefull to allow grid update without worrying about users. | ||
321 | // or fixing critical issue | ||
322 | if (cmdparams.Length == 1) | ||
323 | { | 347 | { |
324 | int level = Convert.ToInt32(cmdparams[0]); | 348 | int level = Convert.ToInt32(cmd[2]); |
325 | m_loginService.setloginlevel(level); | 349 | m_loginService.setloginlevel(level); |
326 | } | 350 | } |
327 | break; | 351 | break; |
328 | case "login-reset": | 352 | case "reset": |
329 | m_loginService.setloginlevel(0); | 353 | m_loginService.setloginlevel(0); |
330 | break; | 354 | break; |
331 | case "login-text": | 355 | case "text": |
332 | if (cmdparams.Length == 1) | 356 | if (cmd.Length > 2) |
333 | { | 357 | { |
334 | m_loginService.setwelcometext(cmdparams[0]); | 358 | m_loginService.setwelcometext(cmd[2]); |
335 | } | 359 | } |
336 | break; | 360 | break; |
361 | } | ||
362 | } | ||
363 | |||
364 | public void RunCommand(string module, string[] cmd) | ||
365 | { | ||
366 | List<string> args = new List<string>(cmd); | ||
367 | string command = cmd[0]; | ||
368 | |||
369 | args.RemoveAt(0); | ||
370 | |||
371 | string[] cmdparams = args.ToArray(); | ||
372 | |||
373 | switch (command) | ||
374 | { | ||
375 | case "create": | ||
376 | do_create(cmdparams); | ||
377 | break; | ||
378 | |||
379 | case "reset": | ||
380 | Reset(cmdparams); | ||
381 | break; | ||
382 | |||
337 | 383 | ||
338 | case "test-inventory": | 384 | case "test-inventory": |
339 | // RestObjectPosterResponse<List<InventoryFolderBase>> requester = new RestObjectPosterResponse<List<InventoryFolderBase>>(); | 385 | // RestObjectPosterResponse<List<InventoryFolderBase>> requester = new RestObjectPosterResponse<List<InventoryFolderBase>>(); |