From 2ad1ccc55b86be20a569659401e2bd91deb11664 Mon Sep 17 00:00:00 2001
From: Chrissi <christopher@hbsc-werner.de>
Date: Thu, 1 Aug 2019 15:40:56 +0200
Subject: [PATCH] remove builder errors after changing abstract join builder

---
 .../parser/antlr/JoinStatementVisitor.java         | 10 +++++-----
 .../representation/parser/legacy/JoinParser.java   | 14 +++++++-------
 .../modelrepresentation/ModelJoinCreation.java     |  1 +
 3 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/src/main/java/org/rosi_project/model_sync/model_join/representation/parser/antlr/JoinStatementVisitor.java b/src/main/java/org/rosi_project/model_sync/model_join/representation/parser/antlr/JoinStatementVisitor.java
index 3fe1c7b..f5ace99 100644
--- a/src/main/java/org/rosi_project/model_sync/model_join/representation/parser/antlr/JoinStatementVisitor.java
+++ b/src/main/java/org/rosi_project/model_sync/model_join/representation/parser/antlr/JoinStatementVisitor.java
@@ -85,12 +85,12 @@ public class JoinStatementVisitor extends ModelJoinBaseVisitor<JoinExpression> {
     ClassResource left = ClassResource.fromQualifiedName(thetajoinContext.classres(0).getText());
     ClassResource right = ClassResource.fromQualifiedName(thetajoinContext.classres(1).getText());
 
-    ThetaJoinBuilder joinBuilder = JoinFactory.createNew()
+    ThetaJoinBuilder joinBuilder = (ThetaJoinBuilder)JoinFactory.createNew()
         .theta()
+        .where(OCLConstraint.of(thetajoinContext.oclcond().getText()))
         .join(left)
         .with(right)
-        .as(ClassResource.fromQualifiedName(ctx.classres().getText()))
-        .where(OCLConstraint.of(thetajoinContext.oclcond().getText()));
+        .as(ClassResource.fromQualifiedName(ctx.classres().getText()));
 
     ctx.keepaggregatesexpr().stream()
         .map(keepStatementVisitor::visitKeepaggregatesexpr)
@@ -118,7 +118,7 @@ public class JoinStatementVisitor extends ModelJoinBaseVisitor<JoinExpression> {
     ClassResource left = ClassResource.fromQualifiedName(naturalJoinContext.classres(0).getText());
     ClassResource right = ClassResource.fromQualifiedName(naturalJoinContext.classres(1).getText());
 
-    NaturalJoinBuilder joinBuilder = JoinFactory.createNew()
+    NaturalJoinBuilder joinBuilder = (NaturalJoinBuilder)JoinFactory.createNew()
         .natural()
         .join(left)
         .with(right)
@@ -150,7 +150,7 @@ public class JoinStatementVisitor extends ModelJoinBaseVisitor<JoinExpression> {
     ClassResource left = ClassResource.fromQualifiedName(outerJoinContext.classres(0).getText());
     ClassResource right = ClassResource.fromQualifiedName(outerJoinContext.classres(1).getText());
 
-    OuterJoinBuilder joinBuilder = JoinFactory.createNew()
+    OuterJoinBuilder joinBuilder = (OuterJoinBuilder)JoinFactory.createNew()
         .outer()
         .join(left)
         .with(right)
diff --git a/src/main/java/org/rosi_project/model_sync/model_join/representation/parser/legacy/JoinParser.java b/src/main/java/org/rosi_project/model_sync/model_join/representation/parser/legacy/JoinParser.java
index ee32b61..2a53a71 100644
--- a/src/main/java/org/rosi_project/model_sync/model_join/representation/parser/legacy/JoinParser.java
+++ b/src/main/java/org/rosi_project/model_sync/model_join/representation/parser/legacy/JoinParser.java
@@ -231,16 +231,16 @@ class JoinParser {
         keeps.forEach(outerJoinBuilder::keep);
         return outerJoinBuilder.done();
       case "theta":
-        ThetaJoinBuilder thetaJoinBuilder = joinFactory //
-            .theta() //
-            .join(ClassResource.fromQualifiedName(leftSource)) //
-            .with(ClassResource.fromQualifiedName(rightSource)) //
-            .as(ClassResource.fromQualifiedName(target)) //
-            .where(OCLConstraint.of(thetaPredicate));
+        ThetaJoinBuilder thetaJoinBuilder = (ThetaJoinBuilder)joinFactory
+            .theta()
+            .where(OCLConstraint.of(thetaPredicate))
+            .join(ClassResource.fromQualifiedName(leftSource))
+            .with(ClassResource.fromQualifiedName(rightSource)) 
+            .as(ClassResource.fromQualifiedName(target));
         keeps.forEach(thetaJoinBuilder::keep);
         return thetaJoinBuilder.done();
       case "natural":
-        NaturalJoinBuilder naturalJoinBuilder = joinFactory //
+        NaturalJoinBuilder naturalJoinBuilder = (NaturalJoinBuilder)joinFactory //
             .natural() //
             .join(ClassResource.fromQualifiedName(leftSource)) //
             .with(ClassResource.fromQualifiedName(rightSource)) //
diff --git a/src/main/java/org/rosi_project/model_sync/modelrepresentation/ModelJoinCreation.java b/src/main/java/org/rosi_project/model_sync/modelrepresentation/ModelJoinCreation.java
index 6db9adf..0e6df61 100644
--- a/src/main/java/org/rosi_project/model_sync/modelrepresentation/ModelJoinCreation.java
+++ b/src/main/java/org/rosi_project/model_sync/modelrepresentation/ModelJoinCreation.java
@@ -39,6 +39,7 @@ public class ModelJoinCreation {
 			}
 		}*/
 		
+		
 		ClassResource library = ClassResource.from("lib", "Library");
 	    ClassResource employee = ClassResource.from("lib", "Employee");
 	    ClassResource person = ClassResource.from("lib", "Person");
-- 
GitLab