From 0f42ddd9648383942f462fb445aa1736a4a06585 Mon Sep 17 00:00:00 2001 From: Julian Raufelder Date: Fri, 19 Mar 2021 12:47:04 +0100 Subject: [PATCH] Rename webdavUrl to url in CloudEntity --- data/build.gradle | 2 +- .../cryptomator/data/db/DatabaseUpgrades.java | 6 ++- .../org/cryptomator/data/db/Upgrade4To5.kt | 40 +++++++++++++++++++ .../data/db/entities/CloudEntity.java | 16 ++++---- .../data/db/mappers/CloudEntityMapper.java | 4 +- 5 files changed, 55 insertions(+), 13 deletions(-) create mode 100644 data/src/main/java/org/cryptomator/data/db/Upgrade4To5.kt diff --git a/data/build.gradle b/data/build.gradle index ec7c580f..2187a71f 100644 --- a/data/build.gradle +++ b/data/build.gradle @@ -74,7 +74,7 @@ android { } greendao { - schemaVersion 4 + schemaVersion 5 } configurations.all { diff --git a/data/src/main/java/org/cryptomator/data/db/DatabaseUpgrades.java b/data/src/main/java/org/cryptomator/data/db/DatabaseUpgrades.java index 1b3725ee..b116cb04 100644 --- a/data/src/main/java/org/cryptomator/data/db/DatabaseUpgrades.java +++ b/data/src/main/java/org/cryptomator/data/db/DatabaseUpgrades.java @@ -22,13 +22,15 @@ class DatabaseUpgrades { Upgrade0To1 upgrade0To1, // Upgrade1To2 upgrade1To2, // Upgrade2To3 upgrade2To3, // - Upgrade3To4 upgrade3To4) { + Upgrade3To4 upgrade3To4, // + Upgrade4To5 upgrade4To5) { availableUpgrades = defineUpgrades( // upgrade0To1, // upgrade1To2, // upgrade2To3, // - upgrade3To4); + upgrade3To4, // + upgrade4To5); } private static Comparator reverseOrder() { diff --git a/data/src/main/java/org/cryptomator/data/db/Upgrade4To5.kt b/data/src/main/java/org/cryptomator/data/db/Upgrade4To5.kt new file mode 100644 index 00000000..dbb0f155 --- /dev/null +++ b/data/src/main/java/org/cryptomator/data/db/Upgrade4To5.kt @@ -0,0 +1,40 @@ +package org.cryptomator.data.db + +import org.greenrobot.greendao.database.Database +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +internal class Upgrade4To5 @Inject constructor() : DatabaseUpgrade(4, 5) { + + override fun internalApplyTo(db: Database, origin: Int) { + db.beginTransaction() + try { + changeWebdavUrlInCloudEntityToUrl(db) + db.setTransactionSuccessful() + } finally { + db.endTransaction() + } + } + + private fun changeWebdavUrlInCloudEntityToUrl(db: Database) { + Sql.alterTable("CLOUD_ENTITY").renameTo("CLOUD_ENTITY_OLD").executeOn(db) + + Sql.createTable("CLOUD_ENTITY") // + .id() // + .requiredText("TYPE") // + .optionalText("ACCESS_TOKEN") // + .optionalText("URL") // + .optionalText("USERNAME") // + .optionalText("WEBDAV_CERTIFICATE") // + .executeOn(db); + + Sql.insertInto("CLOUD_ENTITY") // + .select("_id", "TYPE", "ACCESS_TOKEN", "WEBDAV_URL", "USERNAME", "WEBDAV_CERTIFICATE") // + .columns("_id", "TYPE", "ACCESS_TOKEN", "URL", "USERNAME", "WEBDAV_CERTIFICATE") // + .from("CLOUD_ENTITY_OLD") // + .executeOn(db) + + Sql.dropTable("CLOUD_ENTITY_OLD").executeOn(db) + } +} diff --git a/data/src/main/java/org/cryptomator/data/db/entities/CloudEntity.java b/data/src/main/java/org/cryptomator/data/db/entities/CloudEntity.java index 21551729..0ce2c8a1 100644 --- a/data/src/main/java/org/cryptomator/data/db/entities/CloudEntity.java +++ b/data/src/main/java/org/cryptomator/data/db/entities/CloudEntity.java @@ -16,18 +16,18 @@ public class CloudEntity extends DatabaseEntity { private String accessToken; - private String webdavUrl; + private String url; private String username; private String webdavCertificate; - @Generated(hash = 2078985174) - public CloudEntity(Long id, @NotNull String type, String accessToken, String webdavUrl, String username, String webdavCertificate) { + @Generated(hash = 361171073) + public CloudEntity(Long id, @NotNull String type, String accessToken, String url, String username, String webdavCertificate) { this.id = id; this.type = type; this.accessToken = accessToken; - this.webdavUrl = webdavUrl; + this.url = url; this.username = username; this.webdavCertificate = webdavCertificate; } @@ -60,12 +60,12 @@ public class CloudEntity extends DatabaseEntity { this.id = id; } - public String getWebdavUrl() { - return webdavUrl; + public String getUrl() { + return url; } - public void setWebdavUrl(String webdavUrl) { - this.webdavUrl = webdavUrl; + public void setUrl(String url) { + this.url = url; } public String getUsername() { diff --git a/data/src/main/java/org/cryptomator/data/db/mappers/CloudEntityMapper.java b/data/src/main/java/org/cryptomator/data/db/mappers/CloudEntityMapper.java index 39118d2b..f369ba5c 100644 --- a/data/src/main/java/org/cryptomator/data/db/mappers/CloudEntityMapper.java +++ b/data/src/main/java/org/cryptomator/data/db/mappers/CloudEntityMapper.java @@ -54,7 +54,7 @@ public class CloudEntityMapper extends EntityMapper { case WEBDAV: return aWebDavCloudCloud() // .withId(entity.getId()) // - .withUrl(entity.getWebdavUrl()) // + .withUrl(entity.getUrl()) // .withUsername(entity.getUsername()) // .withPassword(entity.getAccessToken()) // .withCertificate(entity.getWebdavCertificate()) // @@ -87,7 +87,7 @@ public class CloudEntityMapper extends EntityMapper { break; case WEBDAV: result.setAccessToken(((WebDavCloud) domainObject).password()); - result.setWebdavUrl(((WebDavCloud) domainObject).url()); + result.setUrl(((WebDavCloud) domainObject).url()); result.setUsername(((WebDavCloud) domainObject).username()); result.setWebdavCertificate(((WebDavCloud) domainObject).certificate()); break;