From b9449b9140da0f276807a5a3e1738ed0b7b5a823 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 26 May 2024 00:18:23 -0700 Subject: [PATCH 1/2] Minor cleanup --- .idea/misc.xml | 5 +---- examples/gradle/build.gradle.kts | 2 -- examples/gradle/settings.gradle.kts | 2 +- src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt | 2 +- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 8ae89ec..f40d83c 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,10 +8,7 @@ - - - \ No newline at end of file + diff --git a/examples/gradle/build.gradle.kts b/examples/gradle/build.gradle.kts index 6484d0a..4e2218a 100644 --- a/examples/gradle/build.gradle.kts +++ b/examples/gradle/build.gradle.kts @@ -1,5 +1,3 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { id("application") id("com.github.ben-manes.versions") version "0.51.0" diff --git a/examples/gradle/settings.gradle.kts b/examples/gradle/settings.gradle.kts index 72e9113..cd3b92f 100644 --- a/examples/gradle/settings.gradle.kts +++ b/examples/gradle/settings.gradle.kts @@ -7,4 +7,4 @@ * in the user manual at https://docs.gradle.org/6.2/userguide/multi_project_builds.html */ -rootProject.name = "bitly-examples" +rootProject.name = "bitly-examples-gradle" diff --git a/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt b/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt index 2d8c4d2..937bb69 100644 --- a/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt +++ b/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt @@ -41,9 +41,9 @@ import net.thauvin.erik.bitly.Utils.toEndPoint import net.thauvin.erik.bitly.config.CreateConfig import net.thauvin.erik.bitly.config.UpdateConfig import net.thauvin.erik.bitly.config.deeplinks.CreateDeeplinks +import net.thauvin.erik.bitly.config.deeplinks.UpdateDeeplinks import net.thauvin.erik.bitly.config.deeplinks.enums.InstallType import net.thauvin.erik.bitly.config.deeplinks.enums.Os -import net.thauvin.erik.bitly.config.deeplinks.UpdateDeeplinks import org.json.JSONObject import org.junit.jupiter.api.BeforeAll import java.io.File From 30a3e9022d52e087ed814015ca588393826e9f8b Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 26 May 2024 00:19:18 -0700 Subject: [PATCH 2/2] Made config constructors private --- .../thauvin/erik/bitly/config/CreateConfig.kt | 25 +++++---------- .../thauvin/erik/bitly/config/UpdateConfig.kt | 22 +++++-------- .../thauvin/erik/bitly/config/ConfigTest.kt | 31 +++++++++---------- 3 files changed, 30 insertions(+), 48 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt b/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt index c90519d..017e04f 100644 --- a/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt @@ -40,23 +40,14 @@ import net.thauvin.erik.bitly.config.deeplinks.CreateDeeplinks * See the [Bit.ly API](https://dev.bitly.com/api-reference#createFullBitlink) for more information. */ @Suppress("LocalVariableName", "PropertyName") -class CreateConfig @JvmOverloads constructor( - var long_url: String, - var domain: String = Constants.EMPTY, - var group_guid: String = Constants.EMPTY, - var title: String = Constants.EMPTY, - var tags: Array = emptyArray(), - var deeplinks: CreateDeeplinks = CreateDeeplinks(), - var toJson: Boolean = false -) { - constructor(builder: Builder) : this(builder.long_url) { - domain = builder.domain - group_guid = builder.group_guid - title = builder.title - tags = builder.tags - deeplinks = builder.deeplinks - toJson = builder.toJson - } +class CreateConfig private constructor(builder: Builder) { + val long_url = builder.long_url + val domain = builder.domain + val group_guid = builder.group_guid + val title = builder.title + val tags = builder.tags + val deeplinks = builder.deeplinks + val toJson = builder.toJson /** * Configures the creation parameters of a Bitlink. diff --git a/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt b/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt index 3985d71..e837c49 100644 --- a/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt @@ -39,21 +39,13 @@ import net.thauvin.erik.bitly.config.deeplinks.UpdateDeeplinks * * See the [Bit.ly API](https://dev.bitly.com/api-reference#updateBitlink) for more information. */ -class UpdateConfig @JvmOverloads constructor( - var bitlink: String, - var title: String = Constants.EMPTY, - var archived: Boolean = false, - var tags: Array = emptyArray(), - var deeplinks: UpdateDeeplinks = UpdateDeeplinks(), - var toJson: Boolean = false -) { - constructor(builder: Builder) : this(builder.bitlink) { - title = builder.title - archived = builder.archived - tags = builder.tags - deeplinks = builder.deeplinks - toJson = builder.toJson - } +class UpdateConfig private constructor(builder: Builder) { + val bitlink = builder.bitlink + val title = builder.title + val archived = builder.archived + val tags = builder.tags + val deeplinks = builder.deeplinks + val toJson = builder.toJson /** * Configures the update parameters of a Bitlink. diff --git a/src/test/kotlin/net/thauvin/erik/bitly/config/ConfigTest.kt b/src/test/kotlin/net/thauvin/erik/bitly/config/ConfigTest.kt index dad8a8c..57a7ae3 100644 --- a/src/test/kotlin/net/thauvin/erik/bitly/config/ConfigTest.kt +++ b/src/test/kotlin/net/thauvin/erik/bitly/config/ConfigTest.kt @@ -34,9 +34,9 @@ package net.thauvin.erik.bitly.config import assertk.assertThat import assertk.assertions.isEqualTo import net.thauvin.erik.bitly.config.deeplinks.CreateDeeplinks +import net.thauvin.erik.bitly.config.deeplinks.UpdateDeeplinks import net.thauvin.erik.bitly.config.deeplinks.enums.InstallType import net.thauvin.erik.bitly.config.deeplinks.enums.Os -import net.thauvin.erik.bitly.config.deeplinks.UpdateDeeplinks import org.json.JSONObject import kotlin.test.Test @@ -48,14 +48,13 @@ class ConfigTest { install_type(InstallType.AUTO_INSTALL) } - val config = CreateConfig( - "long_url", - "domain", - "group_guid", - "title", - arrayOf("tag", "tag2"), - deeplinks, - ) + val config = CreateConfig.Builder("long_url") + .domain("domain") + .groupGuid("group_guid") + .title("title") + .tags(arrayOf("tag", "tag2")) + .deeplinks(deeplinks) + .build() val map = mapOf( "long_url" to config.long_url, @@ -81,13 +80,13 @@ class ConfigTest { app_guid("app_guid") } - val config = UpdateConfig( - "blink", - "title", - true, - arrayOf("tag", "tag2"), - deeplinks - ) + val config = UpdateConfig.Builder("blink") + .title("title") + .archived(true) + .tags(arrayOf("tag", "tag2")) + .deeplinks(deeplinks) + .build() + val map = mapOf( "bitlink" to config.bitlink, "title" to config.title,