From d68ba391fca0192b1876b3207aa4ce5671cac143 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 22 Nov 2012 03:43:21 +0000 Subject: [PATCH] refactor: Factor out copy/pasted server uptime report code --- .../Framework/Servers/BaseOpenSimServer.cs | 29 ++-------- OpenSim/Framework/Servers/ServerBase.cs | 58 +++++++++++++++++++ OpenSim/Server/Base/ServicesServerBase.cs | 27 ++------- 3 files changed, 66 insertions(+), 48 deletions(-) create mode 100644 OpenSim/Framework/Servers/ServerBase.cs diff --git a/OpenSim/Framework/Servers/BaseOpenSimServer.cs b/OpenSim/Framework/Servers/BaseOpenSimServer.cs index 5b2d7dc6d8..6346279754 100644 --- a/OpenSim/Framework/Servers/BaseOpenSimServer.cs +++ b/OpenSim/Framework/Servers/BaseOpenSimServer.cs @@ -38,6 +38,8 @@ using log4net; using log4net.Appender; using log4net.Core; using log4net.Repository; +using OpenMetaverse; +using OpenMetaverse.StructuredData; using OpenSim.Framework; using OpenSim.Framework.Console; using OpenSim.Framework.Monitoring; @@ -45,16 +47,12 @@ using OpenSim.Framework.Servers; using OpenSim.Framework.Servers.HttpServer; using Timer=System.Timers.Timer; -using OpenMetaverse; -using OpenMetaverse.StructuredData; - - namespace OpenSim.Framework.Servers { /// /// Common base for the main OpenSimServers (user, grid, inventory, region, etc) /// - public abstract class BaseOpenSimServer + public abstract class BaseOpenSimServer : ServerBase { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); @@ -68,11 +66,6 @@ namespace OpenSim.Framework.Servers protected OpenSimAppender m_consoleAppender; protected IAppender m_logFileAppender = null; - /// - /// Time at which this server was started - /// - protected DateTime m_startuptime; - /// /// Record the initial startup directory for info purposes /// @@ -96,9 +89,8 @@ namespace OpenSim.Framework.Servers get { return m_httpServer; } } - public BaseOpenSimServer() + public BaseOpenSimServer() : base() { - m_startuptime = DateTime.Now; m_version = VersionInfo.Version; // Random uuid for private data @@ -283,19 +275,6 @@ namespace OpenSim.Framework.Servers return sb.ToString(); } - /// - /// Return a report about the uptime of this server - /// - /// - protected string GetUptimeReport() - { - StringBuilder sb = new StringBuilder(String.Format("Time now is {0}\n", DateTime.Now)); - sb.Append(String.Format("Server has been running since {0}, {1}\n", m_startuptime.DayOfWeek, m_startuptime)); - sb.Append(String.Format("That is an elapsed time of {0}\n", DateTime.Now - m_startuptime)); - - return sb.ToString(); - } - /// /// Performs initialisation of the scene, such as loading configuration from disk. /// diff --git a/OpenSim/Framework/Servers/ServerBase.cs b/OpenSim/Framework/Servers/ServerBase.cs new file mode 100644 index 0000000000..d19234b8d7 --- /dev/null +++ b/OpenSim/Framework/Servers/ServerBase.cs @@ -0,0 +1,58 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Text; + +namespace OpenSim.Framework.Servers +{ + public class ServerBase + { + /// + /// Time at which this server was started + /// + protected DateTime m_startuptime; + + public ServerBase() + { + m_startuptime = DateTime.Now; + } + + /// + /// Return a report about the uptime of this server + /// + /// + protected string GetUptimeReport() + { + StringBuilder sb = new StringBuilder(String.Format("Time now is {0}\n", DateTime.Now)); + sb.Append(String.Format("Server has been running since {0}, {1}\n", m_startuptime.DayOfWeek, m_startuptime)); + sb.Append(String.Format("That is an elapsed time of {0}\n", DateTime.Now - m_startuptime)); + + return sb.ToString(); + } + } +} \ No newline at end of file diff --git a/OpenSim/Server/Base/ServicesServerBase.cs b/OpenSim/Server/Base/ServicesServerBase.cs index 0cff6ed5df..56bb7aeb6b 100644 --- a/OpenSim/Server/Base/ServicesServerBase.cs +++ b/OpenSim/Server/Base/ServicesServerBase.cs @@ -34,6 +34,7 @@ using System.Text; using System.Xml; using OpenSim.Framework; using OpenSim.Framework.Console; +using OpenSim.Framework.Servers; using log4net; using log4net.Config; using log4net.Appender; @@ -43,7 +44,7 @@ using Nini.Config; namespace OpenSim.Server.Base { - public class ServicesServerBase + public class ServicesServerBase : ServerBase { // Logger // @@ -72,17 +73,10 @@ namespace OpenSim.Server.Base // private string m_pidFile = String.Empty; - /// - /// Time at which this server was started - /// - protected DateTime m_startuptime; - // Handle all the automagical stuff // - public ServicesServerBase(string prompt, string[] args) + public ServicesServerBase(string prompt, string[] args) : base() { - m_startuptime = DateTime.Now; - // Save raw arguments // m_Arguments = args; @@ -373,18 +367,5 @@ namespace OpenSim.Server.Base break; } } - - /// - /// Return a report about the uptime of this server - /// - /// - protected string GetUptimeReport() - { - StringBuilder sb = new StringBuilder(String.Format("Time now is {0}\n", DateTime.Now)); - sb.Append(String.Format("Server has been running since {0}, {1}\n", m_startuptime.DayOfWeek, m_startuptime)); - sb.Append(String.Format("That is an elapsed time of {0}\n", DateTime.Now - m_startuptime)); - - return sb.ToString(); - } } -} +} \ No newline at end of file