public static SlaveServerTransStatus fromXML( String xml ) throws KettleException { Document document = XMLHandler.loadXMLString( xml ); SlaveServerTransStatus status = new SlaveServerTransStatus( XMLHandler.getSubNode( document, XML_TAG ) ); return status; }
String status = trans.getStatus(); SlaveServerTransStatus sstatus = new SlaveServerTransStatus( entry.getName(), entry.getId(), status ); sstatus.setLogDate( trans.getLogDate() ); sstatus.setPaused( trans.isPaused() );
new SlaveServerTransStatus( transName, entry.getId(), trans.getStatus() ); transStatus.setFirstLoggingLineNr( startLineNr ); transStatus.setLastLoggingLineNr( lastLineNr );
@Test public void testGetXML() throws KettleException { SlaveServerTransStatus transStatus = new SlaveServerTransStatus(); RowMetaAndData rowMetaAndData = new RowMetaAndData(); String testData = "testData"; rowMetaAndData.addValue( new ValueMetaString(), testData ); List<RowMetaAndData> rows = new ArrayList<>(); rows.add( rowMetaAndData ); Result result = new Result(); result.setRows( rows ); transStatus.setResult( result ); //PDI-15781 Assert.assertFalse( transStatus.getXML().contains( testData ) ); //PDI-17061 Assert.assertTrue( transStatus.getXML( true ).contains( testData ) ); } }
@Test public void testWithDate() throws KettleException { String transName = "testWithDate"; String id = UUID.randomUUID().toString(); String status = Trans.STRING_FINISHED; Date logDate = new Date(); SlaveServerTransStatus ts = new SlaveServerTransStatus( transName, id, status ); ts.setLogDate( logDate ); String resultXML = ts.getXML(); Node newTransStatus = XMLHandler.getSubNode( XMLHandler.loadXMLString( resultXML ), SlaveServerTransStatus.XML_TAG ); assertEquals( "The XML document should match after rebuilding from XML", resultXML, SlaveServerTransStatus.fromXML( resultXML ).getXML() ); assertEquals( "There should be one \"log_date\" node in the XML", 1, XMLHandler.countNodes( newTransStatus, "log_date" ) ); assertEquals( "The \"log_date\" node should match the original value", XMLHandler.date2string( logDate ), XMLHandler.getTagValue( newTransStatus, "log_date" ) ); }
public SlaveServerStatus( Node statusNode ) throws KettleException { this(); statusDescription = XMLHandler.getTagValue( statusNode, "statusdesc" ); memoryFree = Const.toLong( XMLHandler.getTagValue( statusNode, "memory_free" ), -1L ); memoryTotal = Const.toLong( XMLHandler.getTagValue( statusNode, "memory_total" ), -1L ); String cpuCoresStr = XMLHandler.getTagValue( statusNode, "cpu_cores" ); cpuCores = Const.toInt( cpuCoresStr, -1 ); String cpuProcessTimeStr = XMLHandler.getTagValue( statusNode, "cpu_process_time" ); cpuProcessTime = Utils.isEmpty( cpuProcessTimeStr ) ? 0L : Long.valueOf( cpuProcessTimeStr ); uptime = Const.toLong( XMLHandler.getTagValue( statusNode, "uptime" ), -1 ); threadCount = Const.toInt( XMLHandler.getTagValue( statusNode, "thread_count" ), -1 ); loadAvg = Const.toDouble( XMLHandler.getTagValue( statusNode, "load_avg" ), -1.0 ); osName = XMLHandler.getTagValue( statusNode, "os_name" ); osVersion = XMLHandler.getTagValue( statusNode, "os_version" ); osArchitecture = XMLHandler.getTagValue( statusNode, "os_arch" ); Node listTransNode = XMLHandler.getSubNode( statusNode, "transstatuslist" ); Node listJobsNode = XMLHandler.getSubNode( statusNode, "jobstatuslist" ); int nrTrans = XMLHandler.countNodes( listTransNode, SlaveServerTransStatus.XML_TAG ); int nrJobs = XMLHandler.countNodes( listJobsNode, SlaveServerJobStatus.XML_TAG ); for ( int i = 0; i < nrTrans; i++ ) { Node transStatusNode = XMLHandler.getSubNodeByNr( listTransNode, SlaveServerTransStatus.XML_TAG, i ); transStatusList.add( new SlaveServerTransStatus( transStatusNode ) ); } for ( int i = 0; i < nrJobs; i++ ) { Node jobStatusNode = XMLHandler.getSubNodeByNr( listJobsNode, SlaveServerJobStatus.XML_TAG, i ); jobStatusList.add( new SlaveServerJobStatus( jobStatusNode ) ); } }
@Test public void testNoDate() throws KettleException { String transName = "testNullDate"; String id = UUID.randomUUID().toString(); String status = Trans.STRING_FINISHED; SlaveServerTransStatus ts = new SlaveServerTransStatus( transName, id, status ); String resultXML = ts.getXML(); Node newTransStatus = XMLHandler.getSubNode( XMLHandler.loadXMLString( resultXML ), SlaveServerTransStatus.XML_TAG ); assertEquals( "The XML document should match after rebuilding from XML", resultXML, SlaveServerTransStatus.fromXML( resultXML ).getXML() ); assertEquals( "There should be one \"log_date\" node in the XML", 1, XMLHandler.countNodes( newTransStatus, "log_date" ) ); assertTrue( "The \"log_date\" node should have a null value", Utils.isEmpty( XMLHandler.getTagValue( newTransStatus, "log_date" ) ) ); }