@Test public void alterWithCacheListener() { RegionConfig deltaConfig = getDeltaRegionConfig("alter region --name=regionA --cache-listener=abc,def"); List<DeclarableType> cacheListeners = deltaConfig.getRegionAttributes().getCacheListeners(); assertThat(cacheListeners).hasSize(2); assertThat(cacheListeners.get(0).getClassName()).isEqualTo("abc"); assertThat(cacheListeners.get(1).getClassName()).isEqualTo("def"); // check that the combined the configuration is created as expected RegionAttributesType existingAttributes = new RegionAttributesType(); existingAttributes.getCacheListeners().add(new DeclarableType("ghi")); existingRegionConfig.setRegionAttributes(existingAttributes); command.updateConfigForGroup("cluster", cacheConfig, deltaConfig); List<DeclarableType> updatedCacheListeners = existingRegionConfig.getRegionAttributes().getCacheListeners(); assertThat(updatedCacheListeners).hasSize(2); assertThat(updatedCacheListeners.get(0).getClassName()).isEqualTo("abc"); assertThat(updatedCacheListeners.get(1).getClassName()).isEqualTo("def"); assertThat(existingRegionConfig.getRegionAttributes().getEntryIdleTime()).isNull(); }
@Test public void alterWithEntryIdleTimeOutCustomExpiry() { RegionConfig deltaConfig = getDeltaRegionConfig("alter region --name=regionA --entry-idle-time-custom-expiry=abc"); RegionAttributesType.ExpirationAttributesType entryIdleTime = deltaConfig.getRegionAttributes().getEntryIdleTime(); assertThat(entryIdleTime).isNotNull(); assertThat(entryIdleTime.getTimeout()).isNull(); assertThat(entryIdleTime.getCustomExpiry().getClassName()).isEqualTo("abc"); assertThat(entryIdleTime.getAction()).isNull(); // check that the combined the configuration is created as expected RegionAttributesType existingAttributes = new RegionAttributesType(); RegionAttributesType.ExpirationAttributesType expirationAttributesType = new RegionAttributesType.ExpirationAttributesType(10, ExpirationAction.INVALIDATE, null, null); existingAttributes.setEntryIdleTime(expirationAttributesType); existingRegionConfig.setRegionAttributes(existingAttributes); command.updateConfigForGroup("cluster", cacheConfig, deltaConfig); RegionAttributesType.ExpirationAttributesType combinedExpirationAttributes = existingRegionConfig.getRegionAttributes().getEntryIdleTime(); assertThat(combinedExpirationAttributes.getTimeout()).isEqualTo("10"); assertThat(combinedExpirationAttributes.getAction()).isEqualTo("invalidate"); assertThat(combinedExpirationAttributes.getCustomExpiry().getClassName()).isEqualTo("abc"); }
@Test public void alterWithEmptyEntryIdleTimeOutCustomExpiry() { RegionConfig deltaConfig = getDeltaRegionConfig("alter region --name=regionA --entry-idle-time-custom-expiry=''"); RegionAttributesType.ExpirationAttributesType entryIdleTime = deltaConfig.getRegionAttributes().getEntryIdleTime(); assertThat(entryIdleTime).isNotNull(); assertThat(entryIdleTime.getTimeout()).isNull(); assertThat(entryIdleTime.getCustomExpiry()).isEqualTo(DeclarableType.EMPTY); assertThat(entryIdleTime.getAction()).isNull(); // check that the combined the configuration is created as expected RegionAttributesType existingAttributes = new RegionAttributesType(); RegionAttributesType.ExpirationAttributesType expirationAttributesType = new RegionAttributesType.ExpirationAttributesType(10, ExpirationAction.INVALIDATE, null, null); existingAttributes.setEntryIdleTime(expirationAttributesType); existingRegionConfig.setRegionAttributes(existingAttributes); command.updateConfigForGroup("cluster", cacheConfig, deltaConfig); RegionAttributesType.ExpirationAttributesType combinedExpirationAttributes = existingRegionConfig.getRegionAttributes().getEntryIdleTime(); assertThat(combinedExpirationAttributes.getTimeout()).isEqualTo("10"); assertThat(combinedExpirationAttributes.getAction()).isEqualTo("invalidate"); assertThat(combinedExpirationAttributes.getCustomExpiry()).isNull(); }
@Test public void alterWithEntryIdleTimeOut() { // check that the deltaConfig is created as expected RegionConfig deltaConfig = getDeltaRegionConfig("alter region --name=regionA --entry-idle-time-expiration=7"); RegionAttributesType.ExpirationAttributesType entryIdleTime = deltaConfig.getRegionAttributes().getEntryIdleTime(); assertThat(entryIdleTime).isNotNull(); assertThat(entryIdleTime.getTimeout()).isEqualTo("7"); assertThat(entryIdleTime.getCustomExpiry()).isNull(); assertThat(entryIdleTime.getAction()).isNull(); // check that the combined the configuration is created as expected RegionAttributesType existingAttributes = new RegionAttributesType(); RegionAttributesType.ExpirationAttributesType expirationAttributesType = new RegionAttributesType.ExpirationAttributesType(10, ExpirationAction.DESTROY, null, null); existingAttributes.setEntryIdleTime(expirationAttributesType); existingRegionConfig.setRegionAttributes(existingAttributes); command.updateConfigForGroup("cluster", cacheConfig, deltaConfig); RegionAttributesType.ExpirationAttributesType combinedExpirationAttributes = existingRegionConfig.getRegionAttributes().getEntryIdleTime(); assertThat(combinedExpirationAttributes.getTimeout()).isEqualTo("7"); assertThat(combinedExpirationAttributes.getAction()).isEqualTo("destroy"); assertThat(combinedExpirationAttributes.getCustomExpiry()).isNull(); }
@Test public void alterWithEntryIdleTimeOutAction() { RegionConfig deltaConfig = getDeltaRegionConfig( "alter region --name=regionA --entry-idle-time-expiration-action=destroy"); RegionAttributesType.ExpirationAttributesType entryIdleTime = deltaConfig.getRegionAttributes().getEntryIdleTime(); assertThat(entryIdleTime).isNotNull(); assertThat(entryIdleTime.getTimeout()).isNull(); assertThat(entryIdleTime.getCustomExpiry()).isNull(); assertThat(entryIdleTime.getAction()).isEqualTo("destroy"); // check that the combined the configuration is created as expected RegionAttributesType existingAttributes = new RegionAttributesType(); RegionAttributesType.ExpirationAttributesType expirationAttributesType = new RegionAttributesType.ExpirationAttributesType(10, ExpirationAction.INVALIDATE, null, null); existingAttributes.setEntryIdleTime(expirationAttributesType); existingRegionConfig.setRegionAttributes(existingAttributes); command.updateConfigForGroup("cluster", cacheConfig, deltaConfig); RegionAttributesType.ExpirationAttributesType combinedExpirationAttributes = existingRegionConfig.getRegionAttributes().getEntryIdleTime(); assertThat(combinedExpirationAttributes.getTimeout()).isEqualTo("10"); assertThat(combinedExpirationAttributes.getAction()).isEqualTo("destroy"); assertThat(combinedExpirationAttributes.getCustomExpiry()).isNull(); }
@Test public void alterWithCloningEnabled() { RegionAttributesType regionAttributes = getDeltaRegionConfig("alter region --name=regionA --enable-cloning=false") .getRegionAttributes(); assertThat(regionAttributes.isCloningEnabled()).isFalse(); assertThat(regionAttributes.getAsyncEventQueueIds()).isNull(); assertThat(regionAttributes.getDataPolicy()).isNull(); assertThat(regionAttributes.getGatewaySenderIds()).isNull(); assertThat(regionAttributes.getCacheLoader()).isNull(); assertThat(regionAttributes.getCacheWriter()).isNull(); assertThat(regionAttributes.getCacheListeners()).isNotNull().isEmpty(); assertThat(regionAttributes.getEvictionAttributes()).isNull(); assertThat(regionAttributes.getEntryIdleTime()).isNull(); assertThat(regionAttributes.getEntryTimeToLive()).isNull(); assertThat(regionAttributes.getRegionIdleTime()).isNull(); assertThat(regionAttributes.getRegionTimeToLive()).isNull(); }
updateExpirationAttributes(cache, regionAttributes.getEntryIdleTime(), region.getEntryIdleTimeout(), p -> mutator.setEntryIdleTimeout(p), p -> mutator.setCustomEntryIdleTimeout(p));
@Test public void generatesWithExpirationIdleTimeAttributes() { regionExpirationTTL = 10; regionExpirationTTLAction = ExpirationAction.DESTROY; regionExpirationIdleTime = 3; regionExpirationIdleAction = ExpirationAction.INVALIDATE; entryExpirationTTL = 1; entryExpirationTTLAction = ExpirationAction.LOCAL_DESTROY; entryExpirationIdleTime = 12; entryExpirationIdleAction = ExpirationAction.LOCAL_DESTROY; entryIdleTimeCustomExpiry = new ClassName<>("java.lang.String"); generate(); RegionAttributesType.ExpirationAttributesType regionTimeToLive = config.getRegionAttributes().getRegionTimeToLive(); assertThat(regionTimeToLive.getTimeout()).isEqualTo("10"); RegionAttributesType.ExpirationAttributesType entryTimeToLive = config.getRegionAttributes().getEntryTimeToLive(); assertThat(entryTimeToLive.getAction()) .isEqualTo(ExpirationAction.LOCAL_DESTROY.toXmlString()); RegionAttributesType.ExpirationAttributesType entryIdleTime = config.getRegionAttributes().getEntryIdleTime(); DeclarableType customExpiry = entryIdleTime.getCustomExpiry(); assertThat(customExpiry.getClassName()).isEqualTo("java.lang.String"); assertThat(entryIdleTime.getAction()) .isEqualTo(ExpirationAction.LOCAL_DESTROY.toXmlString()); assertThat(entryIdleTime.getTimeout()) .isEqualTo("12"); }
if (regionAttributes.getEntryIdleTime() != null) { RegionAttributesType.ExpirationAttributesType eitl = regionAttributes.getEntryIdleTime(); ((RegionFactory<Object, Object>) factory).setEntryIdleTimeout( new ExpirationAttributes(Integer.valueOf(eitl.getTimeout()),
combine(existingAttributes.getEntryIdleTime(), deltaAttributes.getEntryIdleTime())); existingAttributes.setEntryTimeToLive( combine(existingAttributes.getEntryTimeToLive(), deltaAttributes.getEntryTimeToLive()));