/**
* Haupt-Zeitschleife, hier werden alle zyklisch ablaufenden Aktionen gestartet
*/
public Timer MainTimer = new Timer( TIMER_INTERVALL, new ActionListener()
{
public void actionPerformed( ActionEvent evt )
{
int iStartDelay = MainTimer.getDelay();
Date datStart = new Date();
System.out.println(">>> START MainTimer-Funktionen um <" + datStart + "> DELAY: " + iStartDelay + " <<<<<");
if( bIsValidClient )
{
if( !WorkerWorkingStatus.getInstance().isAlarmInProgress() )
{
if( bLoggedIn )
{
byte[] aErg = null;
WSRequestGetMasterStatus wsc = new WSRequestGetMasterStatus();
aErg = wsc.communicate();
if( aErg != null )
{
ProcessThreadData( aErg, aErg.length ); // case (ID_REQ_LCMD_MONGETMASTERSTATUS):
}
wsc = null;
}
}
try
{
Thread.sleep( TIMEMASTERSTATUS );
}
catch (InterruptedException ex1)
{
return;
}
if( bIsActiveMaster )
{
if( !WorkerAlarmRequestFlag.getInstance().isLocked() )
{
sendMCDClientWorkingMode_FT( IWorkerWorkingStatus.WORKERWORKINGSTATUS_REQUEST, true );
if( !bDelayRequest )
{
if( !WorkerWorkingStatus.getInstance().isAlarmInProgress() )
{
SetRequestAlarmPOHButtonsLock( true );
byte[] aErg = null;
if( (com.gselectronic.worker.status.AlarmGetModeStatus.getInstance().getAlarmGetMode() == com.gselectronic.worker.status.IAlarmGetModeStatus.AGM_DoNothing) && (bLoggedIn))
{
// Date datAlarmSuche = new Date();
// System.out.println( ">>> WS: Start AlarmSuche um <" + datAlarmSuche + ">" );
com.gselectronic.worker.status.AlarmGetModeStatus.getInstance().setAlarmGetMode(com.gselectronic.worker.status.IAlarmGetModeStatus.AGM_Request);
WSRequestAlarmTextV2 wsc = new WSRequestAlarmTextV2();
aErg = wsc.communicate();
if( aErg != null )
{
ProcessThreadData( aErg, aErg.length ); // case( ID_REQ_LCMD_MONGETALARMV2 ) :
}
wsc = null;
}
else
{
com.gselectronic.worker.status.AlarmGetModeStatus.getInstance().setAlarmGetMode( com.gselectronic.worker.status.IAlarmGetModeStatus.AGM_DoNothing );
}
}
}
}
if( !WorkerWorkingStatus.getInstance().isAlarmInProgress() )
{
final String strIP = Config.getInstance().m_strIPColocation;
byte[] aErg = null;
try
{
aErg = ( byte[]) Worker.post(new Task()
{
public Object run() throws Exception
{
return requestWSServerDateTimeFT( strIP );
}
});
}
catch( Exception x )
{
// never thrown
}
if( aErg != null )
{
ProcessThreadData( aErg, aErg.length ); // case (ID_REQ_CMD_GETSERVERTIMESTR):
}
}
} // if( bIsActiveMaster )
else
{
WorkerWorkingStatus.getInstance().setForcedRelogin( true );
mnuPause.doClick();
WorkerWorkingStatus.getInstance().setForcedRelogin( false );
mnuPause.doClick();
}
if( bIsInvalidMCDIP )
{
WorkerWorkingStatus.getInstance().setForcedRelogin( true );
mnuPause.doClick();
WorkerWorkingStatus.getInstance().setForcedRelogin( false );
mnuPause.doClick();
bIsInvalidMCDIP = false;
}
if( bRequestReplilistCheck )
{
startStopAusfallMCDCheckTimer( true );
boolean bErg = false;
byte[] aErg = null;
try
{
aErg = (byte[]) Worker.post( new Task()
{
public Object run() throws Exception
{
Date datMCD = new Date();
System.out.println( ">>> MCD: Start ID_REQ_LCMD_MONGETREPLILIST-1 um <" + datMCD + ">" );
return requestMCDReplilistFT( "", MCDSOCKETTIMEOUT, false );
}
});
}
catch( Exception x )
{
// never thrown
}
if( aErg != null )
{
bErg = ProcessThreadData( aErg, aErg.length ); // Aufruf von: PTD_monGetRepliList
}
else
{
bErg = false;
}
if( USELOOPEDMCDRETRYS )
{
if( !bErg )
{
for( int i = 0; i < (int)(Config.getInstance().m_AUSFALLCHECKFAKTOR - 1); i++ )
{
try
{
aErg = (byte[])Worker.post( new Task()
{
public Object run() throws Exception
{
Date datMCD2 = new Date();
System.out.println( ">>> MCD: Start ID_REQ_LCMD_MONGETREPLILIST-2 um <" + datMCD2 + ">" );
return( requestMCDReplilistFT("", MCDSOCKETTIMEOUT, false) );
}
});
}
catch( Exception x )
{
// never thrown
}
if( aErg != null )
{
bErg = ProcessThreadData(aErg, aErg.length); // Aufruf von: PTD_monGetRepliList
}
else
{
bErg = false;
}
if (bErg)
{
break;
}
}
}
} // if( USELOOPEDMCDRETRYS )
if( bErg )
{
requestMCDALSTInfos_FT(true);
}
bMCDIPisValid = bErg;
if( bMCDIPisValid )
{
if( frmCon != null )
{
frmCon.Msg( true, "MCD: Wiederaufruf in " + Config.getInstance().CHECKMCDTIMER_INTERVALL / 1000 + " Sek.\n" );
}
System.out.println( ">>> MCD: Wiederaufruf in " + Config.getInstance().CHECKMCDTIMER_INTERVALL / 1000 + " Sek." );
bIsInvalidMCDIP = false;
}
else
{
if( frmCon != null )
{
if( Config.getInstance().m_strIPMCD.equals("") )
{
frmCon.Msg( true, "MCD: MCD-Kontakt (IP : " + Config.getInstance().m_strIPMCD + ") fehlgeschlagen\n" );
}
}
System.out.println( ">>> MCD: MCD-Kontakt (IP : " + Config.getInstance().m_strIPMCD + ") fehlgeschlagen" );
Config.getInstance().m_strIPMCD = "";
bIsInvalidMCDIP = true;
}
bRequestReplilistCheck = false;
}
}
iStartDelay = MainTimer.getDelay();
Date datEnde = new Date();
System.out.println(">>> ENDE MainTimer-Funktionen um <" + datEnde + "> DELAY: " + iStartDelay + " <<<<<\n####################" );
} // actionPerformed
} ); // Ende MainTimer