Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,8 @@
<eLiterals name="SQL" value="1"/>
<eLiterals name="DAX" value="2"/>
</eClassifiers>
<!-- Custom Java time types for modern timestamp handling -->
<eClassifiers xsi:type="ecore:EDataType" name="Instant" instanceClassName="java.time.Instant"/>
<eClassifiers xsi:type="ecore:EClass" name="OlapCheckSuite">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Expand Down Expand Up @@ -646,8 +648,8 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="success" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="startTime" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="endTime" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="startedAt" eType="#//Instant"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="endedAt" eType="#//Instant"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="totalExecutionTimeMs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="successCount" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="failureCount" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
Expand All @@ -662,8 +664,8 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="checkDescription" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="status" eType="#//CheckStatus"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="executionTimeMs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="startTime" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="endTime" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="startedAt" eType="#//Instant"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="endedAt" eType="#//Instant"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="sourceCheck" eType="#//OlapCheck"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CheckSuccess" eSuperTypes="#//CheckResult">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,7 @@
<genEnumLiterals ecoreEnumLiteral="org.eclipse.daanse.olap.check.ecore#//QueryLanguage/SQL"/>
<genEnumLiterals ecoreEnumLiteral="org.eclipse.daanse.olap.check.ecore#//QueryLanguage/DAX"/>
</genEnums>
<genDataTypes ecoreDataType="org.eclipse.daanse.olap.check.ecore#//Instant"/>
<genClasses ecoreClass="org.eclipse.daanse.olap.check.ecore#//OlapCheckSuite">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//OlapCheckSuite/name"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//OlapCheckSuite/description"/>
Expand Down Expand Up @@ -558,8 +559,8 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckExecutionResult/name"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckExecutionResult/description"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckExecutionResult/success"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckExecutionResult/startTime"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckExecutionResult/endTime"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckExecutionResult/startedAt"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckExecutionResult/endedAt"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckExecutionResult/totalExecutionTimeMs"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckExecutionResult/successCount"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckExecutionResult/failureCount"/>
Expand All @@ -572,8 +573,8 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckResult/checkDescription"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckResult/status"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckResult/executionTimeMs"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckResult/startTime"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckResult/endTime"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckResult/startedAt"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.daanse.olap.check.ecore#//CheckResult/endedAt"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference org.eclipse.daanse.olap.check.ecore#//CheckResult/sourceCheck"/>
</genClasses>
<genClasses ecoreClass="org.eclipse.daanse.olap.check.ecore#//CheckSuccess">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
*/
package org.eclipse.daanse.olap.check.runtime.impl;

import java.time.Instant;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;

Expand Down Expand Up @@ -64,7 +64,7 @@ private CheckExecutionResult execute(OlapConnectionCheck connectionCheck, Contex
CheckExecutionResult result = factory.createCheckExecutionResult();
result.setName(connectionCheck.getName());
result.setDescription(connectionCheck.getDescription());
result.setStartTime(new Date());
result.setStartedAt(Instant.now());
result.setSourceConnectionCheck(connectionCheck);

// Create connection from ConnectionConfig
Expand All @@ -73,7 +73,7 @@ private CheckExecutionResult execute(OlapConnectionCheck connectionCheck, Contex
connection = createConnection(connectionCheck.getConnectionConfig(), context);
} catch (Exception e) {
// Return failure if connection cannot be created
result.setEndTime(new Date());
result.setEndedAt(Instant.now());
result.setSuccess(false);
result.setFailureCount(1);

Expand Down Expand Up @@ -113,8 +113,9 @@ private CheckExecutionResult execute(OlapConnectionCheck connectionCheck, Contex
}
}

result.setEndTime(new Date());
result.setTotalExecutionTimeMs(result.getEndTime().getTime() - result.getStartTime().getTime());
Instant endedAt = Instant.now();
result.setEndedAt(endedAt);
result.setTotalExecutionTimeMs(endedAt.toEpochMilli() - result.getStartedAt().toEpochMilli());
result.setSuccessCount(successCount);
result.setFailureCount(failureCount);
result.setSkippedCount(skippedCount);
Expand Down Expand Up @@ -146,26 +147,33 @@ private Connection createConnection(ConnectionConfig config, Context<?> context)
private int countSuccesses(CheckResult result) {
int count = result.getStatus() == CheckStatus.SUCCESS ? 1 : 0;

if (result instanceof CatalogCheckResult catalogResult) {
for (CubeCheckResult cubeResult : catalogResult.getCubeResults()) {
count += countSuccesses(cubeResult);
switch (result) {
case CatalogCheckResult catalogResult -> {
for (CubeCheckResult cubeResult : catalogResult.getCubeResults()) {
count += countSuccesses(cubeResult);
}
}
} else if (result instanceof CubeCheckResult cubeResult) {
for (DimensionCheckResult dimResult : cubeResult.getDimensionResults()) {
count += countSuccesses(dimResult);
case CubeCheckResult cubeResult -> {
for (DimensionCheckResult dimResult : cubeResult.getDimensionResults()) {
count += countSuccesses(dimResult);
}
}
} else if (result instanceof DimensionCheckResult dimResult) {
for (HierarchyCheckResult hierResult : dimResult.getHierarchyResults()) {
count += countSuccesses(hierResult);
case DimensionCheckResult dimResult -> {
for (HierarchyCheckResult hierResult : dimResult.getHierarchyResults()) {
count += countSuccesses(hierResult);
}
}
} else if (result instanceof HierarchyCheckResult hierResult) {
for (LevelCheckResult levelResult : hierResult.getLevelResults()) {
count += countSuccesses(levelResult);
case HierarchyCheckResult hierResult -> {
for (LevelCheckResult levelResult : hierResult.getLevelResults()) {
count += countSuccesses(levelResult);
}
}
} else if (result instanceof LevelCheckResult levelResult) {
for (MemberCheckResult memberResult : levelResult.getMemberResults()) {
count += countSuccesses(memberResult);
case LevelCheckResult levelResult -> {
for (MemberCheckResult memberResult : levelResult.getMemberResults()) {
count += countSuccesses(memberResult);
}
}
default -> {}
}

return count;
Expand All @@ -174,26 +182,33 @@ private int countSuccesses(CheckResult result) {
private int countFailures(CheckResult result) {
int count = result.getStatus() == CheckStatus.FAILURE ? 1 : 0;

if (result instanceof CatalogCheckResult catalogResult) {
for (CubeCheckResult cubeResult : catalogResult.getCubeResults()) {
count += countFailures(cubeResult);
switch (result) {
case CatalogCheckResult catalogResult -> {
for (CubeCheckResult cubeResult : catalogResult.getCubeResults()) {
count += countFailures(cubeResult);
}
}
} else if (result instanceof CubeCheckResult cubeResult) {
for (DimensionCheckResult dimResult : cubeResult.getDimensionResults()) {
count += countFailures(dimResult);
case CubeCheckResult cubeResult -> {
for (DimensionCheckResult dimResult : cubeResult.getDimensionResults()) {
count += countFailures(dimResult);
}
}
} else if (result instanceof DimensionCheckResult dimResult) {
for (HierarchyCheckResult hierResult : dimResult.getHierarchyResults()) {
count += countFailures(hierResult);
case DimensionCheckResult dimResult -> {
for (HierarchyCheckResult hierResult : dimResult.getHierarchyResults()) {
count += countFailures(hierResult);
}
}
} else if (result instanceof HierarchyCheckResult hierResult) {
for (LevelCheckResult levelResult : hierResult.getLevelResults()) {
count += countFailures(levelResult);
case HierarchyCheckResult hierResult -> {
for (LevelCheckResult levelResult : hierResult.getLevelResults()) {
count += countFailures(levelResult);
}
}
} else if (result instanceof LevelCheckResult levelResult) {
for (MemberCheckResult memberResult : levelResult.getMemberResults()) {
count += countFailures(memberResult);
case LevelCheckResult levelResult -> {
for (MemberCheckResult memberResult : levelResult.getMemberResults()) {
count += countFailures(memberResult);
}
}
default -> {}
}

return count;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
*/
package org.eclipse.daanse.olap.check.runtime.impl.executors;

import java.util.Date;
import java.time.Instant;
import java.util.List;
import java.util.Optional;

Expand Down Expand Up @@ -53,13 +53,13 @@ public CatalogCheckExecutor(CatalogCheck check, CatalogReader catalogReader, Con

public CheckResult execute() {
long startTime = System.currentTimeMillis();
Date start = new Date();
Instant start = Instant.now();

CatalogCheckResult result = factory.createCatalogCheckResult();
result.setCheckName(check.getName());
result.setCheckDescription(check.getDescription());
result.setCatalogName(check.getCatalogName());
result.setStartTime(start);
result.setStartedAt(start);
result.setSourceCheck(check);

try {
Expand Down Expand Up @@ -126,7 +126,7 @@ public CheckResult execute() {
// Create a failure message
}

result.setEndTime(new Date());
result.setEndedAt(Instant.now());
result.setExecutionTimeMs(System.currentTimeMillis() - startTime);

return result;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
package org.eclipse.daanse.olap.check.runtime.impl.executors;

import java.util.Arrays;
import java.util.Date;
import java.time.Instant;
import java.util.List;
import java.util.Optional;

Expand Down Expand Up @@ -63,13 +63,13 @@ public CubeCheckExecutor(CubeCheck check, List<Cube> cubes, CatalogReader catalo

public CubeCheckResult execute() {
long startTime = System.currentTimeMillis();
Date start = new Date();
Instant start = Instant.now();

CubeCheckResult result = factory.createCubeCheckResult();
result.setCheckName(check.getName());
result.setCheckDescription(check.getDescription());
result.setCubeName(check.getCubeName());
result.setStartTime(start);
result.setStartedAt(start);
result.setSourceCheck(check);

try {
Expand All @@ -78,7 +78,7 @@ public CubeCheckResult execute() {

if (foundCube.isEmpty()) {
result.setStatus(CheckStatus.FAILURE);
result.setEndTime(new Date());
result.setEndedAt(Instant.now());
result.setExecutionTimeMs(System.currentTimeMillis() - startTime);
return result;
}
Expand Down Expand Up @@ -181,7 +181,7 @@ public CubeCheckResult execute() {
result.setStatus(CheckStatus.FAILURE);
}

result.setEndTime(new Date());
result.setEndedAt(Instant.now());
result.setExecutionTimeMs(System.currentTimeMillis() - startTime);

return result;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
*/
package org.eclipse.daanse.olap.check.runtime.impl.executors;

import java.util.Date;
import java.time.Instant;
import java.util.List;
import java.util.Optional;

Expand Down Expand Up @@ -45,13 +45,13 @@ public DatabaseColumnCheckExecutor(DatabaseColumnCheck check, List<DatabaseColum

public DatabaseColumnCheckResult execute() {
long startTime = System.currentTimeMillis();
Date start = new Date();
Instant start = Instant.now();

DatabaseColumnCheckResult result = factory.createDatabaseColumnCheckResult();
result.setCheckName(check.getName());
result.setCheckDescription(check.getDescription());
result.setColumnName(check.getColumnName());
result.setStartTime(start);
result.setStartedAt(start);
result.setSourceCheck(check);

try {
Expand All @@ -60,7 +60,7 @@ public DatabaseColumnCheckResult execute() {

if (foundColumn.isEmpty()) {
result.setStatus(CheckStatus.FAILURE);
result.setEndTime(new Date());
result.setEndedAt(Instant.now());
result.setExecutionTimeMs(System.currentTimeMillis() - startTime);
return result;
}
Expand All @@ -81,7 +81,7 @@ public DatabaseColumnCheckResult execute() {
result.setStatus(CheckStatus.FAILURE);
}

result.setEndTime(new Date());
result.setEndedAt(Instant.now());
result.setExecutionTimeMs(System.currentTimeMillis() - startTime);

return result;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
*/
package org.eclipse.daanse.olap.check.runtime.impl.executors;

import java.util.Date;
import java.time.Instant;
import java.util.List;
import java.util.Optional;

Expand Down Expand Up @@ -48,13 +48,13 @@ public DatabaseSchemaCheckExecutor(DatabaseSchemaCheck check, List<? extends Dat

public DatabaseSchemaCheckResult execute() {
long startTime = System.currentTimeMillis();
Date start = new Date();
Instant start = Instant.now();

DatabaseSchemaCheckResult result = factory.createDatabaseSchemaCheckResult();
result.setCheckName(check.getName());
result.setCheckDescription(check.getDescription());
result.setSchemaName(check.getSchemaName());
result.setStartTime(start);
result.setStartedAt(start);
result.setSourceCheck(check);

try {
Expand All @@ -63,7 +63,7 @@ public DatabaseSchemaCheckResult execute() {

if (foundSchema.isEmpty()) {
result.setStatus(CheckStatus.FAILURE);
result.setEndTime(new Date());
result.setEndedAt(Instant.now());
result.setExecutionTimeMs(System.currentTimeMillis() - startTime);
return result;
}
Expand Down Expand Up @@ -100,7 +100,7 @@ public DatabaseSchemaCheckResult execute() {
result.setStatus(CheckStatus.FAILURE);
}

result.setEndTime(new Date());
result.setEndedAt(Instant.now());
result.setExecutionTimeMs(System.currentTimeMillis() - startTime);

return result;
Expand Down
Loading
Loading