From e672bb8dee601fb6a6a437bbf0ee06b63706d2cb Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Fri, 6 Apr 2018 18:26:24 +0000 Subject: [PATCH] =?UTF-8?q?Aktuellen=20Stand=20von=20SMSPLASH01=20wieder?= =?UTF-8?q?=20hergeholt=20(separate=20LS100PortProxy=20Version=20f=C3=BCr?= =?UTF-8?q?=20BSMD-AIS,=20da=20hier=20manuell=20's=20in=20den=20Datens?= =?UTF-8?q?trom=20eingebaut=20werden=20m=C3=BCssen)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AIS/LS100PortProxy/Anleitung.docx | Bin 0 -> 15459 bytes AIS/LS100PortProxy/LS100PortProxy.csproj | 79 +++++ AIS/LS100PortProxy/LS100PortProxy.pdf | Bin 0 -> 197478 bytes AIS/LS100PortProxy/LS100PortProxy.sln | 35 ++ AIS/LS100PortProxy/MultiplexManager.cs | 305 ++++++++++++++++++ AIS/LS100PortProxy/Program.cs | 52 +++ AIS/LS100PortProxy/Properties/AssemblyInfo.cs | 36 +++ AIS/LS100PortProxy/app.config | 32 ++ AIS/LS100PortProxy/packages.config | 4 + AIS/bsmd.AISService/AIS/AIS_ClassB.cs | 13 +- AIS/bsmd.AISService/AIS/AIS_ClassBExt.cs | 5 +- AIS/bsmd.AISService/AIS/AIS_ClassBStatic.cs | 13 +- AIS/bsmd.AISService/AIS/AIS_PosReport.cs | 12 +- AIS/bsmd.AISService/AIS/AIS_QueueManager.cs | 60 ++-- AIS/bsmd.AISService/AIS/AIS_StaticData.cs | 27 +- AIS/bsmd.AISService/AIS/AIS_Telnet.cs | 15 +- AIS/bsmd.AISService/AIS/NMEA.cs | 7 +- AIS/bsmd.AISService/AIS/NMEA_AIS_Sentence.cs | 5 +- .../AIS/NMEA_PNMLS_Sentence.cs | 2 +- AIS/bsmd.AISService/AIS/SerialDataHandler.cs | 5 +- AIS/bsmd.AISService/AIS/Serial_IO.cs | 3 +- AIS/bsmd.AISService/AIS/TelnetDataHandler.cs | 11 +- AIS/bsmd.AISService/AISService.cs | 10 +- AIS/bsmd.AISService/App.config | 24 ++ AIS/bsmd.AISService/DB/AISPosReport.cs | 16 +- AIS/bsmd.AISService/DB/AISStaticData.cs | 160 ++++----- AIS/bsmd.AISService/DB/AISStation.cs | 16 +- AIS/bsmd.AISService/DB/DBConnector.cs | 50 ++- AIS/bsmd.AISService/Program.cs | 5 +- .../ProjectInstaller.Designer.cs | 1 + AIS/bsmd.AISService/ProjectInstaller.resx | 2 +- AIS/bsmd.AISService/bsmd.AISService.csproj | 4 +- Stundensheet.xlsx | Bin 37243 -> 37831 bytes 33 files changed, 814 insertions(+), 195 deletions(-) create mode 100644 AIS/LS100PortProxy/Anleitung.docx create mode 100644 AIS/LS100PortProxy/LS100PortProxy.csproj create mode 100644 AIS/LS100PortProxy/LS100PortProxy.pdf create mode 100644 AIS/LS100PortProxy/LS100PortProxy.sln create mode 100644 AIS/LS100PortProxy/MultiplexManager.cs create mode 100644 AIS/LS100PortProxy/Program.cs create mode 100644 AIS/LS100PortProxy/Properties/AssemblyInfo.cs create mode 100644 AIS/LS100PortProxy/app.config create mode 100644 AIS/LS100PortProxy/packages.config diff --git a/AIS/LS100PortProxy/Anleitung.docx b/AIS/LS100PortProxy/Anleitung.docx new file mode 100644 index 0000000000000000000000000000000000000000..107d55663feedd6a72fff30a359add028eea96e9 GIT binary patch literal 15459 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 literal 0 HcmV?d00001 diff --git a/AIS/LS100PortProxy/LS100PortProxy.csproj b/AIS/LS100PortProxy/LS100PortProxy.csproj new file mode 100644 index 00000000..edff9a4a --- /dev/null +++ b/AIS/LS100PortProxy/LS100PortProxy.csproj @@ -0,0 +1,79 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {1B23254E-62EA-4AAF-803C-AAA0622B4570} + Exe + Properties + LS100PortProxy + LS100PortProxy + v4.6.1 + + + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + false + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + true + false + + + AnyCPU + bin\Debug\ + + + AnyCPU + bin\Release\ + + + + packages\log4net.2.0.8\lib\net45-full\log4net.dll + + + + + + + + + + + + + + + + + Designer + + + + + + \ No newline at end of file diff --git a/AIS/LS100PortProxy/LS100PortProxy.pdf b/AIS/LS100PortProxy/LS100PortProxy.pdf new file mode 100644 index 0000000000000000000000000000000000000000..cf29f912c64a5b0f5b2d8ded20d8f32b1a6bd054 GIT binary patch literal 197478 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

hGwhS{_C&|>KT?K_=A$EV(* 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%0AtMqLCM-YzVw(hBDQW!JB4W5+&ZDVFa5n}5Td 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

EdCu1ePB754 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 UCbZS3vm4;6)x$-Lp?1#Q5>L^g^AI7 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 _connections = new List(); + private TcpClient client; + private Thread _clientThread; + private NetworkStream clientStream; + private DateTime lastDataReceivedAt; + private ILog _log = LogManager.GetLogger(typeof(MultiplexManager)); + + private class Chunk + { + public int length; + public byte[] data; + public Chunk DeepClone() + { + Chunk newChunk = new Chunk(); + newChunk.length = this.length; + newChunk.data = new byte[this.length]; + Array.Copy(this.data, newChunk.data, this.length); + return newChunk; + } + } + + private class ConnectionInfo + { + public Socket Socket; + public Thread Thread; + public Queue chunks = new Queue(); + } + + public MultiplexManager(int ifIdx, string address, int cPort, int sPort) + { + this.ifIdx = ifIdx; + this.remoteServerAddress = address; + this.clientPort = cPort; + this.serverPort = sPort; + } + + public void StartServer() + { + this.SetupServerSocket(); + _acceptThread = new Thread(AcceptConnections); + _acceptThread.IsBackground = true; + _acceptThread.Start(); + } + + public void StopServer() + { + this.shouldStop = true; + _serverSocket.Close(); + _acceptThread.Join(); + } + + public static string ListIfs() + { + StringBuilder sb = new StringBuilder(); + IPHostEntry localMachineInfo = Dns.GetHostEntry(Dns.GetHostName()); + for(int i= 0;i< localMachineInfo.AddressList.Length; i++) + { + IPAddress address = localMachineInfo.AddressList[i]; + sb.AppendLine(string.Format("# {0}: {1}", i, address.ToString())); + } + return sb.ToString(); + } + + private void SetupServerSocket() + { + // Resolving local machine information + IPHostEntry localMachineInfo = Dns.GetHostEntry(Dns.GetHostName()); + IPEndPoint myEndpoint = new IPEndPoint(IPAddress.Any, serverPort); + //IPEndPoint myEndpoint = new IPEndPoint(localMachineInfo.AddressList[this.ifIdx], serverPort); + + _log.InfoFormat("listening on {0}, port {1}", myEndpoint.Address, serverPort); + // Create the socket, bind it, and start listening + _serverSocket = new Socket(myEndpoint.Address.AddressFamily, SocketType.Stream, ProtocolType.Tcp); + _serverSocket.Blocking = true; + _serverSocket.Bind(myEndpoint); + _serverSocket.Listen(32); + } + + private void AcceptConnections() + { + while (!shouldStop) + { // Accept a connection + try + { + Socket socket = _serverSocket.Accept(); + _log.InfoFormat("new connection from {0}", socket.RemoteEndPoint.ToString()); + ConnectionInfo connection = new ConnectionInfo(); + connection.Socket = socket; // Create the thread for the receives. + connection.Thread = new Thread(ProcessConnection); + connection.Thread.IsBackground = true; + connection.Thread.Start(connection); + // Store the socket + lock (_connections) + _connections.Add(connection); + } + catch (SocketException) { /* tu was */ } + Thread.Sleep(250); + } + this._serverSocket.Close(); + } + + private void ProcessConnection(object state) + { + ConnectionInfo connection = (ConnectionInfo)state; + try + { + while (!shouldStop) + { + // write all chunks in incoming chunk queue to this socket + + if (connection.Socket.Poll(1000, SelectMode.SelectWrite)) + { + while (connection.chunks.Count > 0) + { + Chunk aChunk = null; + lock (_connections) + { + aChunk = connection.chunks.Dequeue(); + } + int bytesToSend = aChunk.length; + byte[] buffer = aChunk.data; + while (bytesToSend > 0) + { + //string testOutput = Encoding.ASCII.GetString(aChunk.data); + //string[] lines = testOutput.Split('\r'); + //foreach(string line in lines) + // _log.Debug(line); + int actuallySentBytes = connection.Socket.Send(aChunk.data, aChunk.length, SocketFlags.None); + bytesToSend -= actuallySentBytes; + if (bytesToSend > 0) + { + byte[] newBuffer = new byte[bytesToSend]; + Array.Copy(buffer, aChunk.length - bytesToSend, newBuffer, 0, bytesToSend); + buffer = newBuffer; + } + } + aChunk = null; + } + } + else + { + // dump queue in this case, packets cannot be sent.. + lock (_connections) + { + connection.chunks.Clear(); + } + } + + Thread.Sleep(50); + } + } + catch (SocketException exc) + { + Console.WriteLine("Socket exception: " + exc.SocketErrorCode); + _log.WarnFormat("SocketException: {0}", exc.SocketErrorCode); + } + catch (Exception exc) + { Console.WriteLine("Exception: " + exc); } + finally + { + _log.InfoFormat("removing connection to {0}", connection.Socket.RemoteEndPoint); + connection.Socket.Close(); + lock (_connections) + _connections.Remove(connection); + GC.Collect(); + } + } + + + internal void StartClient() + { + this._clientThread = new Thread(new ThreadStart(this.ClientConnection)); + this._clientThread.Start(); + } + + private void ConnectClient() + { + try + { + if ((this.client != null) && (this.client.Connected)) return; + if (this.client != null) + { + this.client.Close(); + GC.Collect(); + } + this.client = new TcpClient(this.remoteServerAddress, this.clientPort); + this.clientStream = client.GetStream(); + _log.InfoFormat("TCP stream connected ({0}:{1})", this.remoteServerAddress, this.clientPort); + } + catch (Exception ex) + { + _log.ErrorFormat("ConnectClient(): {0}", ex.Message); + } + } + + private void ClientConnection() + { + while (!this.shouldStop) + { + try + { + if ((this.client == null) || !this.client.Connected) this.ConnectClient(); + if ((this.client != null) && this.client.Connected && this.clientStream.CanRead) + { + while (this.clientStream.CanRead && !this.shouldStop) + { + Chunk chunk = new Chunk(); + chunk.data = new byte[1024]; + chunk.length = this.clientStream.Read(chunk.data, 0, 1024); + + byte[] target = new byte[2048]; // einfach größer + int j = 0; + for (int i = 0; i < chunk.length; i++, j++) + { + target[j] = chunk.data[i]; + if (chunk.data[i] == 10) // LF + { + target[j] = 13; // CR + j++; + target[j] = 10; //LF + } + } + + if(j > chunk.length) // es wurden CR eingefügt + { + chunk.data = target; + chunk.length = j; + _log.DebugFormat("Chunk replaced, new length {0}", j); + } + + if (chunk.length > 0 && (this._connections.Count > 0)) + { + this.lastDataReceivedAt = DateTime.Now; // reset data timeout + + // clone chunk for each connected client + lock (this._connections) + { + foreach (ConnectionInfo connectionInfo in _connections) + { + connectionInfo.chunks.Enqueue(chunk.DeepClone()); + } + } + } + } + } + else + { + if ((DateTime.Now - lastDataReceivedAt) > TimeSpan.FromMinutes(10)) + { + // close client connection if no data is received for 10 minutes + _log.Info("Server inactive for 10 minutes, disconnecting"); + if(this.client != null) + this.client.Close(); + this.client = null; + } + Thread.Sleep(120000); // try connect again in 2 minutes + } + Thread.Sleep(50); + } + catch (Exception ex) + { + _log.ErrorFormat("client-side exception: {0}", ex.Message); + if (this.client != null) + { + this.client.Close(); + this.client = null; + } + Thread.Sleep(60000); // 60 Sekunden warten und neu verbinden + } + } + if(this.client != null) + this.client.Close(); + } + } +} diff --git a/AIS/LS100PortProxy/Program.cs b/AIS/LS100PortProxy/Program.cs new file mode 100644 index 00000000..9727658e --- /dev/null +++ b/AIS/LS100PortProxy/Program.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using log4net; + +namespace LS100PortProxy +{ + /// + /// http://msdn.microsoft.com/en-GB/library/bbx2eya8.aspx + /// Async server socket msdn + /// http://msdn.microsoft.com/en-us/library/5w7b7x5f.aspx + /// + class Program + { + static void Main(string[] args) + { + log4net.Config.XmlConfigurator.Configure(); + ILog _log = LogManager.GetLogger("Main"); + _log.Info("PortProxy started"); + if ((args.Length != 4) && (args.Length != 0)) + { + Console.WriteLine("Usage: "); + Console.WriteLine(" -> outputs interfaces"); + return; + } + + if (args.Length == 0) + { + Console.WriteLine(MultiplexManager.ListIfs()); + return; + } + + int ifIdx = Convert.ToInt32(args[0]); + string address = args[1]; + int clientPort = Convert.ToInt32(args[2]); + int serverPort = Convert.ToInt32(args[3]); + + MultiplexManager manager = new MultiplexManager(ifIdx, address, clientPort, serverPort); + manager.StartServer(); + + manager.StartClient(); + + Console.WriteLine("Port proxy läuft. Beliebige Taste drücken um zu beenden..."); + Console.ReadKey(); + Console.WriteLine("stopping.."); + manager.StopServer(); + Console.WriteLine("stopped."); + _log.Info("PortProxy stopped"); + } + } +} diff --git a/AIS/LS100PortProxy/Properties/AssemblyInfo.cs b/AIS/LS100PortProxy/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..8a811dd6 --- /dev/null +++ b/AIS/LS100PortProxy/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("LS100PortProxy")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("LS100PortProxy")] +[assembly: AssemblyCopyright("Copyright © 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("7ae7a332-a440-42d5-8d33-261e75424fe2")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/AIS/LS100PortProxy/app.config b/AIS/LS100PortProxy/app.config new file mode 100644 index 00000000..ebdd9e2f --- /dev/null +++ b/AIS/LS100PortProxy/app.config @@ -0,0 +1,32 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AIS/LS100PortProxy/packages.config b/AIS/LS100PortProxy/packages.config new file mode 100644 index 00000000..09d3fdd6 --- /dev/null +++ b/AIS/LS100PortProxy/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/AIS/bsmd.AISService/AIS/AIS_ClassB.cs b/AIS/bsmd.AISService/AIS/AIS_ClassB.cs index d77d2077..63e7ddfd 100644 --- a/AIS/bsmd.AISService/AIS/AIS_ClassB.cs +++ b/AIS/bsmd.AISService/AIS/AIS_ClassB.cs @@ -2,6 +2,7 @@ using System.Collections; using System.Text; using System.Diagnostics; +using log4net; namespace bsmd.AISService.AIS { @@ -27,6 +28,8 @@ namespace bsmd.AISService.AIS private int commStateSelectedFlag; private int commState; + private static ILog _log = LogManager.GetLogger(typeof(AIS_ClassB)); + #endregion #region Properties @@ -42,13 +45,9 @@ namespace bsmd.AISService.AIS { get { - return string.Format("{0}-{1}-{2} {3}:{4}:{5}", - this.timestamp.Year, this.timestamp.Month, this.timestamp.Day, - this.timestamp.Hour, this.timestamp.Minute, this.timestamp.Second); + return this.timestamp.ToString("yyyy-MM-ddTHH:mm:ss.000Z"); } - } - - + } public double Cog { @@ -141,7 +140,7 @@ namespace bsmd.AISService.AIS } catch (Exception e) { - Trace.WriteLine(string.Format("Error decoding AIS class B posreport: {0}", e.Message)); + _log.WarnFormat("Error decoding AIS class B posreport: {0}", e.Message); result = Status.PARSE_ERROR; } diff --git a/AIS/bsmd.AISService/AIS/AIS_ClassBExt.cs b/AIS/bsmd.AISService/AIS/AIS_ClassBExt.cs index a3956611..4e6473fb 100644 --- a/AIS/bsmd.AISService/AIS/AIS_ClassBExt.cs +++ b/AIS/bsmd.AISService/AIS/AIS_ClassBExt.cs @@ -2,6 +2,7 @@ using System.Collections; using System.Text; using System.Diagnostics; +using log4net; namespace bsmd.AISService.AIS { @@ -35,6 +36,8 @@ namespace bsmd.AISService.AIS private int assignedMode; private int spare3; + private static ILog _log = LogManager.GetLogger(typeof(AIS_ClassBExt)); + #endregion #region Properties @@ -120,7 +123,7 @@ namespace bsmd.AISService.AIS catch (Exception e) { - Trace.WriteLine(string.Format("Error decoding AIS class B Ext posreport: {0}", e.Message)); + _log.WarnFormat("Error decoding AIS class B Ext posreport: {0}", e.Message); result = Status.PARSE_ERROR; } diff --git a/AIS/bsmd.AISService/AIS/AIS_ClassBStatic.cs b/AIS/bsmd.AISService/AIS/AIS_ClassBStatic.cs index 89c51757..465f3c2c 100644 --- a/AIS/bsmd.AISService/AIS/AIS_ClassBStatic.cs +++ b/AIS/bsmd.AISService/AIS/AIS_ClassBStatic.cs @@ -1,7 +1,7 @@ using System; using System.Collections; using System.Text; -using System.Diagnostics; +using log4net; namespace bsmd.AISService.AIS { @@ -17,6 +17,7 @@ namespace bsmd.AISService.AIS private string callsign; private int dimension; private int spare; + private static ILog _log = LogManager.GetLogger(typeof(AIS_ClassBStatic)); #endregion @@ -30,7 +31,7 @@ namespace bsmd.AISService.AIS public bool IsPartB { get { return this.partNumber == 1; } - } + } public string Name { @@ -40,7 +41,7 @@ namespace bsmd.AISService.AIS public string ShipType { get { return AIS_StaticData.GetShipType(this.shipType); } - } + } public string VendorId { @@ -57,6 +58,10 @@ namespace bsmd.AISService.AIS get { return this.shipType; } } + public int Dimension { get { return this.dimension; } } + + public int Spare { get { return this.spare; } } + // Todo: Dimensions.. #endregion @@ -120,7 +125,7 @@ namespace bsmd.AISService.AIS } catch (Exception e) { - Trace.WriteLine(string.Format("Error decoding AIS class B static data: {0}", e.Message)); + _log.WarnFormat("Error decoding AIS class B static data: {0}", e.Message); result = Status.PARSE_ERROR; } diff --git a/AIS/bsmd.AISService/AIS/AIS_PosReport.cs b/AIS/bsmd.AISService/AIS/AIS_PosReport.cs index 26a2b4fd..9d3e4c0c 100644 --- a/AIS/bsmd.AISService/AIS/AIS_PosReport.cs +++ b/AIS/bsmd.AISService/AIS/AIS_PosReport.cs @@ -1,7 +1,7 @@ using System; using System.Collections; using System.Diagnostics; -using System.Text; +using log4net; namespace bsmd.AISService.AIS { @@ -21,7 +21,9 @@ namespace bsmd.AISService.AIS private int reserved; private int spare; private int raim; - private int commstate; + private int commstate; + + private static ILog _log = LogManager.GetLogger(typeof(AIS_PosReport)); #region Properties @@ -38,9 +40,7 @@ namespace bsmd.AISService.AIS { get { - return string.Format("{0}-{1}-{2} {3}:{4}:{5}", - this.timestamp.Year, this.timestamp.Month, this.timestamp.Day, - this.timestamp.Hour, this.timestamp.Minute, this.timestamp.Second); + return this.timestamp.ToString("yyyy-MM-ddTHH:mm:ss.000Z"); } } @@ -181,7 +181,7 @@ namespace bsmd.AISService.AIS } catch (Exception e) { - Trace.WriteLine(string.Format("Error decoding AIS pos report: {0}", e.Message)); + _log.WarnFormat("Error decoding AIS pos report: {0}", e.Message); result = Status.PARSE_ERROR; } diff --git a/AIS/bsmd.AISService/AIS/AIS_QueueManager.cs b/AIS/bsmd.AISService/AIS/AIS_QueueManager.cs index faecdace..49d8f35d 100644 --- a/AIS/bsmd.AISService/AIS/AIS_QueueManager.cs +++ b/AIS/bsmd.AISService/AIS/AIS_QueueManager.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Text; using System.Timers; using System.Diagnostics; +using System.Threading; namespace bsmd.AISService.AIS { @@ -25,8 +26,9 @@ public class AIS_QueueManager private List serialHandlerList = new List(); private List telnetHandlerList = new List(); private List dbUpdateQueue = new List(); - private Timer dbUpdateTimer = new Timer(); + private System.Timers.Timer dbUpdateTimer = new System.Timers.Timer(); private bool isStarted = false; + private Mutex dbSingleMutex = new Mutex(); #region Construction @@ -78,37 +80,41 @@ public class AIS_QueueManager void dbUpdateTimer_Elapsed(object sender, ElapsedEventArgs e) { - while (this.dbUpdateQueue.Count > 0) + + if (dbSingleMutex.WaitOne(0)) { - AIS_Target currentTarget = null; - lock (this.dbUpdateQueue) + while (this.dbUpdateQueue.Count > 0) { - // Trace.WriteLine(string.Format("Update queue size: {0}", this.dbUpdateQueue.Count)); - currentTarget = this.dbUpdateQueue[0]; - this.dbUpdateQueue.RemoveAt(0); - } - this.OnDBUpdateRequired(currentTarget); - } - - // remove stale targets - lock (this.activeTargetList) - { - - for(int i=0;i this.configuration.TargetStaleMins) + AIS_Target currentTarget = null; + lock (this.dbUpdateQueue) { - this.activeTargetList.RemoveAt(i); - i--; + // Trace.WriteLine(string.Format("Update queue size: {0}", this.dbUpdateQueue.Count)); + currentTarget = this.dbUpdateQueue[0]; + this.dbUpdateQueue.RemoveAt(0); + } + this.OnDBUpdateRequired(currentTarget); + } + + // remove stale targets + lock (this.activeTargetList) + { + + for (int i = 0; i < this.activeTargetList.Count; i++) + { + if (!this.activeTargetList[i].LastUpdate.HasValue) + continue; + + int diffmin = (int)(DateTime.Now - this.activeTargetList[i].LastUpdate.Value).TotalMinutes; + + if (diffmin > this.configuration.TargetStaleMins) + { + this.activeTargetList.RemoveAt(i); + i--; + } } } - } - + dbSingleMutex.ReleaseMutex(); + } } void decoder_AISMessageReceived(AIS message) diff --git a/AIS/bsmd.AISService/AIS/AIS_StaticData.cs b/AIS/bsmd.AISService/AIS/AIS_StaticData.cs index 6bff5030..36735efd 100644 --- a/AIS/bsmd.AISService/AIS/AIS_StaticData.cs +++ b/AIS/bsmd.AISService/AIS/AIS_StaticData.cs @@ -3,6 +3,8 @@ using System.Collections; using System.Diagnostics; using System.Text; +using log4net; + namespace bsmd.AISService.AIS { public class AIS_StaticData : AIS @@ -32,6 +34,8 @@ namespace bsmd.AISService.AIS private int dte; private int spare; + private static ILog _log = LogManager.GetLogger(typeof(AIS_StaticData)); + #endregion #region Properties @@ -120,22 +124,31 @@ namespace bsmd.AISService.AIS } } + public int DBShipType { get { return this.shiptype; } } + + public int DBDimension { get { return this.dimension; } } + + public int DBTypeOfDevice { get { return this.typeofdevice; } } + + public int DTE { get { return this.dte; } } + + public int Spare { get { return this.spare; } } + public string DBETA { get { if (this.eta.HasValue) { - return string.Format("{0}-{1}-{2} {3}:{4}:{5}", - this.eta.Value.Year, this.eta.Value.Month, this.eta.Value.Day, - this.eta.Value.Hour, this.eta.Value.Minute, this.eta.Value.Second); + return this.eta.Value.ToString("yyyy-MM-ddTHH:mm:ss.000Z"); } else + { return ""; + } } } - #endregion #region abstract method implementation @@ -197,8 +210,8 @@ namespace bsmd.AISService.AIS this.eta = new DateTime(DateTime.Now.Year, this.etamonth, this.etaday, this.etahour, this.etaminute, 0); } } - catch(Exception) { - Trace.WriteLine("ERROR creating ETA timestamp"); + catch(Exception e) { + _log.WarnFormat("ETA timestamp creation failed: {0}", e.Message); } this.maxpresetstaticdraught = AIS.GetInt(bits, 294, 301); @@ -219,7 +232,7 @@ namespace bsmd.AISService.AIS } catch (Exception e) { - Trace.WriteLine(string.Format("Error decoding AIS static data: {0}", e.Message)); + _log.WarnFormat("Error decoding AIS static data: {0}", e.Message); result = Status.PARSE_ERROR; } return result; diff --git a/AIS/bsmd.AISService/AIS/AIS_Telnet.cs b/AIS/bsmd.AISService/AIS/AIS_Telnet.cs index 5a8ae60b..753bb27d 100644 --- a/AIS/bsmd.AISService/AIS/AIS_Telnet.cs +++ b/AIS/bsmd.AISService/AIS/AIS_Telnet.cs @@ -13,6 +13,8 @@ using System.IO; using System.Text; using System.Net.Sockets; +using log4net; + namespace bsmd.AISService.AIS { public class AIS_Telnet @@ -29,6 +31,8 @@ namespace bsmd.AISService.AIS private int port; private DateTime? lastRead; + private static ILog _log = LogManager.GetLogger(typeof(AIS_Telnet)); + #endregion public AIS_Telnet(string theHostname, int thePort) @@ -99,7 +103,7 @@ namespace bsmd.AISService.AIS } catch (Exception ex) { - System.Diagnostics.Trace.WriteLine(string.Format("exception reading from tcp stream: {0}", ex.Message)); + _log.ErrorFormat("exception reading from tcp stream: {0}", ex.Message); result = ""; } } @@ -114,7 +118,7 @@ namespace bsmd.AISService.AIS { this.tcpSocket.Close(); this.tcpSocket = null; - System.Diagnostics.Trace.WriteLine("closing inactive TcpClient"); + _log.Info("closing inactive TcpClient"); this.lastRead = DateTime.Now; // reset timer } } @@ -138,12 +142,11 @@ namespace bsmd.AISService.AIS if ((this.tcpSocket != null) && (this.tcpSocket.Connected)) return; this.tcpSocket = new TcpClient(this.hostname, this.port); this.tcpStream = tcpSocket.GetStream(); - System.Diagnostics.Trace.WriteLine(string.Format("TCP stream connected ({0}:{1})", this.hostname, this.port)); + _log.InfoFormat("TCP stream connected ({0}:{1})", this.hostname, this.port); } catch (Exception ex) - { - System.Diagnostics.Trace.WriteLine( - string.Format("AIS_Telnet: cannot connect to ({0}:{1}) : {2}", this.hostname, this.port, ex.Message)); + { + _log.WarnFormat("AIS_Telnet: cannot connect to ({0}:{1}) : {2}", this.hostname, this.port, ex.Message); } } } diff --git a/AIS/bsmd.AISService/AIS/NMEA.cs b/AIS/bsmd.AISService/AIS/NMEA.cs index 71b74f2d..321ae6c6 100644 --- a/AIS/bsmd.AISService/AIS/NMEA.cs +++ b/AIS/bsmd.AISService/AIS/NMEA.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Text; +using log4net; namespace bsmd.AISService.AIS { @@ -8,7 +9,9 @@ namespace bsmd.AISService.AIS { protected string type = ""; protected string data; - protected string[] elements = null; + protected string[] elements = null; + + protected static ILog _log = LogManager.GetLogger(typeof(NMEA)); public enum Status { @@ -60,7 +63,7 @@ namespace bsmd.AISService.AIS } catch (Exception ex) { - System.Diagnostics.Trace.WriteLine(string.Format("Error decoding sentence: {0}, {1}", ex.Message, ex.StackTrace)); + _log.ErrorFormat("Error decoding sentence: {0}, {1}", ex.Message, ex.StackTrace); return null; } } diff --git a/AIS/bsmd.AISService/AIS/NMEA_AIS_Sentence.cs b/AIS/bsmd.AISService/AIS/NMEA_AIS_Sentence.cs index 9b916451..4da0066a 100644 --- a/AIS/bsmd.AISService/AIS/NMEA_AIS_Sentence.cs +++ b/AIS/bsmd.AISService/AIS/NMEA_AIS_Sentence.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Text; +using log4net; namespace bsmd.AISService.AIS { @@ -75,11 +76,11 @@ namespace bsmd.AISService.AIS { string fillbits_string = this.elements[6].Substring(0, this.elements[6].IndexOf('*')); if(!Int32.TryParse(fillbits_string, out this.fillbits)) - System.Diagnostics.Trace.WriteLine("AIS_Sentence.Decode(): fillbits are no integer"); + _log.Warn("AIS_Sentence.Decode(): fillbits are no integer"); } catch (ArgumentOutOfRangeException) { - System.Diagnostics.Trace.WriteLine("AIS_Sentence.Decode(): split() problem, trouble decoding fillbits"); + _log.Warn("AIS_Sentence.Decode(): split() problem, trouble decoding fillbits"); } } } diff --git a/AIS/bsmd.AISService/AIS/NMEA_PNMLS_Sentence.cs b/AIS/bsmd.AISService/AIS/NMEA_PNMLS_Sentence.cs index 65a61dea..1498395d 100644 --- a/AIS/bsmd.AISService/AIS/NMEA_PNMLS_Sentence.cs +++ b/AIS/bsmd.AISService/AIS/NMEA_PNMLS_Sentence.cs @@ -48,7 +48,7 @@ namespace bsmd.AISService.AIS } catch (FormatException) { - Trace.WriteLine("NMEA [PNMLS] input format error"); + _log.Warn("NMEA [PNMLS] input format error"); } } diff --git a/AIS/bsmd.AISService/AIS/SerialDataHandler.cs b/AIS/bsmd.AISService/AIS/SerialDataHandler.cs index 9e0395d8..7551313a 100644 --- a/AIS/bsmd.AISService/AIS/SerialDataHandler.cs +++ b/AIS/bsmd.AISService/AIS/SerialDataHandler.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Text; using System.Diagnostics; +using log4net; namespace bsmd.AISService.AIS { @@ -10,6 +11,8 @@ namespace bsmd.AISService.AIS private Serial_IO serial_IO; private AIS_Decoder decoder; + private static ILog _log = LogManager.GetLogger(typeof(SerialDataHandler)); + public SerialDataHandler(Serial_IO io, AIS_Decoder decoder) { this.serial_IO = io; @@ -54,7 +57,7 @@ namespace bsmd.AISService.AIS } else { - Trace.WriteLine("Serial data handler: NMEA decoder returned null sentence"); + _log.Info("Serial data handler: NMEA decoder returned null sentence"); } } diff --git a/AIS/bsmd.AISService/AIS/Serial_IO.cs b/AIS/bsmd.AISService/AIS/Serial_IO.cs index 05817b3c..ab1c1ef7 100644 --- a/AIS/bsmd.AISService/AIS/Serial_IO.cs +++ b/AIS/bsmd.AISService/AIS/Serial_IO.cs @@ -95,8 +95,7 @@ namespace bsmd.AISService.AIS try { string line = this.port.ReadLine(); - this.OnInputLineRead(line); - //System.Diagnostics.Trace.WriteLine(line); + this.OnInputLineRead(line); } catch (Exception) { } } diff --git a/AIS/bsmd.AISService/AIS/TelnetDataHandler.cs b/AIS/bsmd.AISService/AIS/TelnetDataHandler.cs index 686c737d..047d4d82 100644 --- a/AIS/bsmd.AISService/AIS/TelnetDataHandler.cs +++ b/AIS/bsmd.AISService/AIS/TelnetDataHandler.cs @@ -12,6 +12,8 @@ using System.Collections.Generic; using System.Threading; using System.Diagnostics; +using log4net; + namespace bsmd.AISService.AIS { public class TelnetDataHandler @@ -21,6 +23,8 @@ namespace bsmd.AISService.AIS Thread readerThread; bool requestStop; + internal static ILog _log = LogManager.GetLogger(typeof(TelnetDataHandler)); + public TelnetDataHandler(AIS_Telnet telnetConnection, AIS_Decoder aisDecoder) { this.aisTelnet = telnetConnection; @@ -70,7 +74,7 @@ namespace bsmd.AISService.AIS private void ReaderThread() { NMEA.Status nmea_Status = NMEA.Status.OK; - System.Diagnostics.Trace.WriteLine("starting telnet reader thread"); + _log.Info("starting telnet reader thread"); while (!requestStop) { try @@ -92,7 +96,7 @@ namespace bsmd.AISService.AIS } else { - Trace.WriteLine("Serial data handler: NMEA decoder returned null/empty sentence"); + _log.Info("Serial data handler: NMEA decoder returned null/empty sentence"); } } } @@ -101,8 +105,7 @@ namespace bsmd.AISService.AIS var st = new StackTrace(ex, true); var frame = st.GetFrame(0); var line = frame.GetFileLineNumber(); - Trace.WriteLine(string.Format("Exception in telnet reader thread: {0}, top frame ln {1}", ex.Message, line)); - Trace.WriteLine(ex.StackTrace); + _log.WarnFormat("Exception in telnet reader thread: {0}, top frame ln {1}", ex.Message, line); } Thread.Sleep(100); } diff --git a/AIS/bsmd.AISService/AISService.cs b/AIS/bsmd.AISService/AISService.cs index b7115204..96bbdb75 100644 --- a/AIS/bsmd.AISService/AISService.cs +++ b/AIS/bsmd.AISService/AISService.cs @@ -66,6 +66,7 @@ namespace bsmd.AISService protected override void OnStop() { this.qManager.Stop(); + _log.Info("AIS Service stopped."); } protected void Init(string[] args) @@ -74,7 +75,7 @@ namespace bsmd.AISService if (configuration == null) { - Console.WriteLine(string.Format("cannot read configuration {0}", config_filename)); + _log.ErrorFormat("cannot read configuration {0}", config_filename); return; } @@ -82,7 +83,7 @@ namespace bsmd.AISService dbConnector.ConnectionString = configuration.DBConnectionString; if (!dbConnector.Open()) { - Console.WriteLine("Error connecting to database"); + _log.Error("Error connecting to database"); return; } @@ -90,14 +91,15 @@ namespace bsmd.AISService this.qManager = new AIS_QueueManager(configuration, AISStation.CreateSerial_IOs(stationList), AISStation.CreateAIS_Telnets(stationList)); qManager.DBUpdateRequired += new AIS_QueueManager.AISQueueChangedHandler(dbConnector.Update); - qManager.AISQueueChanged += new AIS_QueueManager.AISQueueChangedHandler(aisDecoder_AISMessageReceived); + // qManager.AISQueueChanged += new AIS_QueueManager.AISQueueChangedHandler(aisDecoder_AISMessageReceived); } + /* protected void aisDecoder_AISMessageReceived(AIS_Target target) { Console.WriteLine(string.Format("{0}: {1} Pos:{2} {3} at {4}", target.Station, target.Name, target.Latitude, target.Longitude, target.LastUpdate)); } - + */ } } diff --git a/AIS/bsmd.AISService/App.config b/AIS/bsmd.AISService/App.config index 0ab7508f..4a686434 100644 --- a/AIS/bsmd.AISService/App.config +++ b/AIS/bsmd.AISService/App.config @@ -4,7 +4,31 @@
+
+ + + + + + + + + + + + + + + + + + + + + + + diff --git a/AIS/bsmd.AISService/DB/AISPosReport.cs b/AIS/bsmd.AISService/DB/AISPosReport.cs index aee2b125..6d05d842 100644 --- a/AIS/bsmd.AISService/DB/AISPosReport.cs +++ b/AIS/bsmd.AISService/DB/AISPosReport.cs @@ -8,12 +8,14 @@ using System.Collections.Generic; using System.Text; using bsmd.AISService.AIS; +using log4net; namespace bsmd.AISService.DB { + internal class AISPosReport : AISBaseEntity { + + private static ILog _log = LogManager.GetLogger(typeof(AISPosReport)); - internal class AISPosReport : AISBaseEntity - { /// /// Saves a (class A or B) position report /// @@ -51,8 +53,8 @@ namespace bsmd.AISService.DB AIS_ClassB pr = target.LastPosReport as AIS_ClassB; aisStation.UpdateWithPositionReport(pr.MMSI, pr.Latitude, pr.Longitude, pr.Timestamp); - string query = string.Format("INSERT INTO aisposreport (Id, MMSI, NavStatus, ROT, COG, SOG, Accuracy, Longitude, Latitude, Heading, Timestamp, Reserved, Spare, Raim, CommState, Stationid) VALUES ('{0}', {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, '{10}', {11},{12},{13},{14},'{15}')", - pr.MMSI, 0, 0, pr.CogVal, pr.SogVal, 0, pr.LongitudeVal, pr.LatitudeVal, + string query = string.Format("INSERT INTO aisposreport (Id, MMSI, NavStatus, ROT, COG, SOG, Accuracy, Longitude, Latitude, Heading, Timestamp, Reserved, Spare, Raim, CommState, AISStationId) VALUES ('{0}', {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, '{10}', {11}, {12}, {13}, {14}, '{15}')", + pr.Id, pr.MMSI, 0, 0, pr.CogVal, pr.SogVal, 0, pr.LongitudeVal, pr.LatitudeVal, pr.TrueHeading ?? 511, pr.DBTimestamp, pr.Reserved, pr.Spare, pr.Raim, pr.CommState, (aisStation != null) ? aisStation.Id : Guid.Empty); con.ExecuteNonQuery(query); @@ -62,12 +64,12 @@ namespace bsmd.AISService.DB if (target.LastPosReport is AIS_ClassBExt) { - Trace.WriteLine("AIS class B ext not supported (yet)"); - // TODO: Import ClassB Extended report! + _log.Info("AIS class B ext not supported (yet)"); + } - Trace.WriteLine(string.Format("save pos report: we should not be here.. class type: {0}", target)); + _log.WarnFormat("save pos report: we should not be here.. class type: {0}", target); return null; } diff --git a/AIS/bsmd.AISService/DB/AISStaticData.cs b/AIS/bsmd.AISService/DB/AISStaticData.cs index 051dfcd8..5513e948 100644 --- a/AIS/bsmd.AISService/DB/AISStaticData.cs +++ b/AIS/bsmd.AISService/DB/AISStaticData.cs @@ -6,6 +6,7 @@ using System.ComponentModel; using System.Diagnostics; using bsmd.AISService.AIS; +using log4net; namespace bsmd.AISService.DB { @@ -21,6 +22,7 @@ namespace bsmd.AISService.DB } private const string LoadDBShipsQuery = "SELECT aisposreport.MMSI, aisposreport.timestamp, aisposreport.latitude, aisposreport.longitude, aisposreport.stationid, aisposreport.cog, aisposreport.heading, aisposreport.navstatus, aisstaticdata.callsign, aisstaticdata.name, aisstaticdata.shiptype, aisstaticdata.classb, aisstaticdata.shipdescription FROM aisstaticdata JOIN hotposition ON aisstaticdata.mmsi = hotposition.mmsi JOIN aisposreport ON aisposreport.id = hotposition.pid ORDER BY aisstaticdata.name"; + private static ILog _log = LogManager.GetLogger(typeof(AISStaticData)); #region Fields @@ -188,12 +190,12 @@ namespace bsmd.AISService.DB /// /// target to save /// id of insert operation (to update hotposition table) - public static int? Save(AIS_Target target, DBConnector con, AISStation aisStation) + public static Guid? Save(AIS_Target target, DBConnector con, AISStation aisStation) { if(target.LastStaticData == null) return null; int mmsi = -1; - int id = -1; + Guid id = Guid.Empty; if(target.LastStaticData is AIS_StaticData) { mmsi = ((AIS_StaticData)target.LastStaticData).MMSI; @@ -207,96 +209,67 @@ namespace bsmd.AISService.DB if (result != null) // update { - id = Convert.ToInt32(result); + id = (Guid) result; } - + #region Class A if (target.LastStaticData is AIS_StaticData) { AIS_StaticData staticData = target.LastStaticData as AIS_StaticData; - - if (id >= 0) - { - if (staticData.ETA.HasValue) - { - query = string.Format("UPDATE aisstaticdata SET imonumber={0}, callsign='{1}', name='{2}', shiptype={3}, typeofdevice='{4}', shipdescription='{5}', eta='{6}', destination='{7}', breadth={8}, length={9}, draught='{10}', stationid={11}, classb=0 WHERE id={12}", - staticData.IMONumber, - staticData.Callsign.Replace("'","''"), - staticData.Name.Replace("'", "''"), - staticData.ShipTypeVal, - staticData.DeviceName, - staticData.ShipType, - staticData.DBETA, - staticData.Destination.Replace("'", "''"), - staticData.Breadth, - staticData.Length, - staticData.Draught, - aisStation.Id, - id); - } - else - { - query = string.Format("UPDATE aisstaticdata SET imonumber={0}, callsign='{1}', name='{2}', shiptype={3}, typeofdevice='{4}', shipdescription='{5}', destination='{6}', breadth={7}, length={8}, draught='{9}', stationid={10}, classb=0 WHERE id={11}", - staticData.IMONumber, - staticData.Callsign.Replace("'", "''"), - staticData.Name.Replace("'", "''"), - staticData.ShipTypeVal, - staticData.DeviceName, - staticData.ShipType, - staticData.Destination.Replace("'", "''"), - staticData.Breadth, - staticData.Length, - staticData.Draught, - aisStation.Id, - id); - } + if (id != Guid.Empty) + { + query = string.Format("UPDATE aisstaticdata SET imonumber={0}, callsign='{1}', name='{2}', shiptype={3}, dimension={4}, typeofdevice={5}, maxpresetstaticdraught={6}, " + + "destination='{7}', dte={8}, spare={9}, mmsi={10}, eta={11}, classb={12}, breadth={13}, length={14}, aisstation_id='{15}' " + + "WHERE Id='{16}'", + staticData.IMONumber, + (staticData.Callsign ?? "").Replace("'", "''"), + (staticData.Name ?? "").Replace("'", "''"), + staticData.ShipTypeVal, + staticData.DBDimension, + staticData.DBTypeOfDevice, + staticData.Draught, + (staticData.Destination ?? "").Replace("'", "''"), + staticData.DTE, + staticData.Spare, + staticData.MMSI, + staticData.ETA.HasValue ? string.Format("'{0}'", staticData.DBETA) : "NULL", + 0, + staticData.Breadth, + staticData.Length, + aisStation.Id, + id); + con.ExecuteNonQuery(query); } else { - if (staticData.ETA.HasValue) - { - - query = string.Format("INSERT INTO aisstaticdata SET imonumber={0}, callsign='{1}', name='{2}', shiptype={3}, typeofdevice='{4}', shipdescription='{5}', eta='{6}', destination='{7}', breadth={8}, length={9}, draught='{10}', stationid={11}, mmsi={12}, classb=0", - staticData.IMONumber, - staticData.Callsign.Replace("'", "''"), - staticData.Name.Replace("'", "''"), - staticData.ShipTypeVal, - staticData.DeviceName, - staticData.ShipType, - staticData.DBETA, - staticData.Destination.Replace("'", "''"), - staticData.Breadth, - staticData.Length, - staticData.Draught, - aisStation.Id, - staticData.MMSI); - } - else - { - query = string.Format("INSERT INTO aisstaticdata SET imonumber={0}, callsign='{1}', name='{2}', shiptype={3}, typeofdevice='{4}', shipdescription='{5}', destination='{6}', breadth={7}, length={8}, draught='{9}', stationid={10}, mmsi={11}, classb=0", - staticData.IMONumber, - staticData.Callsign.Replace("'", "''"), - staticData.Name.Replace("'", "''"), - staticData.ShipTypeVal, - staticData.DeviceName, - staticData.ShipType, - staticData.Destination.Replace("'", "''"), - staticData.Breadth, - staticData.Length, - staticData.Draught, - aisStation.Id, - staticData.MMSI); - } + id = Guid.NewGuid(); + + query = string.Format("INSERT INTO aisstaticdata (Id, aisversion, imoNumber, callsign, name, shiptype, dimension, typeofdevice, maxpresetstaticdraught, destination, " + + "dte, spare, mmsi, eta, classb, breadth, length, aisstation_id) VALUES ('{0}', {1}, {2}, '{3}', '{4}', {5}, {6}, {7}, {8}, '{9}', {10}, {11}, {12}, {13}, {14}, {15}, {16}, '{17}')", + id, + 0, + staticData.IMONumber, + (staticData.Callsign ?? "").Replace("'", "''"), + (staticData.Name ?? "").Replace("'", "''"), + staticData.ShipTypeVal, + staticData.DBDimension, + staticData.DBTypeOfDevice, + staticData.Draught, + (staticData.Destination ?? "").Replace("'", "''"), + staticData.DTE, + staticData.Spare, + staticData.MMSI, + staticData.ETA.HasValue ? string.Format("'{0}'", staticData.DBETA) : "NULL", + 0, + staticData.Breadth, + staticData.Length, + aisStation.Id.Value); con.ExecuteNonQuery(query); - - id = Convert.ToInt32(con.ExecuteScalar("SELECT LAST_INSERT_ID()")); - } - } #endregion @@ -307,31 +280,32 @@ namespace bsmd.AISService.DB { AIS_ClassBStatic staticData = target.LastStaticData as AIS_ClassBStatic; - if (id >= 0) // Update + if (id != Guid.Empty) // Update { - query = string.Format("UPDATE aisstaticdata SET stationid={0}, shiptype={1}, classb=1", aisStation.Id, staticData.ShipTypeVal); - if(staticData.Callsign != null) query += string.Format(", callsign='{0}'", staticData.Callsign); - if(staticData.Name != null) query += string.Format(", name='{0}'", staticData.Name); - if(staticData.VendorId != null) query += string.Format(", typeofdevice='{0}'", staticData.VendorId); - if(staticData.ShipType != null) query += string.Format(", shipdescription='{0}'", staticData.ShipType); - query += string.Format(" WHERE id={0}", id); + query = string.Format("UPDATE aisstaticdata SET aisstation_id = '{0}', shiptype={1}, classb=1, dimension = {2}, spare = {3}", + aisStation.Id, staticData.ShipTypeVal, staticData.Dimension, staticData.Spare); + if(staticData.Callsign != null) query += string.Format(", callsign='{0}'", staticData.Callsign.Replace("'", "''")); + if(staticData.Name != null) query += string.Format(", name='{0}'", staticData.Name.Replace("'","''")); + query += string.Format(" WHERE Id='{0}'", id); con.ExecuteNonQuery(query); } else // Insert { - query = string.Format("INSERT INTO aisstaticdata SET callsign='{0}', name='{1}', shiptype={2}, typeofdevice='{3}', shipdescription='{4}', stationid={5}, mmsi={6}, classb=1", - staticData.Callsign, - staticData.Name, + id = Guid.NewGuid(); + query = string.Format("INSERT INTO aisstaticdata (Id, callsign, name, shiptype, classb, dimension, spare, aisstation_id, mmsi) VALUES ('{0}', '{1}', '{2}', {3}, {4}, {5}, {6}, '{7}', {8})", + id, + (staticData.Callsign ?? "").Replace("'","''"), + (staticData.Name ?? "").Replace("'","''"), staticData.ShipTypeVal, - staticData.VendorId, - staticData.ShipType, + 1, + staticData.Dimension, + staticData.Spare, aisStation.Id, staticData.MMSI ); - con.ExecuteNonQuery(query); - id = Convert.ToInt32(con.ExecuteScalar("SELECT LAST_INSERT_ID()")); + con.ExecuteNonQuery(query); } } @@ -412,7 +386,7 @@ namespace bsmd.AISService.DB result.Add(ship); } reader.Close(); - Trace.WriteLine(string.Format("AISStaticData: {0} ships loaded from DB", result.Count)); + _log.InfoFormat("AISStaticData: {0} ships loaded from DB", result.Count); return result; } diff --git a/AIS/bsmd.AISService/DB/AISStation.cs b/AIS/bsmd.AISService/DB/AISStation.cs index 37cb1090..7a4061f4 100644 --- a/AIS/bsmd.AISService/DB/AISStation.cs +++ b/AIS/bsmd.AISService/DB/AISStation.cs @@ -5,6 +5,7 @@ using System.Data; using System.Globalization; using bsmd.AISService.AIS; +using log4net; namespace bsmd.AISService.DB { @@ -12,8 +13,7 @@ namespace bsmd.AISService.DB public class AISStation : AISBaseEntity { #region private members - - private Guid station_Id; + private string name; private bool active; private string comport; @@ -30,6 +30,7 @@ namespace bsmd.AISService.DB private DateTime? lastPosTimestamp; private bool isDirty = false; private Dictionary targets = new Dictionary(); + private static ILog _log = LogManager.GetLogger(typeof(AISStation)); #endregion @@ -101,7 +102,7 @@ namespace bsmd.AISService.DB this.comport, this.name, this.baudrate, - this.station_Id); + this.Id); if (con.ExecuteNonQuery(query) == 1) { @@ -177,7 +178,7 @@ namespace bsmd.AISService.DB while (reader.Read()) { AISStation station = new AISStation(); - station.station_Id = reader.GetGuid(0); + station.Id = reader.GetGuid(0); station.name = reader.GetString(1); station.active = reader.GetBoolean(2); station.latitude = (double) reader.GetInt32(3) / 600000; @@ -201,11 +202,11 @@ namespace bsmd.AISService.DB public static AISStation CreateStation(string name, DBConnector con) { AISStation newStation = new AISStation(); - newStation.station_Id = Guid.NewGuid(); + newStation.Id = Guid.NewGuid(); newStation.name = name; newStation.active = true; string query = string.Format("INSERT INTO aisstation SET Id='{0}', name='{1}',active=1", - newStation.station_Id, newStation.name); + newStation.Id, newStation.name); con.ExecuteNonQuery(query); return newStation; @@ -243,8 +244,7 @@ namespace bsmd.AISService.DB } catch (Exception ex) { - System.Diagnostics.Trace.WriteLine(string.Format("AIS_Telnet: cannot connect to host {0} port {1}: {2}", - station.TelnetHost ?? "", station.TelnetPort, ex.Message)); + _log.WarnFormat("AIS_Telnet: cannot connect to host {0} port {1}: {2}", station.TelnetHost ?? "", station.TelnetPort, ex.Message); } } } diff --git a/AIS/bsmd.AISService/DB/DBConnector.cs b/AIS/bsmd.AISService/DB/DBConnector.cs index 88252259..4a53cb7e 100644 --- a/AIS/bsmd.AISService/DB/DBConnector.cs +++ b/AIS/bsmd.AISService/DB/DBConnector.cs @@ -9,6 +9,7 @@ using System.Data; using System.Data.SqlClient; using bsmd.AISService.AIS; +using log4net; namespace bsmd.AISService.DB { @@ -20,6 +21,7 @@ namespace bsmd.AISService.DB private List watchkeeperShips = null; private List dbShips = null; private Dictionary updateStations = null; + private static ILog _log = LogManager.GetLogger(typeof(DBConnector)); public DBConnector() { } @@ -65,21 +67,48 @@ namespace bsmd.AISService.DB if (!this.CheckConnection()) return null; SqlCommand cmd = new SqlCommand(query, this.dbCon); - return cmd.ExecuteReader(); + SqlDataReader result = null; + try + { + result = cmd.ExecuteReader(); + } + catch(SqlException ex) + { + _log.ErrorFormat("ExecuteQuery: {0}", ex.Message); + } + return result; } public int ExecuteNonQuery(string query) { if (!this.CheckConnection()) return 0; SqlCommand cmd = new SqlCommand(query, this.dbCon); - return cmd.ExecuteNonQuery(); + int result = -1; + try + { + result = cmd.ExecuteNonQuery(); + } + catch(SqlException ex) + { + _log.ErrorFormat("ExecuteNonQuery: [{0}] {1} ", query, ex.Message); + } + return result; } public object ExecuteScalar(string query) { if (!this.CheckConnection()) return 0; SqlCommand cmd = new SqlCommand(query, this.dbCon); - return cmd.ExecuteScalar(); + object result = null; + try + { + result = cmd.ExecuteScalar(); + } + catch(SqlException ex) + { + _log.ErrorFormat("ExecuteScalar: [{0}] {1} ", query, ex.Message); + } + return result; } public bool Open() @@ -94,7 +123,7 @@ namespace bsmd.AISService.DB } catch (SqlException anException) { - Trace.WriteLine(string.Format("cannot open SQL DB connection: {0}", anException.Message)); + _log.ErrorFormat("cannot open SQL DB connection: {0}", anException.Message); } return false; } @@ -120,9 +149,9 @@ namespace bsmd.AISService.DB if (this.updateStations == null) { this.updateStations = new Dictionary(); - Trace.WriteLine("loading stations.."); + _log.Info("loading stations.."); List stations = AISStation.LoadStations(this); - Trace.WriteLine(string.Format("{0} stations loaded", stations.Count)); + _log.InfoFormat("{0} stations loaded", stations.Count); foreach (AISStation station in stations) if (!updateStations.ContainsKey(station.Name)) updateStations.Add(station.Name, station); @@ -140,7 +169,7 @@ namespace bsmd.AISService.DB } else { - Trace.WriteLine(string.Format("last pos report is null for target {0}", target.MMSI)); + _log.InfoFormat("last pos report is null for target {0}", target.MMSI); } if (target.LastStaticData != null) { @@ -153,8 +182,9 @@ namespace bsmd.AISService.DB } target.UpdateDB = false; // reset update flag - // Watchkeeper check + // Watchkeeper check + /* if (this.watchkeeperShips == null) this.watchkeeperShips = AISWatchkeeper.GetWatchkeeperShips(this); @@ -170,7 +200,7 @@ namespace bsmd.AISService.DB if (!target.IsWatchkeeperShip.HasValue) // didn't find it target.IsWatchkeeperShip = false; } - + */ } @@ -200,7 +230,7 @@ namespace bsmd.AISService.DB } catch (SqlException ex) { - System.Diagnostics.Trace.WriteLine(ex.ToString()); + _log.Error(ex.ToString()); } } return this.dbCon.State == System.Data.ConnectionState.Open; diff --git a/AIS/bsmd.AISService/Program.cs b/AIS/bsmd.AISService/Program.cs index 6e5351dc..916a639f 100644 --- a/AIS/bsmd.AISService/Program.cs +++ b/AIS/bsmd.AISService/Program.cs @@ -22,6 +22,9 @@ namespace bsmd.AISService /// public static int Main(string[] args) { + + log4net.Config.XmlConfigurator.Configure(); + if (Environment.UserInteractive) { if (args.Length > 0) @@ -85,7 +88,7 @@ namespace bsmd.AISService if (ex.InnerException != null && ex.InnerException.GetType() == typeof(Win32Exception)) { Win32Exception wex = (Win32Exception)ex.InnerException; - Console.WriteLine("Error(0x{0:X}): Service already installed!", wex.ErrorCode); + Console.WriteLine("Error {0}: {1}", wex.ErrorCode, wex.Message); return wex.ErrorCode; } else diff --git a/AIS/bsmd.AISService/ProjectInstaller.Designer.cs b/AIS/bsmd.AISService/ProjectInstaller.Designer.cs index 88477230..a254634e 100644 --- a/AIS/bsmd.AISService/ProjectInstaller.Designer.cs +++ b/AIS/bsmd.AISService/ProjectInstaller.Designer.cs @@ -33,6 +33,7 @@ // // serviceProcessInstallerAIS // + this.serviceProcessInstallerAIS.Account = System.ServiceProcess.ServiceAccount.LocalSystem; this.serviceProcessInstallerAIS.Password = null; this.serviceProcessInstallerAIS.Username = null; // diff --git a/AIS/bsmd.AISService/ProjectInstaller.resx b/AIS/bsmd.AISService/ProjectInstaller.resx index 7fb3a7a1..b267aed6 100644 --- a/AIS/bsmd.AISService/ProjectInstaller.resx +++ b/AIS/bsmd.AISService/ProjectInstaller.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 17, 17 + 17, 54 196, 17 diff --git a/AIS/bsmd.AISService/bsmd.AISService.csproj b/AIS/bsmd.AISService/bsmd.AISService.csproj index 60b6de37..fd63376c 100644 --- a/AIS/bsmd.AISService/bsmd.AISService.csproj +++ b/AIS/bsmd.AISService/bsmd.AISService.csproj @@ -102,7 +102,9 @@ - + + Designer + diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index 8bbed0bdc541d2ea2a8e17a0531266eaee10bf57..fbf505d9ef0510de3fd3ea28f9b57c4287d04fa5 100644 GIT binary patch delta 28566 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