public override void updateData(DataObject data) { lock (this) { TMUData tmuData = (TMUData)data; String tmuIdentifier = tmuData.getTMUIdentifier(); if (dataMap.ContainsKey(tmuIdentifier)) { dataMap.Remove(tmuIdentifier); dataMap.Add(tmuIdentifier, tmuData); } else { dataMap.Add(tmuIdentifier, tmuData); } } }
public override void processMessage(D2LogicalModel d2LogicalModel) { if (logWrapper.isInfo()) { logWrapper.Info("TMU Update"); } MeasuredDataPublication measuredDataPublication = (MeasuredDataPublication)d2LogicalModel.payloadPublication; if (measuredDataPublication != null) { DateTime publicationTime = measuredDataPublication.publicationTime; SiteMeasurements[] siteMeasurementsList = measuredDataPublication.siteMeasurements; if (logWrapper.isDebug()) { logWrapper.Debug("TMU Update(" + siteMeasurementsList.Length + " objects)"); } Dictionary <String, LinkedList <SiteMeasurements> > siteMeasurementsIndex = new Dictionary <String, LinkedList <SiteMeasurements> >(); for (int siteMeasurementsListPos = 0; siteMeasurementsListPos < siteMeasurementsList.Length; siteMeasurementsListPos++) { SiteMeasurements siteMeasurements = siteMeasurementsList[siteMeasurementsListPos]; processSituation(siteMeasurements, publicationTime, siteMeasurementsIndex); } foreach (String tmuIdentifier in siteMeasurementsIndex.Keys) { TMUData tmuData = new TMUData(tmuIdentifier, publicationTime, siteMeasurementsIndex[tmuIdentifier]); tmuDataStore.updateData(tmuData); } } if (logWrapper.isDebug()) { logWrapper.Debug("TMU Update Complete"); } }