Skip to content

Commit 1fd45ac

Browse files
committed
check suite implementation
Signed-off-by: dbulahov <bulahovdenis@gmail.com>
1 parent 56b5a35 commit 1fd45ac

File tree

50 files changed

+9486
-0
lines changed
  • instance/emf
    • complex/school/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/complex/school
    • tutorial
      • action/drillthrough/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/action/drillthrough
      • aggregation
        • aggexclude/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/aggregation/aggexclude
        • aggregatetables/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/aggregation/aggregatetables
      • cube
        • measure.aggregator.nth/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/cube/measure/aggregator/nth
        • measure.aggregator.percentile/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/cube/measure/aggregator/percentile
        • measure.aggregator.textagg/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/cube/measure/aggregator/textagg
        • measure.datatype/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/cube/measure/datatype
        • measure.format/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/cube/measure/format
        • measure.group/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/cube/measure/group
        • measure.multiple/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/cube/measure/multiple
      • database
        • column/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/database/column
        • expressioncolumn/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/database/expressioncolumn
        • inlinetable/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/database/inlinetable
        • intro/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/database/intro
        • schema/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/database/schema
        • sqlview/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/database/sqlview
        • table/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/database/table
      • dimension
        • optimisationwithlevelattribute/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/dimension/optimisationwithlevelattribute
        • timedimension/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/dimension/timedimension
      • formatter/cell/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/formatter/cell
      • function/logic/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/function/logic
      • hierarchy
        • inlinetable/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/hierarchy/inlinetable
        • uniquekeylevelname/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/hierarchy/uniquekeylevelname
        • view/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/hierarchy/view
      • kpi
      • level
        • expressions/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/level/expressions
        • ifblanknamemultiple/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/level/ifblanknamemultiple
        • ifblankname/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/level/ifblankname
        • ifparentsname/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/level/ifparentsname
        • smallintasbooleantype/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/level/smallintasbooleantype
        • unique/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/level/unique
      • measure
        • expression/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/measure/expression
        • inlinetablewithphysical/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/measure/inlinetablewithphysical
        • inlinetable/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/measure/inlinetable
      • member
        • identifier/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/member/identifier
        • property.geo/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/member/property/geo
        • property.intro/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/member/property/intro
      • namedset/all/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/namedset
      • parentchild
        • minimal/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/parentchild/minimal
        • nullparent/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/parentchild/nullparent
        • parentasleaf/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/parentchild/parentasleaf
      • writeback
        • inlinetable/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/writeback/inlinetable
        • table/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/writeback/table
        • view/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/writeback/view
        • withoutdimension/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/tutorial/writeback/withoutdimension

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+9486
-0
lines changed

instance/emf/complex/school/src/main/java/org/eclipse/daanse/rolap/mapping/instance/emf/complex/school/CheckSuiteSupplier.java

Lines changed: 482 additions & 0 deletions
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,221 @@
1+
/*
2+
* Copyright (c) 2025 Contributors to the Eclipse Foundation.
3+
*
4+
* This program and the accompanying materials are made
5+
* available under the terms of the Eclipse Public License 2.0
6+
* which is available at https://www.eclipse.org/legal/epl-2.0/
7+
*
8+
* SPDX-License-Identifier: EPL-2.0
9+
*
10+
* Contributors:
11+
*
12+
*/
13+
package org.eclipse.daanse.rolap.mapping.instance.emf.tutorial.action.drillthrough;
14+
15+
import org.eclipse.daanse.olap.check.model.check.CatalogCheck;
16+
import org.eclipse.daanse.olap.check.model.check.CellValueCheck;
17+
import org.eclipse.daanse.olap.check.model.check.CubeCheck;
18+
import org.eclipse.daanse.olap.check.model.check.DatabaseColumnAttribute;
19+
import org.eclipse.daanse.olap.check.model.check.DatabaseColumnAttributeCheck;
20+
import org.eclipse.daanse.olap.check.model.check.DatabaseColumnCheck;
21+
import org.eclipse.daanse.olap.check.model.check.DatabaseSchemaCheck;
22+
import org.eclipse.daanse.olap.check.model.check.DatabaseTableCheck;
23+
import org.eclipse.daanse.olap.check.model.check.MeasureCheck;
24+
import org.eclipse.daanse.olap.check.model.check.OlapCheckFactory;
25+
import org.eclipse.daanse.olap.check.model.check.OlapCheckSuite;
26+
import org.eclipse.daanse.olap.check.model.check.OlapConnectionCheck;
27+
import org.eclipse.daanse.olap.check.model.check.QueryCheck;
28+
import org.eclipse.daanse.olap.check.model.check.QueryLanguage;
29+
import org.eclipse.daanse.olap.check.runtime.api.OlapCheckSuiteSupplier;
30+
import org.osgi.service.component.annotations.Component;
31+
32+
/**
33+
* Provides a check suite for the action drillthrough tutorial.
34+
* Checks that the catalog, cube, measure, and drillthrough actions exist and are accessible.
35+
*/
36+
@Component(service = OlapCheckSuiteSupplier.class)
37+
public class CheckSuiteSupplier implements OlapCheckSuiteSupplier {
38+
39+
private static final OlapCheckFactory factory = OlapCheckFactory.eINSTANCE;
40+
41+
@Override
42+
public OlapCheckSuite get() {
43+
// Create measure check
44+
MeasureCheck measureCheck = factory.createMeasureCheck();
45+
measureCheck.setName("MeasureCheck-Measure1");
46+
measureCheck.setDescription("Check that measure 'Measure1' exists");
47+
measureCheck.setMeasureName("Measure1");
48+
49+
// Create cube check with measure check
50+
CubeCheck cubeCheck = factory.createCubeCheck();
51+
cubeCheck.setName("CubeCheck-Cube");
52+
cubeCheck.setDescription("Check that cube 'Cube' exists");
53+
cubeCheck.setCubeName("Cube");
54+
cubeCheck.getMeasureChecks().add(measureCheck);
55+
56+
// Create query check
57+
CellValueCheck queryCheckCellValueCheck = factory.createCellValueCheck();
58+
queryCheckCellValueCheck.setName("[Measures].[Measure1]");
59+
60+
QueryCheck queryCheck = factory.createQueryCheck();
61+
queryCheck.setName("Measure Query Check");
62+
queryCheck.setDescription("Verify MDX query returns Measure data");
63+
queryCheck.setQuery("SELECT FROM [Cube] WHERE ([Measures].[Measure1])");
64+
queryCheck.setQueryLanguage(QueryLanguage.MDX);
65+
queryCheck.setExpectedColumnCount(1);
66+
queryCheck.getCellChecks().add(queryCheckCellValueCheck);
67+
queryCheck.setEnabled(true);
68+
69+
// Create database column checks for Fact table
70+
DatabaseColumnAttributeCheck columnKeyTypeCheck = factory.createDatabaseColumnAttributeCheck();
71+
columnKeyTypeCheck.setAttributeType(DatabaseColumnAttribute.TYPE);
72+
columnKeyTypeCheck.setExpectedValue("VARCHAR");
73+
74+
DatabaseColumnCheck columnCheckKey = factory.createDatabaseColumnCheck();
75+
columnCheckKey.setName("Database Column Check KEY");
76+
columnCheckKey.setColumnName("KEY");
77+
columnCheckKey.getColumnAttributeChecks().add(columnKeyTypeCheck);
78+
79+
DatabaseColumnAttributeCheck columnValueTypeCheck = factory.createDatabaseColumnAttributeCheck();
80+
columnValueTypeCheck.setAttributeType(DatabaseColumnAttribute.TYPE);
81+
columnValueTypeCheck.setExpectedValue("INTEGER");
82+
83+
DatabaseColumnCheck columnCheckValue = factory.createDatabaseColumnCheck();
84+
columnCheckValue.setName("Database Column Check VALUE");
85+
columnCheckValue.setColumnName("VALUE");
86+
columnCheckValue.getColumnAttributeChecks().add(columnValueTypeCheck);
87+
88+
DatabaseTableCheck databaseTableCheckFact = factory.createDatabaseTableCheck();
89+
databaseTableCheckFact.setName("Database Table Fact Check");
90+
databaseTableCheckFact.setTableName("Fact");
91+
databaseTableCheckFact.getColumnChecks().add(columnCheckKey);
92+
databaseTableCheckFact.getColumnChecks().add(columnCheckValue);
93+
94+
// Create database column checks for H1_L1 table
95+
DatabaseColumnAttributeCheck columnH1L1KeyTypeCheck = factory.createDatabaseColumnAttributeCheck();
96+
columnH1L1KeyTypeCheck.setAttributeType(DatabaseColumnAttribute.TYPE);
97+
columnH1L1KeyTypeCheck.setExpectedValue("INTEGER");
98+
99+
DatabaseColumnCheck columnCheckH1L1Key = factory.createDatabaseColumnCheck();
100+
columnCheckH1L1Key.setName("Database Column Check KEY (H1_L1)");
101+
columnCheckH1L1Key.setColumnName("KEY");
102+
columnCheckH1L1Key.getColumnAttributeChecks().add(columnH1L1KeyTypeCheck);
103+
104+
DatabaseColumnAttributeCheck columnH1L1NameTypeCheck = factory.createDatabaseColumnAttributeCheck();
105+
columnH1L1NameTypeCheck.setAttributeType(DatabaseColumnAttribute.TYPE);
106+
columnH1L1NameTypeCheck.setExpectedValue("VARCHAR");
107+
108+
DatabaseColumnCheck columnCheckH1L1Name = factory.createDatabaseColumnCheck();
109+
columnCheckH1L1Name.setName("Database Column Check NAME (H1_L1)");
110+
columnCheckH1L1Name.setColumnName("NAME");
111+
columnCheckH1L1Name.getColumnAttributeChecks().add(columnH1L1NameTypeCheck);
112+
113+
DatabaseTableCheck databaseTableCheckH1L1 = factory.createDatabaseTableCheck();
114+
databaseTableCheckH1L1.setName("Database Table H1_L1 Check");
115+
databaseTableCheckH1L1.setTableName("H1_L1");
116+
databaseTableCheckH1L1.getColumnChecks().add(columnCheckH1L1Key);
117+
databaseTableCheckH1L1.getColumnChecks().add(columnCheckH1L1Name);
118+
119+
// Create database column checks for H2_L1 table
120+
DatabaseColumnAttributeCheck columnH2L1KeyTypeCheck = factory.createDatabaseColumnAttributeCheck();
121+
columnH2L1KeyTypeCheck.setAttributeType(DatabaseColumnAttribute.TYPE);
122+
columnH2L1KeyTypeCheck.setExpectedValue("INTEGER");
123+
124+
DatabaseColumnCheck columnCheckH2L1Key = factory.createDatabaseColumnCheck();
125+
columnCheckH2L1Key.setName("Database Column Check KEY (H2_L1)");
126+
columnCheckH2L1Key.setColumnName("KEY");
127+
columnCheckH2L1Key.getColumnAttributeChecks().add(columnH2L1KeyTypeCheck);
128+
129+
DatabaseColumnAttributeCheck columnH2L1NameTypeCheck = factory.createDatabaseColumnAttributeCheck();
130+
columnH2L1NameTypeCheck.setAttributeType(DatabaseColumnAttribute.TYPE);
131+
columnH2L1NameTypeCheck.setExpectedValue("VARCHAR");
132+
133+
DatabaseColumnCheck columnCheckH2L1Name = factory.createDatabaseColumnCheck();
134+
columnCheckH2L1Name.setName("Database Column Check NAME (H2_L1)");
135+
columnCheckH2L1Name.setColumnName("NAME");
136+
columnCheckH2L1Name.getColumnAttributeChecks().add(columnH2L1NameTypeCheck);
137+
138+
DatabaseTableCheck databaseTableCheckH2L1 = factory.createDatabaseTableCheck();
139+
databaseTableCheckH2L1.setName("Database Table H2_L1 Check");
140+
databaseTableCheckH2L1.setTableName("H2_L1");
141+
databaseTableCheckH2L1.getColumnChecks().add(columnCheckH2L1Key);
142+
databaseTableCheckH2L1.getColumnChecks().add(columnCheckH2L1Name);
143+
144+
// Create database column checks for HX_L2 table
145+
DatabaseColumnAttributeCheck columnHXL2KeyTypeCheck = factory.createDatabaseColumnAttributeCheck();
146+
columnHXL2KeyTypeCheck.setAttributeType(DatabaseColumnAttribute.TYPE);
147+
columnHXL2KeyTypeCheck.setExpectedValue("INTEGER");
148+
149+
DatabaseColumnCheck columnCheckHXL2Key = factory.createDatabaseColumnCheck();
150+
columnCheckHXL2Key.setName("Database Column Check KEY (HX_L2)");
151+
columnCheckHXL2Key.setColumnName("KEY");
152+
columnCheckHXL2Key.getColumnAttributeChecks().add(columnHXL2KeyTypeCheck);
153+
154+
DatabaseColumnAttributeCheck columnHXL2NameTypeCheck = factory.createDatabaseColumnAttributeCheck();
155+
columnHXL2NameTypeCheck.setAttributeType(DatabaseColumnAttribute.TYPE);
156+
columnHXL2NameTypeCheck.setExpectedValue("VARCHAR");
157+
158+
DatabaseColumnCheck columnCheckHXL2Name = factory.createDatabaseColumnCheck();
159+
columnCheckHXL2Name.setName("Database Column Check NAME (HX_L2)");
160+
columnCheckHXL2Name.setColumnName("NAME");
161+
columnCheckHXL2Name.getColumnAttributeChecks().add(columnHXL2NameTypeCheck);
162+
163+
DatabaseColumnAttributeCheck columnH1L1KeyFKTypeCheck = factory.createDatabaseColumnAttributeCheck();
164+
columnH1L1KeyFKTypeCheck.setAttributeType(DatabaseColumnAttribute.TYPE);
165+
columnH1L1KeyFKTypeCheck.setExpectedValue("INTEGER");
166+
167+
DatabaseColumnCheck columnCheckH1L1KeyFK = factory.createDatabaseColumnCheck();
168+
columnCheckH1L1KeyFK.setName("Database Column Check H1L1_KEY (HX_L2)");
169+
columnCheckH1L1KeyFK.setColumnName("H1L1_KEY");
170+
columnCheckH1L1KeyFK.getColumnAttributeChecks().add(columnH1L1KeyFKTypeCheck);
171+
172+
DatabaseColumnAttributeCheck columnH2L1KeyFKTypeCheck = factory.createDatabaseColumnAttributeCheck();
173+
columnH2L1KeyFKTypeCheck.setAttributeType(DatabaseColumnAttribute.TYPE);
174+
columnH2L1KeyFKTypeCheck.setExpectedValue("INTEGER");
175+
176+
DatabaseColumnCheck columnCheckH2L1KeyFK = factory.createDatabaseColumnCheck();
177+
columnCheckH2L1KeyFK.setName("Database Column Check H2L1_KEY (HX_L2)");
178+
columnCheckH2L1KeyFK.setColumnName("H2L1_KEY");
179+
columnCheckH2L1KeyFK.getColumnAttributeChecks().add(columnH2L1KeyFKTypeCheck);
180+
181+
DatabaseTableCheck databaseTableCheckHXL2 = factory.createDatabaseTableCheck();
182+
databaseTableCheckHXL2.setName("Database Table HX_L2 Check");
183+
databaseTableCheckHXL2.setTableName("HX_L2");
184+
databaseTableCheckHXL2.getColumnChecks().add(columnCheckHXL2Key);
185+
databaseTableCheckHXL2.getColumnChecks().add(columnCheckHXL2Name);
186+
databaseTableCheckHXL2.getColumnChecks().add(columnCheckH1L1KeyFK);
187+
databaseTableCheckHXL2.getColumnChecks().add(columnCheckH2L1KeyFK);
188+
189+
// Create Database Schema Check
190+
DatabaseSchemaCheck databaseSchemaCheck = factory.createDatabaseSchemaCheck();
191+
databaseSchemaCheck.setName("Database Schema Check");
192+
databaseSchemaCheck.setDescription("Database Schema Check for Daanse Tutorial - Action Drillthrough");
193+
databaseSchemaCheck.getTableChecks().add(databaseTableCheckFact);
194+
databaseSchemaCheck.getTableChecks().add(databaseTableCheckH1L1);
195+
databaseSchemaCheck.getTableChecks().add(databaseTableCheckH2L1);
196+
databaseSchemaCheck.getTableChecks().add(databaseTableCheckHXL2);
197+
198+
// Create catalog check with cube check
199+
CatalogCheck catalogCheck = factory.createCatalogCheck();
200+
catalogCheck.setName("Daanse Tutorial - Action Drillthrough");
201+
catalogCheck.setDescription("Check that catalog 'Daanse Tutorial - Action Drillthrough' exists with its cubes");
202+
catalogCheck.setCatalogName("Daanse Tutorial - Action Drillthrough");
203+
catalogCheck.getCubeChecks().add(cubeCheck);
204+
catalogCheck.getQueryChecks().add(queryCheck);
205+
catalogCheck.getDatabaseSchemaChecks().add(databaseSchemaCheck);
206+
207+
// Create connection check (uses default connection)
208+
OlapConnectionCheck connectionCheck = factory.createOlapConnectionCheck();
209+
connectionCheck.setName("Connection Check Daanse Tutorial - Action Drillthrough");
210+
connectionCheck.setDescription("Connection check for Daanse Tutorial - Action Drillthrough");
211+
connectionCheck.getCatalogChecks().add(catalogCheck);
212+
213+
// Create suite containing the connection check
214+
OlapCheckSuite suite = factory.createOlapCheckSuite();
215+
suite.setName("Daanse Tutorial - Action Drillthrough");
216+
suite.setDescription("Check suite for the Daanse Tutorial - Action Drillthrough");
217+
suite.getConnectionChecks().add(connectionCheck);
218+
219+
return suite;
220+
}
221+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
/*
2+
* Copyright (c) 2025 Contributors to the Eclipse Foundation.
3+
*
4+
* This program and the accompanying materials are made
5+
* available under the terms of the Eclipse Public License 2.0
6+
* which is available at https://www.eclipse.org/legal/epl-2.0/
7+
*
8+
* SPDX-License-Identifier: EPL-2.0
9+
*
10+
* Contributors:
11+
*
12+
*/
13+
package org.eclipse.daanse.rolap.mapping.instance.emf.tutorial.aggregation.aggexclude;
14+
15+
import org.eclipse.daanse.olap.check.model.check.CatalogCheck;
16+
import org.eclipse.daanse.olap.check.model.check.CellValueCheck;
17+
import org.eclipse.daanse.olap.check.model.check.CubeCheck;
18+
import org.eclipse.daanse.olap.check.model.check.DatabaseColumnAttribute;
19+
import org.eclipse.daanse.olap.check.model.check.DatabaseColumnAttributeCheck;
20+
import org.eclipse.daanse.olap.check.model.check.DatabaseColumnCheck;
21+
import org.eclipse.daanse.olap.check.model.check.DatabaseSchemaCheck;
22+
import org.eclipse.daanse.olap.check.model.check.DatabaseTableCheck;
23+
import org.eclipse.daanse.olap.check.model.check.MeasureCheck;
24+
import org.eclipse.daanse.olap.check.model.check.OlapCheckFactory;
25+
import org.eclipse.daanse.olap.check.model.check.OlapCheckSuite;
26+
import org.eclipse.daanse.olap.check.model.check.OlapConnectionCheck;
27+
import org.eclipse.daanse.olap.check.model.check.QueryCheck;
28+
import org.eclipse.daanse.olap.check.model.check.QueryLanguage;
29+
import org.eclipse.daanse.olap.check.runtime.api.OlapCheckSuiteSupplier;
30+
import org.osgi.service.component.annotations.Component;
31+
32+
/**
33+
* Provides a check suite for the aggregation exclude tutorial.
34+
* Checks that the catalog, cube, measure, and aggregation exclude configuration exist and are accessible.
35+
*/
36+
@Component(service = OlapCheckSuiteSupplier.class)
37+
public class CheckSuiteSupplier implements OlapCheckSuiteSupplier {
38+
39+
private static final OlapCheckFactory factory = OlapCheckFactory.eINSTANCE;
40+
41+
@Override
42+
public OlapCheckSuite get() {
43+
// Create measure check
44+
MeasureCheck measureCheck = factory.createMeasureCheck();
45+
measureCheck.setName("MeasureCheck-Measure");
46+
measureCheck.setDescription("Check that measure 'Measure' exists");
47+
measureCheck.setMeasureName("Measure");
48+
49+
// Create cube check with measure check
50+
CubeCheck cubeCheck = factory.createCubeCheck();
51+
cubeCheck.setName("CubeCheck-Cube");
52+
cubeCheck.setDescription("Check that cube 'Cube' exists");
53+
cubeCheck.setCubeName("Cube");
54+
cubeCheck.getMeasureChecks().add(measureCheck);
55+
56+
// Create query check
57+
CellValueCheck queryCheckCellValueCheck = factory.createCellValueCheck();
58+
queryCheckCellValueCheck.setName("[Measures].[Measure]");
59+
60+
QueryCheck queryCheck = factory.createQueryCheck();
61+
queryCheck.setName("Measure Query Check");
62+
queryCheck.setDescription("Verify MDX query returns Measure data");
63+
queryCheck.setQuery("SELECT FROM [Cube] WHERE ([Measures].[Measure])");
64+
queryCheck.setQueryLanguage(QueryLanguage.MDX);
65+
queryCheck.setExpectedColumnCount(1);
66+
queryCheck.getCellChecks().add(queryCheckCellValueCheck);
67+
queryCheck.setEnabled(true);
68+
69+
// Create database column checks for Fact table
70+
DatabaseColumnAttributeCheck columnKeyTypeCheck = factory.createDatabaseColumnAttributeCheck();
71+
columnKeyTypeCheck.setAttributeType(DatabaseColumnAttribute.TYPE);
72+
columnKeyTypeCheck.setExpectedValue("VARCHAR");
73+
74+
DatabaseColumnCheck columnCheckKey = factory.createDatabaseColumnCheck();
75+
columnCheckKey.setName("Database Column Check KEY");
76+
columnCheckKey.setColumnName("KEY");
77+
columnCheckKey.getColumnAttributeChecks().add(columnKeyTypeCheck);
78+
79+
DatabaseColumnAttributeCheck columnValueTypeCheck = factory.createDatabaseColumnAttributeCheck();
80+
columnValueTypeCheck.setAttributeType(DatabaseColumnAttribute.TYPE);
81+
columnValueTypeCheck.setExpectedValue("INTEGER");
82+
83+
DatabaseColumnCheck columnCheckValue = factory.createDatabaseColumnCheck();
84+
columnCheckValue.setName("Database Column Check VALUE");
85+
columnCheckValue.setColumnName("VALUE");
86+
columnCheckValue.getColumnAttributeChecks().add(columnValueTypeCheck);
87+
88+
DatabaseTableCheck databaseTableCheckFact = factory.createDatabaseTableCheck();
89+
databaseTableCheckFact.setName("Database Table Fact Check");
90+
databaseTableCheckFact.setTableName("Fact");
91+
databaseTableCheckFact.getColumnChecks().add(columnCheckKey);
92+
databaseTableCheckFact.getColumnChecks().add(columnCheckValue);
93+
94+
// Create database column checks for agg_01_Fact table
95+
DatabaseColumnAttributeCheck columnAggKeyTypeCheck = factory.createDatabaseColumnAttributeCheck();
96+
columnAggKeyTypeCheck.setAttributeType(DatabaseColumnAttribute.TYPE);
97+
columnAggKeyTypeCheck.setExpectedValue("VARCHAR");
98+
99+
DatabaseColumnCheck columnCheckAggKey = factory.createDatabaseColumnCheck();
100+
columnCheckAggKey.setName("Database Column Check KEY (agg_01_Fact)");
101+
columnCheckAggKey.setColumnName("KEY");
102+
columnCheckAggKey.getColumnAttributeChecks().add(columnAggKeyTypeCheck);
103+
104+
DatabaseTableCheck databaseTableCheckAgg = factory.createDatabaseTableCheck();
105+
databaseTableCheckAgg.setName("Database Table agg_01_Fact Check");
106+
databaseTableCheckAgg.setTableName("agg_01_Fact");
107+
databaseTableCheckAgg.getColumnChecks().add(columnCheckAggKey);
108+
109+
// Create Database Schema Check
110+
DatabaseSchemaCheck databaseSchemaCheck = factory.createDatabaseSchemaCheck();
111+
databaseSchemaCheck.setName("Database Schema Check");
112+
databaseSchemaCheck.setDescription("Database Schema Check for Daanse Tutorial - Aggregation Agg Exclude");
113+
databaseSchemaCheck.getTableChecks().add(databaseTableCheckFact);
114+
databaseSchemaCheck.getTableChecks().add(databaseTableCheckAgg);
115+
116+
// Create catalog check with cube check
117+
CatalogCheck catalogCheck = factory.createCatalogCheck();
118+
catalogCheck.setName("Daanse Tutorial - Aggregation Agg Exclude");
119+
catalogCheck.setDescription("Check that catalog 'Daanse Tutorial - Aggregation Agg Exclude' exists with its cubes");
120+
catalogCheck.setCatalogName("Daanse Tutorial - Aggregation Agg Exclude");
121+
catalogCheck.getCubeChecks().add(cubeCheck);
122+
catalogCheck.getQueryChecks().add(queryCheck);
123+
catalogCheck.getDatabaseSchemaChecks().add(databaseSchemaCheck);
124+
125+
// Create connection check (uses default connection)
126+
OlapConnectionCheck connectionCheck = factory.createOlapConnectionCheck();
127+
connectionCheck.setName("Connection Check Daanse Tutorial - Aggregation Agg Exclude");
128+
connectionCheck.setDescription("Connection check for Daanse Tutorial - Aggregation Agg Exclude");
129+
connectionCheck.getCatalogChecks().add(catalogCheck);
130+
131+
// Create suite containing the connection check
132+
OlapCheckSuite suite = factory.createOlapCheckSuite();
133+
suite.setName("Daanse Tutorial - Aggregation Agg Exclude");
134+
suite.setDescription("Check suite for the Daanse Tutorial - Aggregation Agg Exclude");
135+
suite.getConnectionChecks().add(connectionCheck);
136+
137+
return suite;
138+
}
139+
}

0 commit comments

Comments
 (0)