Skip to content

Commit 9fe5f19

Browse files
JNG-5995 Update eclipse (#135)
[2024-11-26 23:08:51 +0100] JNG-5995 [Release] Updating versions [2024-11-26 02:57:37 +0100] JNG-5995 [Release] Updating versions [2024-11-26 01:25:25 +0100] USe cache for transformation and validation [2024-11-11 02:03:58 +0100] Fixes [2024-11-11 02:03:39 +0100] Fixes [2024-11-11 02:03:31 +0100] Fixes [2024-11-11 02:03:16 +0100] Fixes [2024-11-08 02:49:01 +0100] Fix cache / parallel [skip ci] [2024-11-05 18:48:53 +0100] Use cache [2024-11-04 01:08:39 +0100] Fixing dependencies [2024-11-02 11:37:43 +0100] Versions updated [2024-11-02 04:13:21 +0100] JNG-5995 Initial feature commit
1 parent 3ef4377 commit 9fe5f19

File tree

17 files changed

+177
-94
lines changed

17 files changed

+177
-94
lines changed

judo-tatami-asm2expression/src/main/java/hu/blackbelt/judo/tatami/asm2expression/Asm2Expression.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
* #L%
2121
*/
2222

23+
import hu.blackbelt.epsilon.runtime.execution.EmfUtils;
24+
import hu.blackbelt.epsilon.runtime.execution.ExecutionContext;
2325
import hu.blackbelt.judo.meta.asm.runtime.AsmModel;
2426
import hu.blackbelt.judo.meta.expression.builder.jql.JqlExpressionBuilderConfig;
2527
import hu.blackbelt.judo.meta.expression.builder.jql.JqlExtractor;
@@ -56,8 +58,11 @@ public static void executeAsm2Expression(Asm2ExpressionParameter parameter) {
5658
measureResourceSet = parameter.measureModel.getResourceSet();
5759
}
5860

59-
JqlExtractor jqlExtractor = new AsmJqlExtractor(parameter.asmModel.getResourceSet(), measureResourceSet,
60-
parameter.expressionModel.getResourceSet(), createExpressionBuilderConfig(parameter.config));
61+
JqlExtractor jqlExtractor = new AsmJqlExtractor(
62+
parameter.asmModel.getResourceSet(),
63+
measureResourceSet,
64+
parameter.expressionModel.getResourceSet(),
65+
createExpressionBuilderConfig(parameter.config));
6166
jqlExtractor.extractExpressions();
6267
}
6368

judo-tatami-asm2expression/src/main/java/hu/blackbelt/judo/tatami/asm2expression/Asm2ExpressionWork.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
* #L%
2121
*/
2222

23+
import hu.blackbelt.epsilon.runtime.execution.EmfUtils;
2324
import hu.blackbelt.judo.meta.expression.runtime.ExpressionModel;
2425
import hu.blackbelt.judo.meta.measure.runtime.MeasureModel;
2526
import hu.blackbelt.judo.tatami.core.workflow.work.AbstractTransformationWork;
@@ -48,10 +49,13 @@ public void execute() throws Exception {
4849

4950
ExpressionModel
5051
expressionModel = getTransformationContext().getByClass(ExpressionModel.class)
51-
.orElseGet(() -> buildExpressionModel()
52+
.orElseGet(() -> {
53+
EmfUtils.addEmfPackagesToResourceSet(asmModel.get().getResourceSet());
54+
return buildExpressionModel()
5255
.name(asmModel.get().getName())
5356
.version(asmModel.get().getVersion())
54-
.build());
57+
.build();
58+
});
5559
getTransformationContext().put(expressionModel);
5660

5761
Asm2ExpressionConfiguration config = getTransformationContext().getByClass(Asm2ExpressionConfiguration.class)

judo-tatami-asm2expression/src/test/java/hu/blackbelt/judo/tatami/asm2expression/Asm2ExpressionTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,14 @@ public void setUp() throws Exception {
7171
.build();
7272

7373
executePsm2AsmTransformation(psm2AsmParameter()
74+
.parallel(true)
75+
.useCache(true)
7476
.psmModel(psmModel)
7577
.asmModel(asmModel));
7678

7779
executePsm2MeasureTransformation(psm2MeasureParameter()
80+
.parallel(true)
81+
.useCache(true)
7882
.psmModel(psmModel)
7983
.measureModel(measureModel));
8084

judo-tatami-asm2expression/src/test/java/hu/blackbelt/judo/tatami/asm2expression/Asm2ExpressionWorkTest.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import static org.hamcrest.CoreMatchers.equalTo;
3030
import static org.hamcrest.MatcherAssert.assertThat;
3131

32+
import hu.blackbelt.epsilon.runtime.execution.EmfUtils;
3233
import lombok.extern.slf4j.Slf4j;
3334
import org.junit.jupiter.api.BeforeEach;
3435
import org.junit.jupiter.api.Test;
@@ -61,13 +62,27 @@ void setUp() throws Exception {
6162
AsmModel asmModel = AsmModel.buildAsmModel()
6263
.build();
6364

65+
//EmfUtils.initDefaultCachedResourceSet();
66+
//EmfUtils.addEmfPackagesToResourceSet(asmModel.getResourceSet());
67+
6468
// Create empty Measure model
6569
MeasureModel measureModel = MeasureModel.buildMeasureModel()
6670
.name(psmModel.getName())
6771
.build();
6872

69-
executePsm2AsmTransformation(psm2AsmParameter().psmModel(psmModel).asmModel(asmModel));
70-
executePsm2MeasureTransformation(psm2MeasureParameter().psmModel(psmModel).measureModel(measureModel));
73+
executePsm2AsmTransformation(psm2AsmParameter()
74+
.psmModel(psmModel)
75+
.asmModel(asmModel)
76+
.parallel(true)
77+
.useCache(true)
78+
);
79+
80+
executePsm2MeasureTransformation(psm2MeasureParameter()
81+
.psmModel(psmModel)
82+
.measureModel(measureModel)
83+
.parallel(true)
84+
.useCache(true)
85+
);
7186

7287
transformationContext = new TransformationContext(NORTHWIND);
7388
transformationContext.put(asmModel);

judo-tatami-asm2keycloak/src/main/java/hu/blackbelt/judo/tatami/asm2keycloak/Asm2Keycloak.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public static final class Asm2KeycloakParameter {
8080
Boolean parallel = true;
8181

8282
@Builder.Default
83-
boolean useCache = false;
83+
boolean useCache = true;
8484
}
8585

8686
public static Asm2KeycloakTransformationTrace executeAsm2KeycloakTransformation(Asm2KeycloakParameter.Asm2KeycloakParameterBuilder builder) throws Exception {
@@ -101,6 +101,8 @@ public static Asm2KeycloakTransformationTrace executeAsm2KeycloakTransformation(
101101
.log(log)
102102
.name("ASM")
103103
.resource(parameter.asmModel.getResource())
104+
.useCache(parameter.useCache)
105+
.validateModel(false)
104106
.build();
105107

106108
// Execution context
@@ -111,6 +113,7 @@ public static Asm2KeycloakTransformationTrace executeAsm2KeycloakTransformation(
111113
wrappedEmfModelContextBuilder()
112114
.log(log)
113115
.name("KEYCLOAK")
116+
.useCache(parameter.useCache)
114117
.resource(parameter.keycloakModel.getResource())
115118
.build()
116119
)
@@ -123,13 +126,6 @@ public static Asm2KeycloakTransformationTrace executeAsm2KeycloakTransformation(
123126
// run the model / metadata loading
124127
executionContext.load();
125128

126-
// Use cache
127-
if (parameter.useCache) {
128-
((EmfModel) executionContext.getProjectModelRepository()
129-
.getModelByName(asmModelContext.getName())).setCachingEnabled(true);
130-
}
131-
132-
133129
EtlExecutionContext asm2keycloakExecutionContext = etlExecutionContextBuilder()
134130
.source(UriUtil.resolve("asmToKeycloak.etl", parameter.scriptUri))
135131
.parameters(ImmutableList.of(

judo-tatami-asm2keycloak/src/main/java/hu/blackbelt/judo/tatami/asm2keycloak/Asm2KeycloakWork.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public static final class Asm2KeycloakWorkParameter {
4646
@Builder.Default
4747
Boolean parallel = true;
4848
@Builder.Default
49-
Boolean useCache = false;
49+
Boolean useCache = true;
5050
}
5151

5252
final URI transformationScriptRoot;

judo-tatami-asm2rdbms/src/main/java/hu/blackbelt/judo/tatami/asm2rdbms/Asm2Rdbms.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ public static final class Asm2RdbmsParameter {
8989
Boolean parallel = true;
9090

9191
@Builder.Default
92-
boolean useCache = false;
92+
boolean useCache = true;
9393

9494
@Builder.Default
9595
boolean createSimpleName = false;
@@ -132,10 +132,10 @@ public static Asm2RdbmsTransformationTrace executeAsm2RdbmsTransformation(Asm2Rd
132132
public static Asm2RdbmsTransformationTrace executeAsm2RdbmsTransformation(Asm2Rdbms.Asm2RdbmsParameter parameter) throws Exception {
133133
final AtomicBoolean loggerToBeClosed = new AtomicBoolean(false);
134134
Logger log = Objects.requireNonNullElseGet(parameter.log,
135-
() -> {
136-
loggerToBeClosed.set(true);
137-
return new BufferedSlf4jLogger(Asm2Rdbms.log);
138-
});
135+
() -> {
136+
loggerToBeClosed.set(true);
137+
return new BufferedSlf4jLogger(Asm2Rdbms.log);
138+
});
139139

140140
try {
141141
RdbmsModel mappingModel = RdbmsModel.loadRdbmsModel(
@@ -177,6 +177,8 @@ public static Asm2RdbmsTransformationTrace executeAsm2RdbmsTransformation(Asm2Rd
177177
WrappedEmfModelContext asmModelContext = wrappedEmfModelContextBuilder()
178178
.log(log)
179179
.name("ASM")
180+
.useCache(parameter.useCache)
181+
.validateModel(false)
180182
.resource(parameter.asmModel.getResource())
181183
.build();
182184

@@ -188,6 +190,7 @@ public static Asm2RdbmsTransformationTrace executeAsm2RdbmsTransformation(Asm2Rd
188190
wrappedEmfModelContextBuilder()
189191
.log(log)
190192
.name("RDBMS")
193+
.useCache(parameter.useCache)
191194
.resource(parameter.rdbmsModel.getResource())
192195
.build()))
193196
.injectContexts(
@@ -212,12 +215,6 @@ public static Asm2RdbmsTransformationTrace executeAsm2RdbmsTransformation(Asm2Rd
212215
// run the model / metadata loading
213216
executionContext.load();
214217

215-
// Use cache
216-
if (parameter.useCache) {
217-
((EmfModel) executionContext.getProjectModelRepository()
218-
.getModelByName(asmModelContext.getName())).setCachingEnabled(true);
219-
}
220-
221218
EtlExecutionContext asm2rdbmsExecutionContext = etlExecutionContextBuilder()
222219
.source(UriUtil.resolve("asmToRdbms.etl", parameter.scriptUri))
223220
.parameters(ImmutableList.of(

judo-tatami-asm2rdbms/src/main/java/hu/blackbelt/judo/tatami/asm2rdbms/Asm2RdbmsWork.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public static final class Asm2RdbmsWorkParameter {
4848
@Builder.Default
4949
Boolean parallel = true;
5050
@Builder.Default
51-
Boolean useCache = false;
51+
Boolean useCache = true;
5252
@Builder.Default
5353
Boolean createSimpleName = false;
5454
@Builder.Default

judo-tatami-psm2asm/src/main/java/hu/blackbelt/judo/tatami/psm2asm/Psm2Asm.java

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222

2323
import com.google.common.collect.ImmutableList;
2424
import com.google.common.collect.ImmutableMap;
25+
import hu.blackbelt.epsilon.runtime.execution.EmfUtils;
2526
import hu.blackbelt.epsilon.runtime.execution.ExecutionContext;
27+
import org.eclipse.emf.ecore.resource.ResourceSet;
2628
import org.slf4j.Logger;
2729
import hu.blackbelt.epsilon.runtime.execution.contexts.EtlExecutionContext;
2830
import hu.blackbelt.epsilon.runtime.execution.impl.BufferedSlf4jLogger;
@@ -79,7 +81,7 @@ public static final class Psm2AsmParameter {
7981
Boolean parallel = true;
8082

8183
@Builder.Default
82-
boolean useCache = false;
84+
boolean useCache = true;
8385
}
8486

8587
public static Psm2AsmTransformationTrace executePsm2AsmTransformation(Psm2AsmParameter.Psm2AsmParameterBuilder builder) throws Exception {
@@ -96,36 +98,38 @@ public static Psm2AsmTransformationTrace executePsm2AsmTransformation(Psm2AsmPar
9698
});
9799

98100
try {
101+
99102
WrappedEmfModelContext psmModelContext = wrappedEmfModelContextBuilder()
100103
.log(log)
101104
.name("JUDOPSM")
102105
.resource(parameter.psmModel.getResource())
106+
.useCache(parameter.useCache)
107+
.validateModel(false)
108+
.build();
109+
110+
WrappedEmfModelContext asmModelContext = wrappedEmfModelContextBuilder()
111+
.log(log)
112+
.name("ASM")
113+
.resource(parameter.asmModel.getResource())
114+
.parallel(parameter.parallel)
115+
.useCache(parameter.useCache)
103116
.build();
104117

105118
// Executrion context
106119
ExecutionContext executionContext = executionContextBuilder()
107120
.log(log)
121+
//.resourceSet(executionResourceSet)
108122
.modelContexts(ImmutableList.of(
109123
psmModelContext,
110-
wrappedEmfModelContextBuilder()
111-
.log(log)
112-
.name("ASM")
113-
.resource(parameter.asmModel.getResource())
114-
.build()))
124+
asmModelContext))
115125
.injectContexts(ImmutableMap.of(
116126
"asmUtils", new AsmUtils(parameter.asmModel.getResourceSet()),
117-
"psmUtils", new PsmUtils()
127+
"psmUtils", new PsmUtils(parameter.psmModel.getResourceSet())
118128
)).build();
119129

120130
// run the model / metadata loading
121131
executionContext.load();
122132

123-
// Use cache
124-
if (parameter.useCache) {
125-
((EmfModel) executionContext.getProjectModelRepository()
126-
.getModelByName(psmModelContext.getName())).setCachingEnabled(true);
127-
}
128-
129133
EtlExecutionContext etlExecutionContext = etlExecutionContextBuilder()
130134
.source(UriUtil.resolve("psmToAsm.etl", parameter.scriptUri))
131135
.parameters(ImmutableList.of(
@@ -142,6 +146,8 @@ public static Psm2AsmTransformationTrace executePsm2AsmTransformation(Psm2AsmPar
142146
executionContext.commit();
143147
executionContext.close();
144148

149+
// AsmUtils asmUtils = new AsmUtils(parameter.asmModel.getResourceSet()).getModel().get().setName(parameter.psmModel.getName());
150+
145151
Map<EObject, List<EObject>> traceMap = new ConcurrentHashMap<>();
146152
if (parameter.createTrace) {
147153
List<EObject> traceModel = getTransformationTraceFromEtlExecutionContext(

judo-tatami-psm2asm/src/main/java/hu/blackbelt/judo/tatami/psm2asm/Psm2AsmWork.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
* #L%
2121
*/
2222

23+
import hu.blackbelt.epsilon.runtime.execution.EmfUtils;
2324
import org.slf4j.Logger;
2425
import hu.blackbelt.epsilon.runtime.execution.impl.BufferedSlf4jLogger;
2526
import hu.blackbelt.epsilon.runtime.execution.impl.StringBuilderLogger;
@@ -49,7 +50,7 @@ public static final class Psm2AsmWorkParameter {
4950
Boolean parallel = true;
5051

5152
@Builder.Default
52-
Boolean useCache = false;
53+
Boolean useCache = true;
5354
}
5455

5556
public Psm2AsmWork(TransformationContext transformationContext, URI transformationScriptRoot) {
@@ -72,6 +73,8 @@ public void execute() throws Exception {
7273
.build());
7374
getTransformationContext().put(asmModel);
7475

76+
EmfUtils.addEmfPackagesToResourceSet(asmModel.getResourceSet());
77+
7578
Psm2AsmWorkParameter workParam = getTransformationContext().getByClass(Psm2AsmWorkParameter.class)
7679
.orElseGet(() -> Psm2AsmWork.Psm2AsmWorkParameter.psm2AsmWorkParameter().build());
7780

0 commit comments

Comments
 (0)