Search in sources :

Example 6 with MonitorBlob

use of alma.TMCDB.MonitorBlob in project ACS by ACS-Community.

the class BlobberWorkerUnitTest method testStandardLong.

public void testStandardLong() throws Exception {
    // was 0, which is now illegal
    blobber.setCollectorIntervalSeconds(1);
    getTestWorker().setCanHandle(true);
    // Collector "TestCollector" is just a dummy to trick the worker to believe that 
    // there is a collector registered and start operating. "TestCollector" is not used at all.
    // The TestBlobberWorker creates its own single collector from which the blobber worker will get data. 
    getTestWorker().addCollector("TestCollector");
    String componentName = "CONTROL/DV01/PSA";
    String serialNumber = "3456328928847";
    String propertyName = "VOLTAGE_MID_1";
    // Note that CORBA long means Java int.
    Any anyUp = create_any();
    int[] dataArrayUp = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    longBlobData[] dataUp = new longBlobData[dataArrayUp.length];
    int index = 0;
    for (int value : dataArrayUp) {
        dataUp[index] = new longBlobData(BASE_TIME + index, value);
        index++;
    }
    longBlobDataSeqHelper.insert(anyUp, dataUp);
    MonitorBlob blobUp = new MonitorBlob(false, (short) 0, null, "wrong:" + propertyName, anyUp);
    MonitorBlob[] blobs = new MonitorBlob[1];
    blobs[0] = blobUp;
    long startTime = BASE_TIME + 100;
    long stopTime = BASE_TIME + 101;
    MonitorDataBlock block = new MonitorDataBlock(startTime, stopTime, componentName, serialNumber, blobs);
    MonitorDataBlock[] blocks = new MonitorDataBlock[1];
    blocks[0] = block;
    getTestWorker().getCollector().setMonitorData(blocks);
    ComponentData data = getTestWorker().fetchData();
    String clob = BASE_TIME + "|1|" + (BASE_TIME + 1) + "|2|" + (BASE_TIME + 2) + "|3|" + (BASE_TIME + 3) + "|4|" + (BASE_TIME + 4) + "|5|" + (BASE_TIME + 5) + "|6|" + (BASE_TIME + 6) + "|7|" + (BASE_TIME + 7) + "|8|" + (BASE_TIME + 8) + "|9|" + (BASE_TIME + 9) + "|10\n";
    checkData(data, clob, 10, componentName, propertyName, serialNumber, startTime, stopTime);
    checkStatistics(data, 1.0, 10.0, 5.5, 3.0276503541);
}
Also used : MonitorBlob(alma.TMCDB.MonitorBlob) TMCDB.longBlobData(alma.TMCDB.longBlobData) ComponentData(alma.acs.monitoring.DAO.ComponentData) Any(org.omg.CORBA.Any) MonitorDataBlock(alma.TMCDB.MonitorDataBlock)

Example 7 with MonitorBlob

use of alma.TMCDB.MonitorBlob in project ACS by ACS-Community.

the class CorbaAnyExtractionTest method testExtractData_longLongBlobDataSeq.

/**
	 * Test of extractData method for 'longLongBlobDataSeq' data.
	 */
@Test
public void testExtractData_longLongBlobDataSeq() throws Exception {
    String propertyName = "VOLTAGE_MID_1";
    Any any = create_any();
    // We try out a rather large outlyer value. Note that for even larger numbers
    // such as 0x7f0fffffffffffffL, the double-based statistics yield a max value wrong by +-1,
    // which is probably acceptable, but we avoid it here in the test and use
    // only a number of the order of a quadrillion.
    long[] longLongDataArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0x000fffffffffffffL };
    longLongBlobData[] longLongBlobDataArray = createLongLongBlobData(longLongDataArray);
    longLongBlobDataSeqHelper.insert(any, longLongBlobDataArray);
    List<MonitorPointTimeSeries> extractedData = anyExtractor.extractData(any, propertyName);
    assertThat(extractedData, hasSize(1));
    // Check the raw data
    MonitorPointTimeSeries mpTs = extractedData.get(0);
    assertThat(mpTs.getCorbaTypeId(), equalTo("IDL:alma/TMCDB/longLongBlobDataSeq:1.0"));
    assertThat(mpTs.getMonitorPointIndex(), equalTo(0));
    List<MonitorPointValue> dataList = mpTs.getDataList();
    assertThat(dataList, hasSize(longLongBlobDataArray.length));
    for (int i = 0; i < longLongBlobDataArray.length; i++) {
        MonitorPointValue mpVal = dataList.get(i);
        assertThat(mpVal.getTime(), equalTo(BASE_TIME + i));
        assertThat(mpVal.getData(), contains((Object) new Long(longLongDataArray[i])));
    }
    logger.info("Validated longLongBlobDataSeq.");
    // As a variation we test also "BlobberWorker.createBlobData" which in real life surrounds the AnyExtractor call 
    String componentName = "CONTROL/DV01/PSA";
    String serialNumber = "3456328928847";
    MonitorBlob blob = new MonitorBlob(false, (short) 0, new String[] {}, "wrong:" + propertyName, any);
    MonitorBlob[] blobs = new MonitorBlob[] { blob };
    long startTime = BASE_TIME + 100;
    long stopTime = BASE_TIME + 101;
    MonitorDataBlock block = new MonitorDataBlock(startTime, stopTime, componentName, serialNumber, blobs);
    BlobData blobData = BlobberWorker.createBlobData(block, blob, extractedData.get(0), propertyName, serialNumber, logger);
    String clobExpected = BASE_TIME + "|1|" + (BASE_TIME + 1) + "|2|" + (BASE_TIME + 2) + "|3|" + (BASE_TIME + 3) + "|4|" + (BASE_TIME + 4) + "|5|" + (BASE_TIME + 5) + "|6|" + (BASE_TIME + 6) + "|7|" + (BASE_TIME + 7) + "|8|" + (BASE_TIME + 8) + "|9|" + (BASE_TIME + 9) + "|4503599627370495\n";
    String statisticsExpected = "min: 1 max: 4503599627370495 mean: 4.50359962737054E14 stdDev: 1.4241632491976338E15\n";
    checkComponentData(blobData, clobExpected, 10, componentName, propertyName, serialNumber, startTime, stopTime, 0, statisticsExpected);
}
Also used : MonitorPointValue(alma.acs.monitoring.MonitorPointValue) Any(org.omg.CORBA.Any) MonitorBlob(alma.TMCDB.MonitorBlob) TMCDB.longLongBlobData(alma.TMCDB.longLongBlobData) TMCDB.floatBlobData(alma.TMCDB.floatBlobData) TMCDB.booleanSeqBlobData(alma.TMCDB.booleanSeqBlobData) TMCDB.longLongBlobData(alma.TMCDB.longLongBlobData) TMCDB.doubleBlobData(alma.TMCDB.doubleBlobData) TMCDB.doubleSeqBlobData(alma.TMCDB.doubleSeqBlobData) TMCDB.floatSeqBlobData(alma.TMCDB.floatSeqBlobData) MonitorPointTimeSeries(alma.acs.monitoring.MonitorPointTimeSeries) MonitorDataBlock(alma.TMCDB.MonitorDataBlock) Test(org.junit.Test)

Example 8 with MonitorBlob

use of alma.TMCDB.MonitorBlob in project ACS by ACS-Community.

the class BlobberWorkerUnitTest method testStandardULongLong.

public void testStandardULongLong() throws Exception {
    // was 0, which is now illegal
    blobber.setCollectorIntervalSeconds(1);
    getTestWorker().setCanHandle(true);
    // Collector "TestCollector" is just a dummy to trick the worker to believe that 
    // there is a collector registered and start operating. "TestCollector" is not used at all.
    // The TestBlobberWorker creates its own single collector from which the blobber worker will get data. 
    getTestWorker().addCollector("TestCollector");
    String componentName = "CONTROL/DV01/PSA";
    String serialNumber = "3456328928847";
    String propertyName = "VOLTAGE_MID_1";
    // Note that CORBA ulonglong means Java long.
    Any anyUp = create_any();
    long[] dataArrayUp = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    uLongLongBlobData[] dataUp = new uLongLongBlobData[dataArrayUp.length];
    int index = 0;
    for (long value : dataArrayUp) {
        dataUp[index] = new uLongLongBlobData(BASE_TIME + index, value);
        index++;
    }
    uLongLongBlobDataSeqHelper.insert(anyUp, dataUp);
    MonitorBlob blobUp = new MonitorBlob(false, (short) 0, null, "wrong:" + propertyName, anyUp);
    MonitorBlob[] blobs = new MonitorBlob[1];
    blobs[0] = blobUp;
    long startTime = BASE_TIME + 100;
    long stopTime = BASE_TIME + 101;
    MonitorDataBlock block = new MonitorDataBlock(startTime, stopTime, componentName, serialNumber, blobs);
    MonitorDataBlock[] blocks = new MonitorDataBlock[1];
    blocks[0] = block;
    getTestWorker().getCollector().setMonitorData(blocks);
    ComponentData data = getTestWorker().fetchData();
    String clob = BASE_TIME + "|1|" + (BASE_TIME + 1) + "|2|" + (BASE_TIME + 2) + "|3|" + (BASE_TIME + 3) + "|4|" + (BASE_TIME + 4) + "|5|" + (BASE_TIME + 5) + "|6|" + (BASE_TIME + 6) + "|7|" + (BASE_TIME + 7) + "|8|" + (BASE_TIME + 8) + "|9|" + (BASE_TIME + 9) + "|10\n";
    checkData(data, clob, 10, componentName, propertyName, serialNumber, startTime, stopTime);
    checkStatistics(data, 1.0, 10.0, 5.5, 3.0276503541);
}
Also used : MonitorBlob(alma.TMCDB.MonitorBlob) TMCDB.uLongLongBlobData(alma.TMCDB.uLongLongBlobData) ComponentData(alma.acs.monitoring.DAO.ComponentData) Any(org.omg.CORBA.Any) MonitorDataBlock(alma.TMCDB.MonitorDataBlock)

Example 9 with MonitorBlob

use of alma.TMCDB.MonitorBlob in project ACS by ACS-Community.

the class BlobberWorkerUnitTest method testCorrelatorLong.

public void testCorrelatorLong() throws Exception {
    // was 0, which is now illegal
    blobber.setCollectorIntervalSeconds(1);
    getTestWorker().setCanHandle(true);
    // Collector "TestCollector" is just a dummy to trick the worker to believe that 
    // there is a collector registered and start operating. "TestCollector" is not used at all.
    // The TestBlobberWorker creates its own single collector from which the blobber worker will get data. 
    getTestWorker().addCollector("TestCollector");
    String componentName = "CONTROL/DV01/PSA";
    String serialNumber = "3456328928847";
    String propertyName = "VOLTAGE_MID_1";
    // Note that CORBA long means Java int.
    Any anyUp = create_any();
    int[] dataArrayUp1 = { 1, 2, 3 };
    int[] dataArrayUp2 = { 11, 12, 13 };
    int[] dataArrayUp3 = { 21, 22, 23 };
    int[][] dataUpMatrix = { dataArrayUp1, dataArrayUp2, dataArrayUp3 };
    String[] serialNumbers = { "A", "B", "C" };
    longSeqBlobData[] dataUp = new longSeqBlobData[dataUpMatrix.length];
    int index = 0;
    for (int[] value : dataUpMatrix) {
        dataUp[index] = new longSeqBlobData(BASE_TIME + index, value);
        index++;
    }
    longSeqBlobDataSeqHelper.insert(anyUp, dataUp);
    MonitorBlob blobUp = new MonitorBlob(false, (short) 0, serialNumbers, "wrong:" + propertyName, anyUp);
    MonitorBlob[] blobs = new MonitorBlob[1];
    blobs[0] = blobUp;
    long startTime = BASE_TIME + 100;
    long stopTime = BASE_TIME + 101;
    MonitorDataBlock block = new MonitorDataBlock(startTime, stopTime, componentName, serialNumber, blobs);
    MonitorDataBlock[] blocks = new MonitorDataBlock[1];
    blocks[0] = block;
    getTestWorker().getCollector().setMonitorData(blocks);
    ComponentData data = getTestWorker().fetchData();
    String clob = BASE_TIME + "|1|" + (BASE_TIME + 1) + "|11|" + (BASE_TIME + 2) + "|21\n";
    checkData(data, clob, 3, componentName, propertyName, "A", startTime, stopTime);
    checkStatistics(data, 1.0, 21.0, 11.0, 10.0);
    data = getTestWorker().fetchData();
    clob = BASE_TIME + "|2|" + (BASE_TIME + 1) + "|12|" + (BASE_TIME + 2) + "|22\n";
    propertyName = "" + propertyName;
    checkData(data, clob, 3, componentName, propertyName, "B", startTime, stopTime);
    checkStatistics(data, 2.0, 22.0, 12.0, 10.0);
    data = getTestWorker().fetchData();
    clob = BASE_TIME + "|3|" + (BASE_TIME + 1) + "|13|" + (BASE_TIME + 2) + "|23\n";
    propertyName = "" + propertyName;
    checkData(data, clob, 3, componentName, propertyName, "C", startTime, stopTime);
    checkStatistics(data, 3.0, 23.0, 13.0, 10.0);
}
Also used : ComponentData(alma.acs.monitoring.DAO.ComponentData) Any(org.omg.CORBA.Any) MonitorBlob(alma.TMCDB.MonitorBlob) TMCDB.longSeqBlobData(alma.TMCDB.longSeqBlobData) MonitorDataBlock(alma.TMCDB.MonitorDataBlock)

Example 10 with MonitorBlob

use of alma.TMCDB.MonitorBlob in project ACS by ACS-Community.

the class BlobberWorkerUnitTest method testStandardPattern.

public void testStandardPattern() throws Exception {
    // was 0, which is now illegal
    blobber.setCollectorIntervalSeconds(1);
    getTestWorker().setCanHandle(true);
    // Collector "TestCollector" is just a dummy to trick the worker to believe that 
    // there is a collector registered and start operating. "TestCollector" is not used at all.
    // The TestBlobberWorker creates its own single collector from which the blobber worker will get data. 
    getTestWorker().addCollector("TestCollector");
    String componentName = "CONTROL/DV01/PSA";
    String serialNumber = "3456328928847";
    String propertyName = "VOLTAGE_MID_1";
    Any anyUp = create_any();
    long[] dataArrayUp = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    patternBlobData[] dataUp = new patternBlobData[dataArrayUp.length];
    int index = 0;
    for (long value : dataArrayUp) {
        dataUp[index] = new patternBlobData(BASE_TIME + index, (int) value);
        index++;
    }
    patternBlobDataSeqHelper.insert(anyUp, dataUp);
    MonitorBlob blobUp = new MonitorBlob(false, (short) 0, null, "wrong:" + propertyName, anyUp);
    MonitorBlob[] blobs = new MonitorBlob[1];
    blobs[0] = blobUp;
    long startTime = BASE_TIME + 100;
    long stopTime = BASE_TIME + 101;
    MonitorDataBlock block = new MonitorDataBlock(startTime, stopTime, componentName, serialNumber, blobs);
    MonitorDataBlock[] blocks = new MonitorDataBlock[1];
    blocks[0] = block;
    getTestWorker().getCollector().setMonitorData(blocks);
    ComponentData data = getTestWorker().fetchData();
    String clob = BASE_TIME + "|1|" + (BASE_TIME + 1) + "|2|" + (BASE_TIME + 2) + "|3|" + (BASE_TIME + 3) + "|4|" + (BASE_TIME + 4) + "|5|" + (BASE_TIME + 5) + "|6|" + (BASE_TIME + 6) + "|7|" + (BASE_TIME + 7) + "|8|" + (BASE_TIME + 8) + "|9|" + (BASE_TIME + 9) + "|10\n";
    checkData(data, clob, 10, componentName, propertyName, serialNumber, startTime, stopTime);
    checkStatistics(data);
}
Also used : MonitorBlob(alma.TMCDB.MonitorBlob) ComponentData(alma.acs.monitoring.DAO.ComponentData) Any(org.omg.CORBA.Any) TMCDB.patternBlobData(alma.TMCDB.patternBlobData) MonitorDataBlock(alma.TMCDB.MonitorDataBlock)

Aggregations

MonitorBlob (alma.TMCDB.MonitorBlob)22 MonitorDataBlock (alma.TMCDB.MonitorDataBlock)22 Any (org.omg.CORBA.Any)20 ComponentData (alma.acs.monitoring.DAO.ComponentData)15 TMCDB.doubleBlobData (alma.TMCDB.doubleBlobData)7 TMCDB.doubleSeqBlobData (alma.TMCDB.doubleSeqBlobData)6 TMCDB.floatBlobData (alma.TMCDB.floatBlobData)6 TMCDB.floatSeqBlobData (alma.TMCDB.floatSeqBlobData)6 TMCDB.longLongBlobData (alma.TMCDB.longLongBlobData)6 MonitorPointTimeSeries (alma.acs.monitoring.MonitorPointTimeSeries)6 TMCDB.booleanSeqBlobData (alma.TMCDB.booleanSeqBlobData)5 MonitorPointValue (alma.acs.monitoring.MonitorPointValue)5 Test (org.junit.Test)5 TMCDB.enumBlobData (alma.TMCDB.enumBlobData)2 TMCDB.longBlobData (alma.TMCDB.longBlobData)1 TMCDB.longLongSeqBlobData (alma.TMCDB.longLongSeqBlobData)1 TMCDB.longSeqBlobData (alma.TMCDB.longSeqBlobData)1 TMCDB.patternBlobData (alma.TMCDB.patternBlobData)1 TMCDB.stringBlobData (alma.TMCDB.stringBlobData)1 TMCDB.stringSeqBlobData (alma.TMCDB.stringSeqBlobData)1