import VMChargingBehavior.SelectorLabels.PowerStatus
import VMChargingBehavior.Selectors.Power
-import gr.grnet.aquarium.charging.state.UserAgreementHistoryModel
+import gr.grnet.aquarium.charging.state.{UserStateModel, UserAgreementHistoryModel}
import gr.grnet.aquarium.computation.BillingMonthInfo
import gr.grnet.aquarium.event.DetailsModel
import gr.grnet.aquarium.message.MessageConstants
resourceType: ResourceTypeMsg,
billingMonthInfo: BillingMonthInfo,
resourcesChargingState: ResourcesChargingStateMsg,
- userAgreementHistoryModel: UserAgreementHistoryModel,
- userStateMsg: UserStateMsg,
+ userStateModel: UserStateModel,
walletEntryRecorder: WalletEntryMsg ⇒ Unit
): (Int, Real) = {
+ val userStateMsg = userStateModel.userStateMsg
+
// 1. Ensure proper initial state per resource and per instance
ensureInitializedWorkingState(resourcesChargingState,resourceEvent)
Real(userStateMsg.getTotalCredits),
previousEvent.getOccurredMillis,
resourceEvent.getOccurredMillis,
- userAgreementHistoryModel.agreementByTimeslot,
+ userStateModel.agreementByTimeslot,
resourcesChargingStateDetails,
resourceInstanceChargingState,
aquarium,