Skip to content

Commit 849684d

Browse files
authored
Merge pull request #4 from jagodki/v2.1.0-dev
V2.1.0 dev
2 parents fa50559 + 6e2daaa commit 849684d

6 files changed

Lines changed: 51 additions & 5 deletions

File tree

iOS/src/Malinki/Malinki.xcodeproj/project.pbxproj

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
CE4009C02742FA6E00C0ED75 /* MalinkiAnnotationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE4009BF2742FA6E00C0ED75 /* MalinkiAnnotationView.swift */; };
4040
CE44B0AD26C985FC00298DC3 /* MalinkiConfigurationProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE44B0AC26C985FC00298DC3 /* MalinkiConfigurationProvider.swift */; };
4141
CE44B0AF26C9867700298DC3 /* MalinkiConfigurationObjects.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE44B0AE26C9867700298DC3 /* MalinkiConfigurationObjects.swift */; };
42+
CE457EF72926C087006ADDF9 /* MalinkiSimpleDataConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE457EF62926C087006ADDF9 /* MalinkiSimpleDataConverter.swift */; };
4243
CE47C2E02721EF9D00034C38 /* MalinkiMapContentButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE47C2DF2721EF9D00034C38 /* MalinkiMapContentButton.swift */; };
4344
CE4BD8F82817212500C72807 /* MalinkiSearchResultView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE4BD8F72817212500C72807 /* MalinkiSearchResultView.swift */; };
4445
CE4F33C127C2C0640052AADD /* marine_centroids.geojson in Resources */ = {isa = PBXBuildFile; fileRef = CE4F33C027C2C0640052AADD /* marine_centroids.geojson */; };
@@ -115,6 +116,7 @@
115116
CE4009BF2742FA6E00C0ED75 /* MalinkiAnnotationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MalinkiAnnotationView.swift; sourceTree = "<group>"; };
116117
CE44B0AC26C985FC00298DC3 /* MalinkiConfigurationProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MalinkiConfigurationProvider.swift; sourceTree = "<group>"; };
117118
CE44B0AE26C9867700298DC3 /* MalinkiConfigurationObjects.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MalinkiConfigurationObjects.swift; sourceTree = "<group>"; };
119+
CE457EF62926C087006ADDF9 /* MalinkiSimpleDataConverter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MalinkiSimpleDataConverter.swift; sourceTree = "<group>"; };
118120
CE47C2DF2721EF9D00034C38 /* MalinkiMapContentButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MalinkiMapContentButton.swift; sourceTree = "<group>"; };
119121
CE4BD8F72817212500C72807 /* MalinkiSearchResultView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MalinkiSearchResultView.swift; sourceTree = "<group>"; };
120122
CE4F33C027C2C0640052AADD /* marine_centroids.geojson */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = marine_centroids.geojson; sourceTree = "<group>"; };
@@ -189,6 +191,7 @@
189191
isa = PBXGroup;
190192
children = (
191193
CE0CA1462766814000AB916C /* MalinkiCoordinatesConverter.swift */,
194+
CE457EF62926C087006ADDF9 /* MalinkiSimpleDataConverter.swift */,
192195
);
193196
path = Algorithms;
194197
sourceTree = "<group>";
@@ -515,7 +518,7 @@
515518
isa = PBXProject;
516519
attributes = {
517520
LastSwiftUpdateCheck = 1250;
518-
LastUpgradeCheck = 1250;
521+
LastUpgradeCheck = 1400;
519522
TargetAttributes = {
520523
CEC9FB48268A4445005882E7 = {
521524
CreatedOnToolsVersion = 12.5;
@@ -532,6 +535,7 @@
532535
de,
533536
pl,
534537
sv,
538+
Base,
535539
);
536540
mainGroup = CEC9FB40268A4445005882E7;
537541
packageReferences = (
@@ -588,6 +592,7 @@
588592
CE90913E2783307500ED7EAC /* MalinkiAnnotationContainer.swift in Sources */,
589593
CE0736A5269649DB00490383 /* MalinkiMap.swift in Sources */,
590594
CEDF03CE284236D3002B25C6 /* AlertControlView.swift in Sources */,
595+
CE457EF72926C087006ADDF9 /* MalinkiSimpleDataConverter.swift in Sources */,
591596
CE0CA1472766814000AB916C /* MalinkiCoordinatesConverter.swift in Sources */,
592597
CE0DE03128985E6800D92F20 /* MalinkiInAppPurchasesView.swift in Sources */,
593598
CE123BC9274584A5007C6779 /* MalinkiVectorData.swift in Sources */,
@@ -644,6 +649,7 @@
644649
isa = XCBuildConfiguration;
645650
buildSettings = {
646651
ALWAYS_SEARCH_USER_PATHS = NO;
652+
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
647653
CLANG_ANALYZER_NONNULL = YES;
648654
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
649655
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
@@ -706,6 +712,7 @@
706712
isa = XCBuildConfiguration;
707713
buildSettings = {
708714
ALWAYS_SEARCH_USER_PATHS = NO;
715+
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
709716
CLANG_ANALYZER_NONNULL = YES;
710717
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
711718
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";

iOS/src/Malinki/Malinki.xcodeproj/xcshareddata/xcschemes/Malinki.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1300"
3+
LastUpgradeVersion = "1400"
44
version = "1.7">
55
<BuildAction
66
parallelizeBuildables = "YES"
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
//
2+
// MalinkiSimpleDataConverter.swift
3+
// Malinki
4+
//
5+
// Created by Christoph Jung on 17.11.22.
6+
//
7+
8+
import Foundation
9+
10+
/// This class provides functions for converting simple data like strings or integers.
11+
class MalinkiSimpleDataConverter {
12+
13+
static let sharedInstance = MalinkiSimpleDataConverter()
14+
15+
/// This function replaces placeholders for time with the current timestamp.
16+
/// - Parameter text: the text containing placeholders
17+
/// - Returns: a text without placeholders
18+
func replaceTimePlaceholders(for text: String) -> String {
19+
//get the current timestamp and its components
20+
let timestamp = Calendar(identifier: .gregorian).dateComponents(in: TimeZone(identifier: "UTC")!, from: .now)
21+
let year = String(timestamp.year ?? 2000)
22+
let month = String(timestamp.month ?? 1)
23+
let day = String(timestamp.day ?? 1)
24+
let hours = String(timestamp.hour ?? 0)
25+
let minutes = String(timestamp.minute ?? 0)
26+
let seconds = String(timestamp.second ?? 0)
27+
28+
//replace placeholders
29+
let textWithYear = text.replacingOccurrences(of: "{YYYY}", with: year)
30+
let textWithMonth = textWithYear.replacingOccurrences(of: "{MM}", with: month.count == 1 ? "0\(month)" : month)
31+
let textWithDay = textWithMonth.replacingOccurrences(of: "{DD}", with: day.count == 1 ? "0\(day)" : day)
32+
let textWithHours = textWithDay.replacingOccurrences(of: "{hh}", with: hours.count == 1 ? "0\(hours)" : hours)
33+
let textWithMinutes = textWithHours.replacingOccurrences(of: "{mm}", with: minutes.count == 1 ? "0\(minutes)" : minutes)
34+
let textWithSeconds = textWithMinutes.replacingOccurrences(of: "{ss}", with: seconds.count == 1 ? "0\(seconds)" : seconds)
35+
36+
return textWithSeconds
37+
}
38+
39+
}

iOS/src/Malinki/Malinki/Data Interface/RasterData/MalinkiRasterData.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ struct MalinkiRasterData {
3636
var overlay: MKTileOverlay
3737

3838
if let tms = rasterTypes.tms {
39-
overlay = MalinkiTileOverlay(urlTemplate: tms.url, alpha: CGFloat(self.mapDataConfiguration.opacity), subDirName: self.subDirName)
39+
overlay = MalinkiTileOverlay(urlTemplate: MalinkiSimpleDataConverter.sharedInstance.replaceTimePlaceholders(for: tms.url), alpha: CGFloat(self.mapDataConfiguration.opacity), subDirName: self.subDirName)
4040
overlay.isGeometryFlipped = tms.invertedYAxis
4141
} else if let wms = rasterTypes.wms {
42-
let url = (wms.baseURL +
42+
let url = (MalinkiSimpleDataConverter.sharedInstance.replaceTimePlaceholders(for: wms.baseURL) +
4343
"SERVICE=WMS&REQUEST=GetMap&TRANSPARENT=True" +
4444
"&VERSION=" + wms.version +
4545
"&CRS=" + wms.crs +

iOS/src/Malinki/Malinki/Data Interface/VectorData/MalinkiFeatureDataContainer.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ public class MalinkiFeatureDataContainer: MalinkiVectorData, ObservableObject {
164164

165165
//create request
166166
let fc: String = String(config.featureCount)
167-
let request: String = (config.baseURL +
167+
let request: String = (MalinkiSimpleDataConverter.sharedInstance.replaceTimePlaceholders(for: config.baseURL) +
168168
"SERVICE=WMS&REQUEST=GetFeatureInfo" +
169169
"&VERSION=" + config.version +
170170
"&BBOX=" + bbox +

0 commit comments

Comments
 (0)