linghengqian commented on code in PR #16740:
URL: https://github.com/apache/shardingsphere/pull/16740#discussion_r850008155


##########
shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/IntervalShardingAlgorithm.java:
##########
@@ -143,8 +143,20 @@ public String doSharding(final Collection<String> 
availableTargetNames, final Pr
     }
     
     private boolean hasIntersection(final Range<LocalDateTime> calculateRange, 
final Range<Comparable<?>> range) {
-        LocalDateTime lower = range.hasLowerBound() ? 
parseDateTime(range.lowerEndpoint().toString()) : dateTimeLower;
-        LocalDateTime upper = range.hasUpperBound() ? 
parseDateTime(range.upperEndpoint().toString()) : dateTimeUpper;
+        LocalDateTime lower;
+        if (range.hasLowerBound()) {
+            Comparable<?> lowerEndpoint = range.lowerEndpoint();
+            lower = lowerEndpoint instanceof LocalDateTime ? 
parseDateTime(((LocalDateTime) lowerEndpoint).format(dateTimeFormatter)) : 
parseDateTime(lowerEndpoint.toString());
+        } else {
+            lower = dateTimeLower;
+        }
+        LocalDateTime upper;
+        if (range.hasUpperBound()) {
+            Comparable<?> upperEndpoint = range.upperEndpoint();
+            upper = upperEndpoint instanceof LocalDateTime ? 
parseDateTime(((LocalDateTime) upperEndpoint).format(dateTimeFormatter)) : 
parseDateTime(upperEndpoint.toString());

Review Comment:
   Maybe solved. There doesn't seem to be a `Util` class that lets me use 
pattern matching like JDK 17.



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to