initialize
This commit is contained in:
@@ -0,0 +1,156 @@
|
||||
#region Namespace
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using com.itac.mes.tools;
|
||||
using com.itac.mes.proxy.business;
|
||||
using OibClient = Asm.As.Oib.Client;
|
||||
using com.itac.oib.client.customextensions;
|
||||
#endregion
|
||||
|
||||
namespace Itac.Oib
|
||||
{
|
||||
/// <summary>
|
||||
/// Receiver class for the TraceService events
|
||||
/// </summary>
|
||||
public class BoardGateKeeperReceiver : IDisposable, IReceiver
|
||||
{
|
||||
#region Fields
|
||||
|
||||
OIBEventHandler _eventHandler;
|
||||
readonly OibClient.OibBoardGateKeeperEvents _oibBoardGateKeeperEvents;
|
||||
|
||||
public BoardGateKeeperReceiver(OibClient.OibBoardGateKeeperEvents oibBoardGateKeeperEvents,
|
||||
OIBEventHandler eventHandler)
|
||||
{
|
||||
if (oibBoardGateKeeperEvents == null) throw new ArgumentNullException("oibBoardGateKeeperEvents");
|
||||
if (eventHandler == null) throw new ArgumentNullException("eventHandler");
|
||||
|
||||
this._oibBoardGateKeeperEvents = oibBoardGateKeeperEvents;
|
||||
this._eventHandler = eventHandler;
|
||||
_oibBoardGateKeeperEvents.Ping = Ping;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Start/Stop
|
||||
|
||||
public void Start()
|
||||
{
|
||||
_oibBoardGateKeeperEvents.Start();
|
||||
}
|
||||
|
||||
public void Stop()
|
||||
{
|
||||
_oibBoardGateKeeperEvents.Stop();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Handling of events
|
||||
|
||||
bool Ping()
|
||||
{
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Verbose, "BoardGateKeeperReceiver.Ping");
|
||||
return _eventHandler != null;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IDisposeable
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (_oibBoardGateKeeperEvents != null) { _oibBoardGateKeeperEvents.Dispose(); }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public void virtualInkspotData(OibClient.CustomExtensions.VirtualInkspotHandlerBoardRequest virtualInkspotHandlerBoardRequest)
|
||||
{
|
||||
try
|
||||
{
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "BoardGateKeeperReceiver.VirtualInkspotData");
|
||||
if (_eventHandler != null)
|
||||
{
|
||||
|
||||
com.itac.oib.client.customextensions.VirtualInkspotHandlerBoardRequest virtInkspotBoardRequest = VirtualInkspotHandlerBoardRequestMapper.get(virtualInkspotHandlerBoardRequest);
|
||||
|
||||
com.itac.oib.boardgatekeeper.contracts.data.BoardRequestResult itacResult = _eventHandler.virtualInkspotBoardRequest(virtInkspotBoardRequest);
|
||||
|
||||
// itacResult ist null: call an das DataInterface schlug fehl
|
||||
if (itacResult == null)
|
||||
{
|
||||
// setzen default Fehlertext
|
||||
virtualInkspotHandlerBoardRequest.BoardRequestResult.Reason = "no results from iTAC.MES.Suite";
|
||||
virtualInkspotHandlerBoardRequest.BoardRequestResult.RequestResult = "Rejected";
|
||||
for (int i = 0; i < virtualInkspotHandlerBoardRequest.BoardRequestResult.VIHResult.SubPanelStates.Length; i++)
|
||||
{
|
||||
virtualInkspotHandlerBoardRequest.BoardRequestResult.VIHResult.SubPanelStates[i].Place = false;
|
||||
virtualInkspotHandlerBoardRequest.BoardRequestResult.VIHResult.SubPanelStates[i].Reason = "no results from iTAC.MES.Suite";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//
|
||||
// Werte in die Rückgabe kopieren;
|
||||
/* virtualInkspotHandlerBoardRequest.BoardRequestResult.Reason = itacResult.getBoardRequestResult().reason;
|
||||
virtualInkspotHandlerBoardRequest.BoardRequestResult.RequestResult = itacResult.getBoardRequestResult().requestResult;
|
||||
if (itacResult.getBoardRequestResult().getVIHResult().getSubPanelStates() != null)
|
||||
{
|
||||
if (itacResult.getBoardRequestResult().getVIHResult().getSubPanelStates().Length == virtualInkspotHandlerBoardRequest.BoardRequestResult.VIHResult.SubPanelStates.Length)
|
||||
{
|
||||
// subPanelStates kopieren
|
||||
for (int i = 0; i < itacResult.getBoardRequestResult().getVIHResult().getSubPanelStates().Length; i++)
|
||||
{
|
||||
virtualInkspotHandlerBoardRequest.BoardRequestResult.VIHResult.SubPanelStates[i].Place = itacResult.getBoardRequestResult().getVIHResult().getSubPanelStates()[i].getPlace();
|
||||
virtualInkspotHandlerBoardRequest.BoardRequestResult.VIHResult.SubPanelStates[i].Reason = itacResult.getBoardRequestResult().getVIHResult().getSubPanelStates()[i].getReason();
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Warning, "calling BoardGateKeeperReceiver.VirtualInkspotData not performed");
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
// der letzte Aufruf schlug fehl!!
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Error, "calling BoardRequestResult in eventHandler failed", e);
|
||||
for (int i = 0; i < virtualInkspotHandlerBoardRequest.BoardRequestResult.VIHResult.SubPanelStates.Length; i++)
|
||||
{
|
||||
virtualInkspotHandlerBoardRequest.BoardRequestResult.VIHResult.SubPanelStates[i].Place = false;
|
||||
virtualInkspotHandlerBoardRequest.BoardRequestResult.VIHResult.SubPanelStates[i].Reason = e.Message;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// called by incoming xml files
|
||||
public void virtualInkspotData(com.itac.oib.client.customextensions.VirtualInkspotHandlerBoardRequest requestData)
|
||||
{
|
||||
try
|
||||
{
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "BoardGateKeeperReceiver.VirtualInkspotData from xml-file");
|
||||
if (_eventHandler != null)
|
||||
{
|
||||
com.itac.oib.boardgatekeeper.contracts.data.BoardRequestResult itacResult = _eventHandler.virtualInkspotBoardRequest(requestData);
|
||||
// TODO: Rückgabe noch auswerten ?
|
||||
// requestData.setBoardRequestResult(itacResult);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Warning, "calling BoardGateKeeperReceiver.VirtualInkspotData not performed");
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
// der letzte Aufruf schlug fehl!!
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Error, "calling BoardRequestResult in eventHandler failed", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user