Skip to content

Commit 6937fb2

Browse files
WIP - spotless
1 parent e8b2e1a commit 6937fb2

File tree

5 files changed

+417
-361
lines changed

5 files changed

+417
-361
lines changed

dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/common/CTEContext.java

Lines changed: 84 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -27,109 +27,107 @@
2727
*/
2828
package org.hisp.dhis.analytics.common;
2929

30-
import org.hisp.dhis.common.QueryItem;
31-
import org.hisp.dhis.program.ProgramIndicator;
32-
import org.hisp.dhis.program.ProgramStage;
30+
import static org.hisp.dhis.analytics.common.CTEUtils.computeKey;
3331

3432
import java.util.LinkedHashMap;
3533
import java.util.Map;
3634
import java.util.Set;
37-
38-
import static org.hisp.dhis.analytics.common.CTEUtils.computeKey;
35+
import org.hisp.dhis.common.QueryItem;
36+
import org.hisp.dhis.program.ProgramIndicator;
37+
import org.hisp.dhis.program.ProgramStage;
3938

4039
public class CTEContext {
41-
private final Map<String, CteDefinition> cteDefinitions = new LinkedHashMap<>();
40+
private final Map<String, CteDefinition> cteDefinitions = new LinkedHashMap<>();
4241

43-
public CteDefinition getDefinitionByItemUid(String itemUid) {
44-
return cteDefinitions.get(itemUid);
45-
}
42+
public CteDefinition getDefinitionByItemUid(String itemUid) {
43+
return cteDefinitions.get(itemUid);
44+
}
4645

47-
/**
48-
* Adds a CTE definition to the context.
49-
*
50-
* @param programStage The program stage
51-
* @param item The query item
52-
* @param cteDefinition The CTE definition (the SQL query)
53-
* @param offset The calculated offset
54-
* @param isRowContext Whether the CTE is a row context
55-
*/
56-
public void addCTE(
57-
ProgramStage programStage,
58-
QueryItem item,
59-
String cteDefinition,
60-
int offset,
61-
boolean isRowContext) {
62-
String key = computeKey(item);
63-
if (cteDefinitions.containsKey(key)) {
64-
cteDefinitions.get(key).getOffsets().add(offset);
65-
} else {
66-
var cteDef = new CteDefinition(programStage.getUid(), item.getItemId(), cteDefinition, offset, isRowContext);
67-
cteDefinitions.put(key, cteDef);
68-
}
46+
/**
47+
* Adds a CTE definition to the context.
48+
*
49+
* @param programStage The program stage
50+
* @param item The query item
51+
* @param cteDefinition The CTE definition (the SQL query)
52+
* @param offset The calculated offset
53+
* @param isRowContext Whether the CTE is a row context
54+
*/
55+
public void addCTE(
56+
ProgramStage programStage,
57+
QueryItem item,
58+
String cteDefinition,
59+
int offset,
60+
boolean isRowContext) {
61+
String key = computeKey(item);
62+
if (cteDefinitions.containsKey(key)) {
63+
cteDefinitions.get(key).getOffsets().add(offset);
64+
} else {
65+
var cteDef =
66+
new CteDefinition(
67+
programStage.getUid(), item.getItemId(), cteDefinition, offset, isRowContext);
68+
cteDefinitions.put(key, cteDef);
6969
}
70+
}
7071

71-
public void addExistsCTE(
72-
ProgramStage programStage,
73-
QueryItem item,
74-
String cteDefinition) {
75-
var cteDef = new CteDefinition(programStage.getUid(), item.getItemId(), cteDefinition, -999, false)
76-
.setExists(true);
77-
cteDefinitions.put(
78-
programStage.getUid(),
79-
cteDef);
80-
}
72+
public void addExistsCTE(ProgramStage programStage, QueryItem item, String cteDefinition) {
73+
var cteDef =
74+
new CteDefinition(programStage.getUid(), item.getItemId(), cteDefinition, -999, false)
75+
.setExists(true);
76+
cteDefinitions.put(programStage.getUid(), cteDef);
77+
}
8178

82-
/**
83-
* Adds a CTE definition to the context.
84-
*
85-
* @param programIndicator The program indicator
86-
* @param cteDefinition The CTE definition (the SQL query)
87-
*/
88-
public void addProgramIndicatorCTE(ProgramIndicator programIndicator, String cteDefinition) {
89-
cteDefinitions.put(
90-
programIndicator.getUid(),
91-
new CteDefinition(programIndicator.getUid(), cteDefinition));
92-
}
79+
/**
80+
* Adds a CTE definition to the context.
81+
*
82+
* @param programIndicator The program indicator
83+
* @param cteDefinition The CTE definition (the SQL query)
84+
*/
85+
public void addProgramIndicatorCTE(ProgramIndicator programIndicator, String cteDefinition) {
86+
cteDefinitions.put(
87+
programIndicator.getUid(), new CteDefinition(programIndicator.getUid(), cteDefinition));
88+
}
9389

94-
public void addCTEFilter(QueryItem item, String ctedefinition) {
95-
String key = computeKey(item);
96-
if (!cteDefinitions.containsKey(key)) {
97-
ProgramStage programStage = item.getProgramStage();
98-
cteDefinitions.put(key, new CteDefinition(item.getItemId(),
99-
programStage == null ? null : programStage.getUid(),
100-
ctedefinition,
101-
true));
102-
}
90+
public void addCTEFilter(QueryItem item, String ctedefinition) {
91+
String key = computeKey(item);
92+
if (!cteDefinitions.containsKey(key)) {
93+
ProgramStage programStage = item.getProgramStage();
94+
cteDefinitions.put(
95+
key,
96+
new CteDefinition(
97+
item.getItemId(),
98+
programStage == null ? null : programStage.getUid(),
99+
ctedefinition,
100+
true));
103101
}
102+
}
104103

105-
public String getCTEDefinition() {
106-
if (cteDefinitions.isEmpty()) {
107-
return "";
108-
}
109-
110-
StringBuilder sb = new StringBuilder("WITH ");
111-
boolean first = true;
112-
for (Map.Entry<String, CteDefinition> entry : cteDefinitions.entrySet()) {
113-
if (!first) {
114-
sb.append(", ");
115-
}
116-
CteDefinition cteDef = entry.getValue();
117-
sb.append(cteDef.asCteName(entry.getKey()))
118-
.append(" AS (")
119-
.append(entry.getValue().getCteDefinition())
120-
.append(")");
121-
first = false;
122-
}
123-
return sb.toString();
104+
public String getCTEDefinition() {
105+
if (cteDefinitions.isEmpty()) {
106+
return "";
124107
}
125108

126-
// Rename to item uid
127-
public Set<String> getCTENames() {
128-
return cteDefinitions.keySet();
109+
StringBuilder sb = new StringBuilder("WITH ");
110+
boolean first = true;
111+
for (Map.Entry<String, CteDefinition> entry : cteDefinitions.entrySet()) {
112+
if (!first) {
113+
sb.append(", ");
114+
}
115+
CteDefinition cteDef = entry.getValue();
116+
sb.append(cteDef.asCteName(entry.getKey()))
117+
.append(" AS (")
118+
.append(entry.getValue().getCteDefinition())
119+
.append(")");
120+
first = false;
129121
}
122+
return sb.toString();
123+
}
130124

131-
public boolean containsCte(String cteName) {
132-
return cteDefinitions.containsKey(cteName);
133-
}
125+
// Rename to item uid
126+
public Set<String> getCTENames() {
127+
return cteDefinitions.keySet();
128+
}
134129

130+
public boolean containsCte(String cteName) {
131+
return cteDefinitions.containsKey(cteName);
132+
}
135133
}

dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/common/CTEUtils.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,7 @@ public class CTEUtils {
3636
public static String computeKey(QueryItem queryItem) {
3737

3838
if (queryItem.hasProgramStage()) {
39-
return "%s_%s".formatted(
40-
queryItem.getProgramStage().getUid(),
41-
queryItem.getItemId());
39+
return "%s_%s".formatted(queryItem.getProgramStage().getUid(), queryItem.getItemId());
4240
}
4341
// TODO continue with the rest of the method
4442
return "";

0 commit comments

Comments
 (0)