Skip to content

Commit ba23831

Browse files
refactor #1505: migrated client usecase to kotlin
1 parent b4a9170 commit ba23831

File tree

12 files changed

+46
-45
lines changed

12 files changed

+46
-45
lines changed

core/data/src/main/java/org/mifos/mobilewallet/core/domain/usecase/client/CreateClient.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ import javax.inject.Inject
1616
class CreateClient @Inject constructor(private val apiRepository: FineractRepository) :
1717
UseCase<CreateClient.RequestValues, CreateClient.ResponseValue>() {
1818

19-
class RequestValues(val client: NewClient) : UseCase.RequestValues
20-
class ResponseValue(val clientId: Int) : UseCase.ResponseValue
19+
data class RequestValues(val client: NewClient) : UseCase.RequestValues
20+
data class ResponseValue(val clientId: Int) : UseCase.ResponseValue
2121

2222
override fun executeUseCase(requestValues: RequestValues) {
2323
apiRepository.createClient(requestValues.client)
@@ -26,7 +26,7 @@ class CreateClient @Inject constructor(private val apiRepository: FineractReposi
2626
.subscribe(object : Subscriber<ResponseValue>() {
2727
override fun onCompleted() {}
2828
override fun onError(e: Throwable) {
29-
var message: String? = "Error"
29+
var message: String
3030
try {
3131
message = (e as HttpException).response().errorBody().string()
3232
message = getUserMessage(message)

core/data/src/main/java/org/mifos/mobilewallet/core/domain/usecase/client/FetchClientData.kt

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ import javax.inject.Inject
1515
*/
1616
class FetchClientData @Inject constructor(private val fineractRepository: FineractRepository) :
1717
UseCase<FetchClientData.RequestValues, FetchClientData.ResponseValue>() {
18-
@JvmField
18+
1919
@Inject
20-
var clientDetailsMapper: ClientDetailsMapper? = null
20+
lateinit var clientDetailsMapper: ClientDetailsMapper
2121

22-
class RequestValues(val clientid: Long) : UseCase.RequestValues
23-
class ResponseValue(val userDetails: org.mifos.mobilewallet.core.domain.model.client.Client) :
22+
data class RequestValues(val clientid: Long) : UseCase.RequestValues
23+
data class ResponseValue(val userDetails: org.mifos.mobilewallet.core.domain.model.client.Client) :
2424
UseCase.ResponseValue
2525

2626
override fun executeUseCase(requestValues: RequestValues) {
@@ -36,7 +36,7 @@ class FetchClientData @Inject constructor(private val fineractRepository: Finera
3636
override fun onNext(client: Client) {
3737
useCaseCallback.onSuccess(
3838
ResponseValue(
39-
clientDetailsMapper!!.transform(client)
39+
clientDetailsMapper.transform(client)
4040
)
4141
)
4242
}

core/data/src/main/java/org/mifos/mobilewallet/core/domain/usecase/client/FetchClientDetails.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ import javax.inject.Inject
1515
class FetchClientDetails @Inject constructor(private val mFineractRepository: FineractRepository) :
1616
UseCase<FetchClientDetails.RequestValues, FetchClientDetails.ResponseValue>() {
1717

18-
class RequestValues(val clientId: Long) : UseCase.RequestValues
19-
class ResponseValue(val client: Client) : UseCase.ResponseValue
18+
data class RequestValues(val clientId: Long) : UseCase.RequestValues
19+
data class ResponseValue(val client: Client) : UseCase.ResponseValue
2020

2121
override fun executeUseCase(requestValues: RequestValues) {
2222
mFineractRepository.getClientDetails(requestValues.clientId)

core/data/src/main/java/org/mifos/mobilewallet/core/domain/usecase/client/FetchClientImage.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ import javax.inject.Inject
1515
class FetchClientImage @Inject constructor(private val mFineractRepository: FineractRepository) :
1616
UseCase<FetchClientImage.RequestValues, FetchClientImage.ResponseValue>() {
1717

18-
class RequestValues(val clientid: Long) : UseCase.RequestValues
19-
class ResponseValue(val responseBody: ResponseBody) : UseCase.ResponseValue
18+
data class RequestValues(val clientid: Long) : UseCase.RequestValues
19+
data class ResponseValue(val responseBody: ResponseBody) : UseCase.ResponseValue
2020

2121
override fun executeUseCase(requestValues: RequestValues) {
2222
mFineractRepository.getClientImage(requestValues.clientid)

core/data/src/main/java/org/mifos/mobilewallet/core/domain/usecase/client/SearchClient.kt

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ import javax.inject.Inject
1616
*/
1717
class SearchClient @Inject constructor(private val apiRepository: FineractRepository) :
1818
UseCase<SearchClient.RequestValues, SearchClient.ResponseValue>() {
19-
@JvmField
19+
2020
@Inject
21-
var searchedEntitiesMapper: SearchedEntitiesMapper? = null
21+
lateinit var searchedEntitiesMapper: SearchedEntitiesMapper
2222

23-
class RequestValues(val externalId: String) : UseCase.RequestValues
24-
class ResponseValue(val results: List<SearchResult>) : UseCase.ResponseValue
23+
data class RequestValues(val externalId: String) : UseCase.RequestValues
24+
data class ResponseValue(val results: List<SearchResult>) : UseCase.ResponseValue
2525

2626
override fun executeUseCase(requestValues: RequestValues) {
2727
apiRepository.searchResources(requestValues.externalId, Constants.CLIENTS, false)
@@ -37,7 +37,7 @@ class SearchClient @Inject constructor(private val apiRepository: FineractReposi
3737
if (results.isNotEmpty()) {
3838
useCaseCallback.onSuccess(
3939
ResponseValue(
40-
searchedEntitiesMapper!!.transformList(results)
40+
searchedEntitiesMapper.transformList(results)
4141
)
4242
)
4343
} else {

core/data/src/main/java/org/mifos/mobilewallet/core/domain/usecase/client/UpdateClient.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ import javax.inject.Inject
1616
class UpdateClient @Inject constructor(private val fineractRepository: FineractRepository) :
1717
UseCase<UpdateClient.RequestValues, UpdateClient.ResponseValue>() {
1818

19-
class RequestValues(val updateClientEntity: Any, val clientId: Long) :
19+
data class RequestValues(val updateClientEntity: Any, val clientId: Long) :
2020
UseCase.RequestValues
2121

22-
class ResponseValue : UseCase.ResponseValue
22+
data class ResponseValue(val responseBody: ResponseBody) : UseCase.ResponseValue
2323

2424
override fun executeUseCase(requestValues: RequestValues) {
2525
fineractRepository.updateClient(requestValues.clientId, requestValues.updateClientEntity)
@@ -28,7 +28,7 @@ class UpdateClient @Inject constructor(private val fineractRepository: FineractR
2828
.subscribe(object : Subscriber<ResponseBody>() {
2929
override fun onCompleted() {}
3030
override fun onError(e: Throwable) {
31-
var message: String? = "Error"
31+
var message: String
3232
try {
3333
message = (e as HttpException).response().errorBody().string()
3434
message = getUserMessage(message)
@@ -39,7 +39,7 @@ class UpdateClient @Inject constructor(private val fineractRepository: FineractR
3939
}
4040

4141
override fun onNext(responseBody: ResponseBody) {
42-
useCaseCallback.onSuccess(ResponseValue())
42+
useCaseCallback.onSuccess(ResponseValue(responseBody))
4343
}
4444
})
4545
}

mifospay/src/main/java/org/mifos/mobilewallet/mifospay/common/SearchContract.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ interface SearchContract {
1515
}
1616

1717
interface SearchPresenter : BasePresenter {
18-
fun performSearch(query: String?)
18+
fun performSearch(query: String)
1919
}
2020
}

mifospay/src/main/java/org/mifos/mobilewallet/mifospay/common/TransferContract.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ interface TransferContract {
1616
}
1717

1818
interface TransferPresenter : BasePresenter {
19-
fun fetchClient(externalId: String?)
19+
fun fetchClient(externalId: String)
2020
fun makeTransfer(fromClientId: Long, toClientId: Long, amount: Double)
2121
}
2222
}

mifospay/src/main/java/org/mifos/mobilewallet/mifospay/common/presenter/MakeTransferPresenter.kt

+7-7
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,21 @@ import javax.inject.Inject
1313
*/
1414
class MakeTransferPresenter @Inject constructor(private val mUsecaseHandler: UseCaseHandler) :
1515
TransferContract.TransferPresenter {
16-
@JvmField
16+
1717
@Inject
18-
var transferFunds: TransferFunds? = null
18+
lateinit var transferFunds: TransferFunds
1919

20-
@JvmField
2120
@Inject
22-
var searchClient: SearchClient? = null
21+
lateinit var searchClient: SearchClient
22+
2323
private var mTransferView: TransferContract.TransferView? = null
2424
override fun attachView(baseView: BaseView<*>?) {
2525
mTransferView = baseView as TransferContract.TransferView?
2626
mTransferView?.setPresenter(this)
2727
}
2828

29-
override fun fetchClient(externalId: String?) {
30-
mUsecaseHandler.execute(searchClient, externalId?.let { SearchClient.RequestValues(it) },
29+
override fun fetchClient(externalId: String) {
30+
mUsecaseHandler.execute(searchClient, SearchClient.RequestValues(externalId),
3131
object : UseCaseCallback<SearchClient.ResponseValue?> {
3232
override fun onSuccess(response: SearchClient.ResponseValue?) {
3333
val searchResult = response?.results?.get(0)
@@ -57,7 +57,7 @@ class MakeTransferPresenter @Inject constructor(private val mUsecaseHandler: Use
5757

5858
override fun onError(message: String) {
5959
mTransferView?.enableDragging(true)
60-
mTransferView!!.transferFailure()
60+
mTransferView?.transferFailure()
6161
}
6262
})
6363
}

mifospay/src/main/java/org/mifos/mobilewallet/mifospay/common/presenter/SearchPresenter.kt

+8-8
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,20 @@ import javax.inject.Inject
1212
*/
1313
class SearchPresenter @Inject constructor(private val mUsecaseHandler: UseCaseHandler) :
1414
SearchContract.SearchPresenter {
15-
@JvmField
15+
1616
@Inject
17-
var searchClient: SearchClient? = null
18-
private var mSearchView: SearchContract.SearchView? = null
17+
lateinit var searchClient: SearchClient
18+
private lateinit var mSearchView: SearchContract.SearchView
1919
override fun attachView(baseView: BaseView<*>?) {
20-
mSearchView = baseView as SearchContract.SearchView?
21-
mSearchView?.setPresenter(this)
20+
mSearchView = baseView as SearchContract.SearchView
21+
mSearchView.setPresenter(this)
2222
}
2323

24-
override fun performSearch(query: String?) {
25-
mUsecaseHandler.execute(searchClient, query?.let { SearchClient.RequestValues(it) },
24+
override fun performSearch(query: String) {
25+
mUsecaseHandler.execute(searchClient, SearchClient.RequestValues(query),
2626
object : UseCaseCallback<SearchClient.ResponseValue?> {
2727
override fun onSuccess(response: SearchClient.ResponseValue?) {
28-
mSearchView?.showSearchResult(response?.results?.toMutableList())
28+
mSearchView.showSearchResult(response?.results?.toMutableList())
2929
}
3030

3131
override fun onError(message: String) {}

mifospay/src/main/java/org/mifos/mobilewallet/mifospay/common/ui/MakeTransferFragment.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ class MakeTransferFragment : BottomSheetDialogFragment(), TransferContract.Trans
100100
ButterKnife.bind(this, view)
101101
mPresenter?.attachView(this)
102102
amount = arguments?.getDouble(Constants.AMOUNT) ?: 0.0
103-
mTransferPresenter?.fetchClient(arguments?.getString(Constants.TO_EXTERNAL_ID))
103+
mTransferPresenter?.fetchClient(arguments?.getString(Constants.TO_EXTERNAL_ID).toString())
104104
btnCancel?.setOnClickListener { dismiss() }
105105
btnConfirm?.setOnClickListener {
106106
mTransferPresenter?.makeTransfer(

mifospay/src/main/java/org/mifos/mobilewallet/mifospay/registration/presenter/MobileVerificationPresenter.kt

+7-6
Original file line numberDiff line numberDiff line change
@@ -13,34 +13,35 @@ import javax.inject.Inject
1313
*/
1414
class MobileVerificationPresenter @Inject constructor(private val mUseCaseHandler: UseCaseHandler) :
1515
RegistrationContract.MobileVerificationPresenter {
16-
var mMobileVerificationView: MobileVerificationView? = null
16+
17+
lateinit var mMobileVerificationView: MobileVerificationView
1718

1819
@JvmField
1920
@Inject
2021
var searchClientUseCase: SearchClient? = null
2122
override fun attachView(baseView: BaseView<*>?) {
22-
mMobileVerificationView = baseView as MobileVerificationView?
23-
mMobileVerificationView?.setPresenter(this)
23+
mMobileVerificationView = baseView as MobileVerificationView
24+
mMobileVerificationView.setPresenter(this)
2425
}
2526

2627
override fun requestOTPfromServer(fullNumber: String?, mobileNo: String?) {
2728
mUseCaseHandler.execute(searchClientUseCase,
2829
mobileNo?.let { SearchClient.RequestValues(it) },
2930
object : UseCaseCallback<SearchClient.ResponseValue?> {
3031
override fun onSuccess(response: SearchClient.ResponseValue?) {
31-
mMobileVerificationView?.onRequestOtpFailed("Mobile number already exists.")
32+
mMobileVerificationView.onRequestOtpFailed("Mobile number already exists.")
3233
}
3334

3435
override fun onError(message: String) {
3536
// TODO:: request OTP
36-
mMobileVerificationView?.onRequestOtpSuccess()
37+
mMobileVerificationView.onRequestOtpSuccess()
3738
}
3839
})
3940
}
4041

4142
override fun verifyOTP(otp: String?) {
4243
// TODO:: verify OTP
43-
mMobileVerificationView?.onOtpVerificationSuccess()
44+
mMobileVerificationView.onOtpVerificationSuccess()
4445

4546
// TODO::
4647

0 commit comments

Comments
 (0)