Skip to content

Commit df2cae4

Browse files
committed
Change Version class attributes
1 parent 2c3e4bb commit df2cae4

File tree

6 files changed

+30
-52
lines changed

6 files changed

+30
-52
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ plugins {
99
}
1010

1111
group = "com.github.AzurApi"
12-
version = "1.0.0"
12+
version = "2.0.0"
1313

1414
java {
1515
sourceCompatibility = JavaVersion.VERSION_1_8

src/main/kotlin/com/github/azurapi/azurapikotlin/api/Atago.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ object Atago {
6767
* Get version of the api wrapper
6868
*/
6969
fun getVersion(): Version {
70-
return Version(AtagoInfo.VERSION, database.lastUpdated, database.databaseVersion, database.lastUpdatedDatabase)
70+
return Version(AtagoInfo.VERSION, database.lastCheckDate, database.databaseVersion, database.lastUpdatedDatabaseDate)
7171
}
7272

7373
/**

src/main/kotlin/com/github/azurapi/azurapikotlin/api/AtagoInfo.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ package com.github.azurapi.azurapikotlin.api
44
* API info
55
*/
66
object AtagoInfo {
7-
const val VERSION = "1.0.0"
7+
const val VERSION = "2.0.0"
88
}

src/main/kotlin/com/github/azurapi/azurapikotlin/internal/entities/Version.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ import java.util.*
1212
data class Version (
1313
val apiVersion: String,
1414
val lastUpdatedApi: Date,
15-
val databaseVersion: String,
15+
val databaseVersion: Int,
1616
val lastUpdatedDatabase: Date
1717
)

src/main/kotlin/com/github/azurapi/azurapikotlin/json/Takao.kt

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ class Takao {
2020
private lateinit var jsonDatabase: JSONObject
2121
private lateinit var jsonVersion: JSONObject
2222

23-
lateinit var lastUpdated: Date
24-
lateinit var lastUpdatedDatabase: Date
25-
lateinit var databaseVersion: String
23+
lateinit var lastCheckDate: Date
24+
lateinit var lastUpdatedDatabaseDate: Date
25+
var databaseVersion = 0
2626

2727
var shipsById = HashMap<String, Ship>()
2828
var shipsByName = HashMap<String, Ship>()
@@ -42,23 +42,42 @@ class Takao {
4242
}
4343
}
4444

45+
/**
46+
* Load remote json and update local database
47+
*/
4548
fun loadDatabase() {
46-
lastUpdated = Date()
49+
lastCheckDate = Date()
50+
val version = getRemoteDatabaseVersion()
51+
// Database is already up to date
52+
if (databaseVersion >= version.first) {
53+
return
54+
}
55+
databaseVersion = version.first
56+
lastUpdatedDatabaseDate = version.second
4757
try {
4858
jsonDatabase = loadJSON(TakaoInfo.JSON_SOURCE)
49-
jsonVersion = loadJSON(TakaoInfo.JSON_VERSION)
5059
for (shipId in jsonDatabase.keySet()) {
5160
val ship = ShipParser.jsonToShip(jsonDatabase.getJSONObject(shipId), shipId)
5261
shipsById[ship.id.toLowerCase()] = ship
5362
shipsByName[ship.names.en.toLowerCase()] = ship
5463
}
55-
databaseVersion = jsonVersion.getInt("version-number").toString()
56-
lastUpdatedDatabase = Date(jsonVersion.getLong("last-data-refresh-date"))
5764
} catch (e: Exception) {
5865
throw DatabaseException("Could not reload database: (${e.message})")
5966
}
6067
}
6168

69+
/**
70+
* Get version of the remote json
71+
*/
72+
private fun getRemoteDatabaseVersion(): Pair<Int, Date> {
73+
try {
74+
jsonVersion = loadJSON(TakaoInfo.JSON_VERSION)
75+
return Pair(jsonVersion.getInt("version-number"), Date(jsonVersion.getLong("last-data-refresh-date")))
76+
} catch (e: Exception) {
77+
throw DatabaseException("Could not retrieve database version: (${e.message})")
78+
}
79+
}
80+
6281
/**
6382
* Find the closest ship matching `search` terms
6483
* @param search

src/main/kotlin/com/github/azurapi/azurapikotlin/utils/Utils.kt

Lines changed: 0 additions & 41 deletions
This file was deleted.

0 commit comments

Comments
 (0)