alex-plekhanov commented on code in PR #11357: URL: https://github.com/apache/ignite/pull/11357#discussion_r1628062036
########## modules/core/src/main/java/org/apache/ignite/spi/systemview/view/CacheView.java: ########## @@ -344,26 +344,58 @@ public String expiryPolicyFactory() { ExpiryPolicy expiryPlc = (ExpiryPolicy)cache.cacheConfiguration().getExpiryPolicyFactory().create(); - Function<Duration, String> func = (duration) -> { - if (duration == null) - return null; + AtomicBoolean first = new AtomicBoolean(true); - return new StringBuilder() - .append(duration.getDurationAmount()) - .append(' ') - .append(duration.getTimeUnit() == null ? TimeUnit.MILLISECONDS : duration.getTimeUnit()) - .toString(); - }; + StringBuilder expiryPlcStrBld = new StringBuilder(expiryPlc.getClass().getSimpleName()); - String expiryPlcStr = new StringBuilder(expiryPlc.getClass().getSimpleName()) - .append(" [create=").append(func.apply(expiryPlc.getExpiryForCreation())) - .append(", update=").append(func.apply(expiryPlc.getExpiryForUpdate())) - .append(", access=").append(func.apply(expiryPlc.getExpiryForAccess())) - .append(']').toString(); + appendField(expiryPlcStrBld, "create", expiryPlc::getExpiryForCreation, first); + appendField(expiryPlcStrBld, "update", expiryPlc::getExpiryForUpdate, first); + appendField(expiryPlcStrBld, "access", expiryPlc::getExpiryForAccess, first); + + if (!first.get()) + expiryPlcStrBld.append(']'); return S.toString((Class<Factory<?>>)cache.cacheConfiguration().getExpiryPolicyFactory().getClass(), - cache.cacheConfiguration().getExpiryPolicyFactory(), - "expiryPlc", expiryPlcStr); + cache.cacheConfiguration().getExpiryPolicyFactory(), "expiryPlc", expiryPlcStrBld); + } + + + /** + * @param out {@link StringBuilder} to append to. + * @param fieldName create/update/access expiry policy field name. + * @param durationSupplier Duration supplier for specified expiry policy field name. + * @param first {@link AtomicBoolean} flag indicating whether the field is the first in sequence. + */ + private static void appendField( + StringBuilder out, + String fieldName, + Supplier<Duration> durationSupplier, Review Comment: `durationSupplier` is senseless, just use duration. ########## modules/core/src/main/java/org/apache/ignite/spi/systemview/view/CacheView.java: ########## @@ -344,26 +344,58 @@ public String expiryPolicyFactory() { ExpiryPolicy expiryPlc = (ExpiryPolicy)cache.cacheConfiguration().getExpiryPolicyFactory().create(); - Function<Duration, String> func = (duration) -> { - if (duration == null) - return null; + AtomicBoolean first = new AtomicBoolean(true); - return new StringBuilder() - .append(duration.getDurationAmount()) - .append(' ') - .append(duration.getTimeUnit() == null ? TimeUnit.MILLISECONDS : duration.getTimeUnit()) - .toString(); - }; + StringBuilder expiryPlcStrBld = new StringBuilder(expiryPlc.getClass().getSimpleName()); - String expiryPlcStr = new StringBuilder(expiryPlc.getClass().getSimpleName()) - .append(" [create=").append(func.apply(expiryPlc.getExpiryForCreation())) - .append(", update=").append(func.apply(expiryPlc.getExpiryForUpdate())) - .append(", access=").append(func.apply(expiryPlc.getExpiryForAccess())) - .append(']').toString(); + appendField(expiryPlcStrBld, "create", expiryPlc::getExpiryForCreation, first); + appendField(expiryPlcStrBld, "update", expiryPlc::getExpiryForUpdate, first); + appendField(expiryPlcStrBld, "access", expiryPlc::getExpiryForAccess, first); + + if (!first.get()) + expiryPlcStrBld.append(']'); return S.toString((Class<Factory<?>>)cache.cacheConfiguration().getExpiryPolicyFactory().getClass(), - cache.cacheConfiguration().getExpiryPolicyFactory(), - "expiryPlc", expiryPlcStr); + cache.cacheConfiguration().getExpiryPolicyFactory(), "expiryPlc", expiryPlcStrBld); + } + + + /** + * @param out {@link StringBuilder} to append to. + * @param fieldName create/update/access expiry policy field name. + * @param durationSupplier Duration supplier for specified expiry policy field name. + * @param first {@link AtomicBoolean} flag indicating whether the field is the first in sequence. + */ + private static void appendField( + StringBuilder out, + String fieldName, + Supplier<Duration> durationSupplier, + AtomicBoolean first) { Review Comment: Put `) {` to the next line -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@ignite.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org