private void saveNamesToState() { getStateData().put(NAMES_FIELD_NAME,storedNames); }
private void deserializeForUns(BiDeserializer deserializer) { storedNames = deserializer.deserialize(getStateData().getList(NAMES_FIELD_NAME, null)); paidU = getStateData().getInt(PAID_U_FIELD_NAME, 0); prepaidNamesForDays = getStateData().getDouble(PREPAID_ND_FIELD_NAME); long prepaidFromSeconds = getStateData().getLong(PREPAID_ND_FROM_TIME_FIELD_NAME, 0); prepaidFrom = ZonedDateTime.ofInstant(Instant.ofEpochSecond(prepaidFromSeconds), ZoneId.systemDefault()); }
@Override public boolean beforeUpdate(ImmutableEnvironment c) { boolean checkResult = false; calculatePrepaidNamesForDays(false); checkResult = prepaidNamesForDays == getStateData().getDouble(PREPAID_ND_FIELD_NAME); if (!checkResult) { addError(Errors.FAILED_CHECK, "Wrong [state.data." + PREPAID_ND_FIELD_NAME + "] value. " + "Should be sum of early paid U and paid U by current revision."); return checkResult; } checkResult = additionallyUnsCheck(c); return checkResult; }
getStateData().set(PAID_U_FIELD_NAME, paidU); getStateData().set(PREPAID_ND_FIELD_NAME, prepaidNamesForDays); if(getRevision() == 1) getStateData().set(PREPAID_ND_FROM_TIME_FIELD_NAME, now.toEpochSecond()); getStateData().set(STORED_ENTRIES_FIELD_NAME, storingEntries); getStateData().set(SPENT_ND_FIELD_NAME, spentNDs); getStateData().set(SPENT_ND_TIME_FIELD_NAME, spentNDsTime.toEpochSecond());
@Override public boolean beforeCreate(ImmutableEnvironment c) { boolean checkResult = true; calculatePrepaidNamesForDays(false); int paidU = getPaidU(); if(paidU == 0) { if(getPaidU(true) > 0) { addError(Errors.FAILED_CHECK, "Test payment is not allowed for storing storing names"); } checkResult = false; } else if(paidU < getMinPayment()) { addError(Errors.FAILED_CHECK, "Payment for UNS contract is below minimum level of " + getMinPayment() + "U"); checkResult = false; } if (!checkResult) { addError(Errors.FAILED_CHECK, "UNS contract hasn't valid payment"); return checkResult; } checkResult = prepaidNamesForDays == getStateData().getDouble(PREPAID_ND_FIELD_NAME); if (!checkResult) { addError(Errors.FAILED_CHECK, "Wrong [state.data." + PREPAID_ND_FIELD_NAME + "] value. " + "Should be sum of early paid U and paid U by current revision."); return checkResult; } checkResult = additionallyUnsCheck(c); return checkResult; }