mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-14 22:43:57 +00:00
Bug 5085: added storing for MarkTemplates
This commit is contained in:
1 parent
851270ece5
commit
7b5ac20e59
4 files changed
+39
-1
No files matched your search
+5
@@ -21,6 +21,7 @@ import com.sap.sailing.domain.base.configuration.DeviceConfiguration;
|
||||
import com.sap.sailing.domain.common.WindSource;
|
||||
import com.sap.sailing.domain.common.dto.AnniversaryType;
|
||||
import com.sap.sailing.domain.coursetemplate.MarkProperties;
|
||||
import com.sap.sailing.domain.coursetemplate.MarkTemplate;
|
||||
import com.sap.sailing.domain.leaderboard.Leaderboard;
|
||||
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
|
||||
import com.sap.sailing.domain.persistence.racelog.tracking.DeviceIdentifierMongoHandler;
|
||||
@@ -220,4 +221,8 @@ public interface MongoObjectFactory {
|
||||
|
||||
/** Removes a {@link MarkProperties} object from the database. */
|
||||
void removeMarkProperties(UUID markPropertiesId);
|
||||
|
||||
void storeMarkTemplate(MarkTemplate markTemplate);
|
||||
|
||||
void removeMarkTemplate(UUID markTemplateId);
|
||||
}
|
||||
+5
-1
@@ -3,6 +3,7 @@ package com.sap.sailing.domain.persistence.impl;
|
||||
import com.sap.sailing.domain.base.RaceDefinition;
|
||||
import com.sap.sailing.domain.common.tracking.GPSFix;
|
||||
import com.sap.sailing.domain.coursetemplate.MarkProperties;
|
||||
import com.sap.sailing.domain.coursetemplate.MarkTemplate;
|
||||
import com.sap.sailing.domain.tracking.RaceTrackingConnectivityParameters;
|
||||
|
||||
/**
|
||||
@@ -124,5 +125,8 @@ public enum CollectionNames {
|
||||
ANNIVERSARIES,
|
||||
|
||||
/** Contains the {@link MarkProperties}. */
|
||||
MARK_PROPERTIES
|
||||
MARK_PROPERTIES,
|
||||
|
||||
/** Contains the {@link MarkTemplate} objects. */
|
||||
MARK_TEMPLATES
|
||||
}
|
||||
+3
@@ -176,4 +176,7 @@ public enum FieldNames {
|
||||
MARK_PROPERTIES_ID, MARK_PROPERTIES_FIXED_POSITION, MARK_PROPERTIES_TAGS, MARK_PROPERTIES_TRACKING_DEVICE_IDENTIFIER, MARK_PROPERTIES_USED_ROLE, MARK_PROPERTIES_USED_TEMPLATE,
|
||||
// common mark properties
|
||||
COMMON_MARK_PROPERTIES_COLOR, COMMON_MARK_PROPERTIES_NAME, COMMON_MARK_PROPERTIES_PATTERN, COMMON_MARK_PROPERTIES_SHAPE, COMMON_MARK_PROPERTIES_SHORT_NAME, COMMON_MARK_PROPERTIES_TYPE,
|
||||
|
||||
// mark template fields
|
||||
MARK_TEMPLATE_ID;
|
||||
}
|
||||
+26
@@ -105,6 +105,7 @@ import com.sap.sailing.domain.common.dto.AnniversaryType;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.TransformationException;
|
||||
import com.sap.sailing.domain.coursetemplate.CommonMarkProperties;
|
||||
import com.sap.sailing.domain.coursetemplate.MarkProperties;
|
||||
import com.sap.sailing.domain.coursetemplate.MarkTemplate;
|
||||
import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard;
|
||||
import com.sap.sailing.domain.leaderboard.Leaderboard;
|
||||
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
|
||||
@@ -1874,4 +1875,29 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void storeMarkTemplate(MarkTemplate markTemplate) {
|
||||
final MongoCollection<Document> collection = database.getCollection(CollectionNames.MARK_TEMPLATES.name());
|
||||
final Document query = new Document(FieldNames.MARK_TEMPLATE_ID.name(), markTemplate.getId().toString());
|
||||
|
||||
final Document entry = storeMarkTemplateToDocument(markTemplate);
|
||||
collection.withWriteConcern(WriteConcern.ACKNOWLEDGED).replaceOne(query, entry,
|
||||
new UpdateOptions().upsert(true));
|
||||
}
|
||||
|
||||
private Document storeMarkTemplateToDocument(MarkTemplate markTemplate) {
|
||||
final Document result = new Document(FieldNames.MARK_TEMPLATE_ID.name(), markTemplate.getId().toString());
|
||||
storeCommonMarkProperties(markTemplate, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeMarkTemplate(UUID markTemplateId) {
|
||||
final MongoCollection<Document> configurationsCollections = database
|
||||
.getCollection(CollectionNames.MARK_TEMPLATES.name());
|
||||
final Document query = new Document(FieldNames.MARK_TEMPLATE_ID.name(), markTemplateId.toString());
|
||||
configurationsCollections.deleteOne(query);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user