@Override public void setSubscriptionExpiresAt(ContractSubscription subscription, ZonedDateTime expiresAt) { NContractSubscription sub = (NContractSubscription) subscription; sub.setExpiresAt(expiresAt); //existing subscription if(sub.getId() != 0) subscriptionsToSave.add(sub); }
assertEquals(nnr.expiresAt().toEpochSecond(),nnr2.expiresAt().toEpochSecond()); NContractSubscription sub = Boss.load(Boss.pack(new NContractSubscription(contract.getOrigin(), true, now))); assertTrue(sub.getOrigin().equals(contract.getOrigin())); assertTrue(sub.getHashId().equals(contract.getOrigin())); assertTrue(sub.isChainSubscription()); assertEquals(sub.expiresAt().toEpochSecond(), now.toEpochSecond()); sub = Boss.load(Boss.pack(new NContractSubscription(contract.getId(), false, now))); assertTrue(sub.getContractId().equals(contract.getId())); assertTrue(sub.getHashId().equals(contract.getId())); assertFalse(sub.isChainSubscription()); assertEquals(sub.expiresAt().toEpochSecond(), now.toEpochSecond());
subscriptionsToDestroy.forEach(sub -> ledger.removeEnvironmentSubscription(sub.getId())); subscriptionsToSave.forEach(sub-> ledger.updateSubscriptionInStorage(sub.getId(), sub.expiresAt())); long subId = ledger.saveSubscriptionInStorage(sub.getHashId(), sub.isChainSubscription(), sub.expiresAt(), getId()); sub.setId(subId);
List<ContractSubscription> res = new ArrayList<>(); while (rs.next()) { NContractSubscription css = new NContractSubscription(HashId.withDigest(rs.getBytes(1)), rs.getBoolean(2), StateRecord.getTime(rs.getLong(3))); css.setId(rs.getLong(4)); res.add(css);
@Override public @NonNull ContractSubscription createChainSubscription(@NonNull HashId origin, @NonNull ZonedDateTime expiresAt) { NContractSubscription sub = new NContractSubscription(origin, true, expiresAt); subscriptionsToAdd.add(sub); return sub; }
@Override public @NonNull ContractSubscription createContractSubscription(@NonNull HashId id, @NonNull ZonedDateTime expiresAt) { NContractSubscription sub = new NContractSubscription(id, false, expiresAt); subscriptionsToAdd.add(sub); return sub; }