Skip to content

Commit

Permalink
#30192 fixing sonar feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
jdotcms committed Oct 3, 2024
1 parent d8819f8 commit c51cbf6
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 52 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -129,12 +129,8 @@ public CubeJSQuery parseQueryToCubeQuery(final AnalyticsQuery query) {
}

private Collection<CubeJSQuery.TimeDimension> parseTimeDimensions(final String timeDimensions) {
final TimeDimensionParser.TimeDimension parsedTimeDimension = TimeDimensionParser.parseTimeDimension(timeDimensions);
return Stream.of(
Objects.isNull(parsedTimeDimension.getDateRange())?
new CubeJSQuery.TimeDimension(parsedTimeDimension.getDimension(),parsedTimeDimension.getGranularity()):
new CubeJSQuery.TimeDimension(parsedTimeDimension.getDimension(),parsedTimeDimension.getGranularity(), parsedTimeDimension.getDateRange())
).collect(Collectors.toList());
final CubeJSQuery.TimeDimension parsedTimeDimension = TimeDimensionParser.parseTimeDimension(timeDimensions);
return Stream.of(parsedTimeDimension).collect(Collectors.toList());
}

private Collection<CubeJSQuery.OrderItem> parseOrders(final String orders) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.dotcms.analytics.query;

import com.dotcms.cube.CubeJSQuery;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

Expand All @@ -23,47 +25,7 @@ private TimeDimensionParser() {
private static final String FIELD_REGEX = "^(\\w+\\.\\w+)\\s+(\\w+)(?:\\s+(.+))?$";
private static final Pattern PATTERN = Pattern.compile(FIELD_REGEX);

public static class TimeDimension {

private final String dimension;
private final String granularity;
private final String dateRange;

public TimeDimension(final String dimension, final String granularity) {
this(dimension, granularity, null);
}

public TimeDimension(final String dimension,
final String granularity,
final String dateRange) {
this.dimension = dimension;
this.granularity = granularity;
this.dateRange = dateRange;
}

public String getDimension() {
return dimension;
}

public String getGranularity() {
return granularity;
}

public String getDateRange() {
return dateRange;
}

@Override
public String toString() {
return "TimeDimension{" +
"dimension='" + dimension + '\'' +
", granularity='" + granularity + '\'' +
", dateRange='" + dateRange + '\'' +
'}';
}
}

public static TimeDimension parseTimeDimension(final String expression) throws IllegalArgumentException {
public static CubeJSQuery.TimeDimension parseTimeDimension(final String expression) throws IllegalArgumentException {
// cache and checked
final Matcher matcher = PATTERN.matcher(expression.trim());

Expand All @@ -73,7 +35,7 @@ public static TimeDimension parseTimeDimension(final String expression) throws I
final String granularity = matcher.group(2); // Ex: day
final String dateRange = matcher.group(3); // Ex: date range

return new TimeDimension(dimension, granularity, dateRange);
return new CubeJSQuery.TimeDimension(dimension, granularity, dateRange);
} else {
throw new IllegalArgumentException("The expression is not valid. This should be the format 'Term Field'.");
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.dotcms.analytics.query;

import com.dotcms.cube.CubeJSQuery;
import org.junit.Assert;
import org.junit.Test;

Expand All @@ -16,7 +17,7 @@ public class TimeDimensionParserTest {
*/
@Test
public void test_parseTimeDimension_dimension_plus_granularity_should_be_OK() throws Exception {
final TimeDimensionParser.TimeDimension result =
final CubeJSQuery.TimeDimension result =
TimeDimensionParser.parseTimeDimension("Events.day day");

Assert.assertNotNull(result);
Expand All @@ -32,7 +33,7 @@ public void test_parseTimeDimension_dimension_plus_granularity_should_be_OK() th
*/
@Test
public void test_parseTimeDimension_dimension_plus_granularity_and_dateRange_should_be_OK() throws Exception {
final TimeDimensionParser.TimeDimension result =
final CubeJSQuery.TimeDimension result =
TimeDimensionParser.parseTimeDimension("Events.day day This Week");

Assert.assertNotNull(result);
Expand All @@ -48,7 +49,7 @@ public void test_parseTimeDimension_dimension_plus_granularity_and_dateRange_sho
*/
@Test
public void test_parseTimeDimension_dimension_plus_granularity_and_dateRange_yesterday_should_be_OK() throws Exception {
final TimeDimensionParser.TimeDimension result =
final CubeJSQuery.TimeDimension result =
TimeDimensionParser.parseTimeDimension("Events.day day yesterday");

Assert.assertNotNull(result);
Expand All @@ -63,7 +64,7 @@ public void test_parseTimeDimension_dimension_plus_granularity_and_dateRange_yes
*/
@Test
public void test_parseTimeDimension_dimension_plus_granularity_and_dateRange_last_7_days_should_be_OK() throws Exception {
final TimeDimensionParser.TimeDimension result =
final CubeJSQuery.TimeDimension result =
TimeDimensionParser.parseTimeDimension("Events.day day Last 7 days");

Assert.assertNotNull(result);
Expand Down

0 comments on commit c51cbf6

Please sign in to comment.