mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-24 22:48:34 +00:00
Converted all eval commands to runCommands
This commit is contained in:
+3
-3
@@ -2,7 +2,7 @@ package com.sap.sailing.windestimation.data.persistence.maneuver;
|
||||
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import org.bson.conversions.Bson;
|
||||
import org.bson.Document;
|
||||
|
||||
import com.sap.sailing.windestimation.util.LoggingUtil;
|
||||
|
||||
@@ -16,7 +16,7 @@ public abstract class AbstractTransformedManeuversPersistenceManager<T> extends
|
||||
this.dependencyOnOtherPersistenceManagers = dependencyToOtherPersistenceManagers;
|
||||
}
|
||||
|
||||
protected abstract Bson getMongoDbEvalStringForTransformation();
|
||||
protected abstract String getMongoDbEvalStringForTransformation();
|
||||
|
||||
public void createIfNotExistsCollectionWithTransformedManeuvers() {
|
||||
boolean collectionExists = collectionExists();
|
||||
@@ -48,7 +48,7 @@ public abstract class AbstractTransformedManeuversPersistenceManager<T> extends
|
||||
}
|
||||
dropCollection();
|
||||
LoggingUtil.logInfo("Transformation for \"" + getCollectionName() + "\" collection started.");
|
||||
Object result = getDb().runCommand(getMongoDbEvalStringForTransformation());
|
||||
Object result = getDb().runCommand(Document.parse(getMongoDbEvalStringForTransformation()));
|
||||
long numberOfElements = countElements();
|
||||
if (numberOfElements < 1) {
|
||||
dropCollection();
|
||||
|
||||
+16
-19
@@ -1,10 +1,6 @@
|
||||
package com.sap.sailing.windestimation.data.persistence.maneuver;
|
||||
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.bson.Document;
|
||||
import org.bson.conversions.Bson;
|
||||
|
||||
public class ManeuverForDataAnalysisPersistenceManager
|
||||
extends AbstractTransformedManeuversForDataAnalysisPersistenceManager {
|
||||
@@ -22,20 +18,18 @@ public class ManeuverForDataAnalysisPersistenceManager
|
||||
|
||||
//TODO repair if required
|
||||
@Override
|
||||
protected Bson getMongoDbEvalStringForTransformation() {
|
||||
return new Document().append("aggregate", RaceWithManeuverForDataAnalysisPersistenceManager.COLLECTION_NAME + "." + AbstractRaceWithEstimationDataPersistenceManager.COMPETITOR_TRACKS_COLLECTION_NAME_EXTENSION).
|
||||
append("pipeline", Arrays.asList(
|
||||
new Document("$addFields", new Document().append("competitorTracks.elements.regattaName", "$regattaName")),
|
||||
new Document("$addFields", new Document().append("competitorTracks.elements.windQuality", "$windQuality")),
|
||||
new Document("$addFields", new Document().append("competitorTracks.trackId",
|
||||
new Document("$concat", Arrays.asList("$regattaName", " - ", "$trackedRaceName")))),
|
||||
new Document("$unwind", "$competitorTracks").
|
||||
new Document("$addFields", new Document()
|
||||
.append("competitorTracks.elements.trackId", new Document("$concat", Arrays.asList("$competitorTracks.trackId", " # ", "$competitorTracks.competitorName")))
|
||||
.append("competitorTracks.avgTrackSpeedInKnots", new Document("$divide", new Document("$divide",
|
||||
Arrays.asList("$competitorTracks.distanceTravelledInMeters", new Document("$divide",
|
||||
Arrays.asList(new Document("$subtract",
|
||||
Arrays.asList("$competitorTracks.endUnixTime", "$competitorTracks.startUnixTime")))),
|
||||
protected String getMongoDbEvalStringForTransformation() {
|
||||
return "{" +
|
||||
"aggregate: '" + RaceWithManeuverForDataAnalysisPersistenceManager.COLLECTION_NAME + "." + AbstractRaceWithEstimationDataPersistenceManager.COMPETITOR_TRACKS_COLLECTION_NAME_EXTENSION + "',\r\n" +
|
||||
"pipeline: [\r\n"
|
||||
+ "{$addFields: {\"competitorTracks.elements.regattaName\": '$regattaName'}},\r\n"
|
||||
+ "{$addFields: {\"competitorTracks.elements.windQuality\": '$windQuality'}},\r\n"
|
||||
+ "{$addFields: {\"competitorTracks.trackId\": {$concat: ['$regattaName', ' - ', '$trackedRaceName']}}},\r\n"
|
||||
+ "{$unwind: '$competitorTracks'},\r\n" + "{$addFields: {\r\n"
|
||||
+ " \"competitorTracks.elements.trackId\": {$concat: ['$competitorTracks.trackId', ' # ', '$competitorTracks.competitorName']},\r\n"
|
||||
+ " 'competitorTracks.avgTrackSpeedInKnots': {$divide: [\r\n" + " {$divide:\r\n"
|
||||
+ " ['$competitorTracks.distanceTravelledInMeters',\r\n" + " {$divide: \r\n"
|
||||
+ " [ {$subtract: ['$competitorTracks.endUnixTime', '$competitorTracks.startUnixTime']},\r\n"
|
||||
+ " 1000.0\r\n" + " ]}\r\n" + " ]\r\n"
|
||||
+ " },\r\n" + " 0.5144444444444\r\n" + " ]},\r\n"
|
||||
+ " 'markPassingsCountMatchesWaypointsCount': {$eq: ['$competitorTracks.markPassingsCount', '$competitorTracks.waypointsCount']},\r\n"
|
||||
@@ -49,7 +43,10 @@ public class ManeuverForDataAnalysisPersistenceManager
|
||||
+ " {'competitorTracks.avgTrackSpeedInKnots': {\r\n" + " $gt: 1.0\r\n"
|
||||
+ " }}\r\n" + " ]\r\n" + "}},\r\n" + "{$project: {\r\n"
|
||||
+ " elements: '$competitorTracks.elements'\r\n" + "}},\r\n" + "{$unwind: '$elements'},\r\n"
|
||||
+ "{$replaceRoot: {newRoot : '$elements'}},\r\n" + "{$out: '" + COLLECTION_NAME + "'}\r\n" + "])\r\n";
|
||||
+ "{$replaceRoot: {newRoot : '$elements'}},\r\n" + "{$out: '" + COLLECTION_NAME + "'}\r\n" +
|
||||
"],\r\n" +
|
||||
"cursor: {}\r\n" +
|
||||
"}";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+7
-5
@@ -2,8 +2,6 @@ package com.sap.sailing.windestimation.data.persistence.maneuver;
|
||||
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import org.bson.conversions.Bson;
|
||||
|
||||
public class ManeuverForEstimationPersistenceManager
|
||||
extends AbstractTransformedManeuversForEstimationPersistenceManager {
|
||||
|
||||
@@ -19,8 +17,10 @@ public class ManeuverForEstimationPersistenceManager
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Bson getMongoDbEvalStringForTransformation() {
|
||||
return "db.getCollection('" + RaceWithManeuverForEstimationPersistenceManager.COLLECTION_NAME + "." + AbstractRaceWithEstimationDataPersistenceManager.COMPETITOR_TRACKS_COLLECTION_NAME_EXTENSION + "').aggregate([\r\n" +
|
||||
protected String getMongoDbEvalStringForTransformation() {
|
||||
return "{" +
|
||||
"aggregate: '" + RaceWithManeuverForEstimationPersistenceManager.COLLECTION_NAME + "." + AbstractRaceWithEstimationDataPersistenceManager.COMPETITOR_TRACKS_COLLECTION_NAME_EXTENSION + "',\r\n" +
|
||||
"pipeline: [\r\n" +
|
||||
"{$match: {\r\n" +
|
||||
" 'clean': true\r\n" +
|
||||
"}},\r\n" +
|
||||
@@ -30,7 +30,9 @@ public class ManeuverForEstimationPersistenceManager
|
||||
"{$unwind: '$elements'},\r\n" +
|
||||
"{$replaceRoot: {newRoot : '$elements'}},\r\n" +
|
||||
"{$out: '" + COLLECTION_NAME + "'}\r\n" +
|
||||
"])";
|
||||
"],\r\n" +
|
||||
"cursor: {}\r\n" +
|
||||
"}";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+9
-5
@@ -2,8 +2,6 @@ package com.sap.sailing.windestimation.data.persistence.maneuver;
|
||||
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import org.bson.conversions.Bson;
|
||||
|
||||
public class PenaltyCircleManeuverForDataAnalysisPersistenceManager
|
||||
extends AbstractTransformedManeuversForDataAnalysisPersistenceManager {
|
||||
|
||||
@@ -19,10 +17,16 @@ public class PenaltyCircleManeuverForDataAnalysisPersistenceManager
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Bson getMongoDbEvalStringForTransformation() {
|
||||
return "db.getCollection('" + ManeuverForDataAnalysisPersistenceManager.COLLECTION_NAME + "').aggregate([\r\n" + "{$match: {\r\n" + " $and: [\r\n"
|
||||
protected String getMongoDbEvalStringForTransformation() {
|
||||
return "{" +
|
||||
"aggregate: '" + ManeuverForDataAnalysisPersistenceManager.COLLECTION_NAME + "',\r\n" +
|
||||
"pipeline: [\r\n" +
|
||||
"{$match: {\r\n" + " $and: [\r\n"
|
||||
+ " {'category': {\r\n" + " $eq: '_360'\r\n" + " }}\r\n" + " ]\r\n"
|
||||
+ "}},\r\n" + "{$out: 'penaltyCirclesForDataAnalysis'}\r\n" + "])\r\n";
|
||||
+ "}},\r\n" + "{$out: '" + COLLECTION_NAME + "'}\r\n" +
|
||||
"],\r\n" +
|
||||
"cursor: {}\r\n" +
|
||||
"}";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+8
-6
@@ -2,8 +2,6 @@ package com.sap.sailing.windestimation.data.persistence.maneuver;
|
||||
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import org.bson.conversions.Bson;
|
||||
|
||||
public class PenaltyCircleManeuverForEstimationPersistenceManager
|
||||
extends AbstractTransformedManeuversForEstimationPersistenceManager {
|
||||
|
||||
@@ -19,15 +17,19 @@ public class PenaltyCircleManeuverForEstimationPersistenceManager
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Bson getMongoDbEvalStringForTransformation() {
|
||||
return "db.getCollection('" + ManeuverForEstimationPersistenceManager.COLLECTION_NAME + "').aggregate([\r\n" +
|
||||
protected String getMongoDbEvalStringForTransformation() {
|
||||
return "{" +
|
||||
"aggregate: '" + ManeuverForEstimationPersistenceManager.COLLECTION_NAME + "',\r\n" +
|
||||
"pipeline: [\r\n" +
|
||||
"{$match: {\r\n" +
|
||||
" {'category': {\r\n" +
|
||||
" $eq: '_360'\r\n" +
|
||||
" }}\r\n" +
|
||||
"}},\r\n" +
|
||||
"{$out: 'penaltyCirclesForEstimation'}\r\n" +
|
||||
"])";
|
||||
"{$out: '" + COLLECTION_NAME + "'}\r\n" +
|
||||
"],\r\n" +
|
||||
"cursor: {}\r\n" +
|
||||
"}";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+12
-6
@@ -2,29 +2,35 @@ package com.sap.sailing.windestimation.data.persistence.maneuver;
|
||||
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import org.bson.conversions.Bson;
|
||||
|
||||
public class RegularManeuverWithMarkPassingForDataAnalysisPersistenceManager
|
||||
extends AbstractTransformedManeuversForDataAnalysisPersistenceManager {
|
||||
|
||||
public static final String COLLECTION_NAME = "regularManeuversWithMarkPassingsForDataAnalysis";
|
||||
|
||||
public RegularManeuverWithMarkPassingForDataAnalysisPersistenceManager() throws UnknownHostException {
|
||||
super(new ManeuverForDataAnalysisPersistenceManager());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCollectionName() {
|
||||
return "regularManeuversWithMarkPassingsForDataAnalysis";
|
||||
return COLLECTION_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Bson getMongoDbEvalStringForTransformation() {
|
||||
return "db.getCollection('maneuversForDataAnalysis').aggregate([\r\n" + "{$match: {\r\n" + " $and: [\r\n"
|
||||
protected String getMongoDbEvalStringForTransformation() {
|
||||
return "{" +
|
||||
"aggregate: '" + ManeuverForDataAnalysisPersistenceManager.COLLECTION_NAME + "',\r\n" +
|
||||
"pipeline: [\r\n" +
|
||||
"{$match: {\r\n" + " $and: [\r\n"
|
||||
+ " {'absMainCurveAngle': {\r\n" + " $gte: 20\r\n" + " }},\r\n"
|
||||
+ " {'absMainCurveAngle': {\r\n" + " $lte: 120\r\n" + " }},\r\n"
|
||||
+ " {'deviationTackAngle': {\r\n" + " $ne: null\r\n" + " }},\r\n"
|
||||
+ " {'deviationJibeAngle': {\r\n" + " $ne: null\r\n" + " }},\r\n"
|
||||
+ " {'clean': {\r\n" + " $eq: true\r\n" + " }}\r\n" + " ]\r\n" + "}},\r\n"
|
||||
+ "{$out: 'regularManeuversWithMarkPassingsForDataAnalysis'}\r\n" + "])\r\n";
|
||||
+ "{$out: '" + COLLECTION_NAME + "'}\r\n" +
|
||||
"],\r\n" +
|
||||
"cursor: {}\r\n" +
|
||||
"}";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+12
-6
@@ -2,26 +2,32 @@ package com.sap.sailing.windestimation.data.persistence.maneuver;
|
||||
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import org.bson.conversions.Bson;
|
||||
|
||||
public class RegularManeuverWithoutMarkPassingForDataAnalysisPersistenceManager
|
||||
extends AbstractTransformedManeuversForDataAnalysisPersistenceManager {
|
||||
|
||||
private static final String COLLECTION_NAME = "regularManeuversWithoutMarkPassingsForDataAnalysis";
|
||||
|
||||
public RegularManeuverWithoutMarkPassingForDataAnalysisPersistenceManager() throws UnknownHostException {
|
||||
super(new RegularManeuverWithMarkPassingForDataAnalysisPersistenceManager());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCollectionName() {
|
||||
return "regularManeuversWithoutMarkPassingsForDataAnalysis";
|
||||
return COLLECTION_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Bson getMongoDbEvalStringForTransformation() {
|
||||
return "db.getCollection('regularManeuversWithMarkPassingsForDataAnalysis').aggregate([\r\n" + "{$match: {\r\n"
|
||||
protected String getMongoDbEvalStringForTransformation() {
|
||||
return "{" +
|
||||
"aggregate: '" + RegularManeuverWithMarkPassingForDataAnalysisPersistenceManager.COLLECTION_NAME + "',\r\n" +
|
||||
"pipeline: [\r\n" +
|
||||
"{$match: {\r\n"
|
||||
+ " $and: [\r\n" + " {'category': {\r\n" + " $ne: 'MARK_PASSING'\r\n"
|
||||
+ " }}\r\n" + " ]\r\n" + "}},\r\n"
|
||||
+ "{$out: 'regularManeuversWithoutMarkPassingsForDataAnalysis'}\r\n" + "])\r\n";
|
||||
+ "{$out: '" + COLLECTION_NAME + "'}\r\n" +
|
||||
"],\r\n" +
|
||||
"cursor: {}\r\n" +
|
||||
"}";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+7
-5
@@ -2,8 +2,6 @@ package com.sap.sailing.windestimation.data.persistence.maneuver;
|
||||
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import org.bson.conversions.Bson;
|
||||
|
||||
public class RegularManeuversForEstimationPersistenceManager
|
||||
extends AbstractTransformedManeuversForEstimationPersistenceManager {
|
||||
|
||||
@@ -19,8 +17,10 @@ public class RegularManeuversForEstimationPersistenceManager
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Bson getMongoDbEvalStringForTransformation() {
|
||||
return "db.getCollection('" + ManeuverForEstimationPersistenceManager.COLLECTION_NAME + "').aggregate([\r\n" +
|
||||
protected String getMongoDbEvalStringForTransformation() {
|
||||
return "{" +
|
||||
"aggregate: '" + ManeuverForEstimationPersistenceManager.COLLECTION_NAME + "',\r\n" +
|
||||
"pipeline: [\r\n" +
|
||||
"{$match: {\r\n" +
|
||||
" $and: [\r\n" +
|
||||
" {$or: [\r\n" +
|
||||
@@ -43,7 +43,9 @@ public class RegularManeuversForEstimationPersistenceManager
|
||||
" ]\r\n" +
|
||||
"}},\r\n" +
|
||||
"{$out: '" + COLLECTION_NAME + "'}\r\n" +
|
||||
"])";
|
||||
"],\r\n" +
|
||||
"cursor: {}\r\n" +
|
||||
"}";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user