diff --git a/obp-api/src/main/scala/bootstrap/liftweb/Boot.scala b/obp-api/src/main/scala/bootstrap/liftweb/Boot.scala
index d54bb38157..681f0ad0ee 100644
--- a/obp-api/src/main/scala/bootstrap/liftweb/Boot.scala
+++ b/obp-api/src/main/scala/bootstrap/liftweb/Boot.scala
@@ -26,6 +26,7 @@ TESOBE (http://www.tesobe.com/)
*/
package bootstrap.liftweb
+import org.json4s._
import code.CustomerDependants.MappedCustomerDependant
import code.DynamicData.DynamicData
import code.DynamicEndpoint.DynamicEndpoint
@@ -150,7 +151,7 @@ import com.openbankproject.commons.util.Functions.Implicits._
import com.openbankproject.commons.util.{ApiVersion, Functions}
import net.liftweb.common._
import net.liftweb.db.{DB, DBLogEntry}
-import net.liftweb.json.Extraction
+import org.json4s.Extraction
import net.liftweb.mapper.{DefaultConnectionIdentifier => _, _}
// SiteMap imports removed - API-only mode, no portal pages
import net.liftweb.util.Helpers._
diff --git a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/AccountsApi.scala b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/AccountsApi.scala
index 4dc41a19aa..da32deac9d 100644
--- a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/AccountsApi.scala
+++ b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/AccountsApi.scala
@@ -9,8 +9,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/BankingApi.scala b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/BankingApi.scala
index 8b8ec49e57..5484895fe6 100644
--- a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/BankingApi.scala
+++ b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/BankingApi.scala
@@ -11,8 +11,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.model.{AccountId, BankId}
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.{List, Nil}
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/CommonApi.scala b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/CommonApi.scala
index cfb811b752..59e708ec05 100644
--- a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/CommonApi.scala
+++ b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/CommonApi.scala
@@ -9,8 +9,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/CustomerApi.scala b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/CustomerApi.scala
index 97f214edc8..63832aa0dd 100644
--- a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/CustomerApi.scala
+++ b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/CustomerApi.scala
@@ -9,8 +9,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/DirectDebitsApi.scala b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/DirectDebitsApi.scala
index 0c0b61be94..9131728c75 100644
--- a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/DirectDebitsApi.scala
+++ b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/DirectDebitsApi.scala
@@ -9,8 +9,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/DiscoveryApi.scala b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/DiscoveryApi.scala
index 4d93a65d34..e3ff6ad1f3 100644
--- a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/DiscoveryApi.scala
+++ b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/DiscoveryApi.scala
@@ -9,8 +9,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/PayeesApi.scala b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/PayeesApi.scala
index ca0a6220fa..20a7e53ddd 100644
--- a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/PayeesApi.scala
+++ b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/PayeesApi.scala
@@ -9,8 +9,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/ProductsApi.scala b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/ProductsApi.scala
index 798af3b913..d23a433098 100644
--- a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/ProductsApi.scala
+++ b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/ProductsApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/ScheduledPaymentsApi.scala b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/ScheduledPaymentsApi.scala
index 82a3b3448f..926561e885 100644
--- a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/ScheduledPaymentsApi.scala
+++ b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/ScheduledPaymentsApi.scala
@@ -9,8 +9,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/AccountAccessConsentsApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/AccountAccessConsentsApi.scala
index d2dd7445cc..04cd8c8360 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/AccountAccessConsentsApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/AccountAccessConsentsApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/AccountsApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/AccountsApi.scala
index e883d65959..a20195d0f1 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/AccountsApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/AccountsApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/BalancesApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/BalancesApi.scala
index 9065f848aa..63665702a2 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/BalancesApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/BalancesApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/BeneficiariesApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/BeneficiariesApi.scala
index 41a2376d2d..e3885286fb 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/BeneficiariesApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/BeneficiariesApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DirectDebitsApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DirectDebitsApi.scala
index 5f39798d1b..c313180d16 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DirectDebitsApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DirectDebitsApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticFutureDatedPaymentConsentsApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticFutureDatedPaymentConsentsApi.scala
index 37cf586329..f330190bd9 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticFutureDatedPaymentConsentsApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticFutureDatedPaymentConsentsApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticFutureDatedPaymentsApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticFutureDatedPaymentsApi.scala
index 5ebd8b6f43..0ca330e815 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticFutureDatedPaymentsApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticFutureDatedPaymentsApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticPaymentsApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticPaymentsApi.scala
index c5f9a85497..a43e3eb9d1 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticPaymentsApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticPaymentsApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticPaymentsConsentsApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticPaymentsConsentsApi.scala
index 370b12a9c4..6e401bf1a7 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticPaymentsConsentsApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/DomesticPaymentsConsentsApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/EventNotificationApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/EventNotificationApi.scala
index e63bc9f9cd..090fe1923e 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/EventNotificationApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/EventNotificationApi.scala
@@ -10,8 +10,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/FilePaymentConsentsApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/FilePaymentConsentsApi.scala
index 3ee1913a15..00696c32b1 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/FilePaymentConsentsApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/FilePaymentConsentsApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/FilePaymentsApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/FilePaymentsApi.scala
index 366e30e2bd..6bb9fc7701 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/FilePaymentsApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/FilePaymentsApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/FutureDatedPaymentsApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/FutureDatedPaymentsApi.scala
index 92b8bdfecb..65a64945a7 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/FutureDatedPaymentsApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/FutureDatedPaymentsApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/InternationalPaymentConsentsApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/InternationalPaymentConsentsApi.scala
index 1ee4ce2ab9..a5e42c0848 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/InternationalPaymentConsentsApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/InternationalPaymentConsentsApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/InternationalPaymentsApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/InternationalPaymentsApi.scala
index 9b146ae096..966c2610f8 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/InternationalPaymentsApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/InternationalPaymentsApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/OffersApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/OffersApi.scala
index 40d3ffb41a..a8ef0ed172 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/OffersApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/OffersApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/PartiesApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/PartiesApi.scala
index 67d5c9d445..8c6c53c49f 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/PartiesApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/PartiesApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/StandingOrdersApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/StandingOrdersApi.scala
index 9f6b956d40..bf8605cbb2 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/StandingOrdersApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/StandingOrdersApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/StatementsApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/StatementsApi.scala
index fbd17a1f4e..8ac872296d 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/StatementsApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/StatementsApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/SupplementaryAccountInfoApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/SupplementaryAccountInfoApi.scala
index b115b3f6ca..ae47beb1ca 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/SupplementaryAccountInfoApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/SupplementaryAccountInfoApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/TransactionsApi.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/TransactionsApi.scala
index 9fb39fca2b..6114a754f3 100644
--- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/TransactionsApi.scala
+++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/TransactionsApi.scala
@@ -9,8 +9,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/DirectLoginRoutes.scala b/obp-api/src/main/scala/code/api/DirectLoginRoutes.scala
index c5c88a62f1..cdb88e6de4 100644
--- a/obp-api/src/main/scala/code/api/DirectLoginRoutes.scala
+++ b/obp-api/src/main/scala/code/api/DirectLoginRoutes.scala
@@ -1,5 +1,6 @@
package code.api
+import org.json4s._
import cats.effect.IO
import code.api.util.{CallContext, CustomJsonFormats}
import code.api.util.http4s.{Http4sCallContextBuilder, Http4sRequestAttributes}
@@ -7,7 +8,7 @@ import code.api.util.http4s.Http4sRequestAttributes.EndpointHelpers
import code.api.v6_0_0.JSONFactory600
import com.openbankproject.commons.ExecutionContext.Implicits.global
import net.liftweb.common.Empty
-import net.liftweb.json.Formats
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
diff --git a/obp-api/src/main/scala/code/api/GatewayLogin.scala b/obp-api/src/main/scala/code/api/GatewayLogin.scala
index 72e908a29c..94dbcd4f7c 100755
--- a/obp-api/src/main/scala/code/api/GatewayLogin.scala
+++ b/obp-api/src/main/scala/code/api/GatewayLogin.scala
@@ -38,7 +38,8 @@ import code.util.Helper.MdcLoggable
import com.nimbusds.jwt.JWTClaimsSet
import com.openbankproject.commons.model.{InboundAccount, User}
import net.liftweb.common._
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.util.Helpers
import com.openbankproject.commons.ExecutionContext.Implicits.global
@@ -69,7 +70,7 @@ object JSONFactoryGateway {
// HTTP routes of its own; the legacy `extends RestHelper` mixin was vestigial.
object GatewayLogin extends MdcLoggable {
- // For lift-json `.extract[PayloadOfJwtJSON]` calls below.
+ // For json4s `.extract[PayloadOfJwtJSON]` calls below.
private implicit val formats: Formats = DefaultFormats
val gateway = "Gateway" // This value is used for ResourceUser.provider and Consumer.description
diff --git a/obp-api/src/main/scala/code/api/MxOF/APIMethods_AtmsApi.scala b/obp-api/src/main/scala/code/api/MxOF/APIMethods_AtmsApi.scala
index 014bb8d69a..a8d3e933f6 100644
--- a/obp-api/src/main/scala/code/api/MxOF/APIMethods_AtmsApi.scala
+++ b/obp-api/src/main/scala/code/api/MxOF/APIMethods_AtmsApi.scala
@@ -16,8 +16,8 @@
//import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
//import dispatch.Future
//import net.liftweb.common.{Box, Empty, Full}
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/MxOF/JSONFactory_MXOF_1_0_0.scala b/obp-api/src/main/scala/code/api/MxOF/JSONFactory_MXOF_1_0_0.scala
index 3d17775dde..7f4bfbae22 100644
--- a/obp-api/src/main/scala/code/api/MxOF/JSONFactory_MXOF_1_0_0.scala
+++ b/obp-api/src/main/scala/code/api/MxOF/JSONFactory_MXOF_1_0_0.scala
@@ -5,7 +5,7 @@
//import code.atms.MappedAtm
//import code.bankattribute.BankAttribute
//import com.openbankproject.commons.model.Bank
-//import net.liftweb.json.JValue
+//import org.json4s.JValue
//
//import scala.collection.immutable.List
//import com.openbankproject.commons.model._
diff --git a/obp-api/src/main/scala/code/api/OAuth2.scala b/obp-api/src/main/scala/code/api/OAuth2.scala
index 57ac481c52..5a1dfdef7f 100644
--- a/obp-api/src/main/scala/code/api/OAuth2.scala
+++ b/obp-api/src/main/scala/code/api/OAuth2.scala
@@ -828,7 +828,8 @@ object OAuth2Login extends MdcLoggable {
val consumerId = getClaim(name = "azp", jwtToken = token).getOrElse("")
if(sourceOfTruth) {
logger.debug("Extracting roles from Access Token")
- import net.liftweb.json._
+ import org.json4s._
+ import com.openbankproject.commons.util.JsonAliases._
implicit val formats: Formats = DefaultFormats
val jsonString = JwtUtil.getSignedPayloadAsJson(token)
val json = parse(jsonString.getOrElse(""))
diff --git a/obp-api/src/main/scala/code/api/OBPRestHelper.scala b/obp-api/src/main/scala/code/api/OBPRestHelper.scala
index e3c177810d..4a89f7c0c0 100644
--- a/obp-api/src/main/scala/code/api/OBPRestHelper.scala
+++ b/obp-api/src/main/scala/code/api/OBPRestHelper.scala
@@ -27,6 +27,8 @@ TESOBE (http://www.tesobe.com/)
package code.api
+import org.json4s._
+import java.lang.ThreadLocal
import scala.language.reflectiveCalls
import scala.language.implicitConversions
import code.api.Constant._
@@ -37,8 +39,8 @@ import com.alibaba.ttl.TransmittableThreadLocal
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
import net.liftweb.common._
-import net.liftweb.json.Extraction
-import net.liftweb.json.JsonAST.JValue
+import org.json4s.Extraction
+import org.json4s.JsonAST.JValue
import java.util.{Locale, MissingResourceException, ResourceBundle}
import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/AISApi.scala b/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/AISApi.scala
index 652400693f..f7dd8e809d 100644
--- a/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/AISApi.scala
+++ b/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/AISApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/ASApi.scala b/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/ASApi.scala
index 05a8207fe1..079291acee 100644
--- a/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/ASApi.scala
+++ b/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/ASApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/CAFApi.scala b/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/CAFApi.scala
index e81d1eea4c..6eea2f8923 100644
--- a/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/CAFApi.scala
+++ b/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/CAFApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/PISApi.scala b/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/PISApi.scala
index e8d5aef9f7..b00e16017f 100644
--- a/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/PISApi.scala
+++ b/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/PISApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/OpenAPI31JSONFactory.scala b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/OpenAPI31JSONFactory.scala
index 9462198c08..dfbe35785f 100644
--- a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/OpenAPI31JSONFactory.scala
+++ b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/OpenAPI31JSONFactory.scala
@@ -32,9 +32,10 @@ import code.api.util._
import code.api.v1_4_0.JSONFactory1_4_0.ResourceDocJson
import com.openbankproject.commons.model.ListResult
import com.openbankproject.commons.util.{ApiVersion, JsonAble, JsonUtils, ReflectUtils}
-import net.liftweb.json.JsonAST.{JArray, JObject, JValue}
-import net.liftweb.json._
-import net.liftweb.json.Extraction
+import org.json4s.JsonAST.{JArray, JObject, JValue}
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
+import org.json4s.Extraction
import scala.collection.immutable.ListMap
import scala.reflect.runtime.universe._
diff --git a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala
index 2bbcab180d..a83ec0a623 100644
--- a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala
+++ b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala
@@ -33,9 +33,10 @@ import com.openbankproject.commons.model.{BankId, ListResult, User}
import com.openbankproject.commons.util.ApiStandards._
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
import net.liftweb.common.{Box, Empty, Full}
-import net.liftweb.json
-import net.liftweb.json.JsonAST.{JField, JString, JValue}
-import net.liftweb.json._
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.{JField, JString, JValue}
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import java.util.concurrent.ConcurrentHashMap
import scala.collection.immutable
diff --git a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerDefinitionsJSON.scala b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerDefinitionsJSON.scala
index 67d1e0f4fe..553258f238 100644
--- a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerDefinitionsJSON.scala
+++ b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerDefinitionsJSON.scala
@@ -1,5 +1,6 @@
package code.api.ResourceDocs1_4_0
+import org.json4s._
import scala.language.implicitConversions
import code.api.Constant
import code.api.Constant._
@@ -30,7 +31,7 @@ import com.openbankproject.commons.model._
import com.openbankproject.commons.model.enums.TransactionRequestTypes._
import com.openbankproject.commons.model.enums.{AttributeCategory, CardAttributeType, ChallengeType, TransactionRequestStatus}
import com.openbankproject.commons.util.{ApiVersion, FieldNameApiVersions, ReflectUtils}
-import net.liftweb.json
+import com.openbankproject.commons.util.json
import java.net.URLEncoder
import java.util.Date
@@ -6423,7 +6424,7 @@ object SwaggerDefinitionsJSON {
// Signal Channels swagger examples
lazy val postSignalMessageJsonV600 = PostSignalMessageJsonV600(
- payload = net.liftweb.json.parse("""{"agent_name": "my-agent", "capabilities": ["summarize", "search"]}"""),
+ payload = com.openbankproject.commons.util.JsonAliases.parse("""{"agent_name": "my-agent", "capabilities": ["summarize", "search"]}"""),
message_type = Some("announce"),
to_user_id = None
)
@@ -6436,7 +6437,7 @@ object SwaggerDefinitionsJSON {
to_user_id = None,
timestamp = "2026-02-20T10:30:00Z",
message_type = "announce",
- payload = net.liftweb.json.parse("""{"agent_name": "my-agent", "capabilities": ["summarize", "search"]}""")
+ payload = com.openbankproject.commons.util.JsonAliases.parse("""{"agent_name": "my-agent", "capabilities": ["summarize", "search"]}""")
)
lazy val signalMessagesJsonV600 = SignalMessagesJsonV600(
diff --git a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerJSONFactory.scala b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerJSONFactory.scala
index 18ecdc734f..cc7b83b7ae 100644
--- a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerJSONFactory.scala
+++ b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerJSONFactory.scala
@@ -6,9 +6,9 @@ import code.api.util.APIUtil.{HTTPParam, EmptyBody, JArrayBody, PrimaryDataBody,
import code.api.util.ErrorMessages._
import code.api.util._
import com.openbankproject.commons.util.{ApiVersion, EnumValue, JsonAble, JsonUtils, OBPEnumeration, ReflectUtils, ScannedApiVersion}
-import net.liftweb
-import net.liftweb.json.JsonAST.JValue
-import net.liftweb.json._
+import org.json4s.JsonAST.JValue
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import scala.collection.immutable.ListMap
import scala.reflect.runtime.universe._
@@ -33,7 +33,7 @@ import com.openbankproject.commons.model.ListResult
import code.util.Helper.MdcLoggable
import net.liftweb.common.Box.tryo
import net.liftweb.common.{EmptyBox, Full}
-import net.liftweb.json
+import com.openbankproject.commons.util.json
import scala.collection.GenTraversableLike
import scala.reflect.runtime.universe
@@ -976,7 +976,7 @@ object SwaggerJSONFactory extends MdcLoggable {
* } ...
*/
// link ->https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#definitionsObject
- def loadDefinitions(resourceDocList: List[JSONFactory1_4_0.ResourceDocJson], allSwaggerDefinitionCaseClasses: Seq[AnyRef]): liftweb.json.JValue = {
+ def loadDefinitions(resourceDocList: List[JSONFactory1_4_0.ResourceDocJson], allSwaggerDefinitionCaseClasses: Seq[AnyRef]): org.json4s.JValue = {
// filter function: not null and not type of EnumValue, PrimaryDataBody, JObject, JArray.
val predicate: Any => Boolean = {
diff --git a/obp-api/src/main/scala/code/api/STET/v1_4/AISPApi.scala b/obp-api/src/main/scala/code/api/STET/v1_4/AISPApi.scala
index b6f37d8880..b7417fa8ec 100644
--- a/obp-api/src/main/scala/code/api/STET/v1_4/AISPApi.scala
+++ b/obp-api/src/main/scala/code/api/STET/v1_4/AISPApi.scala
@@ -18,8 +18,8 @@
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import com.openbankproject.commons.model.{AccountId, BankId, BankIdAccountId}
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.mutable.ArrayBuffer
//import scala.concurrent.Future
diff --git a/obp-api/src/main/scala/code/api/STET/v1_4/CBPIIApi.scala b/obp-api/src/main/scala/code/api/STET/v1_4/CBPIIApi.scala
index 2accece1a5..0f8dd42d53 100644
--- a/obp-api/src/main/scala/code/api/STET/v1_4/CBPIIApi.scala
+++ b/obp-api/src/main/scala/code/api/STET/v1_4/CBPIIApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/STET/v1_4/PISPApi.scala b/obp-api/src/main/scala/code/api/STET/v1_4/PISPApi.scala
index f3be004974..9aa80dd93b 100644
--- a/obp-api/src/main/scala/code/api/STET/v1_4/PISPApi.scala
+++ b/obp-api/src/main/scala/code/api/STET/v1_4/PISPApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v2_0_0/Http4sUKOBv200AIS.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v2_0_0/Http4sUKOBv200AIS.scala
index 4e263394c3..21d6358c85 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v2_0_0/Http4sUKOBv200AIS.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v2_0_0/Http4sUKOBv200AIS.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v2_0_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.APIFailureNewStyle
@@ -19,7 +20,7 @@ import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model.{AccountId, BankIdAccountId}
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
import net.liftweb.common.Full
-import net.liftweb.json.Formats
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/AccountAccessApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/AccountAccessApi.scala
index f720dddc39..e68c42636b 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/AccountAccessApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/AccountAccessApi.scala
@@ -13,8 +13,8 @@
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import com.openbankproject.commons.model.User
//import net.liftweb.common.{Empty, Full}
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
@@ -216,7 +216,7 @@
// consent <- Future(Consents.consentProvider.vend.getConsentByConsentId(consentId)) map {
// unboxFullOrFail(_, callContext, s"$ConsentNotFound ($consentId)")
// }
-// consentViews <- Future(JwtUtil.getSignedPayloadAsJson(consent.jsonWebToken).map(net.liftweb.json.parse(_).extract[ConsentJWT].views.map(_.view_id))) map {
+// consentViews <- Future(JwtUtil.getSignedPayloadAsJson(consent.jsonWebToken).map(com.openbankproject.commons.util.JsonAliases.parse(_).extract[ConsentJWT].views.map(_.view_id))) map {
// unboxFullOrFail(_, callContext, s"$ConsentViewNotFund ($consentId)")
// }
// } yield {
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/AccountsApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/AccountsApi.scala
index 5d7829e0ac..8ee7627984 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/AccountsApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/AccountsApi.scala
@@ -11,8 +11,8 @@
//import com.github.dwickern.macros.NameOf.nameOf
//import com.openbankproject.commons.model.{AccountAttribute, AccountId, BankAccount, BankIdAccountId, View, ViewId}
//import net.liftweb.common.{Box, Empty, Full}
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/BalancesApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/BalancesApi.scala
index bd6a8b43be..fd6cbda732 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/BalancesApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/BalancesApi.scala
@@ -12,8 +12,8 @@
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import com.openbankproject.commons.model.{AccountId, BankIdAccountId, View, ViewId}
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.mutable.ArrayBuffer
//
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/BeneficiariesApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/BeneficiariesApi.scala
index 984540c0ca..4c228f7cc6 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/BeneficiariesApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/BeneficiariesApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DirectDebitsApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DirectDebitsApi.scala
index 55c90ae3dc..f124172e2f 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DirectDebitsApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DirectDebitsApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DomesticPaymentsApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DomesticPaymentsApi.scala
index 83fd57cb02..e7f0323328 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DomesticPaymentsApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DomesticPaymentsApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DomesticScheduledPaymentsApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DomesticScheduledPaymentsApi.scala
index cc9a30d21c..b15cc06406 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DomesticScheduledPaymentsApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DomesticScheduledPaymentsApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DomesticStandingOrdersApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DomesticStandingOrdersApi.scala
index 78eb39ecc9..a3c5053fb4 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DomesticStandingOrdersApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/DomesticStandingOrdersApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/FilePaymentsApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/FilePaymentsApi.scala
index 1b7bb6d736..81b00b5de0 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/FilePaymentsApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/FilePaymentsApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/FundsConfirmationsApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/FundsConfirmationsApi.scala
index 0844f5fbdb..d8e4d0bf3a 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/FundsConfirmationsApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/FundsConfirmationsApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310AccountAccess.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310AccountAccess.scala
index 138a4c05d5..705245375d 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310AccountAccess.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310AccountAccess.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.Constant
@@ -17,7 +18,7 @@ import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model.User
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json.Formats
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -35,7 +36,7 @@ object Http4sUKOBv310AccountAccess extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
lazy val createAccountAccessConsents: HttpRoutes[IO] = HttpRoutes.of[IO] {
@@ -51,7 +52,7 @@ object Http4sUKOBv310AccountAccess extends MdcLoggable {
case None => Future.failed(new RuntimeException(AuthenticatedUserIsRequired))
}
consentJson <- Future.fromTry(scala.util.Try(
- net.liftweb.json.parse(cc.httpBody.getOrElse("{}")).extract[ConsentPostBodyUKV310]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("{}")).extract[ConsentPostBodyUKV310]
))
consumerId = cc.consumer.map(_.consumerId.get)
_ <- passesPsd2Aisp(Some(cc))
@@ -68,7 +69,7 @@ object Http4sUKOBv310AccountAccess extends MdcLoggable {
apiVersion = Some("3.1.0")
)) map { i => connectorEmptyResponse(i, Some(cc)) }
} yield {
- net.liftweb.json.parse(s"""{
+ com.openbankproject.commons.util.JsonAliases.parse(s"""{
"Meta" : {
"LastAvailableDateTime" : "2000-01-23T06:44:05.618Z",
"FirstAvailableDateTime" : "2000-01-23T06:44:05.618Z",
@@ -178,10 +179,10 @@ object Http4sUKOBv310AccountAccess extends MdcLoggable {
unboxFullOrFail(_, Some(cc), s"$ConsentNotFound ($consentId)")
}
consentViews <- Future(JwtUtil.getSignedPayloadAsJson(consent.jsonWebToken).map(
- net.liftweb.json.parse(_).extract[ConsentJWT].views.map(_.view_id)
+ com.openbankproject.commons.util.JsonAliases.parse(_).extract[ConsentJWT].views.map(_.view_id)
)) map { unboxFullOrFail(_, Some(cc), s"$ConsentViewNotFund ($consentId)") }
} yield {
- net.liftweb.json.parse(s"""{
+ com.openbankproject.commons.util.JsonAliases.parse(s"""{
"Meta" : {
"LastAvailableDateTime" : "2000-01-23T06:44:05.618Z",
"FirstAvailableDateTime" : "2000-01-23T06:44:05.618Z",
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Accounts.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Accounts.scala
index 776ad426e0..2eb6f349a1 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Accounts.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Accounts.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.Constant
@@ -16,8 +17,8 @@ import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model.{AccountId, BankAccount, BankIdAccountId, View, ViewId}
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
import net.liftweb.common.{Box, Empty, Full}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -34,7 +35,7 @@ object Http4sUKOBv310Accounts extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
lazy val getAccounts: HttpRoutes[IO] = HttpRoutes.of[IO] {
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Balances.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Balances.scala
index 9aba7d293e..947f9148f7 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Balances.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Balances.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.Constant
@@ -17,8 +18,8 @@ import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model.{AccountId, BankIdAccountId, ViewId}
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
import net.liftweb.common.Full
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -34,7 +35,7 @@ object Http4sUKOBv310Balances extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("Balances") :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Beneficiaries.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Beneficiaries.scala
index 5caf67a1a8..381c3162e0 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Beneficiaries.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Beneficiaries.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,8 +14,8 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -32,7 +33,7 @@ object Http4sUKOBv310Beneficiaries extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("Beneficiaries") :: apiTagMockedData :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DirectDebits.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DirectDebits.scala
index ee80a79628..c411eebb87 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DirectDebits.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DirectDebits.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,8 +14,8 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -27,7 +28,7 @@ object Http4sUKOBv310DirectDebits extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("Direct Debits") :: apiTagMockedData :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DomesticPayments.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DomesticPayments.scala
index 13b2c207ce..9a2fc49028 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DomesticPayments.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DomesticPayments.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,8 +14,8 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -27,7 +28,7 @@ object Http4sUKOBv310DomesticPayments extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("Domestic Payments") :: apiTagMockedData :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DomesticScheduledPayments.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DomesticScheduledPayments.scala
index 481776f60f..c75204660f 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DomesticScheduledPayments.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DomesticScheduledPayments.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,8 +14,8 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -27,7 +28,7 @@ object Http4sUKOBv310DomesticScheduledPayments extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("Domestic Scheduled Payments") :: apiTagMockedData :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DomesticStandingOrders.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DomesticStandingOrders.scala
index 28841a4654..027bd62860 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DomesticStandingOrders.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310DomesticStandingOrders.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,8 +14,8 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -27,7 +28,7 @@ object Http4sUKOBv310DomesticStandingOrders extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("Domestic Standing Orders") :: apiTagMockedData :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310FilePayments.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310FilePayments.scala
index fbb28182ea..c3f7ba5852 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310FilePayments.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310FilePayments.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,8 +14,8 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -27,7 +28,7 @@ object Http4sUKOBv310FilePayments extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("File Payments") :: apiTagMockedData :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310FundsConfirmations.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310FundsConfirmations.scala
index c92c707745..4907147e05 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310FundsConfirmations.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310FundsConfirmations.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,8 +14,8 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -31,7 +32,7 @@ object Http4sUKOBv310FundsConfirmations extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("Funds Confirmations") :: apiTagMockedData :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310InternationalPayments.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310InternationalPayments.scala
index e2fa27b7a5..7adabdfc9a 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310InternationalPayments.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310InternationalPayments.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,8 +14,8 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -27,7 +28,7 @@ object Http4sUKOBv310InternationalPayments extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("International Payments") :: apiTagMockedData :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310InternationalScheduledPayments.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310InternationalScheduledPayments.scala
index 5bed4d829c..987e4e4f08 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310InternationalScheduledPayments.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310InternationalScheduledPayments.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,8 +14,8 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -27,7 +28,7 @@ object Http4sUKOBv310InternationalScheduledPayments extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("International Scheduled Payments") :: apiTagMockedData :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310InternationalStandingOrders.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310InternationalStandingOrders.scala
index 3b7f19a6b8..c1b6fe38ce 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310InternationalStandingOrders.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310InternationalStandingOrders.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,8 +14,8 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -27,7 +28,7 @@ object Http4sUKOBv310InternationalStandingOrders extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("International Standing Orders") :: apiTagMockedData :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Offers.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Offers.scala
index 7ee56d27a6..7e81ef94d4 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Offers.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Offers.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,8 +14,8 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -27,7 +28,7 @@ object Http4sUKOBv310Offers extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("Offers") :: apiTagMockedData :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Partys.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Partys.scala
index 39e16850f4..4b830ea02e 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Partys.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Partys.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,8 +14,8 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -27,7 +28,7 @@ object Http4sUKOBv310Partys extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("Partys") :: apiTagMockedData :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Products.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Products.scala
index c6669b331e..d9ef3ddb27 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Products.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Products.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,7 +14,7 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json.Formats
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -35,7 +36,7 @@ object Http4sUKOBv310Products extends MdcLoggable {
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310ScheduledPayments.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310ScheduledPayments.scala
index 1312d06381..ac411887bb 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310ScheduledPayments.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310ScheduledPayments.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,8 +14,8 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -27,7 +28,7 @@ object Http4sUKOBv310ScheduledPayments extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("Scheduled Payments") :: apiTagMockedData :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310StandingOrders.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310StandingOrders.scala
index adbc7167c3..f7344c3373 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310StandingOrders.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310StandingOrders.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,8 +14,8 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -27,7 +28,7 @@ object Http4sUKOBv310StandingOrders extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("Standing Orders") :: apiTagMockedData :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Statements.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Statements.scala
index 29c7b98f4d..bee31cccda 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Statements.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Statements.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.util.APIUtil.{EmptyBody, ResourceDoc, mockedDataText}
@@ -13,8 +14,8 @@ import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -31,7 +32,7 @@ object Http4sUKOBv310Statements extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
private val tag = ApiTag("Statements") :: apiTagMockedData :: Nil
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Transactions.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Transactions.scala
index 49003d0597..5199414fde 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Transactions.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/Http4sUKOBv310Transactions.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.APIFailureNewStyle
@@ -21,8 +22,8 @@ import com.openbankproject.commons.model.{AccountId, BankId, BankIdAccountId, Tr
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
import net.liftweb.common.Full
import code.model.{BankAccountExtended, UserExtended}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -43,7 +44,7 @@ object Http4sUKOBv310Transactions extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
val implementedInApiVersion: ScannedApiVersion = ApiVersion.ukOpenBankingV31
val resourceDocs = ArrayBuffer[ResourceDoc]()
- private def parseBody(s: String): net.liftweb.json.JObject = net.liftweb.json.parse(s).asInstanceOf[net.liftweb.json.JObject]
+ private def parseBody(s: String): org.json4s.JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[org.json4s.JObject]
val ukV31Prefix = Root / ApiVersion.ukOpenBankingV31.urlPrefix / ApiVersion.ukOpenBankingV31.apiShortVersion
// -----------------------------------------------------------------------
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/InternationalPaymentsApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/InternationalPaymentsApi.scala
index 3bda543769..1302ef7e41 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/InternationalPaymentsApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/InternationalPaymentsApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/InternationalScheduledPaymentsApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/InternationalScheduledPaymentsApi.scala
index 65c8694e0d..0c1985c894 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/InternationalScheduledPaymentsApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/InternationalScheduledPaymentsApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/InternationalStandingOrdersApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/InternationalStandingOrdersApi.scala
index 0d16bae532..5c4dad471c 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/InternationalStandingOrdersApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/InternationalStandingOrdersApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/JSONFactory_UKOpenBanking_310.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/JSONFactory_UKOpenBanking_310.scala
index 5fb9be3daa..396aa2fdfc 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/JSONFactory_UKOpenBanking_310.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/JSONFactory_UKOpenBanking_310.scala
@@ -1,5 +1,6 @@
package code.api.UKOpenBanking.v3_1_0
+import org.json4s._
import java.util.Date
import code.api.Constant
@@ -7,7 +8,7 @@ import code.api.util.APIUtil.DateWithDayExampleObject
import code.api.util.CustomJsonFormats
import code.model.{ModeratedBankAccount, ModeratedBankAccountCore, ModeratedTransaction}
import com.openbankproject.commons.model.{AccountAttribute, AccountId, AmountOfMoneyJsonV121, BankAccount, BankId, TransactionAttribute, TransactionId, TransactionRequest, View}
-import net.liftweb.json.JsonAST.JObject
+import org.json4s.JsonAST.JObject
import scala.collection.immutable.List
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/OffersApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/OffersApi.scala
index 41f3cf2f28..cf3690a61a 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/OffersApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/OffersApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/PartysApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/PartysApi.scala
index 4cd10cd039..119ba15dd7 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/PartysApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/PartysApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/ProductsApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/ProductsApi.scala
index 082443c285..f674dfd624 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/ProductsApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/ProductsApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/ScheduledPaymentsApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/ScheduledPaymentsApi.scala
index 85a4c492d2..9ac6de97bb 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/ScheduledPaymentsApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/ScheduledPaymentsApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/StandingOrdersApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/StandingOrdersApi.scala
index 4975cb89d9..02c8a1c1ed 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/StandingOrdersApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/StandingOrdersApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/StatementsApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/StatementsApi.scala
index 64297498a0..5db70bdff6 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/StatementsApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/StatementsApi.scala
@@ -8,8 +8,8 @@
//import code.api.util.ErrorMessages._
//import com.github.dwickern.macros.NameOf.nameOf
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/TransactionsApi.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/TransactionsApi.scala
index 0aaa4f04f0..86c61df431 100644
--- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/TransactionsApi.scala
+++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/TransactionsApi.scala
@@ -15,8 +15,8 @@
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import com.openbankproject.commons.model._
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.mutable.ArrayBuffer
//import scala.concurrent.Future
diff --git a/obp-api/src/main/scala/code/api/berlin/group/v1_3/AccountInformationServiceAISApi.scala b/obp-api/src/main/scala/code/api/berlin/group/v1_3/AccountInformationServiceAISApi.scala
index 2a87bd31e1..ff34a31ce1 100644
--- a/obp-api/src/main/scala/code/api/berlin/group/v1_3/AccountInformationServiceAISApi.scala
+++ b/obp-api/src/main/scala/code/api/berlin/group/v1_3/AccountInformationServiceAISApi.scala
@@ -26,8 +26,8 @@
//import com.openbankproject.commons.model.enums.{ChallengeType, StrongCustomerAuthenticationStatus, SuppliedAnswerType}
//import net.liftweb
//import net.liftweb.common.{Empty, Full}
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.mutable.ArrayBuffer
//import scala.concurrent.Future
@@ -1247,7 +1247,7 @@
// for {
// (Full(u), callContext) <- authenticatedAccess(cc)
// } yield {
-// (liftweb.json.parse(
+// (com.openbankproject.commons.util.JsonAliases.parse(
// """{
// "scaStatus": "received",
// "psuMessage": "Please use your BankApp for transaction Authorisation.",
@@ -1289,7 +1289,7 @@
// for {
// (Full(u), callContext) <- authenticatedAccess(cc)
// } yield {
-// (liftweb.json.parse(
+// (com.openbankproject.commons.util.JsonAliases.parse(
// """{
// "scaStatus": "received",
// "psuMessage": "Please use your BankApp for transaction Authorisation.",
@@ -1425,7 +1425,7 @@
// (Full(u), callContext) <- authenticatedAccess(cc)
//
// } yield {
-// (liftweb.json.parse(
+// (com.openbankproject.commons.util.JsonAliases.parse(
// """{
// | "scaStatus": "psuAuthenticated",
// | "_links": {
@@ -1470,7 +1470,7 @@
// (Full(u), callContext) <- authenticatedAccess(cc)
//
// } yield {
-// (liftweb.json.parse(
+// (com.openbankproject.commons.util.JsonAliases.parse(
// """{
// | "scaStatus": "scaMethodSelected",
// | "chosenScaMethod": {
diff --git a/obp-api/src/main/scala/code/api/berlin/group/v1_3/CommonServicesApi.scala b/obp-api/src/main/scala/code/api/berlin/group/v1_3/CommonServicesApi.scala
index 7f70636ea7..e21016c2fe 100644
--- a/obp-api/src/main/scala/code/api/berlin/group/v1_3/CommonServicesApi.scala
+++ b/obp-api/src/main/scala/code/api/berlin/group/v1_3/CommonServicesApi.scala
@@ -8,7 +8,7 @@
//import code.api.builder.SigningBasketsApi.APIMethods_SigningBasketsApi
//import code.api.util.APIUtil._
//import com.openbankproject.commons.util.ApiVersion
-//import net.liftweb.json._
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/api/berlin/group/v1_3/ConfirmationOfFundsServicePIISApi.scala b/obp-api/src/main/scala/code/api/berlin/group/v1_3/ConfirmationOfFundsServicePIISApi.scala
index 6c48249395..7de7433432 100644
--- a/obp-api/src/main/scala/code/api/berlin/group/v1_3/ConfirmationOfFundsServicePIISApi.scala
+++ b/obp-api/src/main/scala/code/api/berlin/group/v1_3/ConfirmationOfFundsServicePIISApi.scala
@@ -14,8 +14,8 @@
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import com.openbankproject.commons.util.ApiVersion
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.immutable.Nil
//import scala.collection.mutable.ArrayBuffer
@@ -99,7 +99,7 @@
// fundsAvailable = (currentAccountBalance >= requestChangedCurrencyAmount)
//
// } yield {
-// (net.liftweb.json.parse(s"""{
+// (com.openbankproject.commons.util.JsonAliases.parse(s"""{
// "fundsAvailable" : $fundsAvailable
// }"""),
// callContext)
diff --git a/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13AIS.scala b/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13AIS.scala
index 195c7fe285..026c07b293 100644
--- a/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13AIS.scala
+++ b/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13AIS.scala
@@ -1,5 +1,6 @@
package code.api.berlin.group.v1_3
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.APIFailureNewStyle
@@ -27,10 +28,9 @@ import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model._
import com.openbankproject.commons.model.enums.{ChallengeType, StrongCustomerAuthenticationStatus, SuppliedAnswerType}
-import net.liftweb
import net.liftweb.common.{Empty, Full}
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -44,7 +44,7 @@ object Http4sBGv13AIS extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
- protected implicit def JvalueToSuper(what: net.liftweb.json.JValue): JvalueCaseClass = JvalueCaseClass(what)
+ protected implicit def JvalueToSuper(what: org.json4s.JValue): JvalueCaseClass = JvalueCaseClass(what)
val implementedInApiVersion = ConstantsBG.berlinGroupVersion1
val resourceDocs = ArrayBuffer[ResourceDoc]()
@@ -516,7 +516,7 @@ object Http4sBGv13AIS extends MdcLoggable {
}
} else {
// mocked for updatePsuAuthentication and selectPsuAuthenticationMethod variants
- Future.successful(liftweb.json.parse(
+ Future.successful(com.openbankproject.commons.util.JsonAliases.parse(
"""{
"scaStatus": "received",
"psuMessage": "Please use your BankApp for transaction Authorisation.",
@@ -582,7 +582,7 @@ object Http4sBGv13AIS extends MdcLoggable {
createPutConsentResponseJson(consent.toList.head)
}
} else if (checkUpdatePsuAuthentication(parsedJson)) {
- Future.successful(liftweb.json.parse(
+ Future.successful(com.openbankproject.commons.util.JsonAliases.parse(
"""{
| "scaStatus": "psuAuthenticated",
| "_links": {
@@ -590,7 +590,7 @@ object Http4sBGv13AIS extends MdcLoggable {
| }
|}""".stripMargin))
} else if (checkSelectPsuAuthenticationMethod(parsedJson)) {
- Future.successful(liftweb.json.parse(
+ Future.successful(com.openbankproject.commons.util.JsonAliases.parse(
"""{
| "scaStatus": "scaMethodSelected",
| "chosenScaMethod": {
@@ -605,7 +605,7 @@ object Http4sBGv13AIS extends MdcLoggable {
|}""".stripMargin))
} else {
// authorisationConfirmation variant
- Future.successful(liftweb.json.parse(
+ Future.successful(com.openbankproject.commons.util.JsonAliases.parse(
"""{
| "scaStatus": "finalised",
| "_links":{
diff --git a/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13PIIS.scala b/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13PIIS.scala
index 302f7db8ae..9a9f1258ac 100644
--- a/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13PIIS.scala
+++ b/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13PIIS.scala
@@ -1,5 +1,6 @@
package code.api.berlin.group.v1_3
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.berlin.group.ConstantsBG
@@ -15,8 +16,8 @@ import code.util.Helper
import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.ExecutionContext.Implicits.global
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -31,7 +32,7 @@ object Http4sBGv13PIIS extends MdcLoggable {
// ResourceDoc example bodies are written as `json.parse(...)` (JValue); ResourceDoc requires
// scala.Product, so wrap via the same implicit the Lift builder used (JvalueCaseClass is a Product).
- protected implicit def JvalueToSuper(what: net.liftweb.json.JValue): JvalueCaseClass = JvalueCaseClass(what)
+ protected implicit def JvalueToSuper(what: org.json4s.JValue): JvalueCaseClass = JvalueCaseClass(what)
val implementedInApiVersion = ConstantsBG.berlinGroupVersion1
val resourceDocs = ArrayBuffer[ResourceDoc]()
@@ -78,7 +79,7 @@ object Http4sBGv13PIIS extends MdcLoggable {
fundsAvailable = (currentAccountBalance >= requestChangedCurrencyAmount)
} yield {
- net.liftweb.json.parse(s"""{
+ com.openbankproject.commons.util.JsonAliases.parse(s"""{
"fundsAvailable" : $fundsAvailable
}""")
}
diff --git a/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13PIS.scala b/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13PIS.scala
index 38b8c964ac..b0300f0bc2 100644
--- a/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13PIS.scala
+++ b/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13PIS.scala
@@ -1,5 +1,6 @@
package code.api.berlin.group.v1_3
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.berlin.group.ConstantsBG
@@ -24,10 +25,10 @@ import com.openbankproject.commons.model.enums.TransactionRequestTypes._
import com.openbankproject.commons.model.enums.{ChallengeType, PaymentServiceTypes, StrongCustomerAuthenticationStatus, SuppliedAnswerType, TransactionRequestStatus, TransactionRequestTypes}
import net.liftweb.common.Box.tryo
import net.liftweb.common.Full
-import net.liftweb.json
-import net.liftweb.json.Formats
-import net.liftweb.json.JsonAST.prettyRender
-import net.liftweb.json.{Extraction => LiftExtraction}
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
+import com.openbankproject.commons.util.JsonAliases.prettyRender
+import org.json4s.{Extraction => LiftExtraction}
import org.http4s._
import org.http4s.dsl.io._
@@ -46,7 +47,7 @@ object Http4sBGv13PIS extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
- protected implicit def JvalueToSuper(what: net.liftweb.json.JValue): JvalueCaseClass = JvalueCaseClass(what)
+ protected implicit def JvalueToSuper(what: org.json4s.JValue): JvalueCaseClass = JvalueCaseClass(what)
val implementedInApiVersion = ConstantsBG.berlinGroupVersion1
val resourceDocs = ArrayBuffer[ResourceDoc]()
@@ -76,7 +77,7 @@ object Http4sBGv13PIS extends MdcLoggable {
paymentService: String,
paymentProduct: String,
callContext: Option[CallContext]
- ): Future[net.liftweb.json.JValue] = {
+ ): Future[org.json4s.JValue] = {
val u = callContext.flatMap(_.user.toOption)
val rawBody = callContext.flatMap(_.httpBody).getOrElse("")
val bodyJson = scala.util.Try(json.parse(rawBody)).getOrElse(json.JNothing)
@@ -323,7 +324,7 @@ object Http4sBGv13PIS extends MdcLoggable {
case req @ GET -> `bgV13Prefix` / paymentService / paymentProduct / paymentId / "status" =>
EndpointHelpers.executeAndRespond(req) { cc =>
val callContext = Some(cc)
- import net.liftweb.json.JsonDSL._
+ import org.json4s.JsonDSL._
for {
_ <- passesPsd2Pisp(callContext)
_ <- NewStyle.function.tryons(checkPaymentServerTypeError(paymentService), 404, callContext) {
diff --git a/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13SigningBaskets.scala b/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13SigningBaskets.scala
index 7c8e3b581e..11028b61bc 100644
--- a/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13SigningBaskets.scala
+++ b/obp-api/src/main/scala/code/api/berlin/group/v1_3/Http4sBGv13SigningBaskets.scala
@@ -1,5 +1,6 @@
package code.api.berlin.group.v1_3
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.berlin.group.ConstantsBG
@@ -20,8 +21,8 @@ import com.openbankproject.commons.model.enums.TransactionRequestStatus.{COMPLET
import com.openbankproject.commons.model.enums.{ChallengeType, StrongCustomerAuthenticationStatus, SuppliedAnswerType}
import com.openbankproject.commons.model.{ChallengeTrait, TransactionRequestId}
import net.liftweb.common.Empty
-import net.liftweb.json
-import net.liftweb.json.Formats
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
import org.http4s._
import org.http4s.dsl.io._
@@ -35,7 +36,7 @@ object Http4sBGv13SigningBaskets extends MdcLoggable {
implicit val formats: Formats = CustomJsonFormats.formats
- protected implicit def JvalueToSuper(what: net.liftweb.json.JValue): JvalueCaseClass = JvalueCaseClass(what)
+ protected implicit def JvalueToSuper(what: org.json4s.JValue): JvalueCaseClass = JvalueCaseClass(what)
val implementedInApiVersion = ConstantsBG.berlinGroupVersion1
val resourceDocs = ArrayBuffer[ResourceDoc]()
diff --git a/obp-api/src/main/scala/code/api/berlin/group/v1_3/JSONFactory_BERLIN_GROUP_1_3.scala b/obp-api/src/main/scala/code/api/berlin/group/v1_3/JSONFactory_BERLIN_GROUP_1_3.scala
index 78a7e747ab..3a36351c17 100644
--- a/obp-api/src/main/scala/code/api/berlin/group/v1_3/JSONFactory_BERLIN_GROUP_1_3.scala
+++ b/obp-api/src/main/scala/code/api/berlin/group/v1_3/JSONFactory_BERLIN_GROUP_1_3.scala
@@ -1,5 +1,6 @@
package code.api.berlin.group.v1_3
+import org.json4s._
import code.api.Constant.bgRemoveSignOfAmounts
import code.api.berlin.group.ConstantsBG
import code.api.berlin.group.v1_3.model.TransactionStatus.mapTransactionStatus
@@ -15,7 +16,8 @@ import com.openbankproject.commons.model._
import com.openbankproject.commons.model.enums.{AccountRoutingScheme, TransactionRequestStatus}
import net.liftweb.common.Box.tryo
import net.liftweb.common.{Box, Full}
-import net.liftweb.json.{JValue, parse}
+import org.json4s.JValue
+import com.openbankproject.commons.util.JsonAliases.parse
import java.text.SimpleDateFormat
import java.util.Date
diff --git a/obp-api/src/main/scala/code/api/berlin/group/v1_3/PaymentInitiationServicePISApi.scala b/obp-api/src/main/scala/code/api/berlin/group/v1_3/PaymentInitiationServicePISApi.scala
index 5333135d1a..07547cb1a9 100644
--- a/obp-api/src/main/scala/code/api/berlin/group/v1_3/PaymentInitiationServicePISApi.scala
+++ b/obp-api/src/main/scala/code/api/berlin/group/v1_3/PaymentInitiationServicePISApi.scala
@@ -22,8 +22,8 @@
//import net.liftweb
//import net.liftweb.common.Box.tryo
//import net.liftweb.common.Full
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.mutable.ArrayBuffer
//import scala.concurrent.Future
@@ -539,7 +539,7 @@
// $additionalInstructions
//
// """
-// def initiatePaymentImplementation(paymentService: String, paymentProduct: String, json: liftweb.json.JValue, cc: CallContext) = {
+// def initiatePaymentImplementation(paymentService: String, paymentProduct: String, json: org.json4s.JValue, cc: CallContext) = {
// for {
// (u, callContext) <- applicationAccess(cc)
// _ <- passesPsd2Pisp(callContext)
@@ -824,7 +824,7 @@
// for {
// (_, callContext) <- authenticatedAccess(cc)
// } yield {
-// (liftweb.json.parse("""{
+// (com.openbankproject.commons.util.JsonAliases.parse("""{
// "challengeData": {
// "scaStatus": "received",
// "authorisationId": "88695566-6642-46d5-9985-0d824624f507",
@@ -867,7 +867,7 @@
// for {
// (Full(u), callContext) <- authenticatedAccess(cc)
// } yield {
-// (liftweb.json.parse(
+// (com.openbankproject.commons.util.JsonAliases.parse(
// """{
// "challengeData": {
// "scaStatus": "received",
@@ -1073,7 +1073,7 @@
// for {
// (Full(u), callContext) <- authenticatedAccess(cc)
// } yield {
-// (liftweb.json.parse(
+// (com.openbankproject.commons.util.JsonAliases.parse(
// """{
// "scaStatus": "received",
// "authorisationId": "123auth456",
@@ -1117,7 +1117,7 @@
// for {
// (Full(u), callContext) <- authenticatedAccess(cc)
// } yield {
-// (liftweb.json.parse(
+// (com.openbankproject.commons.util.JsonAliases.parse(
// """{
// "scaStatus": "received",
// "authorisationId": "123auth456",
@@ -1281,7 +1281,7 @@
// for {
// (_, callContext) <- authenticatedAccess(cc)
// } yield {
-// (net.liftweb.json.parse(
+// (com.openbankproject.commons.util.JsonAliases.parse(
// """{
// "scaStatus": "psuAuthenticated",
// "_links": {
@@ -1323,7 +1323,7 @@
// for {
// (_, callContext) <- authenticatedAccess(cc)
// } yield {
-// (net.liftweb.json.parse(
+// (com.openbankproject.commons.util.JsonAliases.parse(
// """{
// "scaStatus": "scaMethodSelected",
// "chosenScaMethod": {
@@ -1365,7 +1365,7 @@
// for {
// (_, callContext) <- authenticatedAccess(cc)
// } yield {
-// (net.liftweb.json.parse(
+// (com.openbankproject.commons.util.JsonAliases.parse(
// """{
// "scaStatus": "finalised",
// "_links":{
@@ -1525,7 +1525,7 @@
// (Full(u), callContext) <- authenticatedAccess(cc)
//
// } yield {
-// (liftweb.json.parse(
+// (com.openbankproject.commons.util.JsonAliases.parse(
// """{
// "scaStatus": "finalised",
// "_links": {
@@ -1569,7 +1569,7 @@
// (Full(u), callContext) <- authenticatedAccess(cc)
//
// } yield {
-// (liftweb.json.parse(
+// (com.openbankproject.commons.util.JsonAliases.parse(
// """{
// "scaStatus": "scaMethodSelected",
// "chosenScaMethod": {
@@ -1613,7 +1613,7 @@
// (Full(u), callContext) <- authenticatedAccess(cc)
//
// } yield {
-// (liftweb.json.parse(
+// (com.openbankproject.commons.util.JsonAliases.parse(
// """{
// "scaStatus": "finalised",
// "_links":{
diff --git a/obp-api/src/main/scala/code/api/berlin/group/v1_3/SigningBasketsApi.scala b/obp-api/src/main/scala/code/api/berlin/group/v1_3/SigningBasketsApi.scala
index fe19268bbc..7ced23e87c 100644
--- a/obp-api/src/main/scala/code/api/berlin/group/v1_3/SigningBasketsApi.scala
+++ b/obp-api/src/main/scala/code/api/berlin/group/v1_3/SigningBasketsApi.scala
@@ -20,8 +20,8 @@
//import com.openbankproject.commons.model.{ChallengeTrait, TransactionRequestId}
//import com.openbankproject.commons.util.ApiVersion
//import net.liftweb.common.{Box, Empty, Full}
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//
//import scala.collection.mutable.ArrayBuffer
//import scala.concurrent.Future
diff --git a/obp-api/src/main/scala/code/api/berlin/group/v2/Http4sBGv2AIS.scala b/obp-api/src/main/scala/code/api/berlin/group/v2/Http4sBGv2AIS.scala
index 88bbe4794a..5e6ac0f690 100644
--- a/obp-api/src/main/scala/code/api/berlin/group/v2/Http4sBGv2AIS.scala
+++ b/obp-api/src/main/scala/code/api/berlin/group/v2/Http4sBGv2AIS.scala
@@ -1,5 +1,6 @@
package code.api.berlin.group.v2
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.berlin.group.ConstantsBG
@@ -9,8 +10,8 @@ import code.api.util.ErrorMessages._
import code.api.util.CustomJsonFormats
import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.JsonAST.prettyRender
-import net.liftweb.json.{Extraction, Formats}
+import com.openbankproject.commons.util.JsonAliases.prettyRender
+import org.json4s.{Extraction, Formats}
import org.http4s._
import org.http4s.dsl.io._
diff --git a/obp-api/src/main/scala/code/api/berlin/group/v2/Http4sBGv2PIIS.scala b/obp-api/src/main/scala/code/api/berlin/group/v2/Http4sBGv2PIIS.scala
index 70df81864e..2ea9a911ce 100644
--- a/obp-api/src/main/scala/code/api/berlin/group/v2/Http4sBGv2PIIS.scala
+++ b/obp-api/src/main/scala/code/api/berlin/group/v2/Http4sBGv2PIIS.scala
@@ -1,5 +1,6 @@
package code.api.berlin.group.v2
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.berlin.group.ConstantsBG
@@ -9,8 +10,8 @@ import code.api.util.ErrorMessages._
import code.api.util.CustomJsonFormats
import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.JsonAST.prettyRender
-import net.liftweb.json.{Extraction, Formats}
+import com.openbankproject.commons.util.JsonAliases.prettyRender
+import org.json4s.{Extraction, Formats}
import org.http4s._
import org.http4s.dsl.io._
diff --git a/obp-api/src/main/scala/code/api/berlin/group/v2/Http4sBGv2PIS.scala b/obp-api/src/main/scala/code/api/berlin/group/v2/Http4sBGv2PIS.scala
index bbb999f444..7e45ce483e 100644
--- a/obp-api/src/main/scala/code/api/berlin/group/v2/Http4sBGv2PIS.scala
+++ b/obp-api/src/main/scala/code/api/berlin/group/v2/Http4sBGv2PIS.scala
@@ -1,5 +1,6 @@
package code.api.berlin.group.v2
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.berlin.group.ConstantsBG
@@ -9,8 +10,8 @@ import code.api.util.ErrorMessages._
import code.api.util.CustomJsonFormats
import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.JsonAST.prettyRender
-import net.liftweb.json.{Extraction, Formats}
+import com.openbankproject.commons.util.JsonAliases.prettyRender
+import org.json4s.{Extraction, Formats}
import org.http4s._
import org.http4s.dsl.io._
diff --git a/obp-api/src/main/scala/code/api/cache/RedisLogger.scala b/obp-api/src/main/scala/code/api/cache/RedisLogger.scala
index 2307f15bbf..19bcce2781 100644
--- a/obp-api/src/main/scala/code/api/cache/RedisLogger.scala
+++ b/obp-api/src/main/scala/code/api/cache/RedisLogger.scala
@@ -1,12 +1,13 @@
package code.api.cache
+import org.json4s._
import code.api.util.ApiRole._
import code.api.util.{APIUtil, ApiRole}
import code.logcache.LogCacheEventBus
import net.liftweb.common.{Box, Empty, Failure => LiftFailure, Full, Logger}
-import net.liftweb.json
-import net.liftweb.json.Serialization.write
+import com.openbankproject.commons.util.json
+import org.json4s.native.Serialization.write
import redis.clients.jedis.{Jedis, Pipeline}
import java.util.concurrent.{Executors, ScheduledThreadPoolExecutor, TimeUnit}
diff --git a/obp-api/src/main/scala/code/api/dauth.scala b/obp-api/src/main/scala/code/api/dauth.scala
index 97a414dbd6..3dccf258ba 100755
--- a/obp-api/src/main/scala/code/api/dauth.scala
+++ b/obp-api/src/main/scala/code/api/dauth.scala
@@ -35,7 +35,8 @@ import code.util.Helper.MdcLoggable
import com.nimbusds.jwt.JWTClaimsSet
import com.openbankproject.commons.model.User
import net.liftweb.common._
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import com.openbankproject.commons.ExecutionContext.Implicits.global
import code.api.util.APIUtil.HTTPParam
@@ -65,7 +66,7 @@ object JSONFactoryDAuth {
// of its own; the legacy `extends RestHelper` mixin was vestigial.
object DAuth extends MdcLoggable {
- // For lift-json `.extract[...]` calls below.
+ // For json4s `.extract[...]` calls below.
private implicit val formats: Formats = DefaultFormats
diff --git a/obp-api/src/main/scala/code/api/dynamic/endpoint/APIMethodsDynamicEndpoint.scala b/obp-api/src/main/scala/code/api/dynamic/endpoint/APIMethodsDynamicEndpoint.scala
index 985c4fed9b..1e7aea223a 100644
--- a/obp-api/src/main/scala/code/api/dynamic/endpoint/APIMethodsDynamicEndpoint.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/endpoint/APIMethodsDynamicEndpoint.scala
@@ -17,9 +17,10 @@ import com.openbankproject.commons.model.enums.DynamicEntityOperation._
import com.openbankproject.commons.model.enums._
import com.openbankproject.commons.util.{ApiVersion, JsonUtils}
import net.liftweb.common._
-import net.liftweb.json.JsonAST.JValue
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json._
+import org.json4s.JsonAST.JValue
+import org.json4s.JsonDSL._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.util.StringHelpers
import org.apache.commons.lang3.StringUtils
@@ -110,9 +111,9 @@ trait APIMethodsDynamicEndpoint {
Future.successful((EndpointMappingCommons(None, "", "", "", None), callContext))
}
requestMappingString = endpointMapping.requestMapping
- requestMappingJvalue = net.liftweb.json.parse(requestMappingString)
+ requestMappingJvalue = com.openbankproject.commons.util.JsonAliases.parse(requestMappingString)
responseMappingString = endpointMapping.responseMapping
- responseMappingJvalue = net.liftweb.json.parse(responseMappingString)
+ responseMappingJvalue = com.openbankproject.commons.util.JsonAliases.parse(responseMappingString)
responseBody <- if (method.value.equalsIgnoreCase("get")) {
for {
@@ -122,7 +123,7 @@ trait APIMethodsDynamicEndpoint {
dynamicData <- Future {
DynamicDataProvider.connectorMethodProvider.vend.getAll(bankId, entityName, None, false)
}
- dynamicJsonData = JArray(dynamicData.map(it => net.liftweb.json.parse(it.dataJson)).map(_.asInstanceOf[JObject]))
+ dynamicJsonData = JArray(dynamicData.map(it => com.openbankproject.commons.util.JsonAliases.parse(it.dataJson)).map(_.asInstanceOf[JObject]))
// //We only get the value, but not sure the field name of it.
// // we can get the field name from the mapping: `primary_query_key`
// //requestBodyMapping --> Convert `RequestJson` --> `DynamicEntity Model.`
@@ -162,7 +163,7 @@ trait APIMethodsDynamicEndpoint {
DynamicEndpointHelper.getEntityNameKeyAndValue(responseMappingString, pathParams)
}
dynamicData = DynamicDataProvider.connectorMethodProvider.vend.getAll(bankId, entityName, None,false)
- dynamicJsonData = JArray(dynamicData.map(it => net.liftweb.json.parse(it.dataJson)).map(_.asInstanceOf[JObject]))
+ dynamicJsonData = JArray(dynamicData.map(it => com.openbankproject.commons.util.JsonAliases.parse(it.dataJson)).map(_.asInstanceOf[JObject]))
entityObject = DynamicEndpointHelper.getObjectByKeyValuePair(dynamicJsonData, entityIdKey, entityIdValueFromUrl.get)
isDeleted <- NewStyle.function.tryons(s"$InvalidEndpointMapping `response_mapping` must be linked to at least one valid dynamic entity!", 400, cc.callContext) {
val entityIdName = DynamicEntityHelper.createEntityId(entityName)
@@ -178,7 +179,7 @@ trait APIMethodsDynamicEndpoint {
DynamicEndpointHelper.getEntityNameKeyAndValue(responseMappingString, pathParams)
}
dynamicData = DynamicDataProvider.connectorMethodProvider.vend.getAll(bankId, entityName, None, false)
- dynamicJsonData = JArray(dynamicData.map(it => net.liftweb.json.parse(it.dataJson)).map(_.asInstanceOf[JObject]))
+ dynamicJsonData = JArray(dynamicData.map(it => com.openbankproject.commons.util.JsonAliases.parse(it.dataJson)).map(_.asInstanceOf[JObject]))
entityObject = DynamicEndpointHelper.getObjectByKeyValuePair(dynamicJsonData, entityIdKey, entityIdValueFromUrl.get)
_ <- NewStyle.function.tryons(s"$InvalidEndpointMapping `response_mapping` must be linked to at least one valid dynamic entity!", 400, cc.callContext) {
val entityIdName = DynamicEntityHelper.createEntityId(entityName)
diff --git a/obp-api/src/main/scala/code/api/dynamic/endpoint/Http4sDynamicEndpoint.scala b/obp-api/src/main/scala/code/api/dynamic/endpoint/Http4sDynamicEndpoint.scala
index 6168fa98a0..b1440d5af7 100644
--- a/obp-api/src/main/scala/code/api/dynamic/endpoint/Http4sDynamicEndpoint.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/endpoint/Http4sDynamicEndpoint.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.dynamic.endpoint
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect.IO
import code.api.dynamic.endpoint.helper.{DynamicEndpointHelper, DynamicEndpoints}
@@ -34,8 +35,8 @@ import code.api.util.http4s.{ErrorResponseConverter, Http4sCallContextBuilder, H
import code.util.Helper.MdcLoggable
import com.openbankproject.commons.util.{ApiShortVersions, ApiStandards}
import net.liftweb.common.{Box, Empty, Full}
-import net.liftweb.json.Formats
-import net.liftweb.json.JsonAST.{JNothing, JValue}
+import org.json4s.Formats
+import org.json4s.JsonAST.{JNothing, JValue}
import org.http4s.{HttpRoutes, Request, Response}
/**
@@ -93,7 +94,7 @@ object Http4sDynamicEndpoint extends MdcLoggable {
OptionT {
val partPath = req.uri.path.segments.drop(2).map(_.encoded).toList // segments after obp/dynamic-endpoint
Http4sCallContextBuilder.fromRequest(req, apiVersionString).flatMap { cc0 =>
- val bodyJValue: JValue = cc0.httpBody.filter(_.nonEmpty).map(net.liftweb.json.parse).getOrElse(JNothing)
+ val bodyJValue: JValue = cc0.httpBody.filter(_.nonEmpty).map(com.openbankproject.commons.util.JsonAliases.parse).getOrElse(JNothing)
DynamicEndpointHelper.DynamicReq.resolveProxyTarget(req.method.name, partPath, queryParams(req), bodyJValue) match {
case None => IO.pure(Option.empty[Response[IO]])
case Some((url, json, method, params, pathParams, role, operationId, mockResponse, bankId)) =>
@@ -122,7 +123,7 @@ object Http4sDynamicEndpoint extends MdcLoggable {
Http4sCallContextBuilder.fromRequest(req, apiVersionString).flatMap { cc0 =>
val cc = cc0.copy(resourceDocument = Some(doc), operationId = Some(doc.operationId))
val partPath = req.uri.path.segments.drop(2).map(_.encoded).toList
- val bodyJValue: Box[JValue] = cc.httpBody.filter(_.nonEmpty).map(net.liftweb.json.parse) match {
+ val bodyJValue: Box[JValue] = cc.httpBody.filter(_.nonEmpty).map(com.openbankproject.commons.util.JsonAliases.parse) match {
case Some(jv) => Full(jv)
case None => Empty
}
diff --git a/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/DynamicCompileEndpoint.scala b/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/DynamicCompileEndpoint.scala
index 47c104a49e..b910f7d394 100644
--- a/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/DynamicCompileEndpoint.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/DynamicCompileEndpoint.scala
@@ -1,5 +1,6 @@
package code.api.dynamic.endpoint.helper
+import org.json4s._
import scala.language.implicitConversions
import cats.effect.IO
import code.api.util.APIUtil.{Http4sEndpointIO, OBPReturnType}
@@ -47,8 +48,9 @@ trait DynamicCompileEndpoint {
}
object DynamicCompileEndpoint {
- import net.liftweb.json.{Extraction, prettyRender}
- import net.liftweb.json.JsonDSL._
+ import org.json4s.Extraction
+ import com.openbankproject.commons.util.JsonAliases.prettyRender
+ import org.json4s.JsonDSL._
import org.http4s.Status
/**
diff --git a/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/DynamicEndpointHelper.scala b/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/DynamicEndpointHelper.scala
index 76b66b6cad..efb6aae404 100644
--- a/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/DynamicEndpointHelper.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/DynamicEndpointHelper.scala
@@ -1,5 +1,6 @@
package code.api.dynamic.endpoint.helper
+import org.json4s._
import scala.language.existentials
import org.apache.pekko.http.scaladsl.model.{HttpMethods, HttpMethod => PekkoHttpMethod}
import code.DynamicData.{DynamicDataProvider, DynamicDataT}
@@ -17,11 +18,10 @@ import io.swagger.v3.oas.models.responses.{ApiResponse, ApiResponses}
import io.swagger.v3.oas.models.{OpenAPI, Operation, PathItem}
import io.swagger.v3.parser.OpenAPIV3Parser
import net.liftweb.common.{Box, Full}
-import net.liftweb.json
-import net.liftweb.json.JsonAST.{JArray, JField, JNothing, JObject, JValue}
-import net.liftweb.json.JsonAST._
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.JsonParser.ParseException
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.{JArray, JField, JNothing, JObject, JValue}
+import org.json4s.JsonDSL._
+import org.json4s.ParserUtil.ParseException
import org.apache.commons.lang3.{StringUtils, Validate}
import net.liftweb.util.{StringHelpers, ThreadGlobal}
import org.apache.commons.io.FileUtils
@@ -34,12 +34,13 @@ import java.util.regex.Pattern
import java.util.{Date, UUID}
import com.openbankproject.commons.model.enums.DynamicEntityOperation.GET_ALL
import io.swagger.v3.oas.models.examples.Example
-import net.liftweb.json.{Formats, JBool}
+import org.json4s.{Formats, JBool}
import scala.collection.JavaConverters._
import scala.collection.immutable.List
import scala.collection.mutable
import scala.collection.mutable.{ArrayBuffer, ListBuffer}
+import com.openbankproject.commons.util.JsonAliases.RichJField
object DynamicEndpointHelper {
@@ -841,7 +842,7 @@ object DynamicEndpointHelper {
// // } -->
// "field1"
val JvalueReplaced = JvalueRemoved transform {
- case JObject(List(JField("entity",JNothing), JField("field",v), JField("query",JNothing)))=> v
+ case JObject(List(JField("field", v))) => v
}
JvalueReplaced
}
diff --git a/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/DynamicEndpoints.scala b/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/DynamicEndpoints.scala
index 8ed2b20487..2294a82332 100644
--- a/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/DynamicEndpoints.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/DynamicEndpoints.scala
@@ -1,5 +1,6 @@
package code.api.dynamic.endpoint.helper
+import org.json4s._
import cats.effect.IO
import code.api.dynamic.endpoint.helper.practise.{DynamicEndpointCodeGenerator, PractiseEndpointGroup}
import code.api.dynamic.endpoint.helper.practise.PractiseEndpointGroup
@@ -7,8 +8,8 @@ import code.api.util.DynamicUtil.{Sandbox, Validation}
import code.api.util.APIUtil.{BooleanBody, DoubleBody, EmptyBody, LongBody, Http4sEndpointIO, PrimaryDataBody, ResourceDoc, StringBody, getDisabledEndpointOperationIds}
import code.api.util.{CallContext, DynamicUtil}
import net.liftweb.common.{Box, Failure, Full}
-import net.liftweb.json.{JNothing, JValue}
-import net.liftweb.json.JsonAST.{JBool, JDouble, JInt, JString}
+import org.json4s.{JNothing, JValue}
+import org.json4s.JsonAST.{JBool, JDouble, JInt, JString}
import org.apache.commons.lang3.StringUtils
import org.http4s.{Request, Response}
@@ -120,7 +121,7 @@ case class CompiledObjects(exampleRequestBody: Option[JValue], successResponseBo
|import code.api.util.ErrorMessages.{InvalidJsonFormat, InvalidRequestPayload}
|import code.api.util.NewStyle.HttpCode
|import code.api.util.APIUtil.OBPReturnType
- |import net.liftweb.json.MappingException
+ |import org.json4s.MappingException
|import code.api.dynamic.endpoint.helper.DynamicCompileEndpoint._
|
|import scala.concurrent.Future
diff --git a/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/practise/DynamicEndpointCodeGenerator.scala b/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/practise/DynamicEndpointCodeGenerator.scala
index b66faa99bd..63071be975 100644
--- a/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/practise/DynamicEndpointCodeGenerator.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/practise/DynamicEndpointCodeGenerator.scala
@@ -1,12 +1,13 @@
package code.api.dynamic.endpoint.helper.practise
+import org.json4s._
import code.api.util.APIUtil.ResourceDoc
import code.api.v4_0_0.ResourceDocFragment
import com.google.common.base.CaseFormat
import com.openbankproject.commons.util.JsonUtils
-import net.liftweb.json
-import net.liftweb.json.JsonAST.{JBool, JDouble, JInt, JString}
-import net.liftweb.json.{JArray, JObject, JValue}
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.{JBool, JDouble, JInt, JString}
+import org.json4s.{JArray, JObject, JValue}
import org.apache.commons.lang3.{ArrayUtils, StringUtils}
object DynamicEndpointCodeGenerator {
diff --git a/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/practise/PractiseEndpoint.scala b/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/practise/PractiseEndpoint.scala
index 62b62a233e..cb1f400bdd 100644
--- a/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/practise/PractiseEndpoint.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/endpoint/helper/practise/PractiseEndpoint.scala
@@ -1,5 +1,6 @@
package code.api.dynamic.endpoint.helper.practise
+import org.json4s._
import code.api.dynamic.endpoint.helper.DynamicCompileEndpoint
// any import statement here need be moved into the process method body
@@ -24,7 +25,7 @@ object PractiseEndpoint extends DynamicCompileEndpoint {
import cats.effect.IO
import org.http4s.{Request, Response}
- import net.liftweb.json.MappingException
+ import org.json4s.MappingException
import scala.concurrent.Future
import com.openbankproject.commons.ExecutionContext.Implicits.global
@@ -66,7 +67,7 @@ object PractiseEndpoint extends DynamicCompileEndpoint {
val requestEntity = callContext.httpBody.filter(_.nonEmpty) match {
case Some(rawBody) =>
try {
- net.liftweb.json.parse(rawBody).extract[RequestRootJsonClass]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[RequestRootJsonClass]
} catch {
case e: MappingException =>
return errorResponse(s"$InvalidJsonFormat ${e.msg}")
diff --git a/obp-api/src/main/scala/code/api/dynamic/entity/APIMethodsDynamicEntity.scala b/obp-api/src/main/scala/code/api/dynamic/entity/APIMethodsDynamicEntity.scala
index 8c54c55380..b1f172d46f 100644
--- a/obp-api/src/main/scala/code/api/dynamic/entity/APIMethodsDynamicEntity.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/entity/APIMethodsDynamicEntity.scala
@@ -14,9 +14,10 @@ import com.openbankproject.commons.model.enums.DynamicEntityOperation._
import com.openbankproject.commons.model.enums._
import com.openbankproject.commons.util.{ApiVersion, JsonUtils}
import net.liftweb.common._
-import net.liftweb.json.JsonAST.JValue
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json._
+import org.json4s.JsonAST.JValue
+import org.json4s.JsonDSL._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.util.StringHelpers
import org.apache.commons.lang3.StringUtils
diff --git a/obp-api/src/main/scala/code/api/dynamic/entity/Http4sDynamicEntity.scala b/obp-api/src/main/scala/code/api/dynamic/entity/Http4sDynamicEntity.scala
index 0e773699c6..82f248cdeb 100644
--- a/obp-api/src/main/scala/code/api/dynamic/entity/Http4sDynamicEntity.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/entity/Http4sDynamicEntity.scala
@@ -46,9 +46,10 @@ import com.openbankproject.commons.model.enums.DynamicEntityOperation
import com.openbankproject.commons.model.enums.DynamicEntityOperation._
import com.openbankproject.commons.util.{ApiShortVersions, ApiStandards, JsonUtils}
import net.liftweb.common._
-import net.liftweb.json.JsonAST.{JArray, JBool, JObject, JValue}
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json._
+import org.json4s.JsonAST.{JArray, JBool, JObject, JValue}
+import org.json4s.JsonDSL._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.util.StringHelpers
import org.apache.commons.lang3.StringUtils
import org.http4s.{HttpRoutes, Method, Request, Response}
@@ -349,7 +350,7 @@ object Http4sDynamicEntity extends MdcLoggable {
_ <- if (isPersonalEntity && !personalRequiresRole) Future.successful(true)
else NewStyle.function.hasEntitlement(bankId.getOrElse(""), u.userId, DynamicEntityInfo.canCreateRole(entityName, bankId), callContext)
_ <- failIf(afterIntercept(callContext, operationId), callContext)
- json <- NewStyle.function.tryons(InvalidJsonFormat, 400, callContext) { net.liftweb.json.parse(cc.httpBody.getOrElse("")) }
+ json <- NewStyle.function.tryons(InvalidJsonFormat, 400, callContext) { com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")) }
// Write-restricted fields are never set via POST; strip them before persisting.
createJson = stripFields(json.asInstanceOf[JObject], writeRestrictedFieldsOf(bankId, entityName))
(box, _) <- NewStyle.function.invokeDynamicConnector(CREATE, entityName, Some(createJson), None, bankId, None, Some(u.userId), isPersonalEntity, Some(cc))
@@ -369,7 +370,7 @@ object Http4sDynamicEntity extends MdcLoggable {
_ <- if (isPersonalEntity && !personalRequiresRole) Future.successful(true)
else NewStyle.function.hasEntitlement(bankId.getOrElse(""), u.userId, DynamicEntityInfo.canUpdateRole(entityName, bankId), callContext)
_ <- failIf(afterIntercept(callContext, operationId), callContext)
- json <- NewStyle.function.tryons(InvalidJsonFormat, 400, callContext) { net.liftweb.json.parse(cc.httpBody.getOrElse("")) }
+ json <- NewStyle.function.tryons(InvalidJsonFormat, 400, callContext) { com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")) }
(existing, _) <- NewStyle.function.invokeDynamicConnector(GET_ONE, entityName, None, Some(id), bankId, None, Some(u.userId), isPersonalEntity, Some(cc))
_ <- Helper.booleanToFuture(notFoundMsg(entityName, id, bankId), 404, cc = callContext) { existing.isDefined }
// Write-restricted fields are not updated via PUT; preserve their existing values.
@@ -389,7 +390,7 @@ object Http4sDynamicEntity extends MdcLoggable {
(_, callContext) <- bankCheck(bankId, callContext)
personalRequiresRole = DynamicEntityHelper.definitionsMap.get((bankId, entityName)).exists(_.personalRequiresRole)
_ <- failIf(afterIntercept(callContext, operationId), callContext)
- json <- NewStyle.function.tryons(InvalidJsonFormat, 400, callContext) { net.liftweb.json.parse(cc.httpBody.getOrElse("")) }
+ json <- NewStyle.function.tryons(InvalidJsonFormat, 400, callContext) { com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")) }
bodyObj = json.asInstanceOf[JObject]
// Per-field authorisation: each field present in the body needs the role that governs it — its field
// write role if write-restricted, otherwise the entity update role. No blanket entity-update precondition.
@@ -421,8 +422,8 @@ object Http4sDynamicEntity extends MdcLoggable {
(existing, _) <- NewStyle.function.invokeDynamicConnector(GET_ONE, entityName, None, Some(id), bankId, None, Some(u.userId), isPersonalEntity, Some(cc))
_ <- Helper.booleanToFuture(notFoundMsg(entityName, id, bankId), 404, cc = callContext) { existing.isDefined }
(box, _) <- NewStyle.function.invokeDynamicConnector(DELETE, entityName, None, Some(id), bankId, None, Some(u.userId), isPersonalEntity, Some(cc))
- deleteResult: JBool = unboxResult(box.asInstanceOf[Box[JBool]], entityName)
- } yield deleteResult
+ _: JBool = unboxResult(box.asInstanceOf[Box[JBool]], entityName)
+ } yield JObject(Nil)
}
// ----- public endpoint (anonymous, read-only; before-interceptors only, no role) -----
@@ -478,7 +479,7 @@ object Http4sDynamicEntity extends MdcLoggable {
} else {
val singleResult = DynamicDataProvider.connectorMethodProvider.vend.getCommunity(bankId, entityName, id)
val singleObject: JValue = singleResult match {
- case Full(data) => net.liftweb.json.parse(data.dataJson)
+ case Full(data) => com.openbankproject.commons.util.JsonAliases.parse(data.dataJson)
case _ => throw new RuntimeException(notFoundMsg(entityName, id, bankId))
}
wrapBankId(bankId, (singleName(entityName) -> applyReadRestrictions(singleObject, bankId, entityName, Some(u.userId))))
diff --git a/obp-api/src/main/scala/code/api/dynamic/entity/helper/DynamicEntityHelper.scala b/obp-api/src/main/scala/code/api/dynamic/entity/helper/DynamicEntityHelper.scala
index a68b537e9e..2ba96a112e 100644
--- a/obp-api/src/main/scala/code/api/dynamic/entity/helper/DynamicEntityHelper.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/entity/helper/DynamicEntityHelper.scala
@@ -7,8 +7,9 @@ import code.api.util.ErrorMessages.{InvalidJsonFormat, UnknownError, UserHasMiss
import code.api.util._
import com.openbankproject.commons.model.enums.{DynamicEntityFieldType, DynamicEntityOperation}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json._
+import org.json4s.JsonDSL._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.util.StringHelpers
import org.apache.commons.lang3.StringUtils
@@ -725,7 +726,7 @@ object DynamicEntityHelper {
}
case class DynamicEntityInfo(definition: String, entityName: String, bankId: Option[String], hasPersonalEntity: Boolean, hasPublicAccess: Boolean = false, hasCommunityAccess: Boolean = false, personalRequiresRole: Boolean = false) {
- import net.liftweb.json
+ import com.openbankproject.commons.util.json
import code.api.dynamic.entity.query.FieldSpec
val subEntities: List[DynamicEntityInfo] = Nil
diff --git a/obp-api/src/main/scala/code/api/dynamic/entity/projection/PostgresProjectionBackend.scala b/obp-api/src/main/scala/code/api/dynamic/entity/projection/PostgresProjectionBackend.scala
index 2c983e5956..de9356af05 100644
--- a/obp-api/src/main/scala/code/api/dynamic/entity/projection/PostgresProjectionBackend.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/entity/projection/PostgresProjectionBackend.scala
@@ -5,7 +5,7 @@ import code.api.dynamic.entity.helper.DynamicEntityHelper
import code.api.dynamic.entity.query.{DynamicEntityQueryBackend, QueryPlan}
import doobie._
import doobie.implicits._
-import net.liftweb.json.JsonAST.JObject
+import org.json4s.JsonAST.JObject
/**
* Approach A query backend (DE_indexing, Phase 3): serves a validated [[QueryPlan]] from the entity's
@@ -42,7 +42,7 @@ object PostgresProjectionBackend extends DynamicEntityQueryBackend {
fr"JOIN" ++ Fragment.const(s"${ProjectionStore.blobTable} $D") ++
fr"ON" ++ Fragment.const(s"$D.${ProjectionStore.idColumn} = $P.data_id") ++
whereAll ++ ords ++ ProjectionSql.limitOffset(plan)
- ProjectionDb.run(q.query[String].to[List]).map(_.map(s => net.liftweb.json.parse(s).asInstanceOf[JObject]))
+ ProjectionDb.run(q.query[String].to[List]).map(_.map(s => com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[JObject]))
case _ =>
IO.raiseError(new RuntimeException(s"PostgresProjectionBackend: unresolved field in query plan for $entityName"))
}
diff --git a/obp-api/src/main/scala/code/api/dynamic/entity/projection/ProjectionCoerce.scala b/obp-api/src/main/scala/code/api/dynamic/entity/projection/ProjectionCoerce.scala
index 2b51062f10..e00359f116 100644
--- a/obp-api/src/main/scala/code/api/dynamic/entity/projection/ProjectionCoerce.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/entity/projection/ProjectionCoerce.scala
@@ -1,7 +1,7 @@
package code.api.dynamic.entity.projection
import com.openbankproject.commons.model.enums.DynamicEntityFieldType
-import net.liftweb.json.JsonAST._
+import org.json4s.JsonAST._
import java.time.LocalDate
import scala.util.Try
diff --git a/obp-api/src/main/scala/code/api/dynamic/entity/projection/ProjectionDualWrite.scala b/obp-api/src/main/scala/code/api/dynamic/entity/projection/ProjectionDualWrite.scala
index 76cb2707c4..d59fb43ab9 100644
--- a/obp-api/src/main/scala/code/api/dynamic/entity/projection/ProjectionDualWrite.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/entity/projection/ProjectionDualWrite.scala
@@ -4,7 +4,7 @@ import code.api.dynamic.entity.helper.DynamicEntityHelper
import code.api.dynamic.entity.query.OperatorMatrix
import code.api.util.DoobieUtil
import code.util.Helper.MdcLoggable
-import net.liftweb.json.JsonAST.JObject
+import org.json4s.JsonAST.JObject
/**
* Keeps a record's projection row in sync on the write path (DE_indexing, Phase 3). Guarded by
diff --git a/obp-api/src/main/scala/code/api/dynamic/entity/projection/ProjectionProvisioner.scala b/obp-api/src/main/scala/code/api/dynamic/entity/projection/ProjectionProvisioner.scala
index bad34b49c7..048aac9d95 100644
--- a/obp-api/src/main/scala/code/api/dynamic/entity/projection/ProjectionProvisioner.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/entity/projection/ProjectionProvisioner.scala
@@ -66,7 +66,7 @@ object ProjectionProvisioner extends MdcLoggable {
for {
rows <- ProjectionDb.run(ProjectionStore.readBlobRows(bankId, entityName, isPersonalEntity, userId))
_ <- rows.traverse_ { case (id, jsonStr) =>
- val obj = net.liftweb.json.parse(jsonStr)
+ val obj = com.openbankproject.commons.util.JsonAliases.parse(jsonStr)
val cols = fields.map { case (f, spec) =>
ProjectionStore.ColumnValue(
ProjectionNaming.columnName(f),
diff --git a/obp-api/src/main/scala/code/api/dynamic/entity/query/DynamicEntityQueryBackend.scala b/obp-api/src/main/scala/code/api/dynamic/entity/query/DynamicEntityQueryBackend.scala
index 6c6bcff6b4..eb8205ecf6 100644
--- a/obp-api/src/main/scala/code/api/dynamic/entity/query/DynamicEntityQueryBackend.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/entity/query/DynamicEntityQueryBackend.scala
@@ -1,7 +1,7 @@
package code.api.dynamic.entity.query
import cats.effect.IO
-import net.liftweb.json.JsonAST.JObject
+import org.json4s.JsonAST.JObject
/**
* The Shape B seam: one query contract, swappable implementations.
diff --git a/obp-api/src/main/scala/code/api/dynamic/entity/query/InMemoryQueryExecutor.scala b/obp-api/src/main/scala/code/api/dynamic/entity/query/InMemoryQueryExecutor.scala
index 60e1f21211..5d0edc15ec 100644
--- a/obp-api/src/main/scala/code/api/dynamic/entity/query/InMemoryQueryExecutor.scala
+++ b/obp-api/src/main/scala/code/api/dynamic/entity/query/InMemoryQueryExecutor.scala
@@ -1,7 +1,7 @@
package code.api.dynamic.entity.query
import com.openbankproject.commons.model.enums.DynamicEntityFieldType
-import net.liftweb.json.JsonAST._
+import org.json4s.JsonAST._
import scala.util.Try
diff --git a/obp-api/src/main/scala/code/api/openidconnect.scala b/obp-api/src/main/scala/code/api/openidconnect.scala
index b8c491d9ab..cb3b2d67e2 100644
--- a/obp-api/src/main/scala/code/api/openidconnect.scala
+++ b/obp-api/src/main/scala/code/api/openidconnect.scala
@@ -39,8 +39,8 @@
//import com.openbankproject.commons.model.User
//import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus}
//import net.liftweb.common._
-//import net.liftweb.json
-//import net.liftweb.json.JValue
+//import com.openbankproject.commons.util.json
+//import org.json4s.JValue
//import net.liftweb.mapper.By
//import net.liftweb.util.Helpers
//import net.liftweb.util.Helpers._
diff --git a/obp-api/src/main/scala/code/api/sandbox/SandboxApiCalls.scala b/obp-api/src/main/scala/code/api/sandbox/SandboxApiCalls.scala
index 8390eb2dd5..1452ecf721 100644
--- a/obp-api/src/main/scala/code/api/sandbox/SandboxApiCalls.scala
+++ b/obp-api/src/main/scala/code/api/sandbox/SandboxApiCalls.scala
@@ -8,7 +8,7 @@
//import code.util.Helper
//import code.util.Helper.MdcLoggable
//import com.openbankproject.commons.util.ApiVersion
-//import net.liftweb.json.Extraction
+//import org.json4s.Extraction
//import net.liftweb.util.Helpers._
//
//
diff --git a/obp-api/src/main/scala/code/api/util/APIUtil.scala b/obp-api/src/main/scala/code/api/util/APIUtil.scala
index 9981d6168b..753e622488 100644
--- a/obp-api/src/main/scala/code/api/util/APIUtil.scala
+++ b/obp-api/src/main/scala/code/api/util/APIUtil.scala
@@ -80,13 +80,13 @@ import com.openbankproject.commons.util.Functions.Implicits._
import com.openbankproject.commons.util._
import javassist.expr.{ExprEditor, MethodCall}
import javassist.{CannotCompileException, ClassPool, LoaderClassPath}
-import net.liftweb.actor.LAFuture
import net.liftweb.common._
import code.api.JsonResponse
-import net.liftweb.json
-import net.liftweb.json.JsonAST.{JField, JNothing, JObject, JString, JValue}
-import net.liftweb.json.JsonParser.ParseException
-import net.liftweb.json._
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.{JField, JNothing, JObject, JString, JValue}
+import org.json4s.ParserUtil.ParseException
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.mapper.By
import net.liftweb.util.Helpers._
import net.liftweb.util._
@@ -706,7 +706,7 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{
val responseHeaders = getRequestHeadersNewStyle(callContext,httpBody).list
JsonResponse(JNull, getHeaders() ::: headers.list ::: jwsHeaders ::: responseHeaders, Nil, 204)
case Some(c) if c.httpCode.isDefined =>
- val httpBody = Full(JsonAST.compactRender(jsonValue))
+ val httpBody = Full(com.openbankproject.commons.util.JsonAliases.compactRender(jsonValue))
val jwsHeaders = getSignRequestHeadersNewStyle(callContext,httpBody).list
val responseHeaders = getRequestHeadersNewStyle(callContext,httpBody).list
val code = checkConditionalRequest(callContext, c.verb, c.httpCode.get, httpBody)
@@ -720,7 +720,7 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{
val responseHeaders = getRequestHeadersNewStyle(callContext,httpBody).list
JsonResponse(JNull, getHeaders() ::: headers.list ::: jwsHeaders ::: responseHeaders, Nil, 204)
case _ =>
- val httpBody = Full(JsonAST.compactRender(jsonValue))
+ val httpBody = Full(com.openbankproject.commons.util.JsonAliases.compactRender(jsonValue))
val jwsHeaders = getSignRequestHeadersNewStyle(callContext,httpBody).list
val responseHeaders = getRequestHeadersNewStyle(callContext,httpBody).list
JsonResponse(jsonValue, getHeaders() ::: headers.list ::: jwsHeaders ::: responseHeaders, Nil, httpCode)
@@ -782,7 +782,7 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{
}
}
val errorMessageAst: json.JValue = composeErrorMessage()
- val httpBody = JsonAST.compactRender(errorMessageAst)
+ val httpBody = com.openbankproject.commons.util.JsonAliases.compactRender(errorMessageAst)
val jwsHeaders: CustomResponseHeaders = getSignRequestHeadersError(callContextLight, httpBody)
JsonResponse(errorMessageAst, responseHeaders ::: jwsHeaders.list, Nil, code)
}
@@ -2666,23 +2666,6 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{
}
}
- def scalaFutureToLaFuture[T](scf: Future[T])(implicit m: Manifest[T]): LAFuture[T] = {
- val laf = new LAFuture[T]
- scf.onSuccess {
- case v: T => laf.satisfy(v)
- case _ => laf.abort
- }
- scf.onFailure {
- case e: AccessControlException =>
- laf.fail(Failure(s"$DynamicResourceDocMethodPermission No permission of: ${e.getPermission.toString}", Full(e), Empty))
-
- case e: Throwable =>
- laf.fail(Failure(e.getMessage(), Full(e), Empty))
- }
- laf
- }
-
-
def extractAPIFailureNewStyle(msg: String): Option[APIFailureNewStyle] = {
try {
parse(msg).extractOpt[APIFailureNewStyle] match {
@@ -3178,11 +3161,11 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{
val failuresMsg = filterMessage(obj)
val callContext = af.ccl.map(_.copy(httpCode = Some(af.failCode)))
val apiFailure = af.copy(failMsg = failuresMsg).copy(ccl = callContext)
- throw new Exception(JsonAST.compactRender(Extraction.decompose(apiFailure)))
+ throw new Exception(com.openbankproject.commons.util.JsonAliases.compactRender(Extraction.decompose(apiFailure)))
case ParamFailure(_, _, _, failure : APIFailure) =>
val callContext = CallContextLight()
val apiFailure = APIFailureNewStyle(failMsg = failure.msg, failCode = failure.responseCode, ccl = Some(callContext))
- throw new Exception(JsonAST.compactRender(Extraction.decompose(apiFailure)))
+ throw new Exception(com.openbankproject.commons.util.JsonAliases.compactRender(Extraction.decompose(apiFailure)))
case ParamFailure(msg,_,_,_) =>
throw new Exception(msg)
case obj@Failure(_, _, _) =>
@@ -4499,7 +4482,7 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{
} else {
AuthenticationTypeValidationProvider.validationProvider.vend.getByOperationId(operationId) match {
case Full(v) if !v.authTypes.contains(callContext.authType)=>
- import net.liftweb.json.JsonDSL._
+ import org.json4s.JsonDSL._
val errorMsg = s"""$AuthenticationTypeIllegal allowed authentication types: ${v.authTypes.mkString("[", ", ", "]")}, current request auth type: $authType"""
val errorCode = 400
val errorResponse = ("code", errorCode) ~ ("message", errorMsg)
@@ -4547,7 +4530,7 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{
}
def createErrorJsonResponse(errorMsg: String, errorCode: Int, correlationId: String): JsonResponse = {
- import net.liftweb.json.JsonDSL._
+ import org.json4s.JsonDSL._
val errorResponse = ("code", errorCode) ~ ("message", errorMsg)
val jsonResponse = JsonResponse(errorResponse, errorCode).asInstanceOf[JsonResponse]
// add correlatedId to header
@@ -4558,7 +4541,7 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{
object JsonResponseExtractor {
def unapply(jsonResponse: JsonResponse): Option[(String, Int)] = jsonResponse match {
case JsonResponse(bodyJson, _, _, code) =>
- val responseBody = net.liftweb.json.compactRender(bodyJson)
+ val responseBody = com.openbankproject.commons.util.JsonAliases.compactRender(bodyJson)
(parse(responseBody) \ "message") match {
case JString(message) =>
Some(message -> code)
diff --git a/obp-api/src/main/scala/code/api/util/ApiRole.scala b/obp-api/src/main/scala/code/api/util/ApiRole.scala
index 10773999b5..fad2f98b0d 100644
--- a/obp-api/src/main/scala/code/api/util/ApiRole.scala
+++ b/obp-api/src/main/scala/code/api/util/ApiRole.scala
@@ -1,11 +1,12 @@
package code.api.util
+import org.json4s._
import code.api.dynamic.endpoint.helper.DynamicEndpointHelper
import code.api.dynamic.entity.helper.DynamicEntityHelper
import code.util.Helper.MdcLoggable
import com.openbankproject.commons.util.{JsonAble, ReflectUtils}
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.{Formats, JsonAST}
+import org.json4s.JsonDSL._
+import org.json4s.{Formats, JsonAST}
import java.util.concurrent.ConcurrentHashMap
diff --git a/obp-api/src/main/scala/code/api/util/ApiSession.scala b/obp-api/src/main/scala/code/api/util/ApiSession.scala
index a9d6e0517f..470ff8c66c 100644
--- a/obp-api/src/main/scala/code/api/util/ApiSession.scala
+++ b/obp-api/src/main/scala/code/api/util/ApiSession.scala
@@ -1,5 +1,6 @@
package code.api.util
+import org.json4s._
import code.api.JSONFactoryDAuth
import java.util.{Date, UUID}
import code.api.JSONFactoryGateway.PayloadOfJwtJSON
@@ -16,7 +17,7 @@ import code.views.Views
import com.openbankproject.commons.model._
import com.openbankproject.commons.util.{EnumValue, OBPEnumeration}
import net.liftweb.common.{Box, Empty}
-import net.liftweb.json.JsonAST.JValue
+import org.json4s.JsonAST.JValue
import net.liftweb.util.Helpers
import net.liftweb.util.Helpers.tryo
diff --git a/obp-api/src/main/scala/code/api/util/ConsentUtil.scala b/obp-api/src/main/scala/code/api/util/ConsentUtil.scala
index 6bbccf001c..6628bbf141 100644
--- a/obp-api/src/main/scala/code/api/util/ConsentUtil.scala
+++ b/obp-api/src/main/scala/code/api/util/ConsentUtil.scala
@@ -1,5 +1,6 @@
package code.api.util
+import org.json4s._
import code.accountholders.AccountHolders
import code.api.berlin.group.ConstantsBG
import code.api.berlin.group.v1_3.JSONFactory_BERLIN_GROUP_1_3.{ConsentAccessJson, PostConsentJson}
@@ -29,8 +30,9 @@ import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model._
import com.openbankproject.commons.util.ApiStandards
import net.liftweb.common._
-import net.liftweb.json.JsonParser.ParseException
-import net.liftweb.json.{Extraction, MappingException, compactRender, parse}
+import org.json4s.ParserUtil.ParseException
+import org.json4s.{Extraction, MappingException}
+import com.openbankproject.commons.util.JsonAliases.{compactRender, parse}
import net.liftweb.mapper.By
import net.liftweb.util.Props
import sh.ory.hydra.model.OAuth2TokenIntrospection
@@ -421,9 +423,9 @@ object Consent extends MdcLoggable {
JwtUtil.getSignedPayloadAsJson(consentIdAsJwt) match {
case Full(jsonAsString) =>
try {
- logger.debug(s"applyConsentRulesCommonOldStyle.getSignedPayloadAsJson.Start of net.liftweb.json.parse(jsonAsString).extract[ConsentJWT]: $jsonAsString")
- val consent = net.liftweb.json.parse(jsonAsString).extract[ConsentJWT]
- logger.debug(s"applyConsentRulesCommonOldStyle.getSignedPayloadAsJson.End of net.liftweb.json.parse(jsonAsString).extract[ConsentJWT]: $consent")
+ logger.debug(s"applyConsentRulesCommonOldStyle.getSignedPayloadAsJson.Start of com.openbankproject.commons.util.JsonAliases.parse(jsonAsString).extract[ConsentJWT]: $jsonAsString")
+ val consent = com.openbankproject.commons.util.JsonAliases.parse(jsonAsString).extract[ConsentJWT]
+ logger.debug(s"applyConsentRulesCommonOldStyle.getSignedPayloadAsJson.End of com.openbankproject.commons.util.JsonAliases.parse(jsonAsString).extract[ConsentJWT]: $consent")
checkConsent(consent, consentIdAsJwt, calContext) match { // Check is it Consent-JWT expired
case (Full(true)) => // OK
applyConsentRules(consent)
@@ -501,9 +503,9 @@ object Consent extends MdcLoggable {
JwtUtil.getSignedPayloadAsJson(consentAsJwt) match {
case Full(jsonAsString) =>
try {
- logger.debug(s"applyConsentRulesCommon.Start of net.liftweb.json.parse(jsonAsString).extract[ConsentJWT]: $jsonAsString")
- val consent = net.liftweb.json.parse(jsonAsString).extract[ConsentJWT]
- logger.debug(s"applyConsentRulesCommon.End of net.liftweb.json.parse(jsonAsString).extract[ConsentJWT]: $consent")
+ logger.debug(s"applyConsentRulesCommon.Start of com.openbankproject.commons.util.JsonAliases.parse(jsonAsString).extract[ConsentJWT]: $jsonAsString")
+ val consent = com.openbankproject.commons.util.JsonAliases.parse(jsonAsString).extract[ConsentJWT]
+ logger.debug(s"applyConsentRulesCommon.End of com.openbankproject.commons.util.JsonAliases.parse(jsonAsString).extract[ConsentJWT]: $consent")
checkConsent(consent, consentAsJwt, callContext) match { // Check is it Consent-JWT expired
case (Full(true)) => // OK
applyConsentRules(consent)
@@ -628,11 +630,11 @@ object Consent extends MdcLoggable {
JwtUtil.getSignedPayloadAsJson(storedConsent.jsonWebToken) match {
case Full(jsonAsString) =>
try {
- logger.debug(s"applyBerlinGroupConsentRulesCommon.Start of net.liftweb.json.parse(jsonAsString).extract[ConsentJWT]: $jsonAsString")
- val consent = net.liftweb.json.parse(jsonAsString).extract[ConsentJWT]
- logger.debug(s"applyBerlinGroupConsentRulesCommon.End of net.liftweb.json.parse(jsonAsString).extract[ConsentJWT]: $consent")
+ logger.debug(s"applyBerlinGroupConsentRulesCommon.Start of com.openbankproject.commons.util.JsonAliases.parse(jsonAsString).extract[ConsentJWT]: $jsonAsString")
+ val consent = com.openbankproject.commons.util.JsonAliases.parse(jsonAsString).extract[ConsentJWT]
+ logger.debug(s"applyBerlinGroupConsentRulesCommon.End of com.openbankproject.commons.util.JsonAliases.parse(jsonAsString).extract[ConsentJWT]: $consent")
val consentBox = checkConsent(consent, storedConsent.jsonWebToken, updatedCallContext)
- logger.debug(s"End of net.liftweb.json.parse(jsonAsString).extract[ConsentJWT].checkConsent.consentBox: $consent")
+ logger.debug(s"End of com.openbankproject.commons.util.JsonAliases.parse(jsonAsString).extract[ConsentJWT].checkConsent.consentBox: $consent")
consentBox match { // Check is it Consent-JWT expired
case (Full(true)) => // OK
if(BerlinGroupCheck.isTppRequestsWithoutPsuInvolvement(callContext.requestHeaders)) {
@@ -887,7 +889,7 @@ object Consent extends MdcLoggable {
callContext: Option[CallContext]): Future[Box[String]] = {
implicit val dateFormats = CustomJsonFormats.formats
val payloadToUpdate: Box[ConsentJWT] = JwtUtil.getSignedPayloadAsJson(consent.jsonWebToken) // Payload as JSON string
- .map(net.liftweb.json.parse(_).extract[ConsentJWT]) // Extract case class
+ .map(com.openbankproject.commons.util.JsonAliases.parse(_).extract[ConsentJWT]) // Extract case class
// 1. Add access
@@ -947,7 +949,7 @@ object Consent extends MdcLoggable {
callContext: Option[CallContext]): Future[Box[MappedConsent]] = {
implicit val dateFormats = CustomJsonFormats.formats
val payloadToUpdate: Box[ConsentJWT] = JwtUtil.getSignedPayloadAsJson(consent.jsonWebToken) // Payload as JSON string
- .map(net.liftweb.json.parse(_).extract[ConsentJWT]) // Extract case class
+ .map(com.openbankproject.commons.util.JsonAliases.parse(_).extract[ConsentJWT]) // Extract case class
val availableAccountsUserIbans: List[String] = payloadToUpdate match {
case Full(consentJwt) =>
@@ -1008,7 +1010,7 @@ object Consent extends MdcLoggable {
callContext: Option[CallContext]): Box[String] = {
implicit val dateFormats = CustomJsonFormats.formats
val payloadToUpdate: Box[ConsentJWT] = JwtUtil.getSignedPayloadAsJson(consent.jsonWebToken) // Payload as JSON string
- .map(net.liftweb.json.parse(_).extract[ConsentJWT]) // Extract case class
+ .map(com.openbankproject.commons.util.JsonAliases.parse(_).extract[ConsentJWT]) // Extract case class
val updatedPayload = payloadToUpdate.map(i => i.copy(createdByUserId = createdByUserId)) // Update only the field "createdByUserId"
val jwtPayloadAsJson = compactRender(Extraction.decompose(updatedPayload))
diff --git a/obp-api/src/main/scala/code/api/util/CurrencyUtil.scala b/obp-api/src/main/scala/code/api/util/CurrencyUtil.scala
index 959bb67755..4dfab24b64 100644
--- a/obp-api/src/main/scala/code/api/util/CurrencyUtil.scala
+++ b/obp-api/src/main/scala/code/api/util/CurrencyUtil.scala
@@ -1,6 +1,7 @@
package code.api.util
-import net.liftweb.json.parse
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases.parse
object CurrencyUtil {
implicit val formats = CustomJsonFormats.formats
diff --git a/obp-api/src/main/scala/code/api/util/CustomJsonFormats.scala b/obp-api/src/main/scala/code/api/util/CustomJsonFormats.scala
index 46e3f0bd7d..4e3b77e382 100644
--- a/obp-api/src/main/scala/code/api/util/CustomJsonFormats.scala
+++ b/obp-api/src/main/scala/code/api/util/CustomJsonFormats.scala
@@ -1,14 +1,16 @@
package code.api.util
+import org.json4s._
import code.api.util.APIUtil.{BooleanBody, DoubleBody, EmptyBody, JArrayBody, LongBody, PrimaryDataBody, StringBody}
import code.api.util.ApiRole.rolesMappedToClasses
import com.openbankproject.commons.dto.InBoundTrait
import com.openbankproject.commons.model.TopicTrait
import com.openbankproject.commons.util.Functions.Memo
import com.openbankproject.commons.util.{JsonUtils, _}
-import net.liftweb.json
-import net.liftweb.json.JsonAST.JValue
-import net.liftweb.json.{TypeInfo, _}
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.JValue
+import org.json4s.{TypeInfo, _}
+import com.openbankproject.commons.util.JsonAliases._
import org.apache.commons.lang3.StringUtils
import java.text.SimpleDateFormat
@@ -25,14 +27,14 @@ object CustomJsonFormats {
val formats: Formats = JsonSerializers.commonFormats + PrimaryDataBodySerializer + ToStringDeSerializer + TupleSerializer
- val losslessFormats: Formats = net.liftweb.json.DefaultFormats.lossless ++ JsonSerializers.serializers
+ val losslessFormats: Formats = org.json4s.DefaultFormats.lossless ++ JsonSerializers.serializers
val emptyHintFormats = DefaultFormats.withHints(ShortTypeHints(List())) ++ JsonSerializers.serializers
implicit val nullTolerateFormats = JsonSerializers.nullTolerateFormats
lazy val rolesMappedToClassesFormats: Formats = new Formats {
- val dateFormat = net.liftweb.json.DefaultFormats.dateFormat
+ val dateFormat = org.json4s.DefaultFormats.dateFormat
override val typeHints = ShortTypeHints(rolesMappedToClasses)
} ++ JsonSerializers.serializers
@@ -149,7 +151,7 @@ object ToStringDeSerializer extends ObpDeSerializer[String] {
private val IntervalClass = classOf[String]
override def deserialize(implicit format: Formats): PartialFunction[(TypeInfo, json.JValue), String] = {
- case (TypeInfo(IntervalClass, _), json) if !json.isInstanceOf[JString] && json != JNothing =>
+ case (TypeInfo(IntervalClass, _), json) if !json.isInstanceOf[JString] && json != JNothing && json != JNull =>
compactRender(json)
}
}
@@ -158,7 +160,7 @@ object ToStringDeSerializer extends ObpDeSerializer[String] {
* deserialize jvalue to string, even if jvalue is not JString type, it can deserialize successfully.
*/
object TupleSerializer extends ObpSerializer[(String, Any)] {
- import net.liftweb.json.JsonDSL._
+ import org.json4s.JsonDSL._
override def serialize(implicit format: Formats): PartialFunction[Any, json.JValue] = {
case (name: String, value: Any) =>
name -> json.Extraction.decompose(value)
diff --git a/obp-api/src/main/scala/code/api/util/DiagnosticDynamicEntityCheck.scala b/obp-api/src/main/scala/code/api/util/DiagnosticDynamicEntityCheck.scala
index 2589ab8651..a450aeb856 100644
--- a/obp-api/src/main/scala/code/api/util/DiagnosticDynamicEntityCheck.scala
+++ b/obp-api/src/main/scala/code/api/util/DiagnosticDynamicEntityCheck.scala
@@ -3,7 +3,8 @@ package code.api.util
import code.api.dynamic.entity.helper.DynamicEntityInfo
import code.DynamicData.{DynamicData, DynamicDataT}
import code.dynamicEntity.DynamicEntityT
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import org.apache.commons.lang3.StringUtils
/**
diff --git a/obp-api/src/main/scala/code/api/util/DynamicUtil.scala b/obp-api/src/main/scala/code/api/util/DynamicUtil.scala
index c5c185f991..a3fcf8780e 100644
--- a/obp-api/src/main/scala/code/api/util/DynamicUtil.scala
+++ b/obp-api/src/main/scala/code/api/util/DynamicUtil.scala
@@ -1,5 +1,6 @@
package code.api.util
+import org.json4s._
import code.api.Constant.SHOW_USED_CONNECTOR_METHODS
import code.api.{APIFailureNewStyle, JsonResponseException}
import code.api.util.ErrorMessages.DynamicResourceDocMethodDependency
@@ -10,7 +11,8 @@ import com.openbankproject.commons.util.Functions.Memo
import com.openbankproject.commons.util.{JsonUtils, ReflectUtils}
import javassist.{ClassPool, LoaderClassPath}
import net.liftweb.common.{Box, Empty, Failure, Full, ParamFailure}
-import net.liftweb.json.{Extraction, JValue, prettyRender}
+import org.json4s.{Extraction, JValue}
+import com.openbankproject.commons.util.JsonAliases.prettyRender
import org.apache.commons.lang3.StringUtils
import org.graalvm.polyglot.{Context, Engine, HostAccess, PolyglotAccess}
@@ -128,12 +130,12 @@ object DynamicUtil extends MdcLoggable{
s"""
| $caseClasses
|
- | // throws exception: net.liftweb.json.MappingException:
+ | // throws exception: org.json4s.MappingException:
| //No usable value for name
| //Did not find value which can be converted into java.lang.String
|
|implicit val formats = code.api.util.CustomJsonFormats.formats
- |(jValue: net.liftweb.json.JsonAST.JValue) => {
+ |(jValue: org.json4s.JsonAST.JValue) => {
| jValue.extract[RootJsonClass]
|}
|""".stripMargin
@@ -286,11 +288,12 @@ object DynamicUtil extends MdcLoggable{
|import com.openbankproject.commons.util.{JsonUtils, ReflectUtils}
|// import com.tesobe.{CacheKeyFromArguments, CacheKeyOmit}
|import net.liftweb.common.{Box, Empty, _}
- |import net.liftweb.json
- |import net.liftweb.json.Extraction.decompose
- |import net.liftweb.json.JsonDSL._
- |import net.liftweb.json.JsonParser.ParseException
- |import net.liftweb.json.{JValue, _}
+ |import com.openbankproject.commons.util.json
+ |import org.json4s.Extraction.decompose
+ |import org.json4s.JsonDSL._
+ |import org.json4s.ParserUtil.ParseException
+ |import org.json4s.{JValue, _}
+ |import com.openbankproject.commons.util.JsonAliases._
|import net.liftweb.util.Helpers.tryo
|import org.apache.commons.lang3.StringUtils
|
@@ -478,7 +481,7 @@ object DynamicUtil extends MdcLoggable{
def createJavaFunction(methodBody:String): Box[DynamicFunction] = memoDynamicFunction.memoize("java:" + methodBody) {
import com.openbankproject.commons.ExecutionContext.Implicits.global
- import net.liftweb.json.compactRender
+ import com.openbankproject.commons.util.JsonAliases.compactRender
Box tryo {
val packageExp = UUID.randomUUID().toString.replaceAll("^|-", "_")
diff --git a/obp-api/src/main/scala/code/api/util/ErrorMessages.scala b/obp-api/src/main/scala/code/api/util/ErrorMessages.scala
index 17034f6a6e..6d78b396cc 100644
--- a/obp-api/src/main/scala/code/api/util/ErrorMessages.scala
+++ b/obp-api/src/main/scala/code/api/util/ErrorMessages.scala
@@ -1,9 +1,10 @@
package code.api.util
+import org.json4s._
import code.api.APIFailureNewStyle
import code.api.util.ApiRole.{CanCreateAnyTransactionRequest, canCreateEntitlementAtAnyBank, canCreateEntitlementAtOneBank}
import com.openbankproject.commons.model.enums.TransactionRequestStatus._
-import net.liftweb.json.{Extraction, JsonAST}
+import org.json4s.{Extraction, JsonAST}
import java.util.Objects
import java.util.regex.Pattern
@@ -20,7 +21,7 @@ object ErrorMessages {
// 7) Since the existence of "OBP-..." in a message is used to determine if we should display to a user if display_internal_errors=false, do *not* concatenate internal or core banking system error messages to these strings.
- def apiFailureToString(code: Int, message: String, context: Option[CallContext]): String = JsonAST.compactRender(
+ def apiFailureToString(code: Int, message: String, context: Option[CallContext]): String = com.openbankproject.commons.util.JsonAliases.compactRender(
Extraction.decompose(
APIFailureNewStyle(failMsg = message, failCode = code, context.map(_.toLight))
)
diff --git a/obp-api/src/main/scala/code/api/util/ErrorUtil.scala b/obp-api/src/main/scala/code/api/util/ErrorUtil.scala
index a077a41f19..a1735f7821 100644
--- a/obp-api/src/main/scala/code/api/util/ErrorUtil.scala
+++ b/obp-api/src/main/scala/code/api/util/ErrorUtil.scala
@@ -4,7 +4,8 @@ import code.api.APIFailureNewStyle
import code.api.util.APIUtil.fullBoxOrException
import com.openbankproject.commons.model.User
import net.liftweb.common.{Box, Empty, Failure}
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
object ErrorUtil {
diff --git a/obp-api/src/main/scala/code/api/util/ExampleValue.scala b/obp-api/src/main/scala/code/api/util/ExampleValue.scala
index f8549a2f9b..64c304e94e 100644
--- a/obp-api/src/main/scala/code/api/util/ExampleValue.scala
+++ b/obp-api/src/main/scala/code/api/util/ExampleValue.scala
@@ -1,6 +1,7 @@
package code.api.util
+import org.json4s._
import code.api.Constant
import code.api.Constant._
import code.api.util.APIUtil.{DateWithMs, DateWithMsExampleString, formatDate, oneYearAgoDate, parseDate}
@@ -11,10 +12,10 @@ import code.dynamicEntity._
import com.openbankproject.commons.model.CardAction
import com.openbankproject.commons.model.enums.{CustomerAttributeType, DynamicEntityFieldType, TransactionRequestStatus, UserInvitationPurpose}
import com.openbankproject.commons.util.ReflectUtils
-import net.liftweb.json
-import net.liftweb.json.JObject
-import net.liftweb.json.JsonAST.JField
-import net.liftweb.json.JsonDSL._
+import com.openbankproject.commons.util.json
+import org.json4s.JObject
+import org.json4s.JsonAST.JField
+import org.json4s.JsonDSL._
case class ConnectorField(value: String, description: String) {
@@ -497,7 +498,7 @@ object ExampleValue {
"ams.get(%22BANK_ID%22)%20will%20get%20Option(%22bank_x%22)%20value%0A%0A%20%20%20%20val%20myUserId%20%3D%20pat" +
"hParams(%22MY_USER_ID%22)%0A%0A%0A%20%20%20%20val%20requestEntity%20%3D%20callContext.httpBody.filter(_.nonEmp" +
"ty)%20match%20%7B%0A%20%20%20%20%20%20case%20Some(rawBody)%20%3D%3E%0A%20%20%20%20%20%20%20%20try%20%7B%0A%20%" +
- "20%20%20%20%20%20%20%20%20net.liftweb.json.parse(rawBody).extract%5BRequestRootJsonClass%5D%0A%20%20%20%20%20%" +
+ "20%20%20%20%20%20%20%20%20com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract%5BRequestRootJsonClass%5D%0A%20%20%20%20%20%" +
"20%20%20%7D%20catch%20%7B%0A%20%20%20%20%20%20%20%20%20%20case%20e%3A%20MappingException%20%3D%3E%0A%20%20%20%" +
"20%20%20%20%20%20%20%20%20return%20errorResponse(s%22%24InvalidJsonFormat%20%24%7Be.msg%7D%22)%0A%20%20%20%20%" +
"20%20%20%20%7D%0A%20%20%20%20%20%20case%20None%20%3D%3E%0A%20%20%20%20%20%20%20%20return%20errorResponse(s%22%" +
diff --git a/obp-api/src/main/scala/code/api/util/FutureUtil.scala b/obp-api/src/main/scala/code/api/util/FutureUtil.scala
index 4129ae1a85..8e821a974f 100644
--- a/obp-api/src/main/scala/code/api/util/FutureUtil.scala
+++ b/obp-api/src/main/scala/code/api/util/FutureUtil.scala
@@ -1,10 +1,11 @@
package code.api.util
+import org.json4s._
import java.util.concurrent.TimeoutException
import java.util.{Timer, TimerTask}
import code.api.{APIFailureNewStyle, Constant}
-import net.liftweb.json.{Extraction, JsonAST}
+import org.json4s.{Extraction, JsonAST}
import code.api.util.APIUtil.{decrementFutureCounter, incrementFutureCounter}
import scala.concurrent.{ExecutionContext, Future, Promise}
diff --git a/obp-api/src/main/scala/code/api/util/JsonSchemaGenerator.scala b/obp-api/src/main/scala/code/api/util/JsonSchemaGenerator.scala
index 6e095fb989..d29ce1c2f1 100644
--- a/obp-api/src/main/scala/code/api/util/JsonSchemaGenerator.scala
+++ b/obp-api/src/main/scala/code/api/util/JsonSchemaGenerator.scala
@@ -1,9 +1,9 @@
package code.api.util
+import org.json4s._
import code.api.util.APIUtil.MessageDoc
import com.openbankproject.commons.util.ReflectUtils
-import net.liftweb.json.JsonAST._
-import net.liftweb.json.JsonDSL._
+import org.json4s.JsonDSL._
import scala.reflect.runtime.universe._
diff --git a/obp-api/src/main/scala/code/api/util/JwsUtil.scala b/obp-api/src/main/scala/code/api/util/JwsUtil.scala
index 8cc1b090e8..d7c979e665 100644
--- a/obp-api/src/main/scala/code/api/util/JwsUtil.scala
+++ b/obp-api/src/main/scala/code/api/util/JwsUtil.scala
@@ -1,5 +1,6 @@
package code.api.util
+import org.json4s._
import code.api.{CertificateConstants, Constant}
import code.util.Helper.MdcLoggable
import com.nimbusds.jose.crypto.RSASSAVerifier
@@ -9,7 +10,7 @@ import com.nimbusds.jose.{JWSAlgorithm, JWSHeader, JWSObject, Payload}
import com.openbankproject.commons.model.User
import net.liftweb.common.{Box, Failure, Full}
import code.api.util.APIUtil.HTTPParam
-import net.liftweb.json
+import com.openbankproject.commons.util.json
import net.liftweb.util.SecurityHelpers
import java.security.interfaces.RSAPublicKey
diff --git a/obp-api/src/main/scala/code/api/util/NewStyle.scala b/obp-api/src/main/scala/code/api/util/NewStyle.scala
index d1c6b00cfe..20fc3ac49c 100644
--- a/obp-api/src/main/scala/code/api/util/NewStyle.scala
+++ b/obp-api/src/main/scala/code/api/util/NewStyle.scala
@@ -56,8 +56,9 @@ import com.openbankproject.commons.util.JsonUtils
import com.tesobe.CacheKeyFromArguments
import net.liftweb.common._
import code.api.JsonResponse
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json._
+import org.json4s.JsonDSL._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.util.Helpers.tryo
import net.liftweb.util.Props
import org.apache.commons.lang3.StringUtils
diff --git a/obp-api/src/main/scala/code/api/util/WriteMetricUtil.scala b/obp-api/src/main/scala/code/api/util/WriteMetricUtil.scala
index 202d5930f7..2f1e59201c 100644
--- a/obp-api/src/main/scala/code/api/util/WriteMetricUtil.scala
+++ b/obp-api/src/main/scala/code/api/util/WriteMetricUtil.scala
@@ -1,6 +1,7 @@
package code.api.util
-import code.api.util.APIUtil.{buildOperationId, getCorrelationId, getPropsValue}
+import org.json4s._
+import code.api.util.APIUtil.{buildOperationId, getCorrelationId, getPropsAsBoolValue, getPropsValue}
import code.metrics.APIMetrics
import code.metricsstream.MetricsEventBus
import code.util.Helper.MdcLoggable
@@ -9,8 +10,9 @@ import java.util.Date
import scala.collection.immutable
import scala.concurrent.Future
import com.openbankproject.commons.ExecutionContext.Implicits.global
-import net.liftweb.json.{Extraction, JValue, compactRender}
-import net.liftweb.json.Serialization.write
+import org.json4s.{Extraction, JValue}
+import com.openbankproject.commons.util.JsonAliases.compactRender
+import org.json4s.native.Serialization.write
object WriteMetricUtil extends MdcLoggable {
@@ -91,7 +93,7 @@ object WriteMetricUtil extends MdcLoggable {
}
- private val metricFormats = net.liftweb.json.DefaultFormats
+ private val metricFormats = org.json4s.DefaultFormats
/**
* Publish a metric event to the gRPC pub/sub channel. No-op when the
diff --git a/obp-api/src/main/scala/code/api/util/YAMLUtils.scala b/obp-api/src/main/scala/code/api/util/YAMLUtils.scala
index 16714ee50e..58838881a2 100644
--- a/obp-api/src/main/scala/code/api/util/YAMLUtils.scala
+++ b/obp-api/src/main/scala/code/api/util/YAMLUtils.scala
@@ -28,9 +28,10 @@ package code.api.util
import com.fasterxml.jackson.databind.{JsonNode, ObjectMapper}
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory
-import net.liftweb.json.JsonAST.JValue
-import net.liftweb.json._
-import net.liftweb.json.compactRender
+import org.json4s.JsonAST.JValue
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
+import com.openbankproject.commons.util.JsonAliases.compactRender
import code.util.Helper.MdcLoggable
import scala.util.{Try, Success, Failure}
diff --git a/obp-api/src/main/scala/code/api/util/http4s/ErrorResponseConverter.scala b/obp-api/src/main/scala/code/api/util/http4s/ErrorResponseConverter.scala
index 1d838a7a08..8d1b870795 100644
--- a/obp-api/src/main/scala/code/api/util/http4s/ErrorResponseConverter.scala
+++ b/obp-api/src/main/scala/code/api/util/http4s/ErrorResponseConverter.scala
@@ -1,5 +1,6 @@
package code.api.util.http4s
+import org.json4s._
import cats.effect._
import code.api.APIFailureNewStyle
import code.api.JsonResponseException
@@ -10,9 +11,10 @@ import code.api.util.BerlinGroupError
import code.api.util.ErrorMessages._
import code.api.util.CallContext
import net.liftweb.common.{Failure => LiftFailure}
-import net.liftweb.json.JsonParser.parse
-import net.liftweb.json.{Extraction, compactRender}
-import net.liftweb.json.JsonDSL._
+import com.openbankproject.commons.util.JsonAliases.parse
+import org.json4s.Extraction
+import com.openbankproject.commons.util.JsonAliases.compactRender
+import org.json4s.JsonDSL._
import org.http4s._
import org.http4s.headers.`Content-Type`
import org.typelevel.ci.CIString
@@ -32,7 +34,7 @@ import org.slf4j.LoggerFactory
* - Appropriate HTTP status code
*/
object ErrorResponseConverter {
- import net.liftweb.json.Formats
+ import org.json4s.Formats
import code.api.util.CustomJsonFormats
private val logger = LoggerFactory.getLogger(getClass)
diff --git a/obp-api/src/main/scala/code/api/util/http4s/Http4sResourceDocs.scala b/obp-api/src/main/scala/code/api/util/http4s/Http4sResourceDocs.scala
index 1372b03613..650118815b 100644
--- a/obp-api/src/main/scala/code/api/util/http4s/Http4sResourceDocs.scala
+++ b/obp-api/src/main/scala/code/api/util/http4s/Http4sResourceDocs.scala
@@ -1,5 +1,6 @@
package code.api.util.http4s
+import org.json4s._
import cats.effect.IO
import code.api.Constant.HostName
import code.api.ResourceDocs1_4_0.{ResourceDocs140, ResourceDocs300, ResourceDocsAPIMethodsUtil}
@@ -18,9 +19,10 @@ import com.openbankproject.commons.model.enums.ContentParam
import com.openbankproject.commons.model.enums.ContentParam.{DYNAMIC, STATIC}
import com.openbankproject.commons.util.ApiVersion
import net.liftweb.common.{Box, Empty, Full}
-import net.liftweb.json
-import net.liftweb.json.JsonAST.{JField, JObject, JString, JValue}
-import net.liftweb.json.{Extraction, prettyRender}
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.{JField, JObject, JString, JValue}
+import org.json4s.Extraction
+import com.openbankproject.commons.util.JsonAliases.prettyRender
import org.http4s.dsl.io._
import org.http4s.headers.`Content-Type`
import org.http4s._
diff --git a/obp-api/src/main/scala/code/api/util/http4s/Http4sSupport.scala b/obp-api/src/main/scala/code/api/util/http4s/Http4sSupport.scala
index e57a0d88a5..70677f5070 100644
--- a/obp-api/src/main/scala/code/api/util/http4s/Http4sSupport.scala
+++ b/obp-api/src/main/scala/code/api/util/http4s/Http4sSupport.scala
@@ -1,5 +1,6 @@
package code.api.util.http4s
+import org.json4s._
import cats.effect._
import code.api.util.APIUtil.{HTTPParam, ResourceDoc}
import code.api.util.ErrorMessages.{AuthenticatedUserIsRequired, InvalidJsonFormat}
@@ -101,8 +102,8 @@ object Http4sRequestAttributes {
* - Ok response creation
*/
object EndpointHelpers extends MdcLoggable {
- import net.liftweb.json.JsonAST.prettyRender
- import net.liftweb.json.{Extraction, Formats}
+ import com.openbankproject.commons.util.JsonAliases.prettyRender
+ import org.json4s.{Extraction, Formats}
// OBP responses are always JSON. Passing a raw String to http4s' Ok/Created uses the
// default EntityEncoder[String], which sets `Content-Type: text/plain`. Override it so
@@ -201,7 +202,7 @@ object Http4sRequestAttributes {
cc.httpBody match {
case None | Some("") => Left(s"$InvalidJsonFormat Missing request body.")
case Some(raw) =>
- scala.util.Try(net.liftweb.json.parse(raw).extract[B]).toEither.left.map(_ => s"$InvalidJsonFormat ${mf.runtimeClass.getSimpleName}")
+ scala.util.Try(com.openbankproject.commons.util.JsonAliases.parse(raw).extract[B]).toEither.left.map(_ => s"$InvalidJsonFormat ${mf.runtimeClass.getSimpleName}")
}
/**
diff --git a/obp-api/src/main/scala/code/api/util/http4s/IdempotencyMiddleware.scala b/obp-api/src/main/scala/code/api/util/http4s/IdempotencyMiddleware.scala
index cc9a09c462..544c393b1b 100644
--- a/obp-api/src/main/scala/code/api/util/http4s/IdempotencyMiddleware.scala
+++ b/obp-api/src/main/scala/code/api/util/http4s/IdempotencyMiddleware.scala
@@ -1,12 +1,13 @@
package code.api.util.http4s
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.cache.Redis
import code.util.Helper.MdcLoggable
-import net.liftweb.json.{compactRender, parse}
-import net.liftweb.json.JsonAST.{JField, JInt, JObject, JString}
-import net.liftweb.json.JsonDSL._
+import com.openbankproject.commons.util.JsonAliases.{compactRender, parse}
+import org.json4s.JsonAST.{JField, JInt, JObject, JString}
+import org.json4s.JsonDSL._
import org.http4s._
import org.http4s.headers.`Content-Type`
import org.typelevel.ci.CIString
diff --git a/obp-api/src/main/scala/code/api/util/http4s/ResourceDocMiddleware.scala b/obp-api/src/main/scala/code/api/util/http4s/ResourceDocMiddleware.scala
index bc3c71a362..145275cc99 100644
--- a/obp-api/src/main/scala/code/api/util/http4s/ResourceDocMiddleware.scala
+++ b/obp-api/src/main/scala/code/api/util/http4s/ResourceDocMiddleware.scala
@@ -1,5 +1,6 @@
package code.api.util.http4s
+import org.json4s._
import cats.data.{EitherT, Kleisli, OptionT}
import cats.effect._
import code.api.Constant
@@ -312,8 +313,8 @@ object ResourceDocMiddleware extends MdcLoggable {
// Old Style endpoints (v1.x, v2.0.0) keep 400 to match Lift Old Style behavior.
// New Style endpoints (v2.1.0+) use the original failCode from the exception.
val (failMsg, parsedCode) = scala.util.Try {
- implicit val formats = net.liftweb.json.DefaultFormats
- val parsed = net.liftweb.json.parse(e.getMessage).extract[APIFailureNewStyle]
+ implicit val formats = org.json4s.DefaultFormats
+ val parsed = com.openbankproject.commons.util.JsonAliases.parse(e.getMessage).extract[APIFailureNewStyle]
(parsed.failMsg, parsed.failCode)
}.getOrElse(($AuthenticatedUserIsRequired, 401))
val oldStyleShortVersions = Set("v1.2.1", "v1.3.0", "v1.4.0", "v2.0.0")
@@ -473,8 +474,8 @@ object ResourceDocMiddleware extends MdcLoggable {
val paramNames = queryString.split("&").map(s => s.split("=", 2)(0)).filter(_.nonEmpty)
val hasDuplicates = paramNames.groupBy(identity).exists(_._2.length > 1)
if (hasDuplicates) {
- import net.liftweb.json.JsonDSL._
- import net.liftweb.json.compactRender
+ import org.json4s.JsonDSL._
+ import com.openbankproject.commons.util.JsonAliases.compactRender
// Match Lift's createErrorJsonResponse: {"code": 400, "message": "OBP-XXXXX: ..."}
// The test asserts extract[ErrorMessage].message where ErrorMessage(code: Int, message: String).
val body = compactRender(("code" -> 400) ~ ("message" -> code.api.util.ErrorMessages.DuplicateQueryParameters))
diff --git a/obp-api/src/main/scala/code/api/v1_2/OBPAPI1.2.scala b/obp-api/src/main/scala/code/api/v1_2/OBPAPI1.2.scala
index 03309d4277..bdb3710a3c 100644
--- a/obp-api/src/main/scala/code/api/v1_2/OBPAPI1.2.scala
+++ b/obp-api/src/main/scala/code/api/v1_2/OBPAPI1.2.scala
@@ -32,8 +32,8 @@
//package code.api.v1_2
//
//import code.api.util.APIUtil
-//import net.liftweb.json.Extraction
-//import net.liftweb.json.JsonAST._
+//import org.json4s.Extraction
+//import org.json4s.JsonAST._
//import net.liftweb.common.{Box, Empty, Failure, Full}
//import net.liftweb.mongodb._
//import _root_.java.math.MathContext
diff --git a/obp-api/src/main/scala/code/api/v1_2_1/APIMethods121.scala b/obp-api/src/main/scala/code/api/v1_2_1/APIMethods121.scala
index 91b79858d9..809b210ea3 100644
--- a/obp-api/src/main/scala/code/api/v1_2_1/APIMethods121.scala
+++ b/obp-api/src/main/scala/code/api/v1_2_1/APIMethods121.scala
@@ -29,8 +29,8 @@ object APIMethods121 {
//import com.openbankproject.commons.util.ApiVersion
//import com.tesobe.CacheKeyFromArguments
//import net.liftweb.common._
-//import net.liftweb.json.Extraction
-//import net.liftweb.json.JsonAST.JValue
+//import org.json4s.Extraction
+//import org.json4s.JsonAST.JValue
//import net.liftweb.util.Helpers._
//
//import java.net.URL
diff --git a/obp-api/src/main/scala/code/api/v1_2_1/Http4s121.scala b/obp-api/src/main/scala/code/api/v1_2_1/Http4s121.scala
index 559081d765..3d7ceb4127 100644
--- a/obp-api/src/main/scala/code/api/v1_2_1/Http4s121.scala
+++ b/obp-api/src/main/scala/code/api/v1_2_1/Http4s121.scala
@@ -1,5 +1,6 @@
package code.api.v1_2_1
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.Constant._
@@ -22,7 +23,7 @@ import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model._
import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus, ScannedApiVersion}
import net.liftweb.common.{Box, Full}
-import net.liftweb.json.{Extraction, Formats}
+import org.json4s.{Extraction, Formats}
import net.liftweb.util.Helpers._
import org.http4s._
import org.http4s.dsl.io._
@@ -457,7 +458,7 @@ object Http4s121 {
case _ => Future.failed(new RuntimeException(AuthenticatedUserIsRequired))
}
json <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(bodyStr).extract[UpdateAccountJSON]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[UpdateAccountJSON]
}
(account, callContext) <- NewStyle.function.checkBankAccountExists(BankId(bankId), AccountId(accountId), Some(cc))
permission <- NewStyle.function.permission(account.bankId, account.accountId, user, callContext)
@@ -561,7 +562,7 @@ object Http4s121 {
(rawAccountBox, _) <- Connector.connector.vend.checkBankAccountExists(BankId(bankId), AccountId(accountId), Some(cc))
account <- Future { unboxFullOrFail(rawAccountBox, Some(cc), s"$BankAccountNotFound Current BankId is $bankId and Current AccountId is $accountId") }
createViewJsonV121 <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(bodyStr).extract[CreateViewJsonV121]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[CreateViewJsonV121]
}
_ <- Helper.booleanToFuture(InvalidCustomViewFormat + s"Current view_name (${createViewJsonV121.name})", cc = Some(cc)) {
isValidCustomViewName(createViewJsonV121.name)
@@ -793,7 +794,7 @@ object Http4s121 {
(_, callContext) <- NewStyle.function.getBank(BankId(bankId), Some(cc))
(account, callContext) <- NewStyle.function.getBankAccount(BankId(bankId), AccountId(accountId), callContext)
viewIds <- NewStyle.function.tryons("wrong format JSON", 400, callContext) {
- net.liftweb.json.parse(bodyStr).extract[ViewIdsJson]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[ViewIdsJson]
}
(addedViews, callContext) <- ViewNewStyle.grantAccessToMultipleViews(
account, user,
@@ -1053,7 +1054,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow adding a public alias", cc = Some(cc))(otherBankAccount.metadata.get.addPublicAlias.isDefined)
- aliasJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[AliasJSON] }
+ aliasJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[AliasJSON] }
added <- Future(Counterparties.counterparties.vend.addPublicAlias(otherAccountId, aliasJson.alias)) map { unboxFullOrFail(_, Some(cc), "Alias cannot be added", 400) }
_ <- Helper.booleanToFuture("Alias cannot be added", 400, Some(cc))(added)
} yield SuccessMessage("public alias added")
@@ -1097,7 +1098,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow updating a public alias", cc = Some(cc))(otherBankAccount.metadata.get.addPublicAlias.isDefined)
- aliasJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[AliasJSON] }
+ aliasJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[AliasJSON] }
updated <- Future(Counterparties.counterparties.vend.addPublicAlias(otherAccountId, aliasJson.alias)) map { unboxFullOrFail(_, Some(cc), "Alias cannot be updated", 400) }
_ <- Helper.booleanToFuture("Alias cannot be updated", 400, Some(cc))(updated)
} yield SuccessMessage("public alias updated")
@@ -1190,7 +1191,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow adding a private alias", cc = Some(cc))(otherBankAccount.metadata.get.addPrivateAlias.isDefined)
- aliasJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[AliasJSON] }
+ aliasJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[AliasJSON] }
added <- Future(Counterparties.counterparties.vend.addPrivateAlias(otherAccountId, aliasJson.alias)) map { unboxFullOrFail(_, Some(cc), "Alias cannot be added", 400) }
_ <- Helper.booleanToFuture("Alias cannot be added", 400, Some(cc))(added)
} yield SuccessMessage("private alias added")
@@ -1220,7 +1221,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow updating a private alias", cc = Some(cc))(otherBankAccount.metadata.get.addPrivateAlias.isDefined)
- aliasJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[AliasJSON] }
+ aliasJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[AliasJSON] }
updated <- Future(Counterparties.counterparties.vend.addPrivateAlias(otherAccountId, aliasJson.alias)) map { unboxFullOrFail(_, Some(cc), "Alias cannot be updated", 400) }
_ <- Helper.booleanToFuture("Alias cannot be updated", 400, Some(cc))(updated)
} yield SuccessMessage("private alias updated")
@@ -1280,7 +1281,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow adding more info", cc = Some(cc))(otherBankAccount.metadata.get.addMoreInfo.isDefined)
- moreInfoJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[MoreInfoJSON] }
+ moreInfoJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[MoreInfoJSON] }
added <- Future(Counterparties.counterparties.vend.addMoreInfo(otherAccountId, moreInfoJson.more_info)) map { unboxFullOrFail(_, Some(cc), "More Info cannot be added", 400) }
_ <- Helper.booleanToFuture("More Info cannot be added", 400, Some(cc))(added)
} yield SuccessMessage("more info added")
@@ -1318,7 +1319,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow updating more info", cc = Some(cc))(otherBankAccount.metadata.get.addMoreInfo.isDefined)
- moreInfoJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[MoreInfoJSON] }
+ moreInfoJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[MoreInfoJSON] }
updated <- Future(Counterparties.counterparties.vend.addMoreInfo(otherAccountId, moreInfoJson.more_info)) map { unboxFullOrFail(_, Some(cc), "More Info cannot be updated", 400) }
_ <- Helper.booleanToFuture("More Info cannot be updated", 400, Some(cc))(updated)
} yield SuccessMessage("more info updated")
@@ -1375,7 +1376,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow adding a url", cc = Some(cc))(otherBankAccount.metadata.get.addURL.isDefined)
- urlJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[UrlJSON] }
+ urlJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[UrlJSON] }
added <- Future(Counterparties.counterparties.vend.addURL(otherAccountId, urlJson.URL)) map { unboxFullOrFail(_, Some(cc), "URL cannot be added", 400) }
_ <- Helper.booleanToFuture("URL cannot be added", 400, Some(cc))(added)
} yield SuccessMessage("url added")
@@ -1402,7 +1403,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow updating a url", cc = Some(cc))(otherBankAccount.metadata.get.addURL.isDefined)
- urlJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[UrlJSON] }
+ urlJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[UrlJSON] }
updated <- Future(Counterparties.counterparties.vend.addURL(otherAccountId, urlJson.URL)) map { unboxFullOrFail(_, Some(cc), "URL cannot be updated", 400) }
_ <- Helper.booleanToFuture("URL cannot be updated", 400, Some(cc))(updated)
} yield SuccessMessage("url updated")
@@ -1456,7 +1457,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow adding an image url", cc = Some(cc))(otherBankAccount.metadata.get.addImageURL.isDefined)
- imageUrlJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[ImageUrlJSON] }
+ imageUrlJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[ImageUrlJSON] }
added <- Future(Counterparties.counterparties.vend.addImageURL(otherAccountId, imageUrlJson.image_URL)) map { unboxFullOrFail(_, Some(cc), "URL cannot be added", 400) }
_ <- Helper.booleanToFuture("URL cannot be added", 400, Some(cc))(added)
} yield SuccessMessage("image url added")
@@ -1483,7 +1484,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow updating an image url", cc = Some(cc))(otherBankAccount.metadata.get.addImageURL.isDefined)
- imageUrlJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[ImageUrlJSON] }
+ imageUrlJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[ImageUrlJSON] }
updated <- Future(Counterparties.counterparties.vend.addImageURL(otherAccountId, imageUrlJson.image_URL)) map { unboxFullOrFail(_, Some(cc), "URL cannot be updated", 400) }
_ <- Helper.booleanToFuture("URL cannot be updated", 400, Some(cc))(updated)
} yield SuccessMessage("image url updated")
@@ -1546,7 +1547,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow adding an open corporate url", cc = Some(cc))(otherBankAccount.metadata.get.addOpenCorporatesURL.isDefined)
- openCorpUrl <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[OpenCorporateUrlJSON] }
+ openCorpUrl <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[OpenCorporateUrlJSON] }
added <- Future(Counterparties.counterparties.vend.addOpenCorporatesURL(otherAccountId, openCorpUrl.open_corporates_URL)) map { unboxFullOrFail(_, Some(cc), "URL cannot be added", 400) }
_ <- Helper.booleanToFuture("URL cannot be added", 400, Some(cc))(added)
} yield SuccessMessage("open corporate url added")
@@ -1580,7 +1581,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow updating an open corporate url", cc = Some(cc))(otherBankAccount.metadata.get.addOpenCorporatesURL.isDefined)
- openCorpUrl <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[OpenCorporateUrlJSON] }
+ openCorpUrl <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[OpenCorporateUrlJSON] }
updated <- Future(Counterparties.counterparties.vend.addOpenCorporatesURL(otherAccountId, openCorpUrl.open_corporates_URL)) map { unboxFullOrFail(_, Some(cc), "URL cannot be updated", 400) }
_ <- Helper.booleanToFuture("URL cannot be updated", 400, Some(cc))(updated)
} yield SuccessMessage("open corporate url updated")
@@ -1634,7 +1635,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow adding a corporate location", cc = Some(cc))(otherBankAccount.metadata.get.addCorporateLocation.isDefined)
- corpLocationJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[CorporateLocationJSON] }
+ corpLocationJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[CorporateLocationJSON] }
_ <- Helper.booleanToFuture("Coordinates not possible", 400, Some(cc)) { checkIfLocationPossible(corpLocationJson.corporate_location.latitude, corpLocationJson.corporate_location.longitude) }
added <- Future(Counterparties.counterparties.vend.addCorporateLocation(otherAccountId, user.userPrimaryKey, (now: TimeSpan), corpLocationJson.corporate_location.longitude, corpLocationJson.corporate_location.latitude)) map { unboxFullOrFail(_, Some(cc), "Corporate Location cannot be added", 400) }
_ <- Helper.booleanToFuture("Corporate Location cannot be added", 400, Some(cc))(added)
@@ -1662,7 +1663,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow updating a corporate location", cc = Some(cc))(otherBankAccount.metadata.get.addCorporateLocation.isDefined)
- corpLocationJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[CorporateLocationJSON] }
+ corpLocationJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[CorporateLocationJSON] }
_ <- Helper.booleanToFuture("Coordinates not possible", 400, Some(cc)) { checkIfLocationPossible(corpLocationJson.corporate_location.latitude, corpLocationJson.corporate_location.longitude) }
updated <- Future(Counterparties.counterparties.vend.addCorporateLocation(otherAccountId, user.userPrimaryKey, (now: TimeSpan), corpLocationJson.corporate_location.longitude, corpLocationJson.corporate_location.latitude)) map { unboxFullOrFail(_, Some(cc), "Corporate Location cannot be updated", 400) }
_ <- Helper.booleanToFuture("Corporate Location cannot be updated", 400, Some(cc))(updated)
@@ -1717,7 +1718,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow adding a physical location", cc = Some(cc))(otherBankAccount.metadata.get.addPhysicalLocation.isDefined)
- physicalLocationJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[PhysicalLocationJSON] }
+ physicalLocationJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[PhysicalLocationJSON] }
_ <- Helper.booleanToFuture("Coordinates not possible", 400, Some(cc)) { checkIfLocationPossible(physicalLocationJson.physical_location.latitude, physicalLocationJson.physical_location.longitude) }
added <- Future(Counterparties.counterparties.vend.addPhysicalLocation(otherAccountId, user.userPrimaryKey, (now: TimeSpan), physicalLocationJson.physical_location.longitude, physicalLocationJson.physical_location.latitude)) map { unboxFullOrFail(_, Some(cc), "Physical Location cannot be added", 400) }
_ <- Helper.booleanToFuture("Physical Location cannot be added", 400, Some(cc))(added)
@@ -1745,7 +1746,7 @@ object Http4s121 {
(otherBankAccount, _) <- NewStyle.function.moderatedOtherBankAccount(account, otherAccountId, view, Full(user), Some(cc))
_ <- Helper.booleanToFuture(s"$NoViewPermission can_see_other_account_metadata. Current ViewId(${view.viewId})", cc = Some(cc))(otherBankAccount.metadata.isDefined)
_ <- Helper.booleanToFuture(s"the view ${view.viewId} does not allow updating a physical location", cc = Some(cc))(otherBankAccount.metadata.get.addPhysicalLocation.isDefined)
- physicalLocationJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { net.liftweb.json.parse(bodyStr).extract[PhysicalLocationJSON] }
+ physicalLocationJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[PhysicalLocationJSON] }
_ <- Helper.booleanToFuture("Coordinates not possible", 400, Some(cc)) { checkIfLocationPossible(physicalLocationJson.physical_location.latitude, physicalLocationJson.physical_location.longitude) }
updated <- Future(Counterparties.counterparties.vend.addPhysicalLocation(otherAccountId, user.userPrimaryKey, (now: TimeSpan), physicalLocationJson.physical_location.longitude, physicalLocationJson.physical_location.latitude)) map { unboxFullOrFail(_, Some(cc), "Physical Location cannot be updated", 400) }
_ <- Helper.booleanToFuture("Physical Location cannot be updated", 400, Some(cc))(updated)
@@ -1912,7 +1913,7 @@ object Http4s121 {
case None => Future.failed(new RuntimeException(ViewNotFound))
}
narrativeJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(bodyStr).extract[TransactionNarrativeJSON]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[TransactionNarrativeJSON]
}
metadata <- moderatedTransactionMetadataFuture(account.bankId, account.accountId, view.viewId, TransactionId(transactionId), Full(user), Some(cc))
addNarrative <- Future(metadata.addOwnerComment) map {
@@ -1975,7 +1976,7 @@ object Http4s121 {
case None => Future.failed(new RuntimeException(ViewNotFound))
}
narrativeJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(bodyStr).extract[TransactionNarrativeJSON]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[TransactionNarrativeJSON]
}
metadata <- moderatedTransactionMetadataFuture(account.bankId, account.accountId, view.viewId, TransactionId(transactionId), Full(user), Some(cc))
addNarrative <- Future(metadata.addOwnerComment) map {
@@ -2084,7 +2085,7 @@ object Http4s121 {
case None => Future.failed(new RuntimeException(ViewNotFound))
}
commentJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(bodyStr).extract[PostTransactionCommentJSON]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[PostTransactionCommentJSON]
}
metadata <- moderatedTransactionMetadataFuture(account.bankId, account.accountId, view.viewId, TransactionId(transactionId), Full(user), Some(cc))
addCommentFunc <- Future(metadata.addComment) map {
@@ -2195,7 +2196,7 @@ object Http4s121 {
case None => Future.failed(new RuntimeException(ViewNotFound))
}
tagJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(bodyStr).extract[PostTransactionTagJSON]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[PostTransactionTagJSON]
}
metadata <- moderatedTransactionMetadataFuture(account.bankId, account.accountId, view.viewId, TransactionId(transactionId), Full(user), Some(cc))
addTagFunc <- Future(metadata.addTag) map {
@@ -2305,7 +2306,7 @@ object Http4s121 {
case None => Future.failed(new RuntimeException(ViewNotFound))
}
imageJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(bodyStr).extract[PostTransactionImageJSON]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[PostTransactionImageJSON]
}
metadata <- moderatedTransactionMetadataFuture(account.bankId, account.accountId, view.viewId, TransactionId(transactionId), Full(user), Some(cc))
addImageFunc <- Future(metadata.addImage) map {
@@ -2441,7 +2442,7 @@ object Http4s121 {
unboxFullOrFail(_, Some(cc), s"$NoViewPermission can_add_where_tag. Current ViewId(${view.viewId})")
}
whereJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(bodyStr).extract[PostTransactionWhereJSON]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[PostTransactionWhereJSON]
}
_ <- Helper.booleanToFuture("Coordinates not possible", 400, Some(cc)) {
checkIfLocationPossible(whereJson.where.latitude, whereJson.where.longitude)
@@ -2493,7 +2494,7 @@ object Http4s121 {
unboxFullOrFail(_, Some(cc), s"$NoViewPermission can_add_where_tag. Current ViewId(${view.viewId})")
}
whereJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(bodyStr).extract[PostTransactionWhereJSON]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[PostTransactionWhereJSON]
}
_ <- Helper.booleanToFuture("Coordinates not possible", 400, Some(cc)) {
checkIfLocationPossible(whereJson.where.latitude, whereJson.where.longitude)
diff --git a/obp-api/src/main/scala/code/api/v1_2_1/JSONFactory1.2.1.scala b/obp-api/src/main/scala/code/api/v1_2_1/JSONFactory1.2.1.scala
index 7d83131501..a8d8aa1682 100644
--- a/obp-api/src/main/scala/code/api/v1_2_1/JSONFactory1.2.1.scala
+++ b/obp-api/src/main/scala/code/api/v1_2_1/JSONFactory1.2.1.scala
@@ -26,6 +26,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v1_2_1
+import org.json4s._
import code.api.Constant._
import code.api.util.APIUtil
import code.api.util.APIUtil._
@@ -34,8 +35,8 @@ import code.model._
import com.openbankproject.commons.model._
import com.openbankproject.commons.util.ApiVersion
import net.liftweb.common.{Box, Full}
-import net.liftweb.json.Extraction
-import net.liftweb.json.JsonAST.JValue
+import org.json4s.Extraction
+import org.json4s.JsonAST.JValue
import java.util.Date
diff --git a/obp-api/src/main/scala/code/api/v1_4_0/APIMethods140.scala b/obp-api/src/main/scala/code/api/v1_4_0/APIMethods140.scala
index 733d0e626d..62267f0f46 100644
--- a/obp-api/src/main/scala/code/api/v1_4_0/APIMethods140.scala
+++ b/obp-api/src/main/scala/code/api/v1_4_0/APIMethods140.scala
@@ -30,8 +30,8 @@ object APIMethods140 {
//import com.openbankproject.commons.model._
//import com.openbankproject.commons.util.ApiVersion
//import net.liftweb.common.{Box, Full}
-//import net.liftweb.json.Extraction
-//import net.liftweb.json.JsonAST.JValue
+//import org.json4s.Extraction
+//import org.json4s.JsonAST.JValue
//import net.liftweb.util.Helpers.tryo
//import net.liftweb.util.Props
//
diff --git a/obp-api/src/main/scala/code/api/v1_4_0/JSONFactory1_4_0.scala b/obp-api/src/main/scala/code/api/v1_4_0/JSONFactory1_4_0.scala
index 3428153c80..7b432420bf 100644
--- a/obp-api/src/main/scala/code/api/v1_4_0/JSONFactory1_4_0.scala
+++ b/obp-api/src/main/scala/code/api/v1_4_0/JSONFactory1_4_0.scala
@@ -1,5 +1,6 @@
package code.api.v1_4_0
+import org.json4s._
import code.api.Constant.{CREATE_LOCALISED_RESOURCE_DOC_JSON_TTL, LOCALISED_RESOURCE_DOC_PREFIX}
import code.api.berlin.group.v1_3.JvalueCaseClass
import code.api.cache.Caching
@@ -17,10 +18,10 @@ import com.openbankproject.commons.model.{Product, _}
import com.openbankproject.commons.model.enums.I18NResourceDocField
import com.openbankproject.commons.util.{EnumValue, JsonUtils, OBPEnumeration, ReflectUtils}
import net.liftweb.common.Full
-import net.liftweb.json
-import net.liftweb.json.Extraction.decompose
-import net.liftweb.json.{Extraction, Formats, JDouble, JInt, JString}
-import net.liftweb.json.JsonAST.{JArray, JBool, JNothing, JObject, JValue}
+import com.openbankproject.commons.util.json
+import org.json4s.Extraction.decompose
+import org.json4s.{Extraction, Formats, JDouble, JInt, JString}
+import org.json4s.JsonAST.{JArray, JBool, JNothing, JObject, JValue}
import net.liftweb.util.StringHelpers
import code.util.Helper.MdcLoggable
import com.github.dwickern.macros.NameOf.nameOf
@@ -32,6 +33,7 @@ import java.util.regex.Pattern
import java.lang.reflect.Field
import java.util.UUID.randomUUID
import scala.concurrent.duration._
+import com.openbankproject.commons.util.JsonAliases.RichJField
object JSONFactory1_4_0 extends MdcLoggable{
implicit def formats: Formats = CustomJsonFormats.formats
diff --git a/obp-api/src/main/scala/code/api/v2_0_0/APIMethods200.scala b/obp-api/src/main/scala/code/api/v2_0_0/APIMethods200.scala
index 7277fedacc..5dcce7af6c 100644
--- a/obp-api/src/main/scala/code/api/v2_0_0/APIMethods200.scala
+++ b/obp-api/src/main/scala/code/api/v2_0_0/APIMethods200.scala
@@ -40,7 +40,7 @@ object APIMethods200 {
//import com.openbankproject.commons.model._
//import com.openbankproject.commons.util.ApiVersion
//import net.liftweb.common._
-//import net.liftweb.json.JsonAST.JValue
+//import org.json4s.JsonAST.JValue
//import net.liftweb.mapper.By
//import net.liftweb.util.Helpers.tryo
//import net.liftweb.util.StringHelpers
@@ -52,7 +52,7 @@ object APIMethods200 {
//import code.api.util.ApiRole._
//import code.api.util.ErrorMessages._
//import com.openbankproject.commons.model.{AmountOfMoneyJsonV121 => AmountOfMoneyJSON121}
-//import net.liftweb.json.Extraction
+//import org.json4s.Extraction
//
//trait APIMethods200 {
// //needs to be a RestHelper to get access to JsonGet, JsonPost, etc.
@@ -1291,8 +1291,8 @@ object APIMethods200 {
// }
//
//
-// import net.liftweb.json.Extraction._
-// import net.liftweb.json.JsonAST._
+// import org.json4s.Extraction._
+// import org.json4s.JsonAST._
// val exchangeRates = prettyRender(decompose(fx.fallbackExchangeRates))
//
// resourceDocs += ResourceDoc(
diff --git a/obp-api/src/main/scala/code/api/v2_0_0/Http4s200.scala b/obp-api/src/main/scala/code/api/v2_0_0/Http4s200.scala
index 7b35f7dba1..197d6bbec8 100644
--- a/obp-api/src/main/scala/code/api/v2_0_0/Http4s200.scala
+++ b/obp-api/src/main/scala/code/api/v2_0_0/Http4s200.scala
@@ -1,5 +1,6 @@
package code.api.v2_0_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.TransactionTypes.TransactionType
@@ -33,8 +34,8 @@ import com.openbankproject.commons.model.{AccountId, AmountOfMoneyJsonV121, Bank
import com.openbankproject.commons.model.{AmountOfMoneyJsonV121 => AmountOfMoneyJSON121}
import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus, ScannedApiVersion}
import net.liftweb.common._
-import net.liftweb.json.JsonAST.JValue
-import net.liftweb.json.{Extraction, Formats}
+import org.json4s.JsonAST.JValue
+import org.json4s.{Extraction, Formats}
import net.liftweb.mapper.By
import org.http4s._
import org.http4s.dsl.io._
@@ -125,7 +126,7 @@ object Http4s200 {
val (privateViewsUserCanAccess, privateAccountAccess) = Views.views.vend.privateViewsUserCanAccess(user)
val privateAccounts = BankAccountX.privateAccounts(privateAccountAccess)
privateAccounts.map { account =>
- createCoreAccountJSON(account, net.liftweb.json.JObject(Nil))
+ createCoreAccountJSON(account, org.json4s.JObject(Nil))
}
}
}
@@ -179,7 +180,7 @@ object Http4s200 {
def processAccounts(privateViews: List[com.openbankproject.commons.model.View],
accounts: List[com.openbankproject.commons.model.BankAccount]
- ): net.liftweb.json.JsonAST.JValue = {
+ ): org.json4s.JsonAST.JValue = {
val accJson = accounts.map { account =>
val viewsAvailable = privateViews
.filter(v => v.bankId == account.bankId && v.accountId == account.accountId && v.isPrivate)
@@ -187,7 +188,7 @@ object Http4s200 {
.distinct
createBasicAccountJSON(account, viewsAvailable)
}
- net.liftweb.json.Extraction.decompose(accJson)
+ org.json4s.Extraction.decompose(accJson)
}
// ─── getPrivateAccountsAtOneBank ──────────────────────────────────────────
@@ -241,7 +242,7 @@ object Http4s200 {
}
(privateAccountsForOneBank, _) <- BankExtended(bank).privateAccountsFuture(privateAccountAccess, Some(cc))
} yield privateAccountsForOneBank.map(account =>
- createCoreAccountJSON(account, net.liftweb.json.JObject(Nil)))
+ createCoreAccountJSON(account, org.json4s.JObject(Nil)))
}
case req @ GET -> `prefixPath` / "my" / "banks" / _ / "accounts" / "private" =>
EndpointHelpers.withUserAndBank(req) { (user, bank, cc) =>
@@ -251,7 +252,7 @@ object Http4s200 {
}
(privateAccountsForOneBank, _) <- BankExtended(bank).privateAccountsFuture(privateAccountAccess, Some(cc))
} yield privateAccountsForOneBank.map(account =>
- createCoreAccountJSON(account, net.liftweb.json.JObject(Nil)))
+ createCoreAccountJSON(account, org.json4s.JObject(Nil)))
}
case req @ GET -> `prefixPath` / "bank" / "accounts" =>
EndpointHelpers.withUser(req) { (user, cc) =>
@@ -262,7 +263,7 @@ object Http4s200 {
}
(availablePrivateAccounts, _) <- BankExtended(bank).privateAccountsFuture(privateAccountAccess, Some(cc))
} yield availablePrivateAccounts.map(account =>
- createCoreAccountJSON(account, net.liftweb.json.JObject(Nil)))
+ createCoreAccountJSON(account, org.json4s.JObject(Nil)))
}
}
@@ -867,7 +868,7 @@ object Http4s200 {
initialBalanceAsNumber, postedOrLoggedInUser.name, "", List.empty, cc2)
_ <- BankAccountCreation.setAccountHolderAndRefreshUserAccountAccess(
bank.bankId, accountId, postedOrLoggedInUser, cc3)
- } yield createCoreAccountJSON(bankAccount, net.liftweb.json.JObject(Nil))
+ } yield createCoreAccountJSON(bankAccount, org.json4s.JObject(Nil))
}
}
diff --git a/obp-api/src/main/scala/code/api/v2_0_0/JSONFactory2.0.0.scala b/obp-api/src/main/scala/code/api/v2_0_0/JSONFactory2.0.0.scala
index d649a206a1..3fb0fccd30 100644
--- a/obp-api/src/main/scala/code/api/v2_0_0/JSONFactory2.0.0.scala
+++ b/obp-api/src/main/scala/code/api/v2_0_0/JSONFactory2.0.0.scala
@@ -26,6 +26,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v2_0_0
+import org.json4s._
import java.util.Date
import code.TransactionTypes.TransactionType.TransactionType
@@ -41,8 +42,8 @@ import code.users.Users
import code.views.Views
import com.openbankproject.commons.model.{BankAccount, _}
import net.liftweb.common.{Box, Full}
-import net.liftweb.json.Extraction
-import net.liftweb.json.JsonAST.JValue
+import org.json4s.Extraction
+import org.json4s.JsonAST.JValue
diff --git a/obp-api/src/main/scala/code/api/v2_1_0/APIMethods210.scala b/obp-api/src/main/scala/code/api/v2_1_0/APIMethods210.scala
index 727bf21a26..d2b2163d6d 100644
--- a/obp-api/src/main/scala/code/api/v2_1_0/APIMethods210.scala
+++ b/obp-api/src/main/scala/code/api/v2_1_0/APIMethods210.scala
@@ -40,7 +40,7 @@ object APIMethods210 {
//import com.openbankproject.commons.model.enums.TransactionRequestTypes._
//import com.openbankproject.commons.model.enums.{ChallengeType, SuppliedAnswerType, TransactionRequestTypes}
//import com.openbankproject.commons.util.ApiVersion
-//import net.liftweb.json.Extraction
+//import org.json4s.Extraction
//import net.liftweb.util.Helpers.tryo
//import net.liftweb.util.StringHelpers
//
@@ -57,8 +57,8 @@ object APIMethods210 {
//import code.util.Helper
//import com.openbankproject.commons.ExecutionContext.Implicits.global
//import net.liftweb.common.{Box, Full}
-//import net.liftweb.json.Serialization.write
-//import net.liftweb.json._
+//import org.json4s.native.Serialization.write
+//import org.json4s._
//
//trait APIMethods210 {
// //needs to be a RestHelper to get access to JsonGet, JsonPost, etc.
@@ -207,8 +207,8 @@ object APIMethods210 {
// }
//
//
-// import net.liftweb.json.Extraction._
-// import net.liftweb.json.JsonAST._
+// import org.json4s.Extraction._
+// import org.json4s.JsonAST._
// val exchangeRates = prettyRender(decompose(fx.fallbackExchangeRates))
//
//
diff --git a/obp-api/src/main/scala/code/api/v2_1_0/Http4s210.scala b/obp-api/src/main/scala/code/api/v2_1_0/Http4s210.scala
index 0add9393cd..4081ac34b4 100644
--- a/obp-api/src/main/scala/code/api/v2_1_0/Http4s210.scala
+++ b/obp-api/src/main/scala/code/api/v2_1_0/Http4s210.scala
@@ -1,5 +1,6 @@
package code.api.v2_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.TransactionTypes.TransactionType
@@ -38,10 +39,11 @@ import com.openbankproject.commons.model.enums.TransactionRequestTypes._
import com.openbankproject.commons.model.enums.{ChallengeType, SuppliedAnswerType, TransactionRequestTypes}
import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus, ScannedApiVersion}
import net.liftweb.common.{Failure, Full}
-import net.liftweb.json.JsonAST.{compactRender, prettyRender}
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.{Extraction, Formats, Serialization}
-import net.liftweb.json.Serialization.{write => liftWrite}
+import com.openbankproject.commons.util.JsonAliases.{compactRender, prettyRender}
+import org.json4s.JsonDSL._
+import org.json4s.{Extraction, Formats}
+import org.json4s.native.Serialization
+import org.json4s.native.Serialization.{write => liftWrite}
import org.http4s._
import org.http4s.dsl.io._
@@ -289,7 +291,7 @@ object Http4s210 {
_ <- NewStyle.function.checkAuthorisationToCreateTransactionRequest(viewId, account, user, Some(cc))
transDetailsJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the $TransactionRequestBodyCommonJSON", 400, Some(cc)) {
- net.liftweb.json.parse(jsonBody).extract[TransactionRequestBodyCommonJSON]
+ com.openbankproject.commons.util.JsonAliases.parse(jsonBody).extract[TransactionRequestBodyCommonJSON]
}
isValidAmountNumber <- NewStyle.function.tryons(
s"$InvalidNumber Current input is ${transDetailsJson.value.amount}", 400, Some(cc)) {
@@ -308,7 +310,7 @@ object Http4s210 {
cc = Some(cc)) {
transDetailsJson.value.currency == fromAccount.currency
}
- parsedJson = net.liftweb.json.parse(jsonBody)
+ parsedJson = com.openbankproject.commons.util.JsonAliases.parse(jsonBody)
(createdTransactionRequest, _) <- TransactionRequestTypes.withName(transactionRequestTypeStr) match {
case SANDBOX_TAN =>
for {
@@ -320,7 +322,7 @@ object Http4s210 {
toAccountId = AccountId(body.to.account_id)
(toAccount, _) <- NewStyle.function.checkBankAccountExists(toBankId, toAccountId, Some(cc))
serialized <- NewStyle.function.tryons(UnknownError, 400, Some(cc)) {
- liftWrite(body)(Serialization.formats(net.liftweb.json.NoTypeHints))
+ liftWrite(body)(Serialization.formats(org.json4s.NoTypeHints))
}
result <- NewStyle.function.createTransactionRequestv210(
user, viewId, fromAccount, toAccount,
@@ -343,7 +345,7 @@ object Http4s210 {
code.api.ChargePolicy.values.contains(code.api.ChargePolicy.withName(body.charge_policy))
}
serialized <- NewStyle.function.tryons(UnknownError, 400, Some(cc)) {
- liftWrite(body)(Serialization.formats(net.liftweb.json.NoTypeHints))
+ liftWrite(body)(Serialization.formats(org.json4s.NoTypeHints))
}
result <- NewStyle.function.createTransactionRequestv210(
user, viewId, fromAccount, toAccount,
@@ -365,7 +367,7 @@ object Http4s210 {
code.api.ChargePolicy.values.contains(code.api.ChargePolicy.withName(body.charge_policy))
}
serialized <- NewStyle.function.tryons(UnknownError, 400, Some(cc)) {
- liftWrite(body)(Serialization.formats(net.liftweb.json.NoTypeHints))
+ liftWrite(body)(Serialization.formats(org.json4s.NoTypeHints))
}
result <- NewStyle.function.createTransactionRequestv210(
user, viewId, fromAccount, toAccount,
@@ -379,7 +381,7 @@ object Http4s210 {
parsedJson.extract[TransactionRequestBodyFreeFormJSON]
}
serialized <- NewStyle.function.tryons(UnknownError, 400, Some(cc)) {
- liftWrite(body)(Serialization.formats(net.liftweb.json.NoTypeHints))
+ liftWrite(body)(Serialization.formats(org.json4s.NoTypeHints))
}
result <- NewStyle.function.createTransactionRequestv210(
user, viewId, fromAccount, fromAccount,
@@ -393,7 +395,7 @@ object Http4s210 {
// APIFailureNewStyle JSON so ErrorResponseConverter maps it to 400,
// not 500.
val af = code.api.APIFailureNewStyle(s"$InvalidTransactionRequestType: '$transactionRequestTypeStr'", 400, Some(cc.toLight))
- Future.failed(new Exception(net.liftweb.json.JsonAST.compactRender(net.liftweb.json.Extraction.decompose(af))))
+ Future.failed(new Exception(com.openbankproject.commons.util.JsonAliases.compactRender(org.json4s.Extraction.decompose(af))))
}
} yield JSONFactory210.createTransactionRequestWithChargeJSON(createdTransactionRequest)
}
@@ -491,7 +493,7 @@ object Http4s210 {
_ <- code.util.Helper.booleanToFuture(InvalidBankIdFormat, cc = Some(cc)) { isValidID(fromAccount.bankId.value) }
challengeAnswerJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ChallengeAnswerJSON", 400, Some(cc)) {
- net.liftweb.json.parse(jsonBody).extract[code.api.v1_4_0.JSONFactory1_4_0.ChallengeAnswerJSON]
+ com.openbankproject.commons.util.JsonAliases.parse(jsonBody).extract[code.api.v1_4_0.JSONFactory1_4_0.ChallengeAnswerJSON]
}
account = BankIdAccountId(fromAccount.bankId, fromAccount.accountId)
viewId <- Future {
diff --git a/obp-api/src/main/scala/code/api/v2_2_0/APIMethods220.scala b/obp-api/src/main/scala/code/api/v2_2_0/APIMethods220.scala
index b1dfca58bf..51b5957035 100644
--- a/obp-api/src/main/scala/code/api/v2_2_0/APIMethods220.scala
+++ b/obp-api/src/main/scala/code/api/v2_2_0/APIMethods220.scala
@@ -40,7 +40,7 @@ object APIMethods220 {
//import com.openbankproject.commons.model._
//import com.openbankproject.commons.util.ApiVersion
//import net.liftweb.common.Full
-//import net.liftweb.json.Extraction
+//import org.json4s.Extraction
//import net.liftweb.util.Helpers.tryo
//import net.liftweb.util.StringHelpers
//
diff --git a/obp-api/src/main/scala/code/api/v2_2_0/Http4s220.scala b/obp-api/src/main/scala/code/api/v2_2_0/Http4s220.scala
index b2b18f3cd6..f62b53c99a 100644
--- a/obp-api/src/main/scala/code/api/v2_2_0/Http4s220.scala
+++ b/obp-api/src/main/scala/code/api/v2_2_0/Http4s220.scala
@@ -1,5 +1,6 @@
package code.api.v2_2_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.Constant._
@@ -30,8 +31,9 @@ import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model._
import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus, ScannedApiVersion}
import net.liftweb.common.Full
-import net.liftweb.json.JsonAST.prettyRender
-import net.liftweb.json.{Extraction, Formats, Serialization}
+import com.openbankproject.commons.util.JsonAliases.prettyRender
+import org.json4s.{Extraction, Formats}
+import org.json4s.native.Serialization
import net.liftweb.util.StringHelpers
import org.http4s._
import org.http4s.dsl.io._
@@ -180,7 +182,7 @@ object Http4s220 {
private def createViewImpl(user: User, account: BankAccount, body: String, cc: CallContext): Future[ViewJSONV220] = {
for {
createBodyJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(body).extract[CreateViewJsonV121]
+ com.openbankproject.commons.util.JsonAliases.parse(body).extract[CreateViewJsonV121]
}
_ <- code.util.Helper.booleanToFuture(
s"$InvalidCustomViewFormat Current view_name (${createBodyJson.name})", cc = Some(cc)) {
@@ -242,7 +244,7 @@ object Http4s220 {
private def updateViewImpl(user: User, account: BankAccount, viewId: ViewId, body: String, cc: CallContext): Future[ViewJSONV220] = {
for {
updateBodyJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(body).extract[UpdateViewJsonV121]
+ com.openbankproject.commons.util.JsonAliases.parse(body).extract[UpdateViewJsonV121]
}
_ <- code.util.Helper.booleanToFuture(
s"$InvalidCustomViewFormat Current view_name (${viewId.value})", cc = Some(cc)) {
@@ -980,7 +982,7 @@ object Http4s220 {
_ <- code.util.Helper.booleanToFuture(InvalidBankIdFormat, cc = Some(cc)) { isValidID(account.bankId.value) }
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the $PostCounterpartyJSON", 400, Some(cc)) {
- net.liftweb.json.parse(body).extract[PostCounterpartyJSON]
+ com.openbankproject.commons.util.JsonAliases.parse(body).extract[PostCounterpartyJSON]
}
_ <- code.util.Helper.booleanToFuture(
s"${NoViewPermission} You need the `${CAN_ADD_COUNTERPARTY}` permission on the View(${view.viewId.value})",
diff --git a/obp-api/src/main/scala/code/api/v2_2_0/JSONFactory2.2.0.scala b/obp-api/src/main/scala/code/api/v2_2_0/JSONFactory2.2.0.scala
index dcc955b3fb..14e1f90cc0 100644
--- a/obp-api/src/main/scala/code/api/v2_2_0/JSONFactory2.2.0.scala
+++ b/obp-api/src/main/scala/code/api/v2_2_0/JSONFactory2.2.0.scala
@@ -26,6 +26,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v2_2_0
+import org.json4s._
import code.actorsystem.ObpActorConfig
import code.api.Constant._
import code.api.util.APIUtil.{EndpointInfo, MessageDoc, getPropsValue}
@@ -43,8 +44,8 @@ import code.util.Helper
import com.openbankproject.commons.model._
import com.openbankproject.commons.util.{ReflectUtils, RequiredFields}
import net.liftweb.common.{Box, Full}
-import net.liftweb.json.Extraction.decompose
-import net.liftweb.json.JsonAST.JValue
+import org.json4s.Extraction.decompose
+import org.json4s.JsonAST.JValue
import java.util.Date
diff --git a/obp-api/src/main/scala/code/api/v3_0_0/APIMethods300.scala b/obp-api/src/main/scala/code/api/v3_0_0/APIMethods300.scala
index da3eba185a..ce949a6f91 100644
--- a/obp-api/src/main/scala/code/api/v3_0_0/APIMethods300.scala
+++ b/obp-api/src/main/scala/code/api/v3_0_0/APIMethods300.scala
@@ -58,8 +58,8 @@ object APIMethods300 {
//import com.openbankproject.commons.model._
//import com.openbankproject.commons.util.ApiVersion
//import net.liftweb.common._
-//import net.liftweb.json.JsonAST.JField
-//import net.liftweb.json.compactRender
+//import org.json4s.JsonAST.JField
+//import com.openbankproject.commons.util.JsonAliases.compactRender
//import net.liftweb.util.Helpers.tryo
//
//import java.util.regex.Pattern
diff --git a/obp-api/src/main/scala/code/api/v3_0_0/Http4s300.scala b/obp-api/src/main/scala/code/api/v3_0_0/Http4s300.scala
index 4559165e42..4641e6ab44 100644
--- a/obp-api/src/main/scala/code/api/v3_0_0/Http4s300.scala
+++ b/obp-api/src/main/scala/code/api/v3_0_0/Http4s300.scala
@@ -1,5 +1,6 @@
package code.api.v3_0_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.Constant
@@ -34,9 +35,10 @@ import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model._
import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus, ScannedApiVersion}
import net.liftweb.common.{Empty, Failure, Full, ParamFailure}
-import net.liftweb.json.JsonAST.JField
-import net.liftweb.json.compactRender
-import net.liftweb.json.{Extraction, Formats, Serialization}
+import org.json4s.JsonAST.JField
+import com.openbankproject.commons.util.JsonAliases.compactRender
+import org.json4s.{Extraction, Formats}
+import org.json4s.native.Serialization
import net.liftweb.util.Helpers.tryo
import org.http4s._
import org.http4s.dsl.io._
@@ -44,6 +46,7 @@ import org.http4s.dsl.io._
import java.util.regex.Pattern
import scala.collection.mutable.ArrayBuffer
import scala.concurrent.Future
+import com.openbankproject.commons.util.JsonAliases.RichJField
object Http4s300 {
val implementedInApiVersion: ScannedApiVersion = ApiVersion.v3_0_0
@@ -161,7 +164,7 @@ object Http4s300 {
} yield result
io.attempt.flatMap {
case Right(result) =>
- Created(net.liftweb.json.prettyRender(Extraction.decompose(result)))
+ Created(com.openbankproject.commons.util.JsonAliases.prettyRender(Extraction.decompose(result)))
case Left(err) =>
code.api.util.http4s.ErrorResponseConverter.toHttp4sResponse(err, cc)
}
@@ -202,7 +205,7 @@ object Http4s300 {
private def createViewImpl300(user: User, account: BankAccount, body: String, cc: CallContext): Future[ViewJsonV300] = {
for {
createBodyJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $CreateViewJsonV300", 400, Some(cc)) {
- net.liftweb.json.parse(body).extract[CreateViewJsonV300]
+ com.openbankproject.commons.util.JsonAliases.parse(body).extract[CreateViewJsonV300]
}
_ <- code.util.Helper.booleanToFuture(
s"$InvalidCustomViewFormat Current view_name (${createBodyJson.name})", cc = Some(cc)) {
@@ -231,7 +234,7 @@ object Http4s300 {
} yield result
io.attempt.flatMap {
case Right(result) =>
- Ok(net.liftweb.json.prettyRender(Extraction.decompose(result)))
+ Ok(com.openbankproject.commons.util.JsonAliases.prettyRender(Extraction.decompose(result)))
case Left(err) =>
code.api.util.http4s.ErrorResponseConverter.toHttp4sResponse(err, cc)
}
@@ -260,7 +263,7 @@ object Http4s300 {
private def updateViewImpl300(user: User, account: BankAccount, viewId: ViewId, body: String, cc: CallContext): Future[ViewJsonV300] = {
for {
updateBodyJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $UpdateViewJsonV300", 400, Some(cc)) {
- net.liftweb.json.parse(body).extract[UpdateViewJsonV300]
+ com.openbankproject.commons.util.JsonAliases.parse(body).extract[UpdateViewJsonV300]
}
_ <- code.util.Helper.booleanToFuture(
s"$InvalidCustomViewFormat Current view_name (${viewId.value})", cc = Some(cc)) {
@@ -755,7 +758,7 @@ object Http4s300 {
result <- code.api.util.http4s.RequestScopeConnection.fromFuture {
for {
_ <- code.util.Helper.booleanToFuture(ElasticSearchDisabled, cc = Some(cc)) { esw.isEnabled() }
- json <- Future { unboxFullOrFail(tryo(net.liftweb.json.parse(bodyText)), Some(cc), ElasticSearchEmptyQueryBody) }
+ json <- Future { unboxFullOrFail(tryo(com.openbankproject.commons.util.JsonAliases.parse(bodyText)), Some(cc), ElasticSearchEmptyQueryBody) }
maximumSize = APIUtil.getPropsAsIntValue("es.warehouse.allowed.maximum.pagesize", 10000)
_ <- code.util.Helper.booleanToFuture(
maximumLimitExceeded.replace("Maximum number is 10000.", s"Please check query body, the maximum size is $maximumSize."),
@@ -770,7 +773,7 @@ object Http4s300 {
}
} yield result
io.attempt.flatMap {
- case Right(r) => Ok(net.liftweb.json.prettyRender(net.liftweb.json.Extraction.decompose(r)))
+ case Right(r) => Ok(com.openbankproject.commons.util.JsonAliases.prettyRender(org.json4s.Extraction.decompose(r)))
case Left(e) => code.api.util.http4s.ErrorResponseConverter.toHttp4sResponse(e, cc)
}
}
@@ -829,7 +832,7 @@ object Http4s300 {
result <- code.api.util.http4s.RequestScopeConnection.fromFuture {
for {
_ <- code.util.Helper.booleanToFuture(ElasticSearchDisabled, cc = Some(cc)) { esw.isEnabled() }
- json <- Future { unboxFullOrFail(tryo(net.liftweb.json.parse(bodyText)), Some(cc), ElasticSearchEmptyQueryBody) }
+ json <- Future { unboxFullOrFail(tryo(com.openbankproject.commons.util.JsonAliases.parse(bodyText)), Some(cc), ElasticSearchEmptyQueryBody) }
maximumSize = APIUtil.getPropsAsIntValue("es.warehouse.allowed.maximum.pagesize", 10000)
_ <- code.util.Helper.booleanToFuture(
maximumLimitExceeded.replace("Maximum number is 10000.", s"Please check query body, the maximum size is $maximumSize."),
@@ -844,7 +847,7 @@ object Http4s300 {
}
} yield result
io.attempt.flatMap {
- case Right(r) => Ok(net.liftweb.json.prettyRender(net.liftweb.json.Extraction.decompose(r)))
+ case Right(r) => Ok(com.openbankproject.commons.util.JsonAliases.prettyRender(org.json4s.Extraction.decompose(r)))
case Left(e) => code.api.util.http4s.ErrorResponseConverter.toHttp4sResponse(e, cc)
}
}
@@ -1813,7 +1816,7 @@ object Http4s300 {
result <- EntitlementRequest.entitlementRequest.vend.deleteEntitlementRequestFuture(entitlementRequestIdStr) map {
connectorEmptyResponse(_, Some(cc))
}
- } yield net.liftweb.json.JBool(result)
+ } yield org.json4s.JBool(result)
}
}
@@ -2107,7 +2110,7 @@ object Http4s300 {
}
_ <- code.util.Helper.booleanToFuture(ConsumerDoesNotHaveScope, cc = Some(cc)) { scope.scopeId == scopeIdStr }
_ <- Future { Scope.scope.vend.deleteScope(Full(scope)) }
- } yield net.liftweb.json.JObject(Nil)
+ } yield org.json4s.JObject(Nil)
}
}
diff --git a/obp-api/src/main/scala/code/api/v3_1_0/APIMethods310.scala b/obp-api/src/main/scala/code/api/v3_1_0/APIMethods310.scala
index 1608d4bac2..831c065761 100644
--- a/obp-api/src/main/scala/code/api/v3_1_0/APIMethods310.scala
+++ b/obp-api/src/main/scala/code/api/v3_1_0/APIMethods310.scala
@@ -67,8 +67,8 @@ object APIMethods310 {
//import com.openbankproject.commons.model.enums.{AccountAttributeType, CardAttributeType, ProductAttributeType, StrongCustomerAuthentication}
//import com.openbankproject.commons.util.{ApiVersion, ReflectUtils}
//import net.liftweb.common.{Box, Empty, Full}
-//import net.liftweb.json
-//import net.liftweb.json._
+//import com.openbankproject.commons.util.json
+//import org.json4s._
//import net.liftweb.mapper.By
//import net.liftweb.util.Helpers.tryo
//import net.liftweb.util.{Helpers, Props}
diff --git a/obp-api/src/main/scala/code/api/v3_1_0/Http4s310.scala b/obp-api/src/main/scala/code/api/v3_1_0/Http4s310.scala
index ef3e4bdd6c..b5d4e85d19 100644
--- a/obp-api/src/main/scala/code/api/v3_1_0/Http4s310.scala
+++ b/obp-api/src/main/scala/code/api/v3_1_0/Http4s310.scala
@@ -1,5 +1,6 @@
package code.api.v3_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.Constant._
@@ -46,7 +47,7 @@ import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model._
import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus, ScannedApiVersion}
import net.liftweb.common.{Empty, Full}
-import net.liftweb.json.Formats
+import org.json4s.Formats
import net.liftweb.mapper.By
import net.liftweb.util.{Helpers, Props}
import org.apache.commons.lang3.StringUtils
@@ -1140,7 +1141,7 @@ object Http4s310 {
val getServerJWK: HttpRoutes[IO] = HttpRoutes.of[IO] {
case req @ GET -> `prefixPath` / "certs" =>
EndpointHelpers.executeAndRespond(req) { _ =>
- Future.successful(net.liftweb.json.parse(CertificateUtil.convertRSAPublicKeyToAnRSAJWK()))
+ Future.successful(com.openbankproject.commons.util.JsonAliases.parse(CertificateUtil.convertRSAPublicKeyToAnRSAJWK()))
}
}
@@ -3385,7 +3386,7 @@ object Http4s310 {
for {
createMeetingJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[code.api.v2_0_0.CreateMeetingJson].getSimpleName} ",
- 400, Some(cc)) { net.liftweb.json.parse(rawBody).extract[CreateMeetingJsonV310] }
+ 400, Some(cc)) { com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[CreateMeetingJsonV310] }
creator = ContactDetails(
createMeetingJson.creator.name,
createMeetingJson.creator.mobile_phone,
@@ -4443,7 +4444,7 @@ object Http4s310 {
for {
postConsentEmailJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the $PostConsentEmailJsonV310", 400, Some(cc)) {
- net.liftweb.json.parse(raw).extract[PostConsentEmailJsonV310]
+ com.openbankproject.commons.util.JsonAliases.parse(raw).extract[PostConsentEmailJsonV310]
}
_ <- NewStyle.function.sendCustomerNotification(
StrongCustomerAuthentication.EMAIL,
@@ -4454,7 +4455,7 @@ object Http4s310 {
for {
postConsentPhoneJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the $PostConsentPhoneJsonV310", 400, Some(cc)) {
- net.liftweb.json.parse(raw).extract[PostConsentPhoneJsonV310]
+ com.openbankproject.commons.util.JsonAliases.parse(raw).extract[PostConsentPhoneJsonV310]
}
_ <- NewStyle.function.sendCustomerNotification(
StrongCustomerAuthentication.SMS,
diff --git a/obp-api/src/main/scala/code/api/v4_0_0/APIMethods400.scala b/obp-api/src/main/scala/code/api/v4_0_0/APIMethods400.scala
index 2bd8cc0752..97bf38fe57 100644
--- a/obp-api/src/main/scala/code/api/v4_0_0/APIMethods400.scala
+++ b/obp-api/src/main/scala/code/api/v4_0_0/APIMethods400.scala
@@ -90,9 +90,9 @@ trait APIMethods400
//import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
//import deletion._
//import net.liftweb.common._
-//import net.liftweb.json.JsonAST.JValue
-//import net.liftweb.json.JsonDSL._
-//import net.liftweb.json._
+//import org.json4s.JsonAST.JValue
+//import org.json4s.JsonDSL._
+//import org.json4s._
//import net.liftweb.util.Helpers.{now, tryo}
//import net.liftweb.util.{Helpers, StringHelpers}
//import org.apache.commons.lang3.StringUtils
diff --git a/obp-api/src/main/scala/code/api/v4_0_0/Http4s400.scala b/obp-api/src/main/scala/code/api/v4_0_0/Http4s400.scala
index 7aa688438f..1eaa92c6a1 100644
--- a/obp-api/src/main/scala/code/api/v4_0_0/Http4s400.scala
+++ b/obp-api/src/main/scala/code/api/v4_0_0/Http4s400.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.Constant._
@@ -63,8 +64,8 @@ import code.api.v2_0_0.CreateEntitlementJSON
import code.metadata.counterparties.MappedCounterparty
import code.model.AppType
import code.webuiprops.MappedWebUiPropsProvider.getWebUiPropsValue
-import net.liftweb.json.JsonAST.{JNothing, JString}
-import net.liftweb.json.Extraction
+import org.json4s.JsonAST.{JNothing, JString}
+import org.json4s.Extraction
import net.liftweb.util.{Helpers => LiftHelpers, StringHelpers}
import java.net.URLEncoder
import java.text.SimpleDateFormat
@@ -84,10 +85,10 @@ import com.openbankproject.commons.model.enums.{ChallengeType, SuppliedAnswerTyp
import com.openbankproject.commons.model.enums.TransactionRequestTypes._
import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus, ScannedApiVersion}
import net.liftweb.common.{Box, Failure, Full}
-import net.liftweb.json.Formats
-import net.liftweb.json.JsonAST.{JArray, JObject, JValue}
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.{compactRender, parse, prettyRender}
+import org.json4s.Formats
+import org.json4s.JsonAST.{JArray, JObject, JValue}
+import org.json4s.JsonDSL._
+import com.openbankproject.commons.util.JsonAliases.{compactRender, parse, prettyRender}
import org.apache.commons.lang3.StringUtils
import org.http4s._
import org.http4s.dsl.io._
@@ -429,7 +430,7 @@ object Http4s400 {
for {
bank <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the $BankJson400 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[BankJson400]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[BankJson400]
}
_ <- code.util.Helper.booleanToFuture(
failMsg = InvalidConsumerCredentials, cc = Some(cc)) {
@@ -739,7 +740,7 @@ object Http4s400 {
atmJsonV400 <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[AtmJsonV400]}",
400, Some(cc)) {
- val atm = net.liftweb.json.parse(rawBody).extract[AtmJsonV400]
+ val atm = com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[AtmJsonV400]
atm.id.get
atm
}
@@ -786,7 +787,7 @@ object Http4s400 {
product <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the $PutProductJsonV400 ",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PutProductJsonV400]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PutProductJsonV400]
}
(parentProduct, _) <- product.parent_product_code.trim.nonEmpty match {
case false => Future((net.liftweb.common.Empty, Some(cc)))
@@ -1620,8 +1621,8 @@ object Http4s400 {
try f catch {
case e: IllegalArgumentException =>
val apiFailure = code.api.APIFailureNewStyle(e.getMessage, failCode, Some(cc.toLight))
- throw new Exception(net.liftweb.json.JsonAST.compactRender(
- net.liftweb.json.Extraction.decompose(apiFailure)))
+ throw new Exception(com.openbankproject.commons.util.JsonAliases.compactRender(
+ org.json4s.Extraction.decompose(apiFailure)))
}
}
@@ -1693,7 +1694,7 @@ object Http4s400 {
val rawBody = cc.httpBody.getOrElse("")
for {
jsonObj <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).asInstanceOf[JObject]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).asInstanceOf[JObject]
}
dynamicEntity <- tryOrApiFail(cc) {
DynamicEntityCommons(jsonObj, None, cc.userId, None)
@@ -1729,7 +1730,7 @@ object Http4s400 {
val rawBody = cc.httpBody.getOrElse("")
for {
jsonObj <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).asInstanceOf[JObject]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).asInstanceOf[JObject]
}
dynamicEntity <- tryOrApiFail(cc) {
DynamicEntityCommons(jsonObj, None, cc.userId, Some(bank.bankId.value))
@@ -1763,7 +1764,7 @@ object Http4s400 {
val rawBody = cc.httpBody.getOrElse("")
for {
json <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody)
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody)
}
result <- updateDynamicEntityImpl(None, dynamicEntityId, json, cc)
} yield result
@@ -1792,7 +1793,7 @@ object Http4s400 {
val rawBody = cc.httpBody.getOrElse("")
for {
json <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody)
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody)
}
result <- updateDynamicEntityImpl(Some(bank.bankId.value), dynamicEntityId, json, cc)
} yield result
@@ -1818,7 +1819,7 @@ object Http4s400 {
lazy val deleteSystemDynamicEntity: HttpRoutes[IO] = HttpRoutes.of[IO] {
case req @ DELETE -> `prefixPath` / "management" / "system-dynamic-entities" / dynamicEntityId =>
EndpointHelpers.withUser(req) { (_, cc) =>
- deleteDynamicEntityImpl(None, dynamicEntityId, cc).map(Full(_))
+ deleteDynamicEntityImpl(None, dynamicEntityId, cc).map(_ => JObject(Nil))
}
}
@@ -1852,7 +1853,7 @@ object Http4s400 {
lazy val deleteBankLevelDynamicEntity: HttpRoutes[IO] = HttpRoutes.of[IO] {
case req @ DELETE -> `prefixPath` / "management" / "banks" / _ / "dynamic-entities" / dynamicEntityId =>
EndpointHelpers.withUserAndBank(req) { (_, bank, cc) =>
- deleteDynamicEntityImpl(Some(bank.bankId.value), dynamicEntityId, cc).map(Full(_))
+ deleteDynamicEntityImpl(Some(bank.bankId.value), dynamicEntityId, cc).map(_ => JObject(Nil))
}
}
@@ -1902,7 +1903,7 @@ object Http4s400 {
resultList.arr.isEmpty
}
jsonObj <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).asInstanceOf[JObject]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).asInstanceOf[JObject]
}
dynamicEntity <- tryOrApiFail(cc) {
DynamicEntityCommons(jsonObj, Some(dynamicEntityId), user.userId, myEntity.bankId)
@@ -1946,8 +1947,8 @@ object Http4s400 {
_ <- code.util.Helper.booleanToFuture(DynamicEntityOperationNotAllowed, cc = Some(cc)) {
resultList.arr.isEmpty
}
- deleted: Box[Boolean] <- NewStyle.function.deleteDynamicEntity(myEntity.bankId, dynamicEntityId)
- } yield deleted
+ _ <- NewStyle.function.deleteDynamicEntity(myEntity.bankId, dynamicEntityId)
+ } yield JObject(Nil)
}
}
@@ -2034,7 +2035,7 @@ object Http4s400 {
("user_id", cc.userId) ~ ("dynamic_endpoint_id", dynamicEndpoint.dynamicEndpointId) ~
("swagger_string", swaggerJson)
}
- net.liftweb.json.Extraction.decompose(ListResult("dynamic_endpoints", resultList))
+ org.json4s.Extraction.decompose(ListResult("dynamic_endpoints", resultList))
}
private def getDynamicEndpointImpl(bankId: Option[String], dynamicEndpointId: String, cc: CallContext): Future[JObject] =
@@ -2810,7 +2811,7 @@ object Http4s400 {
_ <- code.util.Helper.booleanToFuture(InvalidBankIdFormat, cc = Some(cc)) { isValidID(account.bankId.value) }
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostCounterpartyJson400", 400, Some(cc)) {
- net.liftweb.json.parse(bodyStr).extract[PostCounterpartyJson400]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[PostCounterpartyJson400]
}
_ <- code.util.Helper.booleanToFuture(
failMsg = s"$NoViewPermission can_add_counterparty. Please use a view with that permission or add the permission to this view.",
@@ -3044,7 +3045,7 @@ object Http4s400 {
account <- Future { cc.bankAccount.getOrElse(throw new RuntimeException(BankAccountNotFound)) }
json <- NewStyle.function.tryons(
s"$InvalidJsonFormat Empty or invalid request body.", 400, Some(cc)) {
- net.liftweb.json.parse(bodyStr)
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr)
}
transactionRequestType = TransactionRequestType(transactionRequestTypeStr)
view <- Future {
@@ -3377,7 +3378,7 @@ object Http4s400 {
user <- Future { cc.user.openOrThrowException(AuthenticatedUserIsRequired) }
json <- NewStyle.function.tryons(
s"$InvalidJsonFormat Empty or invalid request body.", 400, Some(cc)) {
- net.liftweb.json.parse(bodyStr)
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr)
}
transactionRequestType = TransactionRequestType("CARD")
innerResult <- APIUtil.SS.init(Full(user),
@@ -3469,7 +3470,7 @@ object Http4s400 {
_ <- code.util.Helper.booleanToFuture(InvalidBankIdFormat, cc = Some(cc)) { isValidID(bankIdStr) }
challengeAnswerJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ChallengeAnswerJson400", 400, Some(cc)) {
- net.liftweb.json.parse(jsonBody).extract[ChallengeAnswerJson400]
+ com.openbankproject.commons.util.JsonAliases.parse(jsonBody).extract[ChallengeAnswerJson400]
}
_ <- NewStyle.function.checkAuthorisationToCreateTransactionRequest(
viewId, BankIdAccountId(fromAccount.bankId, fromAccount.accountId), user, Some(cc))
@@ -4015,7 +4016,7 @@ object Http4s400 {
tagJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[code.api.v1_2_1.PostTransactionTagJSON].getSimpleName} ",
400, Some(cc)) {
- net.liftweb.json.parse(bodyStr).extract[code.api.v1_2_1.PostTransactionTagJSON]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[code.api.v1_2_1.PostTransactionTagJSON]
}
postedTag <- Future(
code.metadata.tags.Tags.tags.vend.addTagOnAccount(account.bankId, account.accountId)(
@@ -5450,7 +5451,7 @@ object Http4s400 {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[PostDirectDebitJsonV400].getSimpleName} ",
400, Some(cc)) {
- net.liftweb.json.parse(bodyStr).extract[PostDirectDebitJsonV400]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[PostDirectDebitJsonV400]
}
result <- directDebitImpl(bankIdStr, accountIdStr, postJson, cc)
} yield result
@@ -5504,7 +5505,7 @@ object Http4s400 {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[PostStandingOrderJsonV400].getSimpleName} ",
400, Some(cc)) {
- net.liftweb.json.parse(bodyStr).extract[PostStandingOrderJsonV400]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyStr).extract[PostStandingOrderJsonV400]
}
result <- standingOrderImpl(bankIdStr, accountIdStr, postJson, cc)
} yield result
@@ -7977,7 +7978,7 @@ object Http4s400 {
cc: CallContext): Future[JValue] = {
for {
(defs, _) <- code.api.util.newstyle.AttributeDefinition.getAttributeDefinition(category, Some(cc))
- } yield net.liftweb.json.Extraction.decompose(JSONFactory400.createAttributeDefinitionsJson(defs))
+ } yield org.json4s.Extraction.decompose(JSONFactory400.createAttributeDefinitionsJson(defs))
}
lazy val getProductAttributeDefinition: HttpRoutes[IO] = HttpRoutes.of[IO] {
@@ -8731,7 +8732,7 @@ object Http4s400 {
endpointMapping <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[EndpointMappingCommons]}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[EndpointMappingCommons].copy(bankId = bankId)
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[EndpointMappingCommons].copy(bankId = bankId)
}
(created, _) <- NewStyle.function.createOrUpdateEndpointMapping(
bankId,
@@ -8748,7 +8749,7 @@ object Http4s400 {
endpointMappingBody <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[EndpointMappingCommons]}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[EndpointMappingCommons].copy(bankId = bankId)
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[EndpointMappingCommons].copy(bankId = bankId)
}
(existing, callContext) <- NewStyle.function.getEndpointMappingById(bankId, endpointMappingId, Some(cc))
_ <- code.util.Helper.booleanToFuture(
@@ -8882,7 +8883,7 @@ object Http4s400 {
endpointTag <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[EndpointTagJson400].getSimpleName}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[EndpointTagJson400]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[EndpointTagJson400]
}
(exists, callContext) <- NewStyle.function.checkSystemLevelEndpointTagExists(
operationId, endpointTag.tag_name, Some(cc))
@@ -8909,7 +8910,7 @@ object Http4s400 {
endpointTag <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[EndpointTagJson400].getSimpleName}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[EndpointTagJson400]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[EndpointTagJson400]
}
(_, callContext) <- NewStyle.function.getEndpointTag(endpointTagId, Some(cc))
(exists, callContext2) <- NewStyle.function.checkSystemLevelEndpointTagExists(
@@ -8937,7 +8938,7 @@ object Http4s400 {
endpointTag <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[EndpointTagJson400].getSimpleName}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[EndpointTagJson400]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[EndpointTagJson400]
}
(exists, callContext) <- NewStyle.function.checkBankLevelEndpointTagExists(
bankIdStr, operationId, endpointTag.tag_name, Some(cc))
@@ -8965,7 +8966,7 @@ object Http4s400 {
endpointTag <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[EndpointTagJson400].getSimpleName}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[EndpointTagJson400]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[EndpointTagJson400]
}
(_, callContext) <- NewStyle.function.getEndpointTag(endpointTagId, Some(cc))
(exists, callContext2) <- NewStyle.function.checkBankLevelEndpointTagExists(
@@ -9124,7 +9125,7 @@ object Http4s400 {
authTypes <- NewStyle.function.tryons(
s"$AuthenticationTypeNameIllegal Allowed Authentication Type names: ${allowedAuthTypes.mkString("[", ", ", "]")}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[List[AuthenticationType]]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[List[AuthenticationType]]
}
(isExists, callContext) <- NewStyle.function.isAuthenticationTypeValidationExists(operationId, Some(cc))
_ <- code.util.Helper.booleanToFuture(OperationIdExistsError, cc = callContext) { !isExists }
@@ -9142,7 +9143,7 @@ object Http4s400 {
authTypes <- NewStyle.function.tryons(
s"$AuthenticationTypeNameIllegal Allowed AuthenticationType names: ${allowedAuthTypes.mkString("[", ", ", "]")}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[List[AuthenticationType]]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[List[AuthenticationType]]
}
(isExists, callContext) <- NewStyle.function.isAuthenticationTypeValidationExists(operationId, Some(cc))
_ <- code.util.Helper.booleanToFuture(AuthenticationTypeValidationNotFound, cc = callContext) { isExists }
@@ -9161,7 +9162,7 @@ object Http4s400 {
jsonConnectorMethod <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[JsonConnectorMethod].getSimpleName}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[JsonConnectorMethod]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[JsonConnectorMethod]
}
(isExists, callContext) <- NewStyle.function.connectorMethodNameExists(jsonConnectorMethod.methodName, Some(cc))
_ <- code.util.Helper.booleanToFuture(
@@ -9190,7 +9191,7 @@ object Http4s400 {
connectorMethodBody <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[JsonConnectorMethod].getSimpleName}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[JsonConnectorMethodMethodBody]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[JsonConnectorMethodMethodBody]
}
(cm, callContext) <- NewStyle.function.getJsonConnectorMethodById(connectorMethodId, Some(cc))
connectorMethod = InternalConnector.createFunction(
@@ -9371,7 +9372,7 @@ object Http4s400 {
body <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[JsonDynamicResourceDoc].getSimpleName}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[JsonDynamicResourceDoc]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[JsonDynamicResourceDoc]
}
_ <- validateDynamicResourceDocBody(body, cc)
_ = compileDynamicResourceDoc(body, cc)
@@ -9389,7 +9390,7 @@ object Http4s400 {
body <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[JsonDynamicResourceDoc].getSimpleName}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[JsonDynamicResourceDoc]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[JsonDynamicResourceDoc]
}
_ <- validateDynamicResourceDocBody(body, cc)
_ = compileDynamicResourceDoc(body, cc)
@@ -9669,7 +9670,7 @@ object Http4s400 {
body <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[JsonDynamicMessageDoc].getSimpleName}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[JsonDynamicMessageDoc]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[JsonDynamicMessageDoc]
}
(exists, callContext) <- NewStyle.function.isJsonDynamicMessageDocExists(bankId, body.process, Some(cc))
_ <- code.util.Helper.booleanToFuture(
@@ -9691,7 +9692,7 @@ object Http4s400 {
body <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[JsonDynamicMessageDoc].getSimpleName}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[JsonDynamicMessageDoc]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[JsonDynamicMessageDoc]
}
connectorMethod = DynamicConnector.createFunction(body.programmingLang, body.decodedMethodBody)
errorMsg =
@@ -9973,7 +9974,7 @@ object Http4s400 {
fragment <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[code.api.v4_0_0.ResourceDocFragment].getSimpleName}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[code.api.v4_0_0.ResourceDocFragment]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[code.api.v4_0_0.ResourceDocFragment]
}
_ <- code.util.Helper.booleanToFuture(
s"""$InvalidJsonFormat The request_verb must be one of ["POST", "PUT", "GET", "DELETE"]""",
@@ -10107,7 +10108,7 @@ object Http4s400 {
s"$InvalidJsonFormat The Json body should be the ${prettyRender(Extraction.decompose(createAccountRequestJsonV310))} "
for {
createAccountJson <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[code.api.v3_1_0.CreateAccountRequestJsonV310]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[code.api.v3_1_0.CreateAccountRequestJsonV310]
}
loggedInUserId = cc.userId
userIdAccountOwner =
@@ -10177,7 +10178,7 @@ object Http4s400 {
s"$InvalidJsonFormat The Json body should be the ${prettyRender(Extraction.decompose(settlementAccountRequestJson))}"
for {
createAccountJson <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[SettlementAccountRequestJson]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[SettlementAccountRequestJson]
}
loggedInUserId = cc.userId
userIdAccountOwner =
@@ -10245,7 +10246,7 @@ object Http4s400 {
val rawBody = cc.httpBody.getOrElse("")
for {
postedJsonAndAppType <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- val consumerPostJSON = net.liftweb.json.parse(rawBody).extract[code.api.v2_1_0.ConsumerPostJSON]
+ val consumerPostJSON = com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[code.api.v2_1_0.ConsumerPostJSON]
val appType =
if (consumerPostJSON.app_type.equals("Confidential")) AppType.valueOf("Confidential")
else AppType.valueOf("Public")
@@ -10283,7 +10284,7 @@ object Http4s400 {
val rawBody = cc.httpBody.getOrElse("")
for {
postJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostCounterpartyJson400]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostCounterpartyJson400]
}
_ <- code.util.Helper.booleanToFuture(
s"$InvalidValueLength. The maximum length of `description` field is ${MappedCounterparty.mDescription.maxLen}",
@@ -10367,7 +10368,7 @@ object Http4s400 {
transDetailsJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[PostHistoricalTransactionAtBankJson].getSimpleName} ",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostHistoricalTransactionAtBankJson]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostHistoricalTransactionAtBankJson]
}
(fromAccount, callContext) <- NewStyle.function.checkBankAccountExists(
bankId, AccountId(transDetailsJson.from_account_id), Some(cc))
@@ -10420,7 +10421,7 @@ object Http4s400 {
val failMsg = s"$InvalidJsonFormat The Json body should be the ${classOf[PostCreateUserWithRolesJsonV400].getSimpleName} "
for {
postedData <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostCreateUserWithRolesJsonV400]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostCreateUserWithRolesJsonV400]
}
_ <- code.util.Helper.booleanToFuture(
s"$InvalidUserProvider The user.provider must be start with 'dauth.'",
@@ -10453,7 +10454,7 @@ object Http4s400 {
val failMsg = s"$InvalidJsonFormat The Json body should be the ${classOf[PostCreateUserAccountAccessJsonV400].getSimpleName} "
for {
postJson <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostCreateUserAccountAccessJsonV400]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostCreateUserAccountAccessJsonV400]
}
_ <- code.util.Helper.booleanToFuture(
s"$InvalidUserProvider The user.provider must be start with 'dauth.'",
@@ -10490,7 +10491,7 @@ object Http4s400 {
val failMsg = s"$InvalidJsonFormat The Json body should be the ${classOf[PostUserInvitationJsonV400].getSimpleName} "
for {
postedData <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostUserInvitationJsonV400]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostUserInvitationJsonV400]
}
_ <- NewStyle.function.tryons(
s"$InvalidJsonValue postedData.purpose only support ${com.openbankproject.commons.model.enums.UserInvitationPurpose.values.toString()}",
diff --git a/obp-api/src/main/scala/code/api/v4_0_0/JSONFactory4.0.0.scala b/obp-api/src/main/scala/code/api/v4_0_0/JSONFactory4.0.0.scala
index 721ebbca9a..440bed7dbf 100644
--- a/obp-api/src/main/scala/code/api/v4_0_0/JSONFactory4.0.0.scala
+++ b/obp-api/src/main/scala/code/api/v4_0_0/JSONFactory4.0.0.scala
@@ -26,6 +26,7 @@
*/
package code.api.v4_0_0
+import org.json4s._
import code.api.Constant
import code.api.attributedefinition.AttributeDefinition
import code.api.util.APIUtil.{DateWithDay, DateWithSeconds, gitCommit, stringOptionOrNull, stringOrNull}
@@ -59,7 +60,7 @@ import com.openbankproject.commons.model._
import com.openbankproject.commons.model.enums.ChallengeType
import com.openbankproject.commons.util.ApiVersion
import net.liftweb.common.{Box, Full}
-import net.liftweb.json.JValue
+import org.json4s.JValue
import java.text.SimpleDateFormat
import java.util.Date
diff --git a/obp-api/src/main/scala/code/api/v5_0_0/APIMethods500.scala b/obp-api/src/main/scala/code/api/v5_0_0/APIMethods500.scala
index 4a5c6602d4..f5a3ae64c2 100644
--- a/obp-api/src/main/scala/code/api/v5_0_0/APIMethods500.scala
+++ b/obp-api/src/main/scala/code/api/v5_0_0/APIMethods500.scala
@@ -50,8 +50,8 @@ trait APIMethods500
//import com.openbankproject.commons.model.enums.StrongCustomerAuthentication
//import com.openbankproject.commons.util.ApiVersion
//import net.liftweb.common.{Empty, Full}
-//import net.liftweb.json
-//import net.liftweb.json.{Extraction, compactRender, prettyRender}
+//import com.openbankproject.commons.util.json
+//import org.json4s.{Extraction, compactRender, prettyRender}
//import net.liftweb.mapper.By
//import net.liftweb.util.Helpers.tryo
//import net.liftweb.util.{Helpers, Props, StringHelpers}
diff --git a/obp-api/src/main/scala/code/api/v5_0_0/Http4s500.scala b/obp-api/src/main/scala/code/api/v5_0_0/Http4s500.scala
index 308fc06f16..72592fdc80 100644
--- a/obp-api/src/main/scala/code/api/v5_0_0/Http4s500.scala
+++ b/obp-api/src/main/scala/code/api/v5_0_0/Http4s500.scala
@@ -1,5 +1,6 @@
package code.api.v5_0_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.accountattribute.AccountAttributeX
@@ -47,9 +48,10 @@ import com.openbankproject.commons.model.{
import com.openbankproject.commons.model.enums.StrongCustomerAuthentication
import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus, ScannedApiVersion}
import net.liftweb.common.{Empty, Full}
-import net.liftweb.json
-import net.liftweb.json.JsonAST.prettyRender
-import net.liftweb.json.{Extraction, Formats, compactRender}
+import com.openbankproject.commons.util.json
+import com.openbankproject.commons.util.JsonAliases.prettyRender
+import org.json4s.{Extraction, Formats}
+import com.openbankproject.commons.util.JsonAliases.compactRender
import net.liftweb.mapper.By
import net.liftweb.util.{Helpers, Props, StringHelpers}
import org.http4s.{HttpRoutes, MediaType, Method, Request, Response, Status, Uri}
@@ -287,7 +289,7 @@ object Http4s500 {
400,
Some(cc)
) {
- net.liftweb.json.parse(bodyString).extract[CreateViewJsonV500]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyString).extract[CreateViewJsonV500]
}
_ <- code.util.Helper.booleanToFuture(
SystemViewCannotBePublicError,
@@ -373,7 +375,7 @@ object Http4s500 {
400,
Some(cc)
) {
- net.liftweb.json.parse(bodyString).extract[UpdateViewJsonV500]
+ com.openbankproject.commons.util.JsonAliases.parse(bodyString).extract[UpdateViewJsonV500]
}
_ <- code.util.Helper.booleanToFuture(
SystemViewCannotBePublicError,
@@ -427,7 +429,7 @@ object Http4s500 {
val failMsg = s"$InvalidJsonFormat The Json body should be the $PostBankJson500 "
for {
postJson <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostBankJson500]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostBankJson500]
}
checkShortStringValue = APIUtil.checkOptionalShortString(postJson.id.getOrElse(SILENCE_IS_GOLDEN))
_ <- Helper.booleanToFuture(s"$checkShortStringValue.", cc = Some(cc)) {
@@ -513,7 +515,7 @@ object Http4s500 {
val failMsg = s"$InvalidJsonFormat The Json body should be the $PostBankJson500 "
for {
bank <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostBankJson500]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostBankJson500]
}
_ <- Helper.booleanToFuture(InvalidConsumerCredentials, cc = Some(cc)) {
cc.consumer.isDefined
@@ -577,7 +579,7 @@ object Http4s500 {
(account, _) <- Connector.connector.vend.checkBankAccountExists(bankId, accountId, Some(cc))
_ <- Helper.booleanToFuture(AccountIdAlreadyExists, cc = Some(cc)) { account.isEmpty }
createAccountJson <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[CreateAccountRequestJsonV500]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[CreateAccountRequestJsonV500]
}
loggedInUserId = user.userId
userIdAccountOwner = createAccountJson.user_id.getOrElse(loggedInUserId)
@@ -664,7 +666,7 @@ object Http4s500 {
val failMsg = s"$InvalidJsonFormat The Json body should be the $PostUserAuthContextJson "
for {
postedData <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostUserAuthContextJson]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostUserAuthContextJson]
}
(user, _) <- NewStyle.function.findByUserId(userId, Some(cc))
(userAuthContext, _) <- NewStyle.function.createUserAuthContext(
@@ -744,7 +746,7 @@ object Http4s500 {
}
failMsg = s"$InvalidJsonFormat The Json body should be the $PostUserAuthContextJson "
postedData <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostUserAuthContextJson]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostUserAuthContextJson]
}
(userAuthContextUpdate, _) <- NewStyle.function.validateUserAuthContextUpdateRequest(
bankId.value, user.userId, postedData.key.trim, postedData.value.trim, scaMethod, Some(cc))
@@ -784,7 +786,7 @@ object Http4s500 {
val failMsg = s"$InvalidJsonFormat The Json body should be the $PostUserAuthContextUpdateJsonV310 "
for {
postUserAuthContextUpdateJson <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostUserAuthContextUpdateJsonV310]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostUserAuthContextUpdateJsonV310]
}
(userAuthContextUpdate, _) <- NewStyle.function.checkAnswer(authContextUpdateId, postUserAuthContextUpdateJson.answer, Some(cc))
(user, _) <- NewStyle.function.getUserByUserId(userAuthContextUpdate.userId, Some(cc))
@@ -838,7 +840,7 @@ object Http4s500 {
_ <- APIUtil.passesPsd2Aisp(callContextOpt)
failMsg = s"$InvalidJsonFormat The Json body should be the $PostConsentBodyCommonJson "
consentJson <- NewStyle.function.tryons(failMsg, 400, callContextOpt) {
- net.liftweb.json.parse(rawBody).extract[PostConsentRequestJsonV500]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostConsentRequestJsonV500]
}
maxTimeToLive = APIUtil.getPropsAsIntValue(nameOfProperty = "consents.max_time_to_live", defaultValue = DEFAULT_CONSENT_TTL)
_ <- Helper.booleanToFuture(s"$ConsentMaxTTL ($maxTimeToLive)", cc = callContextOpt) {
@@ -849,7 +851,7 @@ object Http4s500 {
}
createdConsentRequest <- Future(ConsentRequests.consentRequestProvider.vend.createConsentRequest(
callContextOpt.flatMap(_.consumer),
- Some(compactRender(net.liftweb.json.parse(rawBody)))
+ Some(compactRender(com.openbankproject.commons.util.JsonAliases.parse(rawBody)))
)).map(i => connectorEmptyResponse(i, callContextOpt))
} yield JSONFactory500.createConsentRequestResponseJson(createdConsentRequest)
}
@@ -1450,7 +1452,7 @@ object Http4s500 {
for {
postedData <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the $PostCustomerJsonV500 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostCustomerJsonV500]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostCustomerJsonV500]
}
_ <- Helper.booleanToFuture(
InvalidJsonContent + s" The field dependants(${postedData.dependants.getOrElse(0)}) not equal the length(${postedData.dob_of_dependants.getOrElse(Nil).length}) of dob_of_dependants array",
@@ -1525,7 +1527,7 @@ object Http4s500 {
for {
postedData <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the $PostCustomerOverviewJsonV500 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostCustomerOverviewJsonV500]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostCustomerOverviewJsonV500]
}
(customer, _) <- NewStyle.function.getCustomerByCustomerNumber(postedData.customer_number, bankId, Some(cc))
(customerAttributes, _) <- NewStyle.function.getCustomerAttributes(bankId, CustomerId(customer.customerId), Some(cc))
@@ -1568,7 +1570,7 @@ object Http4s500 {
for {
postedData <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the $PostCustomerOverviewJsonV500 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostCustomerOverviewJsonV500]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostCustomerOverviewJsonV500]
}
(customer, _) <- NewStyle.function.getCustomerByCustomerNumber(postedData.customer_number, bankId, Some(cc))
(customerAttributes, _) <- NewStyle.function.getCustomerAttributes(bankId, CustomerId(customer.customerId), Some(cc))
@@ -1748,7 +1750,7 @@ object Http4s500 {
bankId.value, user.userId, createProductEntitlements, Some(cc))
failMsg = s"$InvalidJsonFormat The Json body should be the $PutProductJsonV500 "
product <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PutProductJsonV500]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PutProductJsonV500]
}
(parentProduct, _) <- product.parent_product_code.trim.nonEmpty match {
case false => Future.successful((Empty, Some(cc)))
@@ -1817,7 +1819,7 @@ object Http4s500 {
(_, _) <- NewStyle.function.getBank(bankId, Some(cc))
failMsg = s"$InvalidJsonFormat The Json body should be the $CreatePhysicalCardJsonV500 "
postJson <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[CreatePhysicalCardJsonV500]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[CreatePhysicalCardJsonV500]
}
_ <- postJson.allows match {
case Nil => Future.successful(true)
@@ -2076,7 +2078,7 @@ object Http4s500 {
(_, _) <- NewStyle.function.getBank(bankId, Some(cc))
postedData <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the $CreateCustomerAccountLinkJson ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[CreateCustomerAccountLinkJson]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[CreateCustomerAccountLinkJson]
}
(customer, _) <- NewStyle.function.getCustomerByCustomerId(postedData.customer_id, Some(cc))
_ <- booleanToFuture(
@@ -2216,7 +2218,7 @@ object Http4s500 {
(_, _) <- NewStyle.function.getBank(bankId, Some(cc))
postedData <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the $UpdateCustomerAccountLinkJson ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[UpdateCustomerAccountLinkJson]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[UpdateCustomerAccountLinkJson]
}
(_, _) <- NewStyle.function.getCustomerAccountLinkById(customerAccountLinkId, Some(cc))
(link, _) <- NewStyle.function.updateCustomerAccountLinkById(customerAccountLinkId, postedData.relationship_type, Some(cc))
@@ -2376,7 +2378,7 @@ object Http4s500 {
OptionT.liftF(IO.pure {
val contentType = req.headers.get(CIString("Content-Type")).map(_.head.value).getOrElse("")
Response[IO](status = Status.NotFound)
- .withEntity(net.liftweb.json.compactRender(APIUtil.errorJsonResponse(s"${ErrorMessages.InvalidUri}Current Url is (${req.uri}), Current Content-Type Header is ($contentType)", 404).body))
+ .withEntity(com.openbankproject.commons.util.JsonAliases.compactRender(APIUtil.errorJsonResponse(s"${ErrorMessages.InvalidUri}Current Url is (${req.uri}), Current Content-Type Header is ($contentType)", 404).body))
.withContentType(org.http4s.headers.`Content-Type`(MediaType.application.json))
})
}
diff --git a/obp-api/src/main/scala/code/api/v5_0_0/JSONFactory5.0.0.scala b/obp-api/src/main/scala/code/api/v5_0_0/JSONFactory5.0.0.scala
index 73b2115c3f..fdab08cdeb 100644
--- a/obp-api/src/main/scala/code/api/v5_0_0/JSONFactory5.0.0.scala
+++ b/obp-api/src/main/scala/code/api/v5_0_0/JSONFactory5.0.0.scala
@@ -26,6 +26,7 @@
*/
package code.api.v5_0_0
+import org.json4s._
import code.api.Constant
import code.api.Constant._
import code.api.util.APIUtil
@@ -42,7 +43,7 @@ import code.api.v4_0_0._
import code.consent.ConsentRequest
import com.openbankproject.commons.model._
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.JsonAST.JValue
+import org.json4s.JsonAST.JValue
import net.liftweb.util.Helpers
import java.lang
@@ -804,7 +805,7 @@ object JSONFactory500 {
def createConsentRequestResponseJson(createdConsentRequest: ConsentRequest): ConsentRequestResponseJson = {
ConsentRequestResponseJson(
createdConsentRequest.consentRequestId,
- net.liftweb.json.parse(createdConsentRequest.payload),
+ com.openbankproject.commons.util.JsonAliases.parse(createdConsentRequest.payload),
createdConsentRequest.consumerId,
)
}
diff --git a/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala b/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala
index 5a4772d249..8474ddad33 100644
--- a/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala
+++ b/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala
@@ -69,8 +69,8 @@ trait APIMethods510
//import com.openbankproject.commons.model.enums.{TransactionRequestStatus, _}
//import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
//import net.liftweb.common.{Box, Empty, Full}
-//import net.liftweb.json
-//import net.liftweb.json.{Extraction, compactRender, parse, prettyRender}
+//import com.openbankproject.commons.util.json
+//import org.json4s.{Extraction, compactRender, parse, prettyRender}
//import net.liftweb.mapper.By
//import net.liftweb.util.Helpers.tryo
//import net.liftweb.util.{Helpers, Props, StringHelpers}
diff --git a/obp-api/src/main/scala/code/api/v5_1_0/Http4s510.scala b/obp-api/src/main/scala/code/api/v5_1_0/Http4s510.scala
index 320d63b23d..31d57505a8 100644
--- a/obp-api/src/main/scala/code/api/v5_1_0/Http4s510.scala
+++ b/obp-api/src/main/scala/code/api/v5_1_0/Http4s510.scala
@@ -1,5 +1,6 @@
package code.api.v5_1_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.Constant
@@ -26,6 +27,7 @@ import code.api.berlin.group.v1_3.JSONFactory_BERLIN_GROUP_1_3.{
}
import code.api.v2_1_0.{ConsumerRedirectUrlJSON, JSONFactory210}
import code.api.v3_0_0.JSONFactory300
+import code.api.v3_0_0.{AggregateMetricJSON, JSONFactory300}
import code.api.v3_0_0.JSONFactory300.createAggregateMetricJson
import code.api.v3_1_0.{ConsentChallengeJsonV310, ConsentJsonV310, JSONFactory310, PostConsentBodyCommonJson, PostConsentEmailJsonV310, PostConsentEntitlementJsonV310, PostConsentImplicitJsonV310, PostConsentPhoneJsonV310, PostConsentViewJsonV310}
import code.api.v4_0_0.{PutConsentStatusJsonV400, PutConsentUserJsonV400}
@@ -63,9 +65,10 @@ import com.openbankproject.commons.model.{
import com.openbankproject.commons.model.enums.{AtmAttributeType, ConsentType, RegulatedEntityAttributeType, StrongCustomerAuthentication, TransactionRequestStatus, UserAttributeType}
import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus, ScannedApiVersion}
import net.liftweb.common.{Box, Empty, Full}
-import net.liftweb.json
-import net.liftweb.json.JsonAST.prettyRender
-import net.liftweb.json.{Extraction, Formats, compactRender}
+import com.openbankproject.commons.util.json
+import com.openbankproject.commons.util.JsonAliases.prettyRender
+import org.json4s.{Extraction, Formats}
+import com.openbankproject.commons.util.JsonAliases.compactRender
import net.liftweb.mapper.By
import net.liftweb.util.Helpers.tryo
import net.liftweb.util.{Helpers, Props, StringHelpers}
@@ -227,7 +230,8 @@ object Http4s510 {
(obpQueryParams, _) <- createQueriesByHttpParamsFuture(httpParams, Some(cc))
aggregateMetrics <- APIMetrics.apiMetrics.vend.getAllAggregateMetricsFuture(obpQueryParams, true)
.map(x => unboxFullOrFail(x, Some(cc), GetAggregateMetricsError))
- } yield createAggregateMetricJson(aggregateMetrics)
+ } yield createAggregateMetricJson(aggregateMetrics).headOption
+ .getOrElse(AggregateMetricJSON(0, 0.0, 0.0, 0.0))
}
}
@@ -316,7 +320,7 @@ object Http4s510 {
val bankId = BankId(bankIdStr)
for {
atmJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the ${classOf[AtmJsonV510]}", 400, Some(cc)) {
- val atm = net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostAtmJsonV510]
+ val atm = com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostAtmJsonV510]
atm.id.get // require id
atm
}
@@ -356,7 +360,7 @@ object Http4s510 {
for {
(_, _) <- NewStyle.function.getAtm(bankId, atmId, Some(cc))
atmJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the ${classOf[AtmJsonV510]}", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[AtmJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[AtmJsonV510]
}
_ <- Helper.booleanToFuture(s"$InvalidJsonValue BANK_ID has to be the same in the URL and Body", 400, Some(cc)) {
atmJson.bank_id == bankId.value
@@ -598,7 +602,7 @@ object Http4s510 {
for {
user <- Future.successful(cc.user.openOrThrowException(AuthenticatedUserIsRequired))
tup <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- val js = net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[CreateConsumerRequestJsonV510]
+ val js = com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[CreateConsumerRequestJsonV510]
val appType = if (js.app_type.equals("Confidential")) AppType.valueOf("Confidential") else AppType.valueOf("Public")
(js, appType)
}
@@ -1043,7 +1047,7 @@ object Http4s510 {
case req @ POST -> `prefixPath` / "regulated-entities" =>
EndpointHelpers.executeFutureCreated(req) {
implicit val cc: code.api.util.CallContext = req.callContext
- val parsedBody = net.liftweb.json.parse(cc.httpBody.getOrElse(""))
+ val parsedBody = com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse(""))
val failMsg = s"$InvalidJsonFormat The Json body should be the $RegulatedEntityPostJsonV510 "
for {
postedData <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
@@ -1344,7 +1348,7 @@ object Http4s510 {
for {
(_, _) <- NewStyle.function.getAtm(bankId, atmId, Some(cc))
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $AtmAttributeJsonV510 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[AtmAttributeJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[AtmAttributeJsonV510]
}
attrType <- NewStyle.function.tryons(
s"$InvalidJsonFormat The `Type` field can only accept the following field: " +
@@ -1444,7 +1448,7 @@ object Http4s510 {
for {
(_, _) <- NewStyle.function.getAtm(bankId, atmId, Some(cc))
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $AtmAttributeJsonV510 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[AtmAttributeJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[AtmAttributeJsonV510]
}
attrType <- NewStyle.function.tryons(
s"$InvalidJsonFormat The `Type` field can only accept the following field: " +
@@ -1517,7 +1521,7 @@ object Http4s510 {
val bankId = BankId(bankIdStr)
for {
putData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $PostAgentJsonV510 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostAgentJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostAgentJsonV510]
}
(available, _) <- NewStyle.function.checkAgentNumberAvailable(bankId, putData.agent_number, Some(cc))
_ <- Helper.booleanToFuture(s"$AgentNumberAlreadyExists Current agent_number(${putData.agent_number}) and Current bank_id(${bankId.value})", cc = Some(cc)) { available }
@@ -1552,7 +1556,7 @@ object Http4s510 {
implicit val cc: code.api.util.CallContext = req.callContext
for {
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $PostAgentJsonV510 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PutAgentJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PutAgentJsonV510]
}
(_, _) <- NewStyle.function.getAgentByAgentId(agentId, Some(cc))
(links, _) <- NewStyle.function.getAgentAccountLinksByAgentId(agentId, Some(cc))
@@ -1648,7 +1652,7 @@ object Http4s510 {
implicit val cc: code.api.util.CallContext = req.callContext
for {
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $RegulatedEntityAttributeRequestJsonV510 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[RegulatedEntityAttributeRequestJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[RegulatedEntityAttributeRequestJsonV510]
}
attrType <- NewStyle.function.tryons(
s"$InvalidJsonFormat The `Type` field can only accept the following field: " +
@@ -1780,7 +1784,7 @@ object Http4s510 {
implicit val cc: code.api.util.CallContext = req.callContext
for {
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $RegulatedEntityAttributeRequestJsonV510 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[RegulatedEntityAttributeRequestJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[RegulatedEntityAttributeRequestJsonV510]
}
attrType <- NewStyle.function.tryons(
s"$InvalidJsonFormat The `Type` field can only accept the following field: " +
@@ -1854,7 +1858,7 @@ object Http4s510 {
implicit val cc: code.api.util.CallContext = req.callContext
for {
putJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the ${classOf[code.api.v4_0_0.PostApiCollectionJson400].getSimpleName}", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[code.api.v4_0_0.PostApiCollectionJson400]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[code.api.v4_0_0.PostApiCollectionJson400]
}
(_, _) <- NewStyle.function.getApiCollectionById(apiCollectionId, Some(cc))
(apiCollection, _) <- NewStyle.function.updateApiCollection(
@@ -2072,7 +2076,7 @@ object Http4s510 {
for {
(user, _) <- NewStyle.function.getUserByUserId(userId, Some(cc))
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $UserAttributeJsonV510 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[UserAttributeJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[UserAttributeJsonV510]
}
attrType <- NewStyle.function.tryons(
s"$InvalidJsonFormat The `Type` field can only accept the following field: " +
@@ -2573,7 +2577,7 @@ object Http4s510 {
for {
(bank, _) <- NewStyle.function.getBank(bankId, Some(cc))
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $PostCustomerLegalNameJsonV510 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostCustomerLegalNameJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostCustomerLegalNameJsonV510]
}
(customer, _) <- NewStyle.function.getCustomersByCustomerLegalName(bank.bankId, postedData.legal_name, Some(cc))
} yield JSONFactory300.createCustomersJson(customer)
@@ -2794,7 +2798,7 @@ object Http4s510 {
case false => NewStyle.function.hasEntitlement("", user.userId, ApiRole.canUpdateConsumerRedirectUrl, Some(cc))
}
postJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[ConsumerRedirectUrlJSON]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[ConsumerRedirectUrlJSON]
}
consumer <- NewStyle.function.getConsumerByConsumerId(consumerId, Some(cc))
_ <- Helper.booleanToFuture(UserNoPermissionUpdateConsumer, 400, Some(cc)) {
@@ -2837,7 +2841,7 @@ object Http4s510 {
implicit val cc: code.api.util.CallContext = req.callContext
for {
postJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[ConsumerLogoUrlJson]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[ConsumerLogoUrlJson]
}
consumer <- NewStyle.function.getConsumerByConsumerId(consumerId, Some(cc))
updatedConsumer <- NewStyle.function.updateConsumer(
@@ -2874,7 +2878,7 @@ object Http4s510 {
implicit val cc: code.api.util.CallContext = req.callContext
for {
postJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[ConsumerCertificateJson]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[ConsumerCertificateJson]
}
consumer <- NewStyle.function.getConsumerByConsumerId(consumerId, Some(cc))
updatedConsumer <- NewStyle.function.updateConsumer(
@@ -2911,7 +2915,7 @@ object Http4s510 {
implicit val cc: code.api.util.CallContext = req.callContext
for {
postJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[ConsumerNameJson]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[ConsumerNameJson]
}
consumer <- NewStyle.function.getConsumerByConsumerId(consumerId, Some(cc))
updatedConsumer <- NewStyle.function.updateConsumer(
@@ -2979,7 +2983,7 @@ object Http4s510 {
for {
user <- Future.successful(cc.user.openOrThrowException(AuthenticatedUserIsRequired))
tup <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- val js = net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[CreateConsumerRequestJsonV510]
+ val js = com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[CreateConsumerRequestJsonV510]
val appType = if (js.app_type.equals("Confidential")) AppType.valueOf("Confidential") else AppType.valueOf("Public")
(js, appType)
}
@@ -3025,14 +3029,14 @@ object Http4s510 {
implicit val cc: code.api.util.CallContext = req.callContext
for {
postedJwt <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[ConsumerJwtPostJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[ConsumerJwtPostJsonV510]
}
pem = APIUtil.`getPSD2-CERT`(cc.requestHeaders)
_ <- Helper.booleanToFuture(PostJsonIsNotSigned, 400, Some(cc)) {
JwtUtil.verifyJwt(postedJwt.jwt, pem.getOrElse(""))
}
postedJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(JwtUtil.getSignedPayloadAsJson(postedJwt.jwt).getOrElse("{}")).extract[ConsumerPostJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(JwtUtil.getSignedPayloadAsJson(postedJwt.jwt).getOrElse("{}")).extract[ConsumerPostJsonV510]
}
certificateInfo: CertificateInfoJsonV510 <- Future(X509.getCertificateInfo(pem))
.map(unboxFullOrFail(_, Some(cc), X509GeneralError))
@@ -3165,7 +3169,7 @@ object Http4s510 {
for {
user <- Future.successful(cc.user.openOrThrowException(AuthenticatedUserIsRequired))
postJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $PostAccountAccessJsonV510 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostAccountAccessJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostAccountAccessJsonV510]
}
targetViewId = ViewId(postJson.view_id)
msg = getUserLacksGrantPermissionErrorMessage(viewId, targetViewId)
@@ -3238,7 +3242,7 @@ object Http4s510 {
for {
user <- Future.successful(cc.user.openOrThrowException(AuthenticatedUserIsRequired))
postJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the ${classOf[code.api.v4_0_0.PostAccountAccessJsonV400].getSimpleName} ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostAccountAccessJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostAccountAccessJsonV510]
}
targetViewId = ViewId(postJson.view_id)
msg = getUserLacksRevokePermissionErrorMessage(viewId, targetViewId)
@@ -3285,7 +3289,7 @@ object Http4s510 {
for {
user <- Future.successful(cc.user.openOrThrowException(AuthenticatedUserIsRequired))
postJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $PostCreateUserAccountAccessJsonV510 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostCreateUserAccountAccessJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostCreateUserAccountAccessJsonV510]
}
_ <- Helper.booleanToFuture(s"$InvalidUserProvider The user.provider must be start with 'dauth.'", cc = Some(cc)) {
postJson.provider.startsWith("dauth.")
@@ -3374,7 +3378,7 @@ object Http4s510 {
for {
user <- Future.successful(cc.user.openOrThrowException(AuthenticatedUserIsRequired))
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $PostTransactionRequestStatusJsonV510", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostTransactionRequestStatusJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostTransactionRequestStatusJsonV510]
}
(existing, _) <- NewStyle.function.getTransactionRequestImpl(requestId, Some(cc))
_ <- NewStyle.function.hasAtLeastOneEntitlement(existing.from.bank_id, user.userId,
@@ -3506,7 +3510,7 @@ object Http4s510 {
val bankId = BankId(bankIdStr); val accountId = AccountId(accountIdStr); val viewId = ViewId(viewIdStr); val counterpartyId = CounterpartyId(counterpartyIdStr)
for {
postLimit <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the ${classOf[PostCounterpartyLimitV510]}", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostCounterpartyLimitV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostCounterpartyLimitV510]
}
_ <- Helper.booleanToFuture(s"$InvalidISOCurrencyCode Current input is: '${postLimit.currency}'", cc = Some(cc)) {
isValidCurrencyISOCode(postLimit.currency)
@@ -3564,7 +3568,7 @@ object Http4s510 {
val bankId = BankId(bankIdStr); val accountId = AccountId(accountIdStr); val viewId = ViewId(viewIdStr); val counterpartyId = CounterpartyId(counterpartyIdStr)
for {
postLimit <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the ${classOf[PostCounterpartyLimitV510]}", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostCounterpartyLimitV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostCounterpartyLimitV510]
}
_ <- Helper.booleanToFuture(s"$InvalidISOCurrencyCode Current input is: '${postLimit.currency}'", cc = Some(cc)) {
isValidCurrencyISOCode(postLimit.currency)
@@ -3734,7 +3738,7 @@ object Http4s510 {
val bankId = BankId(bankIdStr); val accountId = AccountId(accountIdStr); val viewId = ViewId(viewIdStr)
for {
createJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the ${classOf[com.openbankproject.commons.model.CreateViewJson]}", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[CreateCustomViewJson]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[CreateCustomViewJson]
}
_ <- Helper.booleanToFuture(InvalidCustomViewFormat + s"Current view_name (${createJson.name})", cc = Some(cc)) {
isValidCustomViewName(createJson.name)
@@ -3785,7 +3789,7 @@ object Http4s510 {
val bankId = BankId(bankIdStr); val accountId = AccountId(accountIdStr); val viewId = ViewId(viewIdStr); val targetViewId = ViewId(targetViewIdStr)
for {
updateJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the ${classOf[UpdateCustomViewJson]}", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[UpdateCustomViewJson]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[UpdateCustomViewJson]
}
_ <- Helper.booleanToFuture(InvalidCustomViewFormat + s"Current TARGET_VIEW_ID (${targetViewId})", cc = Some(cc)) {
isValidCustomViewId(targetViewId.value)
@@ -3912,7 +3916,7 @@ object Http4s510 {
val bankId = BankId(bankIdStr); val accountId = AccountId(accountIdStr)
for {
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $BankAccountBalanceRequestJsonV510 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[BankAccountBalanceRequestJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[BankAccountBalanceRequestJsonV510]
}
balanceAmount <- NewStyle.function.tryons(s"$InvalidNumber Current balance_amount is ${postedData.balance_amount}", 400, Some(cc)) {
BigDecimal(postedData.balance_amount)
@@ -3976,7 +3980,7 @@ object Http4s510 {
val bankId = BankId(bankIdStr); val accountId = AccountId(accountIdStr); val balanceId = BalanceId(balanceIdStr)
for {
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the BankAccountBalanceRequestJsonV510 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[BankAccountBalanceRequestJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[BankAccountBalanceRequestJsonV510]
}
balanceAmount <- NewStyle.function.tryons(s"$InvalidNumber Current balance_amount is ${postedData.balance_amount}", 400, Some(cc)) {
BigDecimal(postedData.balance_amount)
@@ -4044,7 +4048,7 @@ object Http4s510 {
val viewId = ViewId(viewIdStr)
for {
createJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $CreateViewPermissionJson ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[CreateViewPermissionJson]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[CreateViewPermissionJson]
}
_ <- Helper.booleanToFuture(s"$InvalidViewPermissionName The current value is ${createJson.permission_name}", 400, Some(cc)) {
ALL_VIEW_PERMISSION_NAMES.exists(_ == createJson.permission_name)
@@ -4100,7 +4104,7 @@ object Http4s510 {
implicit val cc: code.api.util.CallContext = req.callContext
for {
consentJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $PutConsentStatusJsonV400 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PutConsentStatusJsonV400]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PutConsentStatusJsonV400]
}
_ <- Future(Consents.consentProvider.vend.getConsentByConsentId(consentId))
.map(unboxFullOrFail(_, Some(cc), s"$ConsentNotFound ($consentId)", 404))
@@ -4146,7 +4150,7 @@ object Http4s510 {
consent <- Future(Consents.consentProvider.vend.getConsentByConsentId(consentId))
.map(unboxFullOrFail(_, Some(cc), s"$ConsentNotFound ($consentId)", 404))
consentJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $PutConsentPayloadJsonV510 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PutConsentPayloadJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PutConsentPayloadJsonV510]
}
_ <- Helper.booleanToFuture(s"$InvalidJsonFormat The Json body should be the $PutConsentPayloadJsonV510 ", 400, Some(cc)) {
!(consentJson.access.accounts.isEmpty && consentJson.access.balances.isEmpty && consentJson.access.transactions.isEmpty)
@@ -4202,7 +4206,7 @@ object Http4s510 {
consent <- Future(Consents.consentProvider.vend.getConsentByConsentId(consentId))
.map(unboxFullOrFail(_, Some(cc), s"$ConsentNotFound ($consentId)", 404))
consentJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $PutConsentUserJsonV400 ", 400, Some(cc)) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PutConsentUserJsonV400]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PutConsentUserJsonV400]
}
user <- Users.users.vend.getUserByUserIdFuture(consentJson.user_id)
.map(x => unboxFullOrFail(x, Some(cc), s"$UserNotFoundByUserId Current UserId(${consentJson.user_id})"))
@@ -4677,7 +4681,7 @@ object Http4s510 {
StrongCustomerAuthentication.IMPLICIT.toString()).contains(scaMethod)
}
consentJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $PostConsentBodyCommonJson ", 400, callContextOpt) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostConsentBodyCommonJson]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostConsentBodyCommonJson]
}
maxTimeToLive = APIUtil.getPropsAsIntValue(nameOfProperty = "consents.max_time_to_live", defaultValue = Constant.DEFAULT_CONSENT_TTL)
_ <- Helper.booleanToFuture(s"$ConsentMaxTTL ($maxTimeToLive)", cc = callContextOpt) {
@@ -4737,7 +4741,7 @@ object Http4s510 {
case v if v == StrongCustomerAuthentication.EMAIL.toString =>
for {
postEmail <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $PostConsentEmailJsonV310", 400, callContextOpt) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostConsentEmailJsonV310]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostConsentEmailJsonV310]
}
_ <- NewStyle.function.sendCustomerNotification(
StrongCustomerAuthentication.EMAIL, postEmail.email,
@@ -4746,7 +4750,7 @@ object Http4s510 {
case v if v == StrongCustomerAuthentication.SMS.toString =>
for {
postPhone <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the $PostConsentPhoneJsonV310", 400, callContextOpt) {
- net.liftweb.json.parse(cc.httpBody.getOrElse("")).extract[PostConsentPhoneJsonV310]
+ com.openbankproject.commons.util.JsonAliases.parse(cc.httpBody.getOrElse("")).extract[PostConsentPhoneJsonV310]
}
_ <- NewStyle.function.sendCustomerNotification(
StrongCustomerAuthentication.SMS, postPhone.phone_number, None, challengeText, callContextOpt)
@@ -4844,7 +4848,7 @@ object Http4s510 {
EndpointHelpers.executeFutureCreated(req) {
implicit val cc: code.api.util.CallContext = req.callContext
val rawBody = cc.httpBody.getOrElse("")
- val parsedBody = net.liftweb.json.parse(rawBody)
+ val parsedBody = com.openbankproject.commons.util.JsonAliases.parse(rawBody)
for {
(_, callContextOpt) <- APIUtil.applicationAccess(cc)
_ <- APIUtil.passesPsd2Aisp(callContextOpt)
@@ -4879,7 +4883,7 @@ object Http4s510 {
postConsentRequestJsonV510.from_account.branch_routing.scheme,
postConsentRequestJsonV510.from_account.branch_routing.address)
)
- consentTypeJ = net.liftweb.json.parse(s"""{"consent_type": "${ConsentType.VRP}"}""")
+ consentTypeJ = com.openbankproject.commons.util.JsonAliases.parse(s"""{"consent_type": "${ConsentType.VRP}"}""")
(_, _) <- NewStyle.function.getBankAccountByRoutings(fromBankAccountRoutings, callContextOpt)
postConsentRequestJsonTweaked = postConsentRequestJsonV510.copy(
from_account = fromAccountTweaked, to_account = toAccountTweaked)
diff --git a/obp-api/src/main/scala/code/api/v5_1_0/JSONFactory5.1.0.scala b/obp-api/src/main/scala/code/api/v5_1_0/JSONFactory5.1.0.scala
index 09674bb233..f9502aa8b8 100644
--- a/obp-api/src/main/scala/code/api/v5_1_0/JSONFactory5.1.0.scala
+++ b/obp-api/src/main/scala/code/api/v5_1_0/JSONFactory5.1.0.scala
@@ -60,8 +60,9 @@ import code.views.system.{AccountAccess, ViewDefinition, ViewPermission}
import com.openbankproject.commons.model._
import com.openbankproject.commons.util.ApiVersion
import net.liftweb.common.{Box, Full}
-import net.liftweb.json
-import net.liftweb.json.{Meta, _}
+import com.openbankproject.commons.util.json
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import java.text.SimpleDateFormat
import java.util.Date
diff --git a/obp-api/src/main/scala/code/api/v6_0_0/APIMethods600.scala b/obp-api/src/main/scala/code/api/v6_0_0/APIMethods600.scala
index 7582587f38..2240f9bc1f 100644
--- a/obp-api/src/main/scala/code/api/v6_0_0/APIMethods600.scala
+++ b/obp-api/src/main/scala/code/api/v6_0_0/APIMethods600.scala
@@ -32,7 +32,7 @@ trait APIMethods600
//import code.api.util.JsonSchemaGenerator
//import code.api.util.NewStyle.HttpCode
//import code.api.util.{APIUtil, ApiVersionUtils, CallContext, DiagnosticDynamicEntityCheck, ErrorMessages, NewStyle, OBPLimit, OBPOffset, OBPSortBy, RateLimitingUtil}
-//import net.liftweb.json
+//import com.openbankproject.commons.util.json
//import code.api.util.NewStyle.function.extractQueryParams
//import code.api.util.newstyle.ViewNewStyle
//import code.api.v3_0_0.JSONFactory300
@@ -83,9 +83,9 @@ trait APIMethods600
//import net.liftweb.common.{Box, Empty, Failure, Full}
//import net.liftweb.util.Helpers.tryo
//import org.apache.commons.lang3.StringUtils
-//import net.liftweb.json.{Extraction, JsonParser}
-//import net.liftweb.json.JsonAST.{JArray, JField, JNothing, JObject, JString, JValue}
-//import net.liftweb.json.JsonDSL._
+//import org.json4s.{Extraction, JsonParser}
+//import org.json4s.JsonAST.{JArray, JField, JNothing, JObject, JString, JValue}
+//import org.json4s.JsonDSL._
//import net.liftweb.mapper.{By, Descending, MaxRows, NullRef, OrderBy}
//import code.api.util.ExampleValue
//import code.api.util.ExampleValue.dynamicEntityResponseBodyExample
@@ -6303,7 +6303,7 @@ trait APIMethods600
// user_id = "user-456",
// bank_id = None,
// has_personal_entity = true,
-// schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject],
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[org.json4s.JsonAST.JObject],
// record_count = 42
// )
// )
@@ -6368,7 +6368,7 @@ trait APIMethods600
// user_id = "user-456",
// bank_id = Some("gh.29.uk"),
// has_personal_entity = true,
-// schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject],
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[org.json4s.JsonAST.JObject],
// record_count = 42
// )
// )
@@ -6520,7 +6520,7 @@ trait APIMethods600
// has_public_access = Some(false),
// has_community_access = Some(false),
// personal_requires_role = Some(false),
-// schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
// ),
// DynamicEntityDefinitionJsonV600(
// dynamic_entity_id = "abc-123-def",
@@ -6531,7 +6531,7 @@ trait APIMethods600
// has_public_access = false,
// has_community_access = false,
// personal_requires_role = false,
-// schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
// ),
// List(
// $AuthenticatedUserIsRequired,
@@ -6615,7 +6615,7 @@ trait APIMethods600
// has_public_access = Some(false),
// has_community_access = Some(false),
// personal_requires_role = Some(false),
-// schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
// ),
// DynamicEntityDefinitionJsonV600(
// dynamic_entity_id = "abc-123-def",
@@ -6626,7 +6626,7 @@ trait APIMethods600
// has_public_access = false,
// has_community_access = false,
// personal_requires_role = false,
-// schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
// ),
// List(
// $BankNotFound,
@@ -6697,7 +6697,7 @@ trait APIMethods600
// entity_name = "customer_preferences",
// has_personal_entity = Some(true),
// has_public_access = Some(false),
-// schema = net.liftweb.json.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
// ),
// DynamicEntityDefinitionJsonV600(
// dynamic_entity_id = "abc-123-def",
@@ -6706,7 +6706,7 @@ trait APIMethods600
// bank_id = None,
// has_personal_entity = true,
// has_public_access = false,
-// schema = net.liftweb.json.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
// ),
// List(
// $AuthenticatedUserIsRequired,
@@ -6776,7 +6776,7 @@ trait APIMethods600
// entity_name = "customer_preferences",
// has_personal_entity = Some(true),
// has_public_access = Some(false),
-// schema = net.liftweb.json.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
// ),
// DynamicEntityDefinitionJsonV600(
// dynamic_entity_id = "abc-123-def",
@@ -6785,7 +6785,7 @@ trait APIMethods600
// bank_id = Some("gh.29.uk"),
// has_personal_entity = true,
// has_public_access = false,
-// schema = net.liftweb.json.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
// ),
// List(
// $BankNotFound,
@@ -6856,7 +6856,7 @@ trait APIMethods600
// entity_name = "customer_preferences",
// has_personal_entity = Some(true),
// has_public_access = Some(false),
-// schema = net.liftweb.json.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
// ),
// DynamicEntityDefinitionJsonV600(
// dynamic_entity_id = "abc-123-def",
@@ -6865,7 +6865,7 @@ trait APIMethods600
// bank_id = None,
// has_personal_entity = true,
// has_public_access = false,
-// schema = net.liftweb.json.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
// ),
// List(
// $AuthenticatedUserIsRequired,
@@ -8869,7 +8869,7 @@ trait APIMethods600
// user_id = "user-456",
// bank_id = None,
// has_personal_entity = true,
-// schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject],
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[org.json4s.JsonAST.JObject],
// _links = Some(DynamicEntityLinksJsonV600(
// related = List(
// RelatedLinkJsonV600("personal-list", s"/obp/${ApiVersion.`dynamic-entity`}/my/customer_preferences", "GET"),
@@ -8933,7 +8933,7 @@ trait APIMethods600
// user_id = "user-456",
// bank_id = None,
// has_personal_entity = true,
-// schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject],
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[org.json4s.JsonAST.JObject],
// _links = Some(DynamicEntityLinksJsonV600(
// related = List(
// RelatedLinkJsonV600("personal-list", s"/obp/${ApiVersion.`dynamic-entity`}/my/customer_preferences", "GET"),
@@ -9747,11 +9747,11 @@ trait APIMethods600
// }
// tagFilter = req.params.get("tag").flatMap(_.headOption).map(_.trim).filter(_.nonEmpty)
// resultJson <- {
-// implicit val formats: net.liftweb.json.Formats = net.liftweb.json.DefaultFormats
+// implicit val formats: org.json4s.Formats = org.json4s.DefaultFormats
// val cacheKey = s"all:${tagFilter.getOrElse("")}"
// val cacheTTL = APIUtil.getPropsAsIntValue("getAllApiProductsV600.cache.ttl.seconds", 5)
// val hit = Caching.getApiProductsCache(cacheKey, cacheTTL)
-// .flatMap(s => try Some(net.liftweb.json.parse(s).extract[ApiProductsJsonV600]) catch { case _: Throwable => None })
+// .flatMap(s => try Some(com.openbankproject.commons.util.JsonAliases.parse(s).extract[ApiProductsJsonV600]) catch { case _: Throwable => None })
// hit match {
// case Some(cached) => Future.successful(cached)
// case None =>
@@ -9763,7 +9763,7 @@ trait APIMethods600
// apiProducts = perBank.flatten
// } yield {
// val result = JSONFactory600.createApiProductsJsonV600(apiProducts)
-// Caching.setApiProductsCache(cacheKey, net.liftweb.json.compactRender(Extraction.decompose(result)), cacheTTL)
+// Caching.setApiProductsCache(cacheKey, com.openbankproject.commons.util.JsonAliases.compactRender(Extraction.decompose(result)), cacheTTL)
// result
// }
// }
@@ -9851,11 +9851,11 @@ trait APIMethods600
// // Short TTL is the freshness guarantee; an admin tag change becomes visible within the TTL.
// // Redis-backed with versioned namespace prefix so the cache shows up on /system/cache/info
// // and can be invalidated by bumping the namespace version.
-// implicit val formats: net.liftweb.json.Formats = net.liftweb.json.DefaultFormats
+// implicit val formats: org.json4s.Formats = org.json4s.DefaultFormats
// val cacheKey = APIMethods600.productsCacheKey(bankId.value, params)
// val cacheTTL = APIUtil.getPropsAsIntValue("getProductsV600.cache.ttl.seconds", 5)
// val hit = Caching.getFinancialProductsCache(cacheKey, cacheTTL)
-// .flatMap(s => try Some(net.liftweb.json.parse(s).extract[ProductsJsonV600]) catch { case _: Throwable => None })
+// .flatMap(s => try Some(com.openbankproject.commons.util.JsonAliases.parse(s).extract[ProductsJsonV600]) catch { case _: Throwable => None })
// hit match {
// case Some(cached) => Future.successful(cached)
// case None =>
@@ -9864,7 +9864,7 @@ trait APIMethods600
// } yield {
// val tagsByCode = ProductTagsProvider.getTagsByProductCodes(bankId, products.map(_.code.value))
// val result = JSONFactory600.createProductsJsonV600(products, tagsByCode)
-// Caching.setFinancialProductsCache(cacheKey, net.liftweb.json.compactRender(Extraction.decompose(result)), cacheTTL)
+// Caching.setFinancialProductsCache(cacheKey, com.openbankproject.commons.util.JsonAliases.compactRender(Extraction.decompose(result)), cacheTTL)
// result
// }
// }
@@ -9903,11 +9903,11 @@ trait APIMethods600
// }
// params = req.params.toList.map(kv => GetProductsParam(kv._1, kv._2))
// resultJson <- {
-// implicit val formats: net.liftweb.json.Formats = net.liftweb.json.DefaultFormats
+// implicit val formats: org.json4s.Formats = org.json4s.DefaultFormats
// val cacheKey = APIMethods600.productsCacheKey("__all__", params)
// val cacheTTL = APIUtil.getPropsAsIntValue("getAllProductsV600.cache.ttl.seconds", 60)
// val hit = Caching.getFinancialProductsCache(cacheKey, cacheTTL)
-// .flatMap(s => try Some(net.liftweb.json.parse(s).extract[ProductsJsonV600]) catch { case _: Throwable => None })
+// .flatMap(s => try Some(com.openbankproject.commons.util.JsonAliases.parse(s).extract[ProductsJsonV600]) catch { case _: Throwable => None })
// hit match {
// case Some(cached) => Future.successful(cached)
// case None =>
@@ -9926,7 +9926,7 @@ trait APIMethods600
// }.toMap
// val tagsByCode = tagsByBank.values.foldLeft(Map.empty[String, List[String]])(_ ++ _)
// val result = JSONFactory600.createProductsJsonV600(products, tagsByCode)
-// Caching.setFinancialProductsCache(cacheKey, net.liftweb.json.compactRender(Extraction.decompose(result)), cacheTTL)
+// Caching.setFinancialProductsCache(cacheKey, com.openbankproject.commons.util.JsonAliases.compactRender(Extraction.decompose(result)), cacheTTL)
// result
// }
// }
@@ -10409,7 +10409,7 @@ trait APIMethods600
// user_id = "user-456",
// bank_id = None,
// has_personal_entity = false,
-// schema = net.liftweb.json.parse("""{"description": "Backup entity", "required": ["name"], "properties": {"name": {"type": "string", "example": "test"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "Backup entity", "required": ["name"], "properties": {"name": {"type": "string", "example": "test"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
// ),
// List(
// $AuthenticatedUserIsRequired,
@@ -10454,7 +10454,7 @@ trait APIMethods600
// user_id = "user-456",
// bank_id = Some("gh.29.uk"),
// has_personal_entity = false,
-// schema = net.liftweb.json.parse("""{"description": "Backup entity", "required": ["name"], "properties": {"name": {"type": "string", "example": "test"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+// schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "Backup entity", "required": ["name"], "properties": {"name": {"type": "string", "example": "test"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
// ),
// List(
// $AuthenticatedUserIsRequired,
@@ -11106,7 +11106,7 @@ trait APIMethods600
// message_type = postJson.message_type.getOrElse(""),
// payload = postJson.payload
// )
-// val messageJsonString = net.liftweb.json.compactRender(net.liftweb.json.Extraction.decompose(messageEnvelope))
+// val messageJsonString = com.openbankproject.commons.util.JsonAliases.compactRender(org.json4s.Extraction.decompose(messageEnvelope))
// val count = RedisMessaging.publishMessage(channelName, messageJsonString)
// (messageId, timestamp, count)
// }
@@ -11172,7 +11172,7 @@ trait APIMethods600
// }
// } yield {
// val parsedMessages: List[SignalMessageJsonV600] = rawMessages.flatMap { msgStr =>
-// scala.util.Try(net.liftweb.json.parse(msgStr).extract[SignalMessageJsonV600]).toOption
+// scala.util.Try(com.openbankproject.commons.util.JsonAliases.parse(msgStr).extract[SignalMessageJsonV600]).toOption
// }
// // Privacy filter: only show broadcasts (to_user_id is None) and messages to/from this user
// val filteredMessages = parsedMessages.filter { msg =>
@@ -11233,7 +11233,7 @@ trait APIMethods600
// val (messages, _) = RedisMessaging.fetchMessages(name, 0, count.toInt)
// val hasBroadcast = messages.exists { msgStr =>
// scala.util.Try {
-// val msg = net.liftweb.json.parse(msgStr).extract[SignalMessageJsonV600]
+// val msg = com.openbankproject.commons.util.JsonAliases.parse(msgStr).extract[SignalMessageJsonV600]
// msg.to_user_id.isEmpty
// }.getOrElse(false)
// }
@@ -12187,9 +12187,9 @@ trait APIMethods600
// json.extract[CreateMandateProvisionJsonV600]
// }
// sigReqJson <- Future {
-// import net.liftweb.json._
+// import org.json4s._
// implicit val formats: Formats = DefaultFormats
-// net.liftweb.json.Serialization.write(createJson.signatory_requirements)
+// org.json4s.native.Serialization.write(createJson.signatory_requirements)
// }
// (provision, callContext) <- Connector.connector.vend.createMandateProvision(
// mandateId,
@@ -12376,9 +12376,9 @@ trait APIMethods600
// json.extract[UpdateMandateProvisionJsonV600]
// }
// sigReqJson <- Future {
-// import net.liftweb.json._
+// import org.json4s._
// implicit val formats: Formats = DefaultFormats
-// net.liftweb.json.Serialization.write(updateJson.signatory_requirements)
+// org.json4s.native.Serialization.write(updateJson.signatory_requirements)
// }
// (provision, callContext) <- Connector.connector.vend.updateMandateProvision(
// provisionId,
diff --git a/obp-api/src/main/scala/code/api/v6_0_0/Http4s600.scala b/obp-api/src/main/scala/code/api/v6_0_0/Http4s600.scala
index e6b1788eca..c741e3b57c 100644
--- a/obp-api/src/main/scala/code/api/v6_0_0/Http4s600.scala
+++ b/obp-api/src/main/scala/code/api/v6_0_0/Http4s600.scala
@@ -1,5 +1,6 @@
package code.api.v6_0_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.Constant._
@@ -91,8 +92,8 @@ import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model.{BankId, BankIdAccountId, CustomerId, ListResult, ViewId}
import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus, ScannedApiVersion}
import net.liftweb.common.Full
-import net.liftweb.json.{Extraction, Formats}
-import net.liftweb.json.JsonAST.prettyRender
+import org.json4s.{Extraction, Formats}
+import com.openbankproject.commons.util.JsonAliases.prettyRender
import org.http4s.{Header, HttpRoutes, Request, Response, Uri}
import org.http4s.dsl.io._
import org.typelevel.ci.CIString
@@ -420,7 +421,7 @@ object Http4s600 {
postedData <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[PostCustomerNumberJsonV310].getSimpleName}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostCustomerNumberJsonV310]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostCustomerNumberJsonV310]
}
(customer, callContext) <- NewStyle.function.getCustomerByCustomerNumber(
postedData.customer_number, bank.bankId, Some(cc))
@@ -441,7 +442,7 @@ object Http4s600 {
postedData <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[PostCustomerLegalNameJsonV510].getSimpleName}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostCustomerLegalNameJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostCustomerLegalNameJsonV510]
}
(customers, _) <- NewStyle.function.getCustomersByCustomerLegalName(
bank.bankId, postedData.legal_name, Some(cc))
@@ -462,9 +463,9 @@ object Http4s600 {
Full(result) <- NewStyle.function.createOrUpdateDynamicEntity(dynamicEntity, Some(cc))
.recoverWith {
case e: Throwable if !Option(e.getMessage).exists(_.startsWith("OBP-")) =>
- val json = net.liftweb.json.Serialization.write(
+ val json = org.json4s.native.Serialization.write(
code.api.APIFailureNewStyle(s"$InvalidJsonFormat ${e.getMessage}", 400, Some(cc).map(_.toLight))
- )(net.liftweb.json.DefaultFormats)
+ )(org.json4s.DefaultFormats)
Future.failed(new Exception(json))
}
crudRoles = List(
@@ -483,9 +484,9 @@ object Http4s600 {
Full(result) <- NewStyle.function.createOrUpdateDynamicEntity(dynamicEntity, Some(cc))
.recoverWith {
case e: Throwable if !Option(e.getMessage).exists(_.startsWith("OBP-")) =>
- val json = net.liftweb.json.Serialization.write(
+ val json = org.json4s.native.Serialization.write(
code.api.APIFailureNewStyle(s"$InvalidJsonFormat ${e.getMessage}", 400, Some(cc).map(_.toLight))
- )(net.liftweb.json.DefaultFormats)
+ )(org.json4s.DefaultFormats)
Future.failed(new Exception(json))
}
} yield {
@@ -500,7 +501,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
request <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[CreateDynamicEntityRequestJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[CreateDynamicEntityRequestJsonV600]
}
_ <- validateEntityNameV600(request.entity_name, cc)
dynamicEntity <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
@@ -520,7 +521,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
request <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[CreateDynamicEntityRequestJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[CreateDynamicEntityRequestJsonV600]
}
_ <- validateEntityNameV600(request.entity_name, cc)
dynamicEntity <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
@@ -539,7 +540,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
request <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[UpdateDynamicEntityRequestJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[UpdateDynamicEntityRequestJsonV600]
}
_ <- validateEntityNameV600(request.entity_name, cc)
internalJson = JSONFactory600.convertV600UpdateRequestToInternal(request)
@@ -557,7 +558,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
request <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[UpdateDynamicEntityRequestJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[UpdateDynamicEntityRequestJsonV600]
}
_ <- validateEntityNameV600(request.entity_name, cc)
internalJson = JSONFactory600.convertV600UpdateRequestToInternal(request)
@@ -581,7 +582,7 @@ object Http4s600 {
existingEntity.isDefined
}
request <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[UpdateDynamicEntityRequestJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[UpdateDynamicEntityRequestJsonV600]
}
_ <- validateEntityNameV600(request.entity_name, cc)
internalJson = JSONFactory600.convertV600UpdateRequestToInternal(request)
@@ -606,7 +607,7 @@ object Http4s600 {
}
updateJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the UpdateViewJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[UpdateViewJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[UpdateViewJsonV600]
}
_ <- Helper.booleanToFuture(SystemViewCannotBePublicError, failCode = 400, cc = Some(cc)) {
updateJson.is_public == false
@@ -832,7 +833,7 @@ object Http4s600 {
val failMsg = s"$InvalidJsonFormat The Json body should be the PostBankJson600"
for {
postJson <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostBankJson600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostBankJson600]
}
checkShortStringValue = APIUtil.checkOptionalShortString(postJson.bank_id)
_ <- Helper.booleanToFuture(s"$InvalidJsonFormat BANK_ID: $checkShortStringValue", cc = Some(cc)) {
@@ -882,7 +883,7 @@ object Http4s600 {
val failMsg = s"$InvalidJsonFormat The Json body should be the PostCustomerJsonV600 "
for {
postedData <- NewStyle.function.tryons(failMsg, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostCustomerJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostCustomerJsonV600]
}
_ <- Helper.booleanToFuture(InvalidJsonContent, 400, Some(cc)) {
postedData.dependants.getOrElse(0) == postedData.dob_of_dependants.getOrElse(Nil).length
@@ -937,7 +938,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
postedData <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[CreateUserJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[CreateUserJsonV600]
}
_ <- Helper.booleanToFuture(InvalidStrongPasswordFormat, 400, Some(cc)) {
APIUtil.fullPasswordValidation(postedData.password)
@@ -1012,7 +1013,7 @@ object Http4s600 {
postedData <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[code.api.v6_0_0.JSONFactory600.PostResetPasswordUrlJsonV600]}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[code.api.v6_0_0.JSONFactory600.PostResetPasswordUrlJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[code.api.v6_0_0.JSONFactory600.PostResetPasswordUrlJsonV600]
}
authUserBox <- Future {
AuthUser.find(net.liftweb.mapper.By(AuthUser.username, postedData.username))
@@ -1669,7 +1670,7 @@ object Http4s600 {
existing <- Future(MappedWebUiPropsProvider.getByName(nameLower))
resourceExists = existing.isDefined
valueJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should contain a value field", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[code.webuiprops.WebUiPropsPutJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[code.webuiprops.WebUiPropsPutJsonV600]
}
saved <- Future(MappedWebUiPropsProvider.createOrUpdate(WebUiPropsCommons(nameLower, valueJson.value)))
} yield (saved.openOrThrowException("Could not save WebUiProps"), resourceExists)
@@ -1719,7 +1720,7 @@ object Http4s600 {
val accountId = com.openbankproject.commons.model.AccountId(accountIdStr)
for {
createViewJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the CreateViewJson", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[com.openbankproject.commons.model.CreateViewJson]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[com.openbankproject.commons.model.CreateViewJson]
}
_ <- Helper.booleanToFuture(InvalidCustomViewFormat + s"Current view_name (${createViewJson.name})", cc = Some(cc)) {
APIUtil.isValidCustomViewName(createViewJson.name)
@@ -1757,7 +1758,7 @@ object Http4s600 {
bank.bankId.value, user.userId, updateProductTagsEntitlements, Some(cc))
(_, _) <- NewStyle.function.getProduct(bank.bankId, productCode, Some(cc))
body <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the ProductTagsJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[ProductTagsJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[ProductTagsJsonV600]
}
updatedTags <- NewStyle.function.tryons(UpdateProductError, 400, Some(cc)) {
code.products.ProductTagsProvider.setTags(bank.bankId, productCode, body.tags)
@@ -1797,7 +1798,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the VerifyOidcClientRequestJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[VerifyOidcClientRequestJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[VerifyOidcClientRequestJsonV600]
}
consumerBox <- Future(code.consumer.Consumers.consumers.vend.getConsumerByConsumerKey(postedData.client_id))
} yield {
@@ -1840,7 +1841,7 @@ object Http4s600 {
for {
(user, _) <- NewStyle.function.getUserByUserId(userIdStr, Some(cc))
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the UserAttributeJsonV510", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[UserAttributeJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[UserAttributeJsonV510]
}
userAttributeType <- NewStyle.function.tryons(personalDataTypeErrorMsg, 400, Some(cc)) {
UserAttributeType.withName(postedData.`type`)
@@ -1859,7 +1860,7 @@ object Http4s600 {
for {
(user, callContext) <- NewStyle.function.getUserByUserId(userIdStr, Some(cc))
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the UserAttributeJsonV510", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[UserAttributeJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[UserAttributeJsonV510]
}
userAttributeType <- NewStyle.function.tryons(personalDataTypeErrorMsg, 400, Some(cc)) {
UserAttributeType.withName(postedData.`type`)
@@ -1896,7 +1897,7 @@ object Http4s600 {
val user = cc.user.openOrThrowException(AuthenticatedUserIsRequired)
for {
postJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the PostGroupMembershipJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[JSONFactory600.PostGroupMembershipJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[JSONFactory600.PostGroupMembershipJsonV600]
}
_ <- NewStyle.function.findByUserId(userIdStr, Some(cc))
group <- Future(code.group.GroupTrait.group.vend.getGroup(postJson.group_id))
@@ -2021,7 +2022,7 @@ object Http4s600 {
val user = cc.user.openOrThrowException(AuthenticatedUserIsRequired)
for {
joiningKey <- Future(
- (net.liftweb.json.parse(rawBody) \ "joining_key").extractOpt[String].getOrElse(""))
+ (com.openbankproject.commons.util.JsonAliases.parse(rawBody) \ "joining_key").extractOpt[String].getOrElse(""))
room <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoomByJoiningKey(joiningKey))
.map(unboxFullOrFail(_, Some(cc), InvalidJoiningKey, 404))
_ <- Helper.booleanToFuture(ChatRoomIsArchived, cc = Some(cc))(!room.isArchived)
@@ -2051,7 +2052,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the CounterpartyAttributeRequestJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[CounterpartyAttributeRequestJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[CounterpartyAttributeRequestJsonV600]
}
counterpartyAttributeType <- NewStyle.function.tryons(counterpartyAttributeTypeErrorMsg, 400, Some(cc)) {
com.openbankproject.commons.model.enums.CounterpartyAttributeType.withName(postedData.attribute_type)
@@ -2104,7 +2105,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the CounterpartyAttributeRequestJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[CounterpartyAttributeRequestJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[CounterpartyAttributeRequestJsonV600]
}
counterpartyAttributeType <- NewStyle.function.tryons(counterpartyAttributeTypeErrorMsg, 400, Some(cc)) {
com.openbankproject.commons.model.enums.CounterpartyAttributeType.withName(postedData.attribute_type)
@@ -2211,7 +2212,7 @@ object Http4s600 {
for {
jsonSchema <- if (cacheValueFromRedis.isDefined) {
NewStyle.function.tryons(s"$UnknownError Cannot parse cached JSON Schema.", 400, Some(cc)) {
- net.liftweb.json.parse(cacheValueFromRedis.get).asInstanceOf[net.liftweb.json.JObject]
+ com.openbankproject.commons.util.JsonAliases.parse(cacheValueFromRedis.get).asInstanceOf[org.json4s.JObject]
}
} else {
NewStyle.function.tryons(s"$UnknownError Cannot generate JSON Schema.", 400, Some(cc)) {
@@ -2222,7 +2223,7 @@ object Http4s600 {
)
val schema = code.api.util.JsonSchemaGenerator.messageDocsToJsonSchema(
connectorObject.messageDocs.toList, connector)
- val schemaString = net.liftweb.json.compactRender(schema)
+ val schemaString = com.openbankproject.commons.util.JsonAliases.compactRender(schema)
code.api.cache.Caching.setStaticSwaggerDocCache(cacheKey, schemaString)
schema
}
@@ -2239,7 +2240,7 @@ object Http4s600 {
for {
postedData <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostVerifyUserCredentialsJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostVerifyUserCredentialsJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostVerifyUserCredentialsJsonV600]
}
decodedProvider = java.net.URLDecoder.decode(postedData.provider, java.nio.charset.StandardCharsets.UTF_8)
resourceUserIdBox = code.model.dataAccess.AuthUser.getResourceUserId(
@@ -2297,7 +2298,7 @@ object Http4s600 {
val cacheKey = s"all:${tagFilter.getOrElse("")}"
val cacheTTL = APIUtil.getPropsAsIntValue("getAllApiProductsV600.cache.ttl.seconds", 5)
val hit = code.api.cache.Caching.getApiProductsCache(cacheKey, cacheTTL)
- .flatMap(s => try Some(net.liftweb.json.parse(s).extract[ApiProductsJsonV600])
+ .flatMap(s => try Some(com.openbankproject.commons.util.JsonAliases.parse(s).extract[ApiProductsJsonV600])
catch { case _: Throwable => None })
hit match {
case Some(cached) => Future.successful(cached)
@@ -2310,7 +2311,7 @@ object Http4s600 {
} yield {
val result = JSONFactory600.createApiProductsJsonV600(apiProducts)
code.api.cache.Caching.setApiProductsCache(
- cacheKey, net.liftweb.json.compactRender(Extraction.decompose(result)), cacheTTL)
+ cacheKey, com.openbankproject.commons.util.JsonAliases.compactRender(Extraction.decompose(result)), cacheTTL)
result
}
}
@@ -2329,7 +2330,7 @@ object Http4s600 {
}
val cacheTTL = APIUtil.getPropsAsIntValue("getAllProductsV600.cache.ttl.seconds", 60)
val hit = code.api.cache.Caching.getFinancialProductsCache(cacheKey, cacheTTL)
- .flatMap(s => try Some(net.liftweb.json.parse(s).extract[ProductsJsonV600])
+ .flatMap(s => try Some(com.openbankproject.commons.util.JsonAliases.parse(s).extract[ProductsJsonV600])
catch { case _: Throwable => None })
hit match {
case Some(cached) => Future.successful(cached)
@@ -2342,7 +2343,7 @@ object Http4s600 {
} yield {
val result = JSONFactory600.createProductsJsonV600(products, Map.empty)
code.api.cache.Caching.setFinancialProductsCache(
- cacheKey, net.liftweb.json.compactRender(Extraction.decompose(result)), cacheTTL)
+ cacheKey, com.openbankproject.commons.util.JsonAliases.compactRender(Extraction.decompose(result)), cacheTTL)
result
}
}
@@ -2435,7 +2436,7 @@ object Http4s600 {
for {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostAccountAccessRequestJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[JSONFactory600.PostAccountAccessRequestJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[JSONFactory600.PostAccountAccessRequestJsonV600]
}
_ <- Helper.booleanToFuture(BusinessJustificationRequired, cc = Some(cc)) {
postJson.business_justification.trim.nonEmpty
@@ -2474,7 +2475,7 @@ object Http4s600 {
for {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostApproveAccountAccessRequestJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[JSONFactory600.PostApproveAccountAccessRequestJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[JSONFactory600.PostApproveAccountAccessRequestJsonV600]
}
requestBox <- Future {
code.accountaccessrequest.AccountAccessRequestTrait.accountAccessRequest.vend.getById(requestIdStr)
@@ -2522,7 +2523,7 @@ object Http4s600 {
for {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostRejectAccountAccessRequestJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[JSONFactory600.PostRejectAccountAccessRequestJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[JSONFactory600.PostRejectAccountAccessRequestJsonV600]
}
_ <- Helper.booleanToFuture(CheckerCommentRequiredForRejection, cc = Some(cc)) {
postJson.comment.trim.nonEmpty
@@ -2563,7 +2564,7 @@ object Http4s600 {
code.api.cache.RedisMessaging.channelInfo(name).map { case (count, ttl) =>
val (messages, _) = code.api.cache.RedisMessaging.fetchMessages(name, 0, count.toInt)
val hasBroadcast = messages.exists { s =>
- scala.util.Try(net.liftweb.json.parse(s).extract[SignalMessageJsonV600].to_user_id.isEmpty).getOrElse(false)
+ scala.util.Try(com.openbankproject.commons.util.JsonAliases.parse(s).extract[SignalMessageJsonV600].to_user_id.isEmpty).getOrElse(false)
}
(name, count, ttl, hasBroadcast)
}
@@ -2622,7 +2623,7 @@ object Http4s600 {
for {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostSignalMessageJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostSignalMessageJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostSignalMessageJsonV600]
}
_ <- Helper.booleanToFuture(InvalidSignalChannelName, cc = Some(cc)) {
code.api.cache.RedisMessaging.validateChannelName(channelName)
@@ -2639,7 +2640,7 @@ object Http4s600 {
to_user_id = postJson.to_user_id, timestamp = timestamp,
message_type = postJson.message_type.getOrElse(""),
payload = postJson.payload)
- val msgStr = net.liftweb.json.compactRender(Extraction.decompose(envelope))
+ val msgStr = com.openbankproject.commons.util.JsonAliases.compactRender(Extraction.decompose(envelope))
val count = code.api.cache.RedisMessaging.publishMessage(channelName, msgStr)
SignalMessagePublishedJsonV600(messageId, channelName, timestamp, count)
}
@@ -2662,7 +2663,7 @@ object Http4s600 {
(rawMessages, totalCount) <- Future(code.api.cache.RedisMessaging.fetchMessages(channelName, offset, limit))
} yield {
val parsed = rawMessages.flatMap { s =>
- scala.util.Try(net.liftweb.json.parse(s).extract[SignalMessageJsonV600]).toOption
+ scala.util.Try(com.openbankproject.commons.util.JsonAliases.parse(s).extract[SignalMessageJsonV600]).toOption
}
val filtered = parsed.filter { msg =>
msg.to_user_id.isEmpty ||
@@ -2867,7 +2868,7 @@ object Http4s600 {
for {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ChatRoomSearchRequestJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[ChatRoomSearchRequestJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[ChatRoomSearchRequestJsonV600]
}
roomsBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend
.searchChatRoomsForUserWithParticipants(user.userId, postJson.with_user_ids,
@@ -2939,7 +2940,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
val u = cc.user.openOrThrowException("User not found in CallContext")
for {
- json <- Future(net.liftweb.json.parse(rawBody))
+ json <- Future(com.openbankproject.commons.util.JsonAliases.parse(rawBody))
joiningKey = (json \ "joining_key").extractOpt[String].getOrElse("")
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoomByJoiningKey(joiningKey))
room <- Future(unboxFullOrFail(roomBox, Some(cc), InvalidJoiningKey, 404))
@@ -3002,7 +3003,7 @@ object Http4s600 {
for {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostChatRoomJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostChatRoomJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostChatRoomJsonV600]
}
existing <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend
.getChatRoomByBankIdAndName(bankIdStr, postJson.name))
@@ -3031,7 +3032,7 @@ object Http4s600 {
for {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostChatRoomJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostChatRoomJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostChatRoomJsonV600]
}
existing <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend
.getChatRoomByBankIdAndName("", postJson.name))
@@ -3059,7 +3060,7 @@ object Http4s600 {
for {
putJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PutChatRoomJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PutChatRoomJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PutChatRoomJsonV600]
}
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
_ <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3084,7 +3085,7 @@ object Http4s600 {
for {
putJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PutChatRoomJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PutChatRoomJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PutChatRoomJsonV600]
}
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
_ <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3134,7 +3135,7 @@ object Http4s600 {
EndpointHelpers.withUserAndBank(req) { (_, _, cc) =>
val rawBody = cc.httpBody.getOrElse("")
for {
- json <- Future(net.liftweb.json.parse(rawBody))
+ json <- Future(com.openbankproject.commons.util.JsonAliases.parse(rawBody))
isOpenRoom = (json \ "is_open_room").extractOrElse[Boolean](false)
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
_ <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3153,7 +3154,7 @@ object Http4s600 {
EndpointHelpers.executeAndRespond(req) { implicit cc =>
val rawBody = cc.httpBody.getOrElse("")
for {
- json <- Future(net.liftweb.json.parse(rawBody))
+ json <- Future(com.openbankproject.commons.util.JsonAliases.parse(rawBody))
isOpenRoom = (json \ "is_open_room").extractOrElse[Boolean](false)
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
_ <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3180,7 +3181,7 @@ object Http4s600 {
for {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostParticipantJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostParticipantJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostParticipantJsonV600]
}
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
_ <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3218,7 +3219,7 @@ object Http4s600 {
for {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostParticipantJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostParticipantJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostParticipantJsonV600]
}
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
_ <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3284,7 +3285,7 @@ object Http4s600 {
for {
putJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PutParticipantPermissionsJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PutParticipantPermissionsJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PutParticipantPermissionsJsonV600]
}
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
_ <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3308,7 +3309,7 @@ object Http4s600 {
for {
putJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PutParticipantPermissionsJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PutParticipantPermissionsJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PutParticipantPermissionsJsonV600]
}
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
_ <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3382,7 +3383,7 @@ object Http4s600 {
for {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostChatMessageJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostChatMessageJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostChatMessageJsonV600]
}
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
room <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3413,7 +3414,7 @@ object Http4s600 {
for {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostChatMessageJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostChatMessageJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostChatMessageJsonV600]
}
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
room <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3510,7 +3511,7 @@ object Http4s600 {
for {
putJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PutChatMessageJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PutChatMessageJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PutChatMessageJsonV600]
}
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
_ <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3538,7 +3539,7 @@ object Http4s600 {
for {
putJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PutChatMessageJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PutChatMessageJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PutChatMessageJsonV600]
}
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
_ <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3668,7 +3669,7 @@ object Http4s600 {
for {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostChatMessageJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostChatMessageJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostChatMessageJsonV600]
}
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
room <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3701,7 +3702,7 @@ object Http4s600 {
for {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostChatMessageJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostChatMessageJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostChatMessageJsonV600]
}
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
room <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3734,7 +3735,7 @@ object Http4s600 {
for {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostReactionJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostReactionJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostReactionJsonV600]
}
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
_ <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3762,7 +3763,7 @@ object Http4s600 {
for {
postJson <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostReactionJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostReactionJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostReactionJsonV600]
}
roomBox <- Future(code.chat.ChatRoomTrait.chatRoomProvider.vend.getChatRoom(chatRoomId))
_ <- Future(unboxFullOrFail(roomBox, Some(cc), ChatRoomNotFound, 404))
@@ -3970,7 +3971,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
createJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[CreateSignatoryPanelJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[CreateSignatoryPanelJsonV600]
}
(panelBox, _) <- BankConnector.connector.vend.createSignatoryPanel(
mandateId, createJson.panel_name, createJson.description,
@@ -4011,7 +4012,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
updateJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[UpdateSignatoryPanelJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[UpdateSignatoryPanelJsonV600]
}
(panelBox, _) <- BankConnector.connector.vend.updateSignatoryPanel(
panelId, updateJson.panel_name, updateJson.description,
@@ -4048,7 +4049,7 @@ object Http4s600 {
for {
postedData <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ValidateUserEmailJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[JSONFactory600.ValidateUserEmailJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[JSONFactory600.ValidateUserEmailJsonV600]
}
token = postedData.token.trim
_ <- Helper.booleanToFuture(s"$InvalidJsonFormat Token cannot be empty", cc = Some(cc)) {
@@ -4098,7 +4099,7 @@ object Http4s600 {
for {
postedData <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostResetPasswordCompleteJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[JSONFactory600.PostResetPasswordCompleteJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[JSONFactory600.PostResetPasswordCompleteJsonV600]
}
token = postedData.token.trim
_ <- Helper.booleanToFuture(s"$InvalidJsonFormat Token cannot be empty", cc = Some(cc)) {
@@ -4140,7 +4141,7 @@ object Http4s600 {
for {
postedData <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostResetPasswordUrlAnonymousJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[JSONFactory600.PostResetPasswordUrlAnonymousJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[JSONFactory600.PostResetPasswordUrlAnonymousJsonV600]
}
} yield {
val authUserBox = code.model.dataAccess.AuthUser.find(
@@ -4195,7 +4196,7 @@ object Http4s600 {
for {
body <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the JsonDynamicResourceDoc", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[code.dynamicResourceDoc.JsonDynamicResourceDoc]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[code.dynamicResourceDoc.JsonDynamicResourceDoc]
}
_ <- Helper.booleanToFuture(
s"""$InvalidJsonFormat The request_verb must be one of ["POST", "PUT", "GET", "DELETE"]""",
@@ -4206,9 +4207,9 @@ object Http4s600 {
s"""$InvalidJsonFormat When request_verb is "GET" or "DELETE", the example_request_body must be a blank String "" or just totally omit the field""",
cc = Some(cc)) {
(body.requestVerb, body.exampleRequestBody) match {
- case ("GET" | "DELETE", Some(net.liftweb.json.JString(s))) =>
+ case ("GET" | "DELETE", Some(org.json4s.JString(s))) =>
org.apache.commons.lang3.StringUtils.isBlank(s)
- case ("GET" | "DELETE", Some(rb)) => rb == net.liftweb.json.JNothing
+ case ("GET" | "DELETE", Some(rb)) => rb == org.json4s.JNothing
case _ => true
}
}
@@ -4246,7 +4247,7 @@ object Http4s600 {
val viewId = ViewId(viewIdStr)
val txType = com.openbankproject.commons.model.TransactionRequestType(kind)
for {
- json <- Future(net.liftweb.json.parse(rawBody))
+ json <- Future(com.openbankproject.commons.util.JsonAliases.parse(rawBody))
(resp, _) <- code.bankconnectors.LocalMappedConnectorInternal
.createTransactionRequest(bankId, accountId, viewId, txType, json)
} yield resp
@@ -4385,7 +4386,7 @@ object Http4s600 {
for {
postedData <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostRetailCustomerJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostRetailCustomerJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostRetailCustomerJsonV600]
}
_ <- Helper.booleanToFuture(
InvalidJsonContent + s" The field dependants(${postedData.dependants.getOrElse(0)}) not equal the length(${postedData.dob_of_dependants.getOrElse(Nil).length}) of dob_of_dependants array",
@@ -4445,7 +4446,7 @@ object Http4s600 {
for {
postedData <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the PostCorporateCustomerJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostCorporateCustomerJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostCorporateCustomerJsonV600]
}
customerNumber = postedData.customer_number.getOrElse(scala.util.Random.nextInt(Integer.MAX_VALUE).toString)
_ <- Helper.booleanToFuture(
@@ -4569,7 +4570,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
validateJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[ValidateAbacRuleJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[ValidateAbacRuleJsonV600]
}
_ <- NewStyle.function.tryons(AbacRuleCodeEmpty, 400, Some(cc)) {
validateJson.rule_code.trim.nonEmpty
@@ -4615,7 +4616,7 @@ object Http4s600 {
val u = cc.user.openOrThrowException("User not found in CallContext")
for {
execJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[ExecuteAbacRuleJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[ExecuteAbacRuleJsonV600]
}
ruleBox <- Future(code.abacrule.MappedAbacRuleProvider.getAbacRuleById(ruleId))
_ <- Future(unboxFullOrFail(ruleBox, Some(cc), s"ABAC Rule not found with ID: $ruleId", 404))
@@ -4641,7 +4642,7 @@ object Http4s600 {
val u = cc.user.openOrThrowException("User not found in CallContext")
for {
execJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[ExecuteAbacRuleJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[ExecuteAbacRuleJsonV600]
}
_ <- Future {
if (Constant.ABAC_POLICIES.contains(policy)) Full(true)
@@ -4874,7 +4875,7 @@ object Http4s600 {
private def backupDynamicEntityIo(
entity: code.dynamicEntity.DynamicEntityT,
backupName: String,
- dataRecords: net.liftweb.json.JsonAST.JArray
+ dataRecords: org.json4s.JsonAST.JArray
): Unit = {
code.dynamicEntity.DynamicEntityProvider.connectorMethodProvider.vend
.getByEntityName(entity.bankId, backupName).foreach { existingBackup =>
@@ -4886,15 +4887,15 @@ object Http4s600 {
}
code.dynamicEntity.DynamicEntityProvider.connectorMethodProvider.vend.delete(existingBackup)
}
- val originalMetadata = net.liftweb.json.parse(entity.metadataJson).asInstanceOf[net.liftweb.json.JObject]
- val backupMetadata = net.liftweb.json.JObject(originalMetadata.obj.map {
- case net.liftweb.json.JField(name, value) if name == entity.entityName =>
- net.liftweb.json.JField(backupName, value)
+ val originalMetadata = com.openbankproject.commons.util.JsonAliases.parse(entity.metadataJson).asInstanceOf[org.json4s.JObject]
+ val backupMetadata = org.json4s.JObject(originalMetadata.obj.map {
+ case org.json4s.JField(name, value) if name == entity.entityName =>
+ org.json4s.JField(backupName, value)
case other => other
})
val backupEntity = code.dynamicEntity.DynamicEntityCommons(
entityName = backupName,
- metadataJson = net.liftweb.json.compactRender(backupMetadata),
+ metadataJson = com.openbankproject.commons.util.JsonAliases.compactRender(backupMetadata),
dynamicEntityId = None,
userId = entity.userId,
bankId = entity.bankId,
@@ -4903,15 +4904,15 @@ object Http4s600 {
val originalIdField = code.api.dynamic.entity.helper.DynamicEntityHelper.createEntityId(entity.entityName)
val backupIdField = code.api.dynamic.entity.helper.DynamicEntityHelper.createEntityId(backupName)
dataRecords.arr.foreach { record =>
- val recordObj = record.asInstanceOf[net.liftweb.json.JObject]
+ val recordObj = record.asInstanceOf[org.json4s.JObject]
val transformedFields = recordObj.obj.map {
- case net.liftweb.json.JField(name, _) if name == originalIdField =>
- net.liftweb.json.JField(backupIdField,
- net.liftweb.json.JString(java.util.UUID.randomUUID().toString))
+ case org.json4s.JField(name, _) if name == originalIdField =>
+ org.json4s.JField(backupIdField,
+ org.json4s.JString(java.util.UUID.randomUUID().toString))
case other => other
}
code.DynamicData.DynamicDataProvider.connectorMethodProvider.vend.save(
- entity.bankId, backupName, net.liftweb.json.JObject(transformedFields),
+ entity.bankId, backupName, org.json4s.JObject(transformedFields),
Some(entity.userId), entity.hasPersonalEntity)
}
}
@@ -4945,7 +4946,7 @@ object Http4s600 {
com.openbankproject.commons.model.enums.DynamicEntityOperation.GET_ALL,
entity.entityName, None, None, entity.bankId, None, None, false, Some(cc))
resultList <- Future {
- box.asInstanceOf[net.liftweb.common.Box[net.liftweb.json.JsonAST.JArray]]
+ box.asInstanceOf[net.liftweb.common.Box[org.json4s.JsonAST.JArray]]
.openOrThrowException(s"$UnknownError ")
}
backupName = computeBackupNameIo(entity.bankId, entity.entityName)
@@ -4992,7 +4993,7 @@ object Http4s600 {
com.openbankproject.commons.model.enums.DynamicEntityOperation.GET_ALL,
entity.entityName, None, None, entity.bankId, None, None, false, Some(cc))
resultList <- Future {
- box.asInstanceOf[net.liftweb.common.Box[net.liftweb.json.JsonAST.JArray]]
+ box.asInstanceOf[net.liftweb.common.Box[org.json4s.JsonAST.JArray]]
.openOrThrowException(s"$UnknownError ")
}
_ <- Future {
@@ -5002,13 +5003,13 @@ object Http4s600 {
_ <- Future.sequence {
resultList.arr.map { record =>
val idField = code.api.dynamic.entity.helper.DynamicEntityHelper.createEntityId(entity.entityName)
- val recordId = (record \ idField).asInstanceOf[net.liftweb.json.JString].s
+ val recordId = (record \ idField).asInstanceOf[org.json4s.JString].s
Future(code.DynamicData.DynamicDataProvider.connectorMethodProvider.vend.delete(
entity.bankId, entity.entityName, recordId, None, false))
}
}
- deleted <- NewStyle.function.deleteDynamicEntity(None, dynamicEntityId)
- } yield deleted
+ _ <- NewStyle.function.deleteDynamicEntity(None, dynamicEntityId)
+ } yield JObject(Nil)
}
}
@@ -5061,7 +5062,7 @@ object Http4s600 {
val bank = cc.bank.get
for {
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the PostCustomerLinkJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostCustomerLinkJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostCustomerLinkJsonV600]
}
(customer, _) <- NewStyle.function.getCustomerByCustomerId(postedData.customer_id, Some(cc))
_ <- Helper.booleanToFuture(
@@ -5109,7 +5110,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the PutCustomerLinkJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PutCustomerLinkJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PutCustomerLinkJsonV600]
}
(updated, _) <- NewStyle.function.updateCustomerLinkById(customerLinkId, postedData.relationship_to, Some(cc))
} yield JSONFactory600.createCustomerLinkJson(updated)
@@ -5149,7 +5150,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
postJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[InvalidateCacheNamespaceJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[InvalidateCacheNamespaceJsonV600]
}
namespaceId = postJson.namespace_id
_ <- Helper.booleanToFuture(
@@ -5345,7 +5346,7 @@ object Http4s600 {
val user = cc.user.openOrThrowException(AuthenticatedUserIsRequired)
for {
postJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the PostGroupJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostGroupJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostGroupJsonV600]
}
_ <- Helper.booleanToFuture(s"$InvalidJsonFormat group_name cannot be empty", cc = Some(cc)) {
postJson.group_name.nonEmpty
@@ -5403,7 +5404,7 @@ object Http4s600 {
val user = cc.user.openOrThrowException(AuthenticatedUserIsRequired)
for {
putJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the PutGroupJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PutGroupJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PutGroupJsonV600]
}
existing <- Future(code.group.GroupTrait.group.vend.getGroup(groupId))
.map(x => unboxFullOrFail(x, Some(cc), s"$UnknownError Group not found", 404))
@@ -5469,7 +5470,7 @@ object Http4s600 {
val user = cc.user.openOrThrowException(AuthenticatedUserIsRequired)
for {
createJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[CreateAbacRuleJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[CreateAbacRuleJsonV600]
}
_ <- Helper.booleanToFuture("Rule name must not be empty", cc = Some(cc)) { createJson.rule_name.nonEmpty }
_ <- Helper.booleanToFuture("Rule code must not be empty", cc = Some(cc)) { createJson.rule_code.nonEmpty }
@@ -5523,7 +5524,7 @@ object Http4s600 {
val user = cc.user.openOrThrowException(AuthenticatedUserIsRequired)
for {
updateJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[UpdateAbacRuleJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[UpdateAbacRuleJsonV600]
}
_ <- AbacRuleEngine.validateRuleCodeAsync(updateJson.rule_code)
.map(unboxFullOrFail(_, Some(cc), "Invalid ABAC rule code", 400))
@@ -5568,7 +5569,7 @@ object Http4s600 {
val user = cc.user.openOrThrowException(AuthenticatedUserIsRequired)
for {
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the UserAttributeJsonV510", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[UserAttributeJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[UserAttributeJsonV510]
}
userAttributeType <- NewStyle.function.tryons(personalDataTypeErrorMsg, 400, Some(cc)) {
UserAttributeType.withName(postedData.`type`)
@@ -5612,7 +5613,7 @@ object Http4s600 {
val user = cc.user.openOrThrowException(AuthenticatedUserIsRequired)
for {
postedData <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the UserAttributeJsonV510", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[UserAttributeJsonV510]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[UserAttributeJsonV510]
}
userAttributeType <- NewStyle.function.tryons(personalDataTypeErrorMsg, 400, Some(cc)) {
UserAttributeType.withName(postedData.`type`)
@@ -5664,7 +5665,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
postJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the CallLimitPostJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[CallLimitPostJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[CallLimitPostJsonV600]
}
_ <- NewStyle.function.getConsumerByConsumerId(consumerId, Some(cc))
rateLimitingBox <- RateLimitingDI.rateLimiting.vend.createConsumerCallLimits(
@@ -5686,7 +5687,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
postJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the CallLimitPostJsonV400", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[CallLimitPostJsonV400]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[CallLimitPostJsonV400]
}
_ <- NewStyle.function.getConsumerByConsumerId(consumerId, Some(cc))
_ <- RateLimitingDI.rateLimiting.vend.updateConsumerCallLimits(
@@ -5756,7 +5757,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
postJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the PostFeaturedApiCollectionJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostFeaturedApiCollectionJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostFeaturedApiCollectionJsonV600]
}
(apiCollection, _) <- NewStyle.function.getApiCollectionById(postJson.api_collection_id, Some(cc))
_ <- Helper.booleanToFuture(s"$ApiCollectionNotFound The API Collection must be sharable to be featured.", cc = Some(cc)) {
@@ -5788,7 +5789,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
putJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the PutFeaturedApiCollectionJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PutFeaturedApiCollectionJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PutFeaturedApiCollectionJsonV600]
}
(updated, _) <- NewStyle.function.updateFeaturedApiCollection(
apiCollectionId, putJson.sort_order, Some(cc))
@@ -5822,7 +5823,7 @@ object Http4s600 {
val bank = cc.bank.get
for {
postJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the PostPutApiProductJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostPutApiProductJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostPutApiProductJsonV600]
}
(apiProduct, _) <- NewStyle.function.createOrUpdateApiProduct(
bank.bankId.value, apiProductCode,
@@ -5850,7 +5851,7 @@ object Http4s600 {
val bank = cc.bank.get
for {
postJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the PostPutApiProductJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[PostPutApiProductJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[PostPutApiProductJsonV600]
}
(apiProduct, _) <- NewStyle.function.createOrUpdateApiProduct(
bank.bankId.value, apiProductCode,
@@ -5915,7 +5916,7 @@ object Http4s600 {
for {
_ <- NewStyle.function.getApiProductByBankIdAndCode(bank.bankId.value, apiProductCode, Some(cc))
postJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the ApiProductAttributeJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[ApiProductAttributeJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[ApiProductAttributeJsonV600]
}
(attribute, _) <- NewStyle.function.createOrUpdateApiProductAttribute(
bank.bankId.value, apiProductCode, None,
@@ -5934,7 +5935,7 @@ object Http4s600 {
for {
_ <- NewStyle.function.getApiProductByBankIdAndCode(bank.bankId.value, apiProductCode, Some(cc))
postJson <- NewStyle.function.tryons(s"$InvalidJsonFormat The Json body should be the ApiProductAttributeJsonV600", 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[ApiProductAttributeJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[ApiProductAttributeJsonV600]
}
(attribute, _) <- NewStyle.function.createOrUpdateApiProductAttribute(
bank.bankId.value, apiProductCode, Some(apiProductAttributeId),
@@ -5987,7 +5988,7 @@ object Http4s600 {
val account = cc.bankAccount.get
for {
createJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[CreateMandateJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[CreateMandateJsonV600]
}
validFrom <- parseMandateDate(createJson.valid_from, "valid_from", cc)
validTo <- parseMandateDate(createJson.valid_to, "valid_to", cc)
@@ -6034,7 +6035,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
updateJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[UpdateMandateJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[UpdateMandateJsonV600]
}
validFrom <- parseMandateDate(updateJson.valid_from, "valid_from", cc)
validTo <- parseMandateDate(updateJson.valid_to, "valid_to", cc)
@@ -6062,7 +6063,7 @@ object Http4s600 {
// Provision serializer — match Lift exactly.
private def serializeSignatoryRequirements(any: Any): String = {
- net.liftweb.json.Serialization.write(any.asInstanceOf[AnyRef])(net.liftweb.json.DefaultFormats)
+ org.json4s.native.Serialization.write(any.asInstanceOf[AnyRef])(org.json4s.DefaultFormats)
}
// Route: POST /obp/v6.0.0/banks/BANK_ID/mandates/MANDATE_ID/provisions (201)
@@ -6073,7 +6074,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
createJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[CreateMandateProvisionJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[CreateMandateProvisionJsonV600]
}
sigReqJson = serializeSignatoryRequirements(createJson.signatory_requirements)
(provision, _) <- BankConnector.connector.vend.createMandateProvision(
@@ -6121,7 +6122,7 @@ object Http4s600 {
val rawBody = cc.httpBody.getOrElse("")
for {
updateJson <- NewStyle.function.tryons(InvalidJsonFormat, 400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[UpdateMandateProvisionJsonV600]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[UpdateMandateProvisionJsonV600]
}
sigReqJson = serializeSignatoryRequirements(updateJson.signatory_requirements)
(provision, _) <- BankConnector.connector.vend.updateMandateProvision(
@@ -6472,7 +6473,7 @@ object Http4s600 {
user_id = "user-456",
bank_id = None,
has_personal_entity = true,
- schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject],
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[org.json4s.JsonAST.JObject],
_links = Some(DynamicEntityLinksJsonV600(
related = List(
RelatedLinkJsonV600("personal-list", s"/obp/${ApiVersion.`dynamic-entity`}/my/customer_preferences", "GET"),
@@ -6514,7 +6515,7 @@ object Http4s600 {
user_id = "user-456",
bank_id = None,
has_personal_entity = true,
- schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject],
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[org.json4s.JsonAST.JObject],
record_count = 42
)
)
@@ -6548,7 +6549,7 @@ object Http4s600 {
user_id = "user-456",
bank_id = Some("gh.29.uk"),
has_personal_entity = true,
- schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject],
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[org.json4s.JsonAST.JObject],
record_count = 42
)
)
@@ -6804,7 +6805,7 @@ object Http4s600 {
has_public_access = Some(false),
has_community_access = Some(false),
personal_requires_role = Some(false),
- schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "internal_note": {"type": "string", "example": "set by a privileged service", "description": "Field-level write-restricted (write_role_required)", "write_role_required": true}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "internal_note": {"type": "string", "example": "set by a privileged service", "description": "Field-level write-restricted (writeRoleRequired)", "write_role_required": true}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
),
DynamicEntityDefinitionJsonV600(
dynamic_entity_id = "abc-123-def",
@@ -6815,7 +6816,7 @@ object Http4s600 {
has_public_access = false,
has_community_access = false,
personal_requires_role = false,
- schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "internal_note": {"type": "string", "example": "set by a privileged service", "description": "Field-level write-restricted (write_role_required)", "write_role_required": true}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "internal_note": {"type": "string", "example": "set by a privileged service", "description": "Field-level write-restricted (writeRoleRequired)", "write_role_required": true}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
),
List($AuthenticatedUserIsRequired, UserHasMissingRoles, InvalidJsonFormat, UnknownError),
apiTagManageDynamicEntity :: apiTagApi :: Nil,
@@ -6869,7 +6870,7 @@ object Http4s600 {
has_public_access = Some(false),
has_community_access = Some(false),
personal_requires_role = Some(false),
- schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "internal_note": {"type": "string", "example": "set by a privileged service", "description": "Field-level write-restricted (write_role_required)", "write_role_required": true}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "internal_note": {"type": "string", "example": "set by a privileged service", "description": "Field-level write-restricted (writeRoleRequired)", "write_role_required": true}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
),
DynamicEntityDefinitionJsonV600(
dynamic_entity_id = "abc-123-def",
@@ -6880,7 +6881,7 @@ object Http4s600 {
has_public_access = false,
has_community_access = false,
personal_requires_role = false,
- schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "internal_note": {"type": "string", "example": "set by a privileged service", "description": "Field-level write-restricted (write_role_required)", "write_role_required": true}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "internal_note": {"type": "string", "example": "set by a privileged service", "description": "Field-level write-restricted (writeRoleRequired)", "write_role_required": true}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
),
List(
$BankNotFound,
@@ -6937,7 +6938,7 @@ object Http4s600 {
entity_name = "customer_preferences",
has_personal_entity = Some(true),
has_public_access = Some(false),
- schema = net.liftweb.json.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
),
DynamicEntityDefinitionJsonV600(
dynamic_entity_id = "abc-123-def",
@@ -6946,7 +6947,7 @@ object Http4s600 {
bank_id = None,
has_personal_entity = true,
has_public_access = false,
- schema = net.liftweb.json.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
),
List($AuthenticatedUserIsRequired, UserHasMissingRoles, InvalidJsonFormat, UnknownError),
apiTagManageDynamicEntity :: apiTagApi :: Nil,
@@ -6996,7 +6997,7 @@ object Http4s600 {
entity_name = "customer_preferences",
has_personal_entity = Some(true),
has_public_access = Some(false),
- schema = net.liftweb.json.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
),
DynamicEntityDefinitionJsonV600(
dynamic_entity_id = "abc-123-def",
@@ -7005,7 +7006,7 @@ object Http4s600 {
bank_id = Some("gh.29.uk"),
has_personal_entity = true,
has_public_access = false,
- schema = net.liftweb.json.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
),
List(
$BankNotFound,
@@ -7061,7 +7062,7 @@ object Http4s600 {
entity_name = "customer_preferences",
has_personal_entity = Some(true),
has_public_access = Some(false),
- schema = net.liftweb.json.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
),
DynamicEntityDefinitionJsonV600(
dynamic_entity_id = "abc-123-def",
@@ -7070,7 +7071,7 @@ object Http4s600 {
bank_id = None,
has_personal_entity = true,
has_public_access = false,
- schema = net.liftweb.json.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences updated", "required": ["theme"], "properties": {"theme": {"type": "string", "minLength": 1, "maxLength": 20, "example": "dark", "description": "The UI theme preference"}, "language": {"type": "string", "minLength": 2, "maxLength": 5, "example": "en", "description": "ISO language code"}, "notifications_enabled": {"type": "boolean", "example": "true", "description": "Whether to send notifications"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
),
List(
$AuthenticatedUserIsRequired,
@@ -9248,7 +9249,7 @@ object Http4s600 {
user_id = "user-456",
bank_id = None,
has_personal_entity = true,
- schema = net.liftweb.json.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject],
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "User preferences", "required": ["theme"], "properties": {"theme": {"type": "string"}, "language": {"type": "string"}}}""").asInstanceOf[org.json4s.JsonAST.JObject],
_links = Some(DynamicEntityLinksJsonV600(
related = List(
RelatedLinkJsonV600("personal-list", s"/obp/${ApiVersion.`dynamic-entity`}/my/customer_preferences", "GET"),
@@ -12794,7 +12795,7 @@ object Http4s600 {
user_id = "user-456",
bank_id = None,
has_personal_entity = false,
- schema = net.liftweb.json.parse("""{"description": "Backup entity", "required": ["name"], "properties": {"name": {"type": "string", "example": "test"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "Backup entity", "required": ["name"], "properties": {"name": {"type": "string", "example": "test"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
),
List($AuthenticatedUserIsRequired, UserHasMissingRoles, UnknownError),
apiTagManageDynamicEntity :: apiTagApi :: Nil,
@@ -12827,7 +12828,7 @@ object Http4s600 {
user_id = "user-456",
bank_id = Some("gh.29.uk"),
has_personal_entity = false,
- schema = net.liftweb.json.parse("""{"description": "Backup entity", "required": ["name"], "properties": {"name": {"type": "string", "example": "test"}}}""").asInstanceOf[net.liftweb.json.JsonAST.JObject]
+ schema = com.openbankproject.commons.util.JsonAliases.parse("""{"description": "Backup entity", "required": ["name"], "properties": {"name": {"type": "string", "example": "test"}}}""").asInstanceOf[org.json4s.JsonAST.JObject]
),
List($AuthenticatedUserIsRequired, UserHasMissingRoles, UnknownError),
apiTagManageDynamicEntity :: apiTagApi :: Nil,
diff --git a/obp-api/src/main/scala/code/api/v6_0_0/JSONFactory6.0.0.scala b/obp-api/src/main/scala/code/api/v6_0_0/JSONFactory6.0.0.scala
index 37e80362ea..8f23aedf25 100644
--- a/obp-api/src/main/scala/code/api/v6_0_0/JSONFactory6.0.0.scala
+++ b/obp-api/src/main/scala/code/api/v6_0_0/JSONFactory6.0.0.scala
@@ -51,6 +51,8 @@ import com.openbankproject.commons.util.ApiVersion
import net.liftweb.common.Box
import java.util.Date
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
case class FeaturesJsonV600(
allow_public_views: Boolean,
@@ -445,7 +447,7 @@ case class MetricJsonV600(
duration: Long,
source_ip: String,
target_ip: String,
- response_body: net.liftweb.json.JValue,
+ response_body: org.json4s.JValue,
status_code: Int,
operation_id: String,
api_instance_id: String,
@@ -951,7 +953,7 @@ case class DynamicEntityDefinitionJsonV600(
has_public_access: Boolean = false,
has_community_access: Boolean = false,
personal_requires_role: Boolean = false,
- schema: net.liftweb.json.JsonAST.JObject,
+ schema: org.json4s.JsonAST.JObject,
_links: Option[DynamicEntityLinksJsonV600] = None
)
@@ -969,7 +971,7 @@ case class DynamicEntityDefinitionWithCountJsonV600(
has_public_access: Boolean = false,
has_community_access: Boolean = false,
personal_requires_role: Boolean = false,
- schema: net.liftweb.json.JsonAST.JObject,
+ schema: org.json4s.JsonAST.JObject,
record_count: Long,
_links: Option[DynamicEntityLinksJsonV600] = None
)
@@ -985,7 +987,7 @@ case class CreateDynamicEntityRequestJsonV600(
has_public_access: Option[Boolean] = None, // defaults to false if not provided
has_community_access: Option[Boolean] = None, // defaults to false if not provided
personal_requires_role: Option[Boolean] = None, // defaults to false if not provided
- schema: net.liftweb.json.JsonAST.JObject
+ schema: org.json4s.JsonAST.JObject
)
// Request format for updating a dynamic entity (v6.0.0 with snake_case)
@@ -995,7 +997,7 @@ case class UpdateDynamicEntityRequestJsonV600(
has_public_access: Option[Boolean] = None,
has_community_access: Option[Boolean] = None,
personal_requires_role: Option[Boolean] = None,
- schema: net.liftweb.json.JsonAST.JObject
+ schema: org.json4s.JsonAST.JObject
)
// Featured API Collections (v6.0.0)
@@ -1142,7 +1144,7 @@ case class ConfigPropJsonV600(name: String, value: String)
// Signal Channels case classes (Redis-backed ephemeral messaging channels)
case class PostSignalMessageJsonV600(
- payload: net.liftweb.json.JsonAST.JValue,
+ payload: org.json4s.JsonAST.JValue,
message_type: Option[String] = None,
to_user_id: Option[String] = None
)
@@ -1155,7 +1157,7 @@ case class SignalMessageJsonV600(
to_user_id: Option[String],
timestamp: String,
message_type: String,
- payload: net.liftweb.json.JsonAST.JValue
+ payload: org.json4s.JsonAST.JValue
)
case class SignalMessagesJsonV600(
@@ -1685,7 +1687,7 @@ object JSONFactory600 extends CustomJsonFormats with MdcLoggable {
duration = metric.getDuration(),
source_ip = metric.getSourceIp(),
target_ip = metric.getTargetIp(),
- response_body = net.liftweb.json.parseOpt(metric.getResponseBody()).getOrElse(net.liftweb.json.JString("Not enabled")),
+ response_body = com.openbankproject.commons.util.JsonAliases.parseOpt(metric.getResponseBody()).getOrElse(org.json4s.JString("Not enabled")),
status_code = metric.getHttpCode(),
operation_id = operationId,
api_instance_id = metric.getApiInstanceId(),
@@ -2166,9 +2168,10 @@ object JSONFactory600 extends CustomJsonFormats with MdcLoggable {
if (json == null || json.isEmpty) Nil
else {
try {
- import net.liftweb.json._
+ import org.json4s._
+ import com.openbankproject.commons.util.JsonAliases._
implicit val formats: Formats = DefaultFormats
- net.liftweb.json.parse(json).extract[List[SignatoryRequirementJsonV600]]
+ com.openbankproject.commons.util.JsonAliases.parse(json).extract[List[SignatoryRequirementJsonV600]]
} catch {
case _: Exception => Nil
}
@@ -2527,8 +2530,7 @@ object JSONFactory600 extends CustomJsonFormats with MdcLoggable {
}
def createMyDynamicEntitiesJson(dynamicEntities: List[code.dynamicEntity.DynamicEntityCommons]): MyDynamicEntitiesJsonV600 = {
- import net.liftweb.json.JsonAST._
- import net.liftweb.json.parse
+ import com.openbankproject.commons.util.JsonAliases.parse
import net.liftweb.util.StringHelpers
MyDynamicEntitiesJsonV600(
@@ -2575,8 +2577,7 @@ object JSONFactory600 extends CustomJsonFormats with MdcLoggable {
def createDynamicEntitiesWithCountJson(
entitiesWithCounts: List[(code.dynamicEntity.DynamicEntityCommons, Long)]
): DynamicEntitiesWithCountJsonV600 = {
- import net.liftweb.json.JsonAST._
- import net.liftweb.json.parse
+ import com.openbankproject.commons.util.JsonAliases.parse
DynamicEntitiesWithCountJsonV600(
dynamic_entities = entitiesWithCounts.map { case (entity, recordCount) =>
@@ -2633,9 +2634,8 @@ object JSONFactory600 extends CustomJsonFormats with MdcLoggable {
* "hasPersonalEntity": true
* }
*/
- def convertV600RequestToInternal(request: CreateDynamicEntityRequestJsonV600): net.liftweb.json.JsonAST.JObject = {
- import net.liftweb.json.JsonAST._
- import net.liftweb.json.JsonDSL._
+ def convertV600RequestToInternal(request: CreateDynamicEntityRequestJsonV600): org.json4s.JsonAST.JObject = {
+ import org.json4s.JsonDSL._
val hasPersonalEntity = request.has_personal_entity.getOrElse(true)
val hasPublicAccess = request.has_public_access.getOrElse(false)
@@ -2653,9 +2653,8 @@ object JSONFactory600 extends CustomJsonFormats with MdcLoggable {
)
}
- def convertV600UpdateRequestToInternal(request: UpdateDynamicEntityRequestJsonV600): net.liftweb.json.JsonAST.JObject = {
- import net.liftweb.json.JsonAST._
- import net.liftweb.json.JsonDSL._
+ def convertV600UpdateRequestToInternal(request: UpdateDynamicEntityRequestJsonV600): org.json4s.JsonAST.JObject = {
+ import org.json4s.JsonDSL._
val hasPersonalEntity = request.has_personal_entity.getOrElse(true)
val hasPublicAccess = request.has_public_access.getOrElse(false)
diff --git a/obp-api/src/main/scala/code/api/v7_0_0/Http4s700.scala b/obp-api/src/main/scala/code/api/v7_0_0/Http4s700.scala
index 0e8e5b617f..82f317180e 100644
--- a/obp-api/src/main/scala/code/api/v7_0_0/Http4s700.scala
+++ b/obp-api/src/main/scala/code/api/v7_0_0/Http4s700.scala
@@ -1,5 +1,6 @@
package code.api.v7_0_0
+import org.json4s._
import cats.data.{Kleisli, OptionT}
import cats.effect._
import code.api.Constant
@@ -46,8 +47,8 @@ import code.loginattempts.LoginAttempt
import code.metrics.MappedMetric
import code.users.UserAgreementProvider
import net.liftweb.common.Full
-import net.liftweb.json.JsonAST.prettyRender
-import net.liftweb.json.{Extraction, Formats}
+import com.openbankproject.commons.util.JsonAliases.prettyRender
+import org.json4s.{Extraction, Formats}
import net.liftweb.mapper.{By, Descending, MaxRows, OrderBy}
import org.http4s._
import org.http4s.dsl.io._
@@ -1869,7 +1870,7 @@ object Http4s700 {
posted <- NewStyle.function.tryons(
s"$InvalidJsonFormat The Json body should be the ${classOf[JSONFactory700.PostValidationEmailRequestJsonV700].getSimpleName}",
400, Some(cc)) {
- net.liftweb.json.parse(rawBody).extract[JSONFactory700.PostValidationEmailRequestJsonV700]
+ com.openbankproject.commons.util.JsonAliases.parse(rawBody).extract[JSONFactory700.PostValidationEmailRequestJsonV700]
}
} yield {
val username = Option(posted.username).map(_.trim).getOrElse("")
diff --git a/obp-api/src/main/scala/code/authtypevalidation/AuthenticationTypeValidationProvider.scala b/obp-api/src/main/scala/code/authtypevalidation/AuthenticationTypeValidationProvider.scala
index 97db3f8e08..1a6060fa42 100644
--- a/obp-api/src/main/scala/code/authtypevalidation/AuthenticationTypeValidationProvider.scala
+++ b/obp-api/src/main/scala/code/authtypevalidation/AuthenticationTypeValidationProvider.scala
@@ -2,12 +2,13 @@ package code.authtypevalidation
/* For CardAttribute */
+import org.json4s._
import code.api.util.AuthenticationType
import com.openbankproject.commons.util.JsonAble
import net.liftweb.common.Box
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json
-import net.liftweb.json.{Formats, JsonAST}
+import org.json4s.JsonDSL._
+import com.openbankproject.commons.util.json
+import org.json4s.{Formats, JsonAST}
import net.liftweb.util.SimpleInjector
import org.apache.commons.lang3.StringUtils
diff --git a/obp-api/src/main/scala/code/bankconnectors/Connector.scala b/obp-api/src/main/scala/code/bankconnectors/Connector.scala
index f97b871f80..68c06963a9 100644
--- a/obp-api/src/main/scala/code/bankconnectors/Connector.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/Connector.scala
@@ -1,5 +1,6 @@
package code.bankconnectors
+import org.json4s._
import scala.language.implicitConversions
import org.apache.pekko.http.scaladsl.model.HttpMethod
import code.api.attributedefinition.AttributeDefinition
@@ -29,8 +30,8 @@ import com.openbankproject.commons.model.enums.StrongCustomerAuthenticationStatu
import com.openbankproject.commons.model.enums._
import com.openbankproject.commons.util.{JsonUtils, ReflectUtils}
import net.liftweb.common._
-import net.liftweb.json
-import net.liftweb.json.{Formats, JObject, JValue}
+import com.openbankproject.commons.util.json
+import org.json4s.{Formats, JObject, JValue}
import net.liftweb.util.Helpers.tryo
import net.liftweb.util.SimpleInjector
diff --git a/obp-api/src/main/scala/code/bankconnectors/ConnectorEndpoints.scala b/obp-api/src/main/scala/code/bankconnectors/ConnectorEndpoints.scala
index 631749c4f5..8c7e04c642 100644
--- a/obp-api/src/main/scala/code/bankconnectors/ConnectorEndpoints.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/ConnectorEndpoints.scala
@@ -1,5 +1,6 @@
package code.bankconnectors
+import org.json4s._
import code.api.APIFailureNewStyle
import code.api.util.APIUtil._
import code.api.util.NewStyle.HttpCode
@@ -12,8 +13,8 @@ import com.openbankproject.commons.util.ReflectUtils
import com.openbankproject.commons.util.ReflectUtils.{getType, toValueObject}
import net.liftweb.common.{Box, Empty, Failure, Full}
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.JValue
-import net.liftweb.json.JsonAST.JNothing
+import org.json4s.JValue
+import org.json4s.JsonAST.JNothing
import org.apache.commons.lang3.StringUtils
import scala.annotation.tailrec
diff --git a/obp-api/src/main/scala/code/bankconnectors/ConnectorUtils.scala b/obp-api/src/main/scala/code/bankconnectors/ConnectorUtils.scala
index 655bb190f0..f76260390b 100644
--- a/obp-api/src/main/scala/code/bankconnectors/ConnectorUtils.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/ConnectorUtils.scala
@@ -1,14 +1,15 @@
package code.bankconnectors
+import org.json4s._
import code.api.util.{CallContext, CustomJsonFormats, OBPQueryParam, OptionalFieldSerializer}
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.dto.{InBoundTrait, OutInBoundTransfer}
import com.openbankproject.commons.model.TopicTrait
import com.openbankproject.commons.util.ReflectUtils
import net.liftweb.common.Full
-import net.liftweb.json
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.{Formats, JObject, JValue}
+import com.openbankproject.commons.util.json
+import org.json4s.JsonDSL._
+import org.json4s.{Formats, JObject, JValue}
import net.sf.cglib.proxy.{Enhancer, MethodInterceptor, MethodProxy}
import org.apache.commons.lang3.StringUtils
import java.lang.reflect.Method
diff --git a/obp-api/src/main/scala/code/bankconnectors/InternalConnector.scala b/obp-api/src/main/scala/code/bankconnectors/InternalConnector.scala
index d5fac02b56..758f5b10ba 100644
--- a/obp-api/src/main/scala/code/bankconnectors/InternalConnector.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/InternalConnector.scala
@@ -1,5 +1,6 @@
package code.bankconnectors
+import org.json4s._
import code.api.util.DynamicUtil.compileScalaCode
import code.api.util.ErrorMessages.{DynamicCodeLangNotSupport, InvalidConnectorMethodName}
import net.liftweb.common.Full
@@ -84,7 +85,7 @@ object InternalConnector {
implicit val formats = code.api.util.CustomJsonFormats.formats
import scala.concurrent.duration._
val f: Future[Box[($t, Option[CallContext])]] =
- v.map(_.map(it =>(net.liftweb.json.parse(it._1).extract[$t], it._2)))(com.openbankproject.commons.ExecutionContext.Implicits.global)
+ v.map(_.map(it =>(com.openbankproject.commons.util.JsonAliases.parse(it._1).extract[$t], it._2)))(com.openbankproject.commons.ExecutionContext.Implicits.global)
val result: Box[($t, Option[CallContext])] = scala.concurrent.Await.result(f, 5 minutes)
result
}"""
@@ -94,7 +95,7 @@ object InternalConnector {
implicit val formats = code.api.util.CustomJsonFormats.formats
import scala.concurrent.duration._
val f: Future[Box[$t]] =
- v.map(_.map(it =>net.liftweb.json.parse(it._1).extract[$t]))(com.openbankproject.commons.ExecutionContext.Implicits.global)
+ v.map(_.map(it =>com.openbankproject.commons.util.JsonAliases.parse(it._1).extract[$t]))(com.openbankproject.commons.ExecutionContext.Implicits.global)
val result: Box[$t] = scala.concurrent.Await.result(f, 5 minutes)
result
}"""
@@ -103,7 +104,7 @@ object InternalConnector {
s"""(v: scala.concurrent.Future[net.liftweb.common.Box[(String, scala.Option[code.api.util.CallContext])]]) =>{
implicit val formats = code.api.util.CustomJsonFormats.formats
val result : Future[Box[($t, Option[CallContext])]] =
- v.map(_.map(it =>(net.liftweb.json.parse(it._1).extract[$t], it._2)))(com.openbankproject.commons.ExecutionContext.Implicits.global)
+ v.map(_.map(it =>(com.openbankproject.commons.util.JsonAliases.parse(it._1).extract[$t], it._2)))(com.openbankproject.commons.ExecutionContext.Implicits.global)
result
}"""
@@ -111,7 +112,7 @@ object InternalConnector {
s"""(v: scala.concurrent.Future[net.liftweb.common.Box[(String, scala.Option[code.api.util.CallContext])]]) =>{
implicit val formats = code.api.util.CustomJsonFormats.formats
val result : Future[Box[$t]] =
- v.map(_.map(it => net.liftweb.json.parse(it._1).extract[$t]))(com.openbankproject.commons.ExecutionContext.Implicits.global)
+ v.map(_.map(it => com.openbankproject.commons.util.JsonAliases.parse(it._1).extract[$t]))(com.openbankproject.commons.ExecutionContext.Implicits.global)
result
}"""
@@ -119,7 +120,7 @@ object InternalConnector {
s"""(v: scala.concurrent.Future[net.liftweb.common.Box[(String, scala.Option[code.api.util.CallContext])]]) =>{
implicit val formats = code.api.util.CustomJsonFormats.formats
val result : Future[$t] =
- v.map(_.map(it => net.liftweb.json.parse(it._1).extract[$t]).orNull)(com.openbankproject.commons.ExecutionContext.Implicits.global)
+ v.map(_.map(it => com.openbankproject.commons.util.JsonAliases.parse(it._1).extract[$t]).orNull)(com.openbankproject.commons.ExecutionContext.Implicits.global)
result
}"""
@@ -128,7 +129,7 @@ object InternalConnector {
implicit val formats = code.api.util.CustomJsonFormats.formats
val result : Future[(Box[$t], Option[CallContext])] = v.map { box =>
val net.liftweb.common.Full((zson , cc)) = box
- (Box !! net.liftweb.json.parse(zson).extract[$t]) -> cc
+ (Box !! com.openbankproject.commons.util.JsonAliases.parse(zson).extract[$t]) -> cc
}(com.openbankproject.commons.ExecutionContext.Implicits.global)
result
}"""
@@ -138,7 +139,7 @@ object InternalConnector {
implicit val formats = code.api.util.CustomJsonFormats.formats
val result : Future[($t, Option[CallContext])] = v.map { box =>
val net.liftweb.common.Full((zson , cc )) = box
- net.liftweb.json.parse(zson).extract[$t] -> cc
+ com.openbankproject.commons.util.JsonAliases.parse(zson).extract[$t] -> cc
}(com.openbankproject.commons.ExecutionContext.Implicits.global)
result
}"""
@@ -149,7 +150,7 @@ object InternalConnector {
import scala.concurrent.duration._
val f: Future[$t] = v.map { box =>
val net.liftweb.common.Full((zson , _ )) = box
- net.liftweb.json.parse(zson).extract[$t]
+ com.openbankproject.commons.util.JsonAliases.parse(zson).extract[$t]
}(com.openbankproject.commons.ExecutionContext.Implicits.global)
val result: $t = scala.concurrent.Await.result(f, 5 minutes)
diff --git a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala
index 486b72a370..1a51cc8c33 100644
--- a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala
@@ -1,5 +1,6 @@
package code.bankconnectors
+import org.json4s._
import _root_.org.apache.pekko.http.scaladsl.model.HttpMethod
import code.DynamicData.DynamicDataProvider
import code.accountapplication.AccountApplicationX
@@ -76,14 +77,15 @@ import com.twilio.Twilio
import com.twilio.`type`.PhoneNumber
import com.twilio.rest.api.v2010.account.Message
import net.liftweb.common._
-import net.liftweb.json
-import net.liftweb.json.{JArray, JBool, JObject, JValue}
+import com.openbankproject.commons.util.json
+import org.json4s.{JArray, JBool, JObject, JValue}
import net.liftweb.mapper._
import net.liftweb.util.Helpers
import net.liftweb.util.Helpers.{hours, now, time, tryo}
import org.mindrot.jbcrypt.BCrypt
-import scalikejdbc.DB.CPContext
-import scalikejdbc.{ConnectionPool, ConnectionPoolSettings, MultipleConnectionPoolContext, DB => scalikeDB, _}
+import doobie._
+import doobie.implicits._
+import code.api.util.DoobieUtil
import java.util.Date
import java.util.UUID.randomUUID
@@ -1215,25 +1217,7 @@ object LocalMappedConnector extends Connector with MdcLoggable {
}
}
- /**
- * this connection pool context corresponding db.url in default.props
- */
- implicit lazy val context: CPContext = {
- val settings = ConnectionPoolSettings(
- initialSize = 5,
- maxSize = 20,
- connectionTimeoutMillis = 3000L,
- validationQuery = "select 1",
- connectionPoolFactoryName = "commons-dbcp2"
- )
- val (dbUrl, user, password) = DBUtil.getDbConnectionParameters
- val dbName = "DB_NAME" // corresponding props db.url DB
- ConnectionPool.add(dbName, dbUrl, user, password, settings)
- val connectionPool = ConnectionPool.get(dbName)
- MultipleConnectionPoolContext(ConnectionPool.DEFAULT_NAME -> connectionPool)
- }
-
- private def findFirehoseAccounts(bankId: BankId, ordering: SQLSyntax, limit: Int, offset: Int)(implicit session: DBSession = AutoSession) = {
+ private def findFirehoseAccounts(bankId: BankId, ordering: String, limit: Int, offset: Int): List[FastFirehoseAccount] = {
def parseOwners(owners: String): List[FastFirehoseOwners] = {
if(!owners.isEmpty) {
transformString(owners).map {
@@ -1288,89 +1272,85 @@ object LocalMappedConnector extends Connector with MdcLoggable {
maps
}
- val sqlResult = sql"""
- |select
- | mappedbankaccount.theaccountid as account_id,
- | mappedbankaccount.bank as bank_id,
- | mappedbankaccount.accountlabel as account_label,
- | mappedbankaccount.accountnumber as account_number,
- | (select
- | string_agg(
- | 'user_id:'
- | || resourceuser.userid_
- | ||',provider:'
- | ||resourceuser.provider_
- | ||',user_name:'
- | ||resourceuser.name_,
- | '::') as owners
- | from resourceuser
- | where
- | resourceuser.id = mapperaccountholders.user_c
- | ),
- | mappedbankaccount.kind as kind,
- | mappedbankaccount.accountcurrency as account_currency ,
- | mappedbankaccount.accountbalance as account_balance,
- | (select
- | string_agg(
- | 'bank_id:'
- | ||bankaccountrouting.bankid
- | ||',account_id:'
- | ||bankaccountrouting.accountid,
- | '::'
- | ) as account_routings
- | from bankaccountrouting
- | where
- | bankaccountrouting.accountid = mappedbankaccount.theaccountid
- | ),
- | (select
- | string_agg(
- | 'type:'
- | || mappedaccountattribute.mtype
- | ||',code:'
- | ||mappedaccountattribute.mcode
- | ||',value:'
- | ||mappedaccountattribute.mvalue,
- | '::') as account_attributes
- | from mappedaccountattribute
- | where
- | mappedaccountattribute.maccountid = mappedbankaccount.theaccountid
- | )
- |from mappedbankaccount
- | LEFT JOIN mapperaccountholders
- | ON (mappedbankaccount.bank = mapperaccountholders.accountbankpermalink and mappedbankaccount.theaccountid = mapperaccountholders.accountpermalink)
- |WHERE mappedbankaccount.bank = ${bankId.value}
- |ORDER BY mappedbankaccount.theaccountid $ordering
- |LIMIT $limit
- |OFFSET $offset ;
- |
- |
- |""".stripMargin
- .map {
- rs => // Map result to case class
- val owners = parseOwners(rs.stringOpt(5).map(_.toString).getOrElse(""))
- val routings = parseRoutings(rs.stringOpt(9).map(_.toString).getOrElse(""))
- val attributes = parseAttributes(rs.stringOpt(10).map(_.toString).getOrElse(""))
- FastFirehoseAccount(
- id = rs.stringOpt(1).map(_.toString).getOrElse(null),
- bankId = rs.stringOpt(2).map(_.toString).getOrElse(null),
- label = rs.stringOpt(3).map(_.toString).getOrElse(null),
- number = rs.stringOpt(4).map(_.toString).getOrElse(null),
- owners = owners,
- productCode = rs.stringOpt(6).map(_.toString).getOrElse(null),
- balance = AmountOfMoney(
- currency = rs.stringOpt(7).map(_.toString).getOrElse(null),
- amount = rs.bigIntOpt(8).map(a =>
- Helper.smallestCurrencyUnitToBigDecimal(
- a.longValue(),
- rs.stringOpt(7).getOrElse("EUR")
- ).toString()
- ).getOrElse(null)
+ val query = (fr"""
+ select
+ mappedbankaccount.theaccountid as account_id,
+ mappedbankaccount.bank as bank_id,
+ mappedbankaccount.accountlabel as account_label,
+ mappedbankaccount.accountnumber as account_number,
+ (select
+ string_agg(
+ 'user_id:'
+ || resourceuser.userid_
+ ||',provider:'
+ ||resourceuser.provider_
+ ||',user_name:'
+ ||resourceuser.name_,
+ '::') as owners
+ from resourceuser
+ where
+ resourceuser.id = mapperaccountholders.user_c
+ ),
+ mappedbankaccount.kind as kind,
+ mappedbankaccount.accountcurrency as account_currency ,
+ mappedbankaccount.accountbalance as account_balance,
+ (select
+ string_agg(
+ 'bank_id:'
+ ||bankaccountrouting.bankid
+ ||',account_id:'
+ ||bankaccountrouting.accountid,
+ '::'
+ ) as account_routings
+ from bankaccountrouting
+ where
+ bankaccountrouting.accountid = mappedbankaccount.theaccountid
),
- accountRoutings = routings,
- accountAttributes = attributes
- )
- }.list().apply()
- sqlResult
+ (select
+ string_agg(
+ 'type:'
+ || mappedaccountattribute.mtype
+ ||',code:'
+ ||mappedaccountattribute.mcode
+ ||',value:'
+ ||mappedaccountattribute.mvalue,
+ '::') as account_attributes
+ from mappedaccountattribute
+ where
+ mappedaccountattribute.maccountid = mappedbankaccount.theaccountid
+ )
+ from mappedbankaccount
+ LEFT JOIN mapperaccountholders
+ ON (mappedbankaccount.bank = mapperaccountholders.accountbankpermalink and mappedbankaccount.theaccountid = mapperaccountholders.accountpermalink)
+ WHERE mappedbankaccount.bank = ${bankId.value}
+ ORDER BY mappedbankaccount.theaccountid """ ++ Fragment.const(ordering) ++ fr"""
+ LIMIT $limit
+ OFFSET $offset
+ """)
+ .query[(Option[String], Option[String], Option[String], Option[String], Option[String], Option[String], Option[String], Option[java.math.BigDecimal], Option[String], Option[String])]
+ .to[List]
+ .map(_.map { case (id, bankIdCol, label, number, owners, kind, currency, balance, routings, attributes) =>
+ FastFirehoseAccount(
+ id = id.orNull,
+ bankId = bankIdCol.orNull,
+ label = label.orNull,
+ number = number.orNull,
+ owners = parseOwners(owners.getOrElse("")),
+ productCode = kind.orNull,
+ balance = AmountOfMoney(
+ currency = currency.orNull,
+ amount = balance.map(a =>
+ Helper.smallestCurrencyUnitToBigDecimal(
+ a.longValue(),
+ currency.getOrElse("EUR")
+ ).toString()
+ ).orNull
+ ),
+ accountRoutings = parseRoutings(routings.getOrElse("")),
+ accountAttributes = parseAttributes(attributes.getOrElse(""))
+ )
+ })
+ DoobieUtil.runQuery(query)
}
override def getBankAccountsWithAttributes(bankId: BankId, queryParams: List[OBPQueryParam], callContext: Option[CallContext]): OBPReturnType[Box[List[FastFirehoseAccount]]] =
@@ -1381,17 +1361,13 @@ object LocalMappedConnector extends Connector with MdcLoggable {
case OBPOrdering(_, OBPDescending) => "DESC"
}.headOption.getOrElse("ASC")
- val ordering: SQLSyntax = if (orderBy =="DESC" ) sqls"DESC" else sqls"ASC"
+ val ordering: String = if (orderBy == "DESC") "DESC" else "ASC"
- val firehoseAccounts = {
- scalikeDB readOnly { implicit session =>
- findFirehoseAccounts(bankId, ordering, limit, offset)
- }
- }
+ val firehoseAccounts = findFirehoseAccounts(bankId, ordering, limit, offset)
(Full(firehoseAccounts), callContext)
}
- private def findAccountDirectory(bankId: BankId, ordering: SQLSyntax, limit: Int, offset: Int)(implicit session: DBSession = AutoSession) = {
+ private def findAccountDirectory(bankId: BankId, ordering: String, limit: Int, offset: Int): List[AccountDirectoryItem] = {
def parseRoutings(routings: String): List[AccountRouting] = {
if(!routings.isEmpty) {
transformStringDirectory(routings).map {
@@ -1432,64 +1408,61 @@ object LocalMappedConnector extends Connector with MdcLoggable {
maps
}
- val sqlResult = sql"""
- |select
- | mappedbankaccount.theaccountid as account_id,
- | mappedbankaccount.bank as bank_id,
- | mappedbankaccount.accountlabel as account_label,
- | mappedbankaccount.accountnumber as account_number,
- | mappedbankaccount.kind as kind,
- | mappedbankaccount.mbranchid as branch_id,
- | (select
- | string_agg(
- | 'scheme:'
- | ||bankaccountrouting.accountroutingscheme
- | ||',address:'
- | ||bankaccountrouting.accountroutingaddress,
- | '::'
- | ) as account_routings
- | from bankaccountrouting
- | where
- | bankaccountrouting.accountid = mappedbankaccount.theaccountid
- | and bankaccountrouting.bankid = mappedbankaccount.bank
- | ),
- | (select
- | string_agg(
- | 'type:'
- | || mappedaccountattribute.mtype
- | ||',code:'
- | ||mappedaccountattribute.mcode
- | ||',value:'
- | ||mappedaccountattribute.mvalue,
- | '::') as account_attributes
- | from mappedaccountattribute
- | where
- | mappedaccountattribute.maccountid = mappedbankaccount.theaccountid
- | )
- |from mappedbankaccount
- |WHERE mappedbankaccount.bank = ${bankId.value}
- |ORDER BY mappedbankaccount.theaccountid $ordering
- |LIMIT $limit
- |OFFSET $offset ;
- |
- |
- |""".stripMargin
- .map {
- rs =>
- val routings = parseRoutings(rs.stringOpt(7).map(_.toString).getOrElse(""))
- val attributes = parseAttributes(rs.stringOpt(8).map(_.toString).getOrElse(""))
- AccountDirectoryItem(
- id = rs.stringOpt(1).map(_.toString).getOrElse(null),
- bankId = rs.stringOpt(2).map(_.toString).getOrElse(null),
- label = rs.stringOpt(3).map(_.toString).getOrElse(null),
- number = rs.stringOpt(4).map(_.toString).getOrElse(null),
- productCode = rs.stringOpt(5).map(_.toString).getOrElse(null),
- branchId = rs.stringOpt(6).map(_.toString).getOrElse(null),
- accountRoutings = routings,
- accountAttributes = attributes
- )
- }.list().apply()
- sqlResult
+ val query = (fr"""
+ select
+ mappedbankaccount.theaccountid as account_id,
+ mappedbankaccount.bank as bank_id,
+ mappedbankaccount.accountlabel as account_label,
+ mappedbankaccount.accountnumber as account_number,
+ mappedbankaccount.kind as kind,
+ mappedbankaccount.mbranchid as branch_id,
+ (select
+ string_agg(
+ 'scheme:'
+ ||bankaccountrouting.accountroutingscheme
+ ||',address:'
+ ||bankaccountrouting.accountroutingaddress,
+ '::'
+ ) as account_routings
+ from bankaccountrouting
+ where
+ bankaccountrouting.accountid = mappedbankaccount.theaccountid
+ and bankaccountrouting.bankid = mappedbankaccount.bank
+ ),
+ (select
+ string_agg(
+ 'type:'
+ || mappedaccountattribute.mtype
+ ||',code:'
+ ||mappedaccountattribute.mcode
+ ||',value:'
+ ||mappedaccountattribute.mvalue,
+ '::') as account_attributes
+ from mappedaccountattribute
+ where
+ mappedaccountattribute.maccountid = mappedbankaccount.theaccountid
+ )
+ from mappedbankaccount
+ WHERE mappedbankaccount.bank = ${bankId.value}
+ ORDER BY mappedbankaccount.theaccountid """ ++ Fragment.const(ordering) ++ fr"""
+ LIMIT $limit
+ OFFSET $offset
+ """)
+ .query[(Option[String], Option[String], Option[String], Option[String], Option[String], Option[String], Option[String], Option[String])]
+ .to[List]
+ .map(_.map { case (id, bankIdCol, label, number, kind, branchId, routings, attributes) =>
+ AccountDirectoryItem(
+ id = id.orNull,
+ bankId = bankIdCol.orNull,
+ label = label.orNull,
+ number = number.orNull,
+ productCode = kind.orNull,
+ branchId = branchId.orNull,
+ accountRoutings = parseRoutings(routings.getOrElse("")),
+ accountAttributes = parseAttributes(attributes.getOrElse(""))
+ )
+ })
+ DoobieUtil.runQuery(query)
}
override def getAccountDirectory(bankId: BankId, queryParams: List[OBPQueryParam], callContext: Option[CallContext]): OBPReturnType[Box[List[AccountDirectoryItem]]] =
@@ -1500,13 +1473,9 @@ object LocalMappedConnector extends Connector with MdcLoggable {
case OBPOrdering(_, OBPDescending) => "DESC"
}.headOption.getOrElse("ASC")
- val ordering: SQLSyntax = if (orderBy == "DESC") sqls"DESC" else sqls"ASC"
+ val ordering: String = if (orderBy == "DESC") "DESC" else "ASC"
- val accounts = {
- scalikeDB readOnly { implicit session =>
- findAccountDirectory(bankId, ordering, limit, offset)
- }
- }
+ val accounts = findAccountDirectory(bankId, ordering, limit, offset)
(Full(accounts), callContext)
}
diff --git a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnectorInternal.scala b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnectorInternal.scala
index a77b2e4e31..7c9540a314 100644
--- a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnectorInternal.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnectorInternal.scala
@@ -1,5 +1,6 @@
package code.bankconnectors
+import org.json4s._
import code.accountattribute.AccountAttributeX
import code.api.ChargePolicy
import code.api.Constant._
@@ -33,9 +34,10 @@ import com.openbankproject.commons.model.enums.TransactionRequestTypes._
import com.openbankproject.commons.model.enums.{TransactionRequestStatus, _}
import com.tesobe.CacheKeyFromArguments
import net.liftweb.common._
-import net.liftweb.json.JsonAST.JValue
-import net.liftweb.json.Serialization.write
-import net.liftweb.json.{NoTypeHints, Serialization}
+import org.json4s.JsonAST.JValue
+import org.json4s.native.Serialization.write
+import org.json4s.NoTypeHints
+import org.json4s.native.Serialization
import net.liftweb.mapper._
import net.liftweb.util.Helpers.{now, tryo}
import net.liftweb.util.StringHelpers
diff --git a/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnector_vDec2018.scala b/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnector_vDec2018.scala
index 6a8dc2f1c9..0443a26d75 100644
--- a/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnector_vDec2018.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnector_vDec2018.scala
@@ -1,5 +1,6 @@
package code.bankconnectors.akka
+import org.json4s._
import java.util.Date
import org.apache.pekko.pattern.ask
import code.actorsystem.ObpLookupSystem
@@ -19,7 +20,7 @@ import com.openbankproject.commons.model.enums.StrongCustomerAuthenticationStatu
import com.openbankproject.commons.model.enums.{AccountAttributeType, CardAttributeType, ChallengeType, CustomerAttributeType, ProductAttributeType, StrongCustomerAuthentication, TransactionAttributeType, TransactionRequestStatus}
import com.sksamuel.avro4s.SchemaFor
import net.liftweb.common.{Box, Full}
-import net.liftweb.json.parse
+import com.openbankproject.commons.util.JsonAliases.parse
import scala.collection.immutable.{List, Nil}
import scala.concurrent.Future
diff --git a/obp-api/src/main/scala/code/bankconnectors/cardano/CardanoConnector_vJun2025.scala b/obp-api/src/main/scala/code/bankconnectors/cardano/CardanoConnector_vJun2025.scala
index 3247a16e56..2a30439aea 100644
--- a/obp-api/src/main/scala/code/bankconnectors/cardano/CardanoConnector_vJun2025.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/cardano/CardanoConnector_vJun2025.scala
@@ -23,6 +23,7 @@ Osloerstrasse 16/17
Berlin 13359, Germany
*/
+import org.json4s._
import code.api.util.APIUtil._
import code.api.util.{CallContext, ErrorMessages, NewStyle}
import code.api.v6_0_0.TransactionRequestBodyCardanoJsonV600
@@ -32,8 +33,8 @@ import code.util.Helper
import code.util.Helper.MdcLoggable
import com.openbankproject.commons.model._
import net.liftweb.common._
-import net.liftweb.json
-import net.liftweb.json.JValue
+import com.openbankproject.commons.util.json
+import org.json4s.JValue
import scala.collection.mutable.ArrayBuffer
import scala.concurrent.Future
diff --git a/obp-api/src/main/scala/code/bankconnectors/ethereum/DecodeRawTx.scala b/obp-api/src/main/scala/code/bankconnectors/ethereum/DecodeRawTx.scala
index 3de0dbf486..8446793e4c 100644
--- a/obp-api/src/main/scala/code/bankconnectors/ethereum/DecodeRawTx.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/ethereum/DecodeRawTx.scala
@@ -3,7 +3,8 @@ package code.bankconnectors.ethereum
import java.math.BigInteger
import org.web3j.crypto.{Hash, RawTransaction, TransactionDecoder, Sign, SignedRawTransaction}
import org.web3j.utils.{Numeric => W3Numeric}
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
object DecodeRawTx {
diff --git a/obp-api/src/main/scala/code/bankconnectors/ethereum/EthereumConnector_vSept2025.scala b/obp-api/src/main/scala/code/bankconnectors/ethereum/EthereumConnector_vSept2025.scala
index e8d819e252..057875a781 100644
--- a/obp-api/src/main/scala/code/bankconnectors/ethereum/EthereumConnector_vSept2025.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/ethereum/EthereumConnector_vSept2025.scala
@@ -1,5 +1,6 @@
package code.bankconnectors.ethereum
+import org.json4s._
import code.api.util.APIUtil._
import code.api.util.{CallContext, ErrorMessages, NewStyle}
import code.api.v6_0_0.TransactionRequestBodyEthereumJsonV600
@@ -9,8 +10,8 @@ import code.util.Helper
import code.util.Helper.MdcLoggable
import com.openbankproject.commons.model._
import net.liftweb.common._
-import net.liftweb.json
-import net.liftweb.json.JValue
+import com.openbankproject.commons.util.json
+import org.json4s.JValue
import scala.collection.mutable.ArrayBuffer
diff --git a/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcConnector_vFeb2026.scala b/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcConnector_vFeb2026.scala
index 9fbe22a600..e8e1fa2e4b 100644
--- a/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcConnector_vFeb2026.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcConnector_vFeb2026.scala
@@ -37,7 +37,8 @@ import com.openbankproject.commons.model.enums.StrongCustomerAuthenticationStatu
import com.openbankproject.commons.model.enums._
import com.openbankproject.commons.model.{Meta, _}
import net.liftweb.common._
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.util.StringHelpers
import java.util.Date
diff --git a/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcUtils.scala b/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcUtils.scala
index b6570ad126..a7aebccef3 100644
--- a/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcUtils.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcUtils.scala
@@ -1,5 +1,6 @@
package code.bankconnectors.grpc
+import org.json4s._
import code.api.util.APIUtil
import code.api.util.ErrorMessages.AdapterUnknownError
import code.bankconnectors.Connector
@@ -9,7 +10,7 @@ import com.openbankproject.commons.model.TopicTrait
import io.grpc.netty.shaded.io.grpc.netty.{GrpcSslContexts, NettyChannelBuilder}
import io.grpc.netty.shaded.io.netty.handler.ssl.SslContextBuilder
import net.liftweb.common.{Box, Empty}
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import java.io.File
import java.util.concurrent.TimeUnit
diff --git a/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorProcessor.scala b/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorProcessor.scala
index cc5a965d2d..33b7508b2c 100644
--- a/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorProcessor.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorProcessor.scala
@@ -1,5 +1,6 @@
package code.bankconnectors.opencorridor
+import org.json4s._
import code.api.ChargePolicy
import code.api.util.APIUtil.getScaMethodAtInstance
import code.api.util.ErrorMessages._
@@ -9,8 +10,9 @@ import code.util.Helper
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model._
import com.openbankproject.commons.model.enums.ChallengeType.OBP_TRANSACTION_REQUEST_CHALLENGE
-import net.liftweb.json.Serialization.write
-import net.liftweb.json.{NoTypeHints, Serialization}
+import org.json4s.native.Serialization.write
+import org.json4s.NoTypeHints
+import org.json4s.native.Serialization
import net.liftweb.util.StringHelpers
import scala.concurrent.Future
diff --git a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/AdapterStubBuilder.scala b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/AdapterStubBuilder.scala
index 5b563549dc..7f177ef33f 100644
--- a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/AdapterStubBuilder.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/AdapterStubBuilder.scala
@@ -1,5 +1,6 @@
package code.bankconnectors.rabbitmq.Adapter
+import org.json4s._
import code.api.ResourceDocs1_4_0.MessageDocsSwaggerDefinitions.successStatus
import code.api.util.APIUtil.MessageDoc
import code.api.util.CustomJsonFormats.formats
@@ -9,9 +10,9 @@ import code.bankconnectors.generator.ConnectorBuilderUtil._
import code.bankconnectors.rabbitmq.RabbitMQConnector_vOct2024
import com.openbankproject.commons.model.{Status, TopicTrait}
import com.openbankproject.commons.util.Functions
-import net.liftweb.json
-import net.liftweb.json.JsonAST.JValue
-import net.liftweb.json.{Formats, Serializer, TypeInfo}
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.JValue
+import org.json4s.{Formats, Serializer, TypeInfo}
import net.liftweb.util.StringHelpers
import org.apache.commons.io.FileUtils
diff --git a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/MockedRabbitMqAdapter.scala b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/MockedRabbitMqAdapter.scala
index febb088fdc..6020275d28 100644
--- a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/MockedRabbitMqAdapter.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/MockedRabbitMqAdapter.scala
@@ -1,5 +1,6 @@
package code.bankconnectors.rabbitmq.Adapter
+import org.json4s._
import bootstrap.liftweb.ToSchemify
import code.api.util.APIUtil
import code.bankconnectors.rabbitmq.RabbitMQUtils
@@ -11,8 +12,8 @@ import com.openbankproject.commons.model._
import com.rabbitmq.client.AMQP.BasicProperties
import com.rabbitmq.client._
import net.liftweb.db.DB
-import net.liftweb.json
-import net.liftweb.json.Serialization.write
+import com.openbankproject.commons.util.json
+import org.json4s.native.Serialization.write
import net.liftweb.mapper.Schemifier
import java.util.Date
diff --git a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnector_vOct2024.scala b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnector_vOct2024.scala
index aa9f84e430..68c567cd2e 100644
--- a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnector_vOct2024.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnector_vOct2024.scala
@@ -37,7 +37,8 @@ import com.openbankproject.commons.model.enums.StrongCustomerAuthenticationStatu
import com.openbankproject.commons.model.enums._
import com.openbankproject.commons.model.{Meta, _}
import net.liftweb.common._
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.util.StringHelpers
import java.util.Date
diff --git a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQUtils.scala b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQUtils.scala
index 53c47c529a..627c5c23ca 100644
--- a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQUtils.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQUtils.scala
@@ -1,12 +1,13 @@
package code.bankconnectors.rabbitmq
+import org.json4s._
import code.api.util.ErrorMessages.AdapterUnknownError
import code.bankconnectors.Connector
import code.util.Helper.MdcLoggable
import code.api.util.APIUtil
import com.openbankproject.commons.model.TopicTrait
import net.liftweb.common.{Box, Empty, Failure, Full}
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import com.rabbitmq.client.AMQP.BasicProperties
import com.rabbitmq.client._
import java.util
diff --git a/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala b/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala
index d1701e8c57..a1dd67a998 100644
--- a/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala
@@ -47,11 +47,12 @@ import com.openbankproject.commons.model.enums._
import com.openbankproject.commons.model.{Meta, _}
import com.openbankproject.commons.util.{JsonUtils, ReflectUtils}
import net.liftweb.common._
-import net.liftweb.json
-import net.liftweb.json.Extraction.decompose
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.JsonParser.ParseException
-import net.liftweb.json._
+import com.openbankproject.commons.util.json
+import org.json4s.Extraction.decompose
+import org.json4s.JsonDSL._
+import org.json4s.ParserUtil.ParseException
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.util.Helpers.tryo
import org.apache.commons.lang3.StringUtils
@@ -7307,7 +7308,7 @@ trait RestConnector_vMar2019 extends Connector with MdcLoggable {
val source = decompose(outBound)
val builtJson = JsonUtils.buildJson(source, m)
compactRender(builtJson)
- case _ => net.liftweb.json.Serialization.write(outBound)
+ case _ => org.json4s.native.Serialization.write(outBound)
}
val request = prepareHttpRequest(url, method, HttpProtocol("HTTP/1.1"), outBoundJson).withHeaders(buildHeaders(url, outBoundJson, callContext))
logger.debug(s"RestConnector_vMar2019 request is : $request")
diff --git a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/MSsqlStoredProcedureBuilder.scala b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/MSsqlStoredProcedureBuilder.scala
index cdf3d66688..c899e771e3 100644
--- a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/MSsqlStoredProcedureBuilder.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/MSsqlStoredProcedureBuilder.scala
@@ -1,5 +1,6 @@
package code.bankconnectors.storedprocedure
+import org.json4s._
import java.io.File
import java.util.{Date, TimeZone}
@@ -10,9 +11,9 @@ import code.api.util.{APIUtil, OptionalFieldSerializer}
import code.bankconnectors.generator.ConnectorBuilderUtil._
import com.openbankproject.commons.model.Status
import com.openbankproject.commons.util.Functions
-import net.liftweb.json
-import net.liftweb.json.JsonAST.JValue
-import net.liftweb.json.{Formats, Serializer, TypeInfo}
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.JValue
+import org.json4s.{Formats, Serializer, TypeInfo}
import net.liftweb.util.StringHelpers
import org.apache.commons.io.FileUtils
diff --git a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnector_vDec2019.scala b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnector_vDec2019.scala
index 4421183ab4..3533fa39c0 100644
--- a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnector_vDec2019.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnector_vDec2019.scala
@@ -37,7 +37,8 @@ import com.openbankproject.commons.model.enums.StrongCustomerAuthenticationStatu
import com.openbankproject.commons.model.enums._
import com.openbankproject.commons.model.{TopicTrait, _}
import net.liftweb.common._
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.util.StringHelpers
import java.util.Date
diff --git a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureUtils.scala b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureUtils.scala
index c0cd3cd4e4..7b2ffcc677 100644
--- a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureUtils.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureUtils.scala
@@ -1,18 +1,22 @@
package code.bankconnectors.storedprocedure
-import java.sql.Connection
-
+import org.json4s._
+import cats.effect.IO
+import cats.effect.unsafe.implicits.global
import code.api.util.APIUtil
import code.api.util.migration.Migration
import code.api.util.migration.Migration.DbFunction
import code.bankconnectors.Connector
import code.util.Helper.MdcLoggable
import com.openbankproject.commons.model.TopicTrait
+import com.zaxxer.hikari.HikariDataSource
+import doobie._
+import doobie.implicits._
+import doobie.free.{connection => FC}
+import doobie.util.transactor.Strategy
import net.liftweb.common.{Box, Empty, Full}
-import net.liftweb.json.Serialization.write
-import net.liftweb.mapper.{DB, Schemifier}
-import net.liftweb.util.DefaultConnectionIdentifier
-import scalikejdbc.{DB => scalikeDB, _}
+import org.json4s.native.Serialization.write
+import net.liftweb.mapper.Schemifier
/**
* Stored procedure utils.
@@ -23,8 +27,8 @@ object StoredProcedureUtils extends MdcLoggable{
private implicit val formats = code.api.util.CustomJsonFormats.nullTolerateFormats
- // lazy initial DB connection
- {
+ // lazy initial DB connection: separate HikariCP pool dedicated to the stored procedure connector
+ private lazy val spTransactor: Transactor[IO] = {
val driver = APIUtil.getPropsValue("stored_procedure_connector.driver").openOrThrowException("mandatory property stored_procedure_connector.driver is missing!")
val url = APIUtil.getPropsValue("stored_procedure_connector.url").openOrThrowException("mandatory property stored_procedure_connector.url is missing!")
val user = APIUtil.getPropsValue("stored_procedure_connector.user").openOrThrowException("mandatory property stored_procedure_connector.user is missing!")
@@ -34,18 +38,20 @@ object StoredProcedureUtils extends MdcLoggable{
val maxSize = APIUtil.getPropsAsIntValue("stored_procedure_connector.poolMaxSize", 20)
val timeoutMillis = APIUtil.getPropsAsLongValue("stored_procedure_connector.poolConnectionTimeoutMillis", 3000L)
val validationQuery = APIUtil.getPropsValue("stored_procedure_connector.poolValidationQuery", "select 1")
- val poolFactoryName = APIUtil.getPropsValue("stored_procedure_connector.poolFactoryName", "commons-dbcp2")
-
Class.forName(driver)
- val settings = ConnectionPoolSettings(
- initialSize = initialSize,
- maxSize = maxSize,
- connectionTimeoutMillis = timeoutMillis,
- validationQuery = validationQuery,
- connectionPoolFactoryName = poolFactoryName
- )
- ConnectionPool.singleton(url, user, password, settings)
+ val ds = new HikariDataSource()
+ ds.setJdbcUrl(url)
+ ds.setUsername(user)
+ ds.setPassword(password)
+ ds.setDriverClassName(driver)
+ ds.setMinimumIdle(initialSize)
+ ds.setMaximumPoolSize(maxSize)
+ ds.setConnectionTimeout(timeoutMillis)
+ ds.setConnectionTestQuery(validationQuery)
+
+ Transactor.fromDataSource[IO].apply(ds, scala.concurrent.ExecutionContext.global)
+ .copy(strategy0 = Strategy.void)
}
@@ -69,66 +75,76 @@ object StoredProcedureUtils extends MdcLoggable{
def getHealth(): StoredProcedureConnectorHealth = {
val startTime = System.currentTimeMillis()
try {
- val (serverName, serverIp, databaseName) = scalikeDB readOnly { implicit session =>
+ val (serverName, serverIp, databaseName) = {
val driver = APIUtil.getPropsValue("stored_procedure_connector.driver", "")
if (driver.contains("sqlserver")) {
// Microsoft SQL Server
- val result = sql"""
+ FC.raw { conn =>
+ val rs = conn.createStatement().executeQuery("""
SELECT
@@SERVERNAME AS server_name,
CAST(CONNECTIONPROPERTY('local_net_address') AS VARCHAR(50)) AS server_ip,
DB_NAME() AS database_name
- """.map(rs => (
- Option(rs.string("server_name")),
- Option(rs.string("server_ip")),
- Option(rs.string("database_name"))
- )).single.apply()
- result.getOrElse((None, None, None))
+ """)
+ if (rs.next()) (
+ Option(rs.getString("server_name")),
+ Option(rs.getString("server_ip")),
+ Option(rs.getString("database_name"))
+ ) else (None, None, None)
+ }.transact(spTransactor).unsafeRunSync()
} else if (driver.contains("postgresql")) {
// PostgreSQL
- val result = sql"""
+ FC.raw { conn =>
+ val rs = conn.createStatement().executeQuery("""
SELECT
inet_server_addr()::text AS server_ip,
current_database() AS database_name,
(SELECT setting FROM pg_settings WHERE name = 'cluster_name') AS server_name
- """.map(rs => (
- rs.stringOpt("server_name"),
- rs.stringOpt("server_ip"),
- rs.stringOpt("database_name")
- )).single.apply()
- result.getOrElse((None, None, None))
+ """)
+ if (rs.next()) (
+ Option(rs.getString("server_name")),
+ Option(rs.getString("server_ip")),
+ Option(rs.getString("database_name"))
+ ) else (None, None, None)
+ }.transact(spTransactor).unsafeRunSync()
} else if (driver.contains("oracle")) {
// Oracle
- val result = sql"""
+ FC.raw { conn =>
+ val rs = conn.createStatement().executeQuery("""
SELECT
SYS_CONTEXT('USERENV', 'SERVER_HOST') AS server_name,
SYS_CONTEXT('USERENV', 'IP_ADDRESS') AS server_ip,
SYS_CONTEXT('USERENV', 'DB_NAME') AS database_name
FROM DUAL
- """.map(rs => (
- Option(rs.string("server_name")),
- Option(rs.string("server_ip")),
- Option(rs.string("database_name"))
- )).single.apply()
- result.getOrElse((None, None, None))
+ """)
+ if (rs.next()) (
+ Option(rs.getString("server_name")),
+ Option(rs.getString("server_ip")),
+ Option(rs.getString("database_name"))
+ ) else (None, None, None)
+ }.transact(spTransactor).unsafeRunSync()
} else if (driver.contains("mysql") || driver.contains("mariadb")) {
// MySQL / MariaDB
- val result = sql"""
+ FC.raw { conn =>
+ val rs = conn.createStatement().executeQuery("""
SELECT
@@hostname AS server_name,
@@bind_address AS server_ip,
DATABASE() AS database_name
- """.map(rs => (
- Option(rs.string("server_name")),
- Option(rs.string("server_ip")),
- Option(rs.string("database_name"))
- )).single.apply()
- result.getOrElse((None, None, None))
+ """)
+ if (rs.next()) (
+ Option(rs.getString("server_name")),
+ Option(rs.getString("server_ip")),
+ Option(rs.getString("database_name"))
+ ) else (None, None, None)
+ }.transact(spTransactor).unsafeRunSync()
} else {
// Generic fallback - just test connectivity
- sql"SELECT 1".map(_ => ()).single.apply()
- (None, None, None)
+ FC.raw { conn =>
+ conn.createStatement().executeQuery("SELECT 1")
+ (None, None, None)
+ }.transact(spTransactor).unsafeRunSync()
}
}
val responseTime = System.currentTimeMillis() - startTime
@@ -159,11 +175,8 @@ object StoredProcedureUtils extends MdcLoggable{
val procedureParam: String = write(outBound) // convert OutBound to json string
logger.debug(s"${StoredProcedureConnector_vDec2019.toString} outBoundJson: $procedureName = $procedureParam" )
val responseJson: String =
- scalikeDB autoCommit { implicit session =>
- val conn: Connection = session.connection
- val sql = s"{ CALL $procedureName(?, ?) }"
-
- val callableStatement = conn.prepareCall(sql)
+ FC.raw { conn =>
+ val callableStatement = conn.prepareCall(s"{ CALL $procedureName(?, ?) }")
try {
callableStatement.setString(1, procedureParam)
callableStatement.registerOutParameter(2, java.sql.Types.LONGVARCHAR)
@@ -173,7 +186,7 @@ object StoredProcedureUtils extends MdcLoggable{
} finally {
callableStatement.close()
}
- }
+ }.transact(spTransactor).unsafeRunSync()
logger.debug(s"${StoredProcedureConnector_vDec2019.toString} inBoundJson: $procedureName = $responseJson" )
Connector.extractAdapterResponse[T](responseJson, Empty)
}
diff --git a/obp-api/src/main/scala/code/bulkpayment/BulkPaymentHandler.scala b/obp-api/src/main/scala/code/bulkpayment/BulkPaymentHandler.scala
index 705ffaa86e..b31cb83d51 100644
--- a/obp-api/src/main/scala/code/bulkpayment/BulkPaymentHandler.scala
+++ b/obp-api/src/main/scala/code/bulkpayment/BulkPaymentHandler.scala
@@ -1,5 +1,6 @@
package code.bulkpayment
+import org.json4s._
import code.api.util.{APIUtil, CallContext, ErrorMessages, NewStyle}
import code.api.util.ErrorMessages._
import code.api.v7_0_0.JSONFactory700
@@ -11,8 +12,8 @@ import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model._
import com.openbankproject.commons.model.enums.TransactionRequestStatus
import net.liftweb.common.{Box, Full}
-import net.liftweb.json.{Extraction, Formats}
-import net.liftweb.json.JsonAST.prettyRender
+import org.json4s.{Extraction, Formats}
+import com.openbankproject.commons.util.JsonAliases.prettyRender
import scala.concurrent.Future
diff --git a/obp-api/src/main/scala/code/chat/ChatEventBus.scala b/obp-api/src/main/scala/code/chat/ChatEventBus.scala
index 6af2f5453a..ab799f3a7f 100644
--- a/obp-api/src/main/scala/code/chat/ChatEventBus.scala
+++ b/obp-api/src/main/scala/code/chat/ChatEventBus.scala
@@ -1,12 +1,13 @@
package code.chat
+import org.json4s._
import code.api.cache.Redis
import code.api.util.APIUtil
import code.util.Helper.MdcLoggable
import io.grpc.stub.StreamObserver
-import net.liftweb.json
-import net.liftweb.json.{Extraction, JsonAST}
-import net.liftweb.json.Serialization.write
+import com.openbankproject.commons.util.json
+import org.json4s.{Extraction, JsonAST}
+import org.json4s.native.Serialization.write
import redis.clients.jedis.{Jedis, JedisPubSub}
import java.util.concurrent.{ConcurrentHashMap, CopyOnWriteArrayList}
diff --git a/obp-api/src/main/scala/code/chat/ChatEventPublisher.scala b/obp-api/src/main/scala/code/chat/ChatEventPublisher.scala
index 289967a885..03c4aa8101 100644
--- a/obp-api/src/main/scala/code/chat/ChatEventPublisher.scala
+++ b/obp-api/src/main/scala/code/chat/ChatEventPublisher.scala
@@ -1,8 +1,9 @@
package code.chat
+import org.json4s._
import code.util.Helper.MdcLoggable
-import net.liftweb.json
-import net.liftweb.json.Serialization.write
+import com.openbankproject.commons.util.json
+import org.json4s.native.Serialization.write
// No async imports needed — broadcastUnreadCounts runs synchronously (1-2 fast queries)
/**
diff --git a/obp-api/src/main/scala/code/consent/MappedConsent.scala b/obp-api/src/main/scala/code/consent/MappedConsent.scala
index da69ce585e..3c27185ae4 100644
--- a/obp-api/src/main/scala/code/consent/MappedConsent.scala
+++ b/obp-api/src/main/scala/code/consent/MappedConsent.scala
@@ -308,7 +308,8 @@ object MappedConsentProvider extends ConsentProvider with code.util.Helper.MdcLo
// Parse JWT payload to denormalise exp and consent items
val consentJWTParsed: Option[ConsentJWT] = if (payload != null) {
try {
- import net.liftweb.json._
+ import org.json4s._
+ import com.openbankproject.commons.util.JsonAliases._
implicit val formats: DefaultFormats.type = DefaultFormats
Some(parse(payload).extract[ConsentJWT])
} catch {
diff --git a/obp-api/src/main/scala/code/counterpartylimit/MappedCounterpartyLimit.scala b/obp-api/src/main/scala/code/counterpartylimit/MappedCounterpartyLimit.scala
index 0206aced2a..9810f1e2f0 100644
--- a/obp-api/src/main/scala/code/counterpartylimit/MappedCounterpartyLimit.scala
+++ b/obp-api/src/main/scala/code/counterpartylimit/MappedCounterpartyLimit.scala
@@ -1,14 +1,15 @@
package code.counterpartylimit
+import org.json4s._
import code.util.MappedUUID
import net.liftweb.common.{Box, Full}
import net.liftweb.mapper._
import net.liftweb.util.Helpers.tryo
import com.openbankproject.commons.ExecutionContext.Implicits.global
-import net.liftweb.json
-import net.liftweb.json.Formats
-import net.liftweb.json.JsonAST.{JString, JValue}
-import net.liftweb.json.JsonDSL._
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
+import org.json4s.JsonAST.{JString, JValue}
+import org.json4s.JsonDSL._
import scala.concurrent.Future
import com.openbankproject.commons.model.CounterpartyLimitTrait
diff --git a/obp-api/src/main/scala/code/dynamicEndpoint/MapppedDynamicEndpointProvider.scala b/obp-api/src/main/scala/code/dynamicEndpoint/MapppedDynamicEndpointProvider.scala
index d4660d7b55..c6ed1189ec 100644
--- a/obp-api/src/main/scala/code/dynamicEndpoint/MapppedDynamicEndpointProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicEndpoint/MapppedDynamicEndpointProvider.scala
@@ -1,5 +1,6 @@
package code.DynamicEndpoint
+import org.json4s._
import java.util.UUID.randomUUID
import code.api.cache.Caching
import code.api.dynamic.endpoint.helper.DynamicEndpointHelper
@@ -7,8 +8,8 @@ import code.api.util.{APIUtil, CustomJsonFormats}
import code.util.MappedUUID
import com.tesobe.CacheKeyFromArguments
import net.liftweb.common.Box
-import net.liftweb.json
-import net.liftweb.json.JString
+import com.openbankproject.commons.util.json
+import org.json4s.JString
import net.liftweb.mapper._
import net.liftweb.util.Helpers.tryo
import net.liftweb.util.Props
diff --git a/obp-api/src/main/scala/code/dynamicEntity/DynamicDataProvider.scala b/obp-api/src/main/scala/code/dynamicEntity/DynamicDataProvider.scala
index 531523e7a6..00c02eb6da 100644
--- a/obp-api/src/main/scala/code/dynamicEntity/DynamicDataProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicEntity/DynamicDataProvider.scala
@@ -1,8 +1,9 @@
package code.DynamicData
+import org.json4s._
import com.openbankproject.commons.model.{Converter, JsonFieldReName}
import net.liftweb.common.Box
-import net.liftweb.json.JObject
+import org.json4s.JObject
import net.liftweb.util.SimpleInjector
object DynamicDataProvider extends SimpleInjector {
diff --git a/obp-api/src/main/scala/code/dynamicEntity/DynamicEntityProvider.scala b/obp-api/src/main/scala/code/dynamicEntity/DynamicEntityProvider.scala
index 3b7f59aac8..8566b6d1a2 100644
--- a/obp-api/src/main/scala/code/dynamicEntity/DynamicEntityProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicEntity/DynamicEntityProvider.scala
@@ -10,8 +10,9 @@ import com.openbankproject.commons.model.enums.{DynamicEntityFieldType, DynamicE
import com.openbankproject.commons.model._
import com.openbankproject.commons.model.enums.DynamicEntityFieldType.DATE_WITH_DAY
import net.liftweb.common.{Box, EmptyBox, Full}
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json._
+import org.json4s.JsonDSL._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.util.SimpleInjector
import org.apache.commons.lang3.StringUtils
diff --git a/obp-api/src/main/scala/code/dynamicEntity/MapppedDynamicDataProvider.scala b/obp-api/src/main/scala/code/dynamicEntity/MapppedDynamicDataProvider.scala
index 9c7078ade5..f1213be0ce 100644
--- a/obp-api/src/main/scala/code/dynamicEntity/MapppedDynamicDataProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicEntity/MapppedDynamicDataProvider.scala
@@ -1,13 +1,14 @@
package code.DynamicData
+import org.json4s._
import code.api.util.CustomJsonFormats
import code.api.util.ErrorMessages.DynamicDataNotFound
import code.util.MappedUUID
import net.liftweb.common.{Box, Failure, Full}
-import net.liftweb.json
-import net.liftweb.json.JObject
-import net.liftweb.json.JsonAST.JString
-import net.liftweb.json.JsonDSL._
+import com.openbankproject.commons.util.json
+import org.json4s.JObject
+import org.json4s.JsonAST.JString
+import org.json4s.JsonDSL._
import net.liftweb.mapper._
import net.liftweb.util.Helpers.tryo
import org.apache.commons.lang3.StringUtils
diff --git a/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDoc.scala b/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDoc.scala
index 8780ceb000..4aac12a801 100644
--- a/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDoc.scala
+++ b/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDoc.scala
@@ -1,7 +1,8 @@
package code.dynamicMessageDoc
+import org.json4s._
import code.util.UUIDString
-import net.liftweb.json
+import com.openbankproject.commons.util.json
import net.liftweb.mapper._
import scala.collection.immutable.List
diff --git a/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDocProvider.scala b/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDocProvider.scala
index c62c70d167..c47a94631a 100644
--- a/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDocProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDocProvider.scala
@@ -1,9 +1,10 @@
package code.dynamicMessageDoc
+import org.json4s._
import java.net.URLDecoder
import com.openbankproject.commons.model.JsonFieldReName
import net.liftweb.common.Box
-import net.liftweb.json.JsonAST.JValue
+import org.json4s.JsonAST.JValue
import net.liftweb.util.SimpleInjector
import scala.collection.immutable.List
diff --git a/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDoc.scala b/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDoc.scala
index d2db91ec00..386447110c 100644
--- a/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDoc.scala
+++ b/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDoc.scala
@@ -1,7 +1,8 @@
package code.dynamicResourceDoc
+import org.json4s._
import code.util.UUIDString
-import net.liftweb.json
+import com.openbankproject.commons.util.json
import net.liftweb.mapper._
import org.apache.commons.lang3.StringUtils
diff --git a/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDocProvider.scala b/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDocProvider.scala
index db23aef984..9ec0927ae6 100644
--- a/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDocProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDocProvider.scala
@@ -1,11 +1,12 @@
package code.dynamicResourceDoc
+import org.json4s._
import com.openbankproject.commons.model.JsonFieldReName
import com.openbankproject.commons.util.JsonAble
import net.liftweb.common.Box
-import net.liftweb.json
-import net.liftweb.json.JsonAST.JNothing
-import net.liftweb.json.{Formats, JValue, JsonAST}
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.JNothing
+import org.json4s.{Formats, JValue, JsonAST}
import net.liftweb.util.SimpleInjector
import org.apache.commons.lang3.StringUtils
diff --git a/obp-api/src/main/scala/code/dynamicResourceDoc/MappedDynamicResourceDocProvider.scala b/obp-api/src/main/scala/code/dynamicResourceDoc/MappedDynamicResourceDocProvider.scala
index 142e64b2e9..e2b86c544e 100644
--- a/obp-api/src/main/scala/code/dynamicResourceDoc/MappedDynamicResourceDocProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicResourceDoc/MappedDynamicResourceDocProvider.scala
@@ -1,10 +1,11 @@
package code.dynamicResourceDoc
+import org.json4s._
import code.api.cache.Caching
import code.api.util.APIUtil
import com.tesobe.CacheKeyFromArguments
import net.liftweb.common.{Box, Empty, Full}
-import net.liftweb.json
+import com.openbankproject.commons.util.json
import net.liftweb.mapper._
import net.liftweb.util.Helpers.tryo
import net.liftweb.util.Props
diff --git a/obp-api/src/main/scala/code/endpointMapping/EndpointMappingProvider.scala b/obp-api/src/main/scala/code/endpointMapping/EndpointMappingProvider.scala
index 3a15bfa162..18f65ceaac 100644
--- a/obp-api/src/main/scala/code/endpointMapping/EndpointMappingProvider.scala
+++ b/obp-api/src/main/scala/code/endpointMapping/EndpointMappingProvider.scala
@@ -2,12 +2,13 @@ package code.endpointMapping
/* For Connector endpoint routing, star connector use this provider to find proxy connector name */
+import org.json4s._
import code.dynamicEntity.DynamicEntity
import com.openbankproject.commons.model.{Converter, JsonFieldReName}
import net.liftweb.common.Box
-import net.liftweb.json
-import net.liftweb.json.Formats
-import net.liftweb.json.JsonAST.{JArray, JField, JNull, JObject, JString, JValue}
+import com.openbankproject.commons.util.json
+import org.json4s.Formats
+import org.json4s.JsonAST.{JArray, JField, JNull, JObject, JString, JValue}
import net.liftweb.util.SimpleInjector
object EndpointMappingProvider extends SimpleInjector {
diff --git a/obp-api/src/main/scala/code/endpointMapping/MappedEndpointMappingProvider.scala b/obp-api/src/main/scala/code/endpointMapping/MappedEndpointMappingProvider.scala
index 2a52b6bbd3..e10213ad6d 100644
--- a/obp-api/src/main/scala/code/endpointMapping/MappedEndpointMappingProvider.scala
+++ b/obp-api/src/main/scala/code/endpointMapping/MappedEndpointMappingProvider.scala
@@ -1,15 +1,16 @@
package code.endpointMapping
+import org.json4s._
import code.api.util.CustomJsonFormats
import code.util.MappedUUID
import net.liftweb.common.{Box, Empty, EmptyBox, Full}
-import net.liftweb.json
+import com.openbankproject.commons.util.json
import net.liftweb.mapper._
import net.liftweb.util.Helpers.tryo
import org.apache.commons.lang3.StringUtils
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import com.openbankproject.commons.util.Functions.Implicits._
-import net.liftweb.json.JsonAST.JArray
+import org.json4s.JsonAST.JArray
object MappedEndpointMappingProvider extends EndpointMappingProvider with CustomJsonFormats{
diff --git a/obp-api/src/main/scala/code/endpointTag/EndpointMappingProvider.scala b/obp-api/src/main/scala/code/endpointTag/EndpointMappingProvider.scala
index 4b349cd685..8bd8f2e2e7 100644
--- a/obp-api/src/main/scala/code/endpointTag/EndpointMappingProvider.scala
+++ b/obp-api/src/main/scala/code/endpointTag/EndpointMappingProvider.scala
@@ -2,10 +2,11 @@ package code.endpointTag
/* For Connector endpoint routing, star connector use this provider to find proxy connector name */
+import org.json4s._
import com.openbankproject.commons.model.{Converter, JsonFieldReName, EndpointTagT}
import net.liftweb.common.Box
-import net.liftweb.json.Formats
-import net.liftweb.json.JsonAST.{JField, JNull, JObject, JString}
+import org.json4s.Formats
+import org.json4s.JsonAST.{JField, JNull, JObject, JString}
import net.liftweb.util.SimpleInjector
object EndpointTagProvider extends SimpleInjector {
diff --git a/obp-api/src/main/scala/code/fx/fx.scala b/obp-api/src/main/scala/code/fx/fx.scala
index 8511a725cc..6710a62c5e 100644
--- a/obp-api/src/main/scala/code/fx/fx.scala
+++ b/obp-api/src/main/scala/code/fx/fx.scala
@@ -7,7 +7,8 @@ import code.bankconnectors.LocalMappedConnectorInternal
import code.util.Helper.MdcLoggable
import com.openbankproject.commons.model.BankId
import com.tesobe.CacheKeyFromArguments
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import scala.concurrent.duration._
diff --git a/obp-api/src/main/scala/code/methodrouting/MappedMethodRoutingProvider.scala b/obp-api/src/main/scala/code/methodrouting/MappedMethodRoutingProvider.scala
index 9bc1f1da46..96ed77c1bb 100644
--- a/obp-api/src/main/scala/code/methodrouting/MappedMethodRoutingProvider.scala
+++ b/obp-api/src/main/scala/code/methodrouting/MappedMethodRoutingProvider.scala
@@ -1,15 +1,16 @@
package code.methodrouting
+import org.json4s._
import code.api.util.CustomJsonFormats
import code.util.MappedUUID
import net.liftweb.common.{Box, Empty, EmptyBox, Full}
-import net.liftweb.json
+import com.openbankproject.commons.util.json
import net.liftweb.mapper._
import net.liftweb.util.Helpers.tryo
import org.apache.commons.lang3.StringUtils
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import com.openbankproject.commons.util.Functions.Implicits._
-import net.liftweb.json.JsonAST.JArray
+import org.json4s.JsonAST.JArray
object MappedMethodRoutingProvider extends MethodRoutingProvider with CustomJsonFormats{
diff --git a/obp-api/src/main/scala/code/methodrouting/MethodRoutingProvider.scala b/obp-api/src/main/scala/code/methodrouting/MethodRoutingProvider.scala
index 76abbcd5de..ffafd1c2ab 100644
--- a/obp-api/src/main/scala/code/methodrouting/MethodRoutingProvider.scala
+++ b/obp-api/src/main/scala/code/methodrouting/MethodRoutingProvider.scala
@@ -2,13 +2,14 @@ package code.methodrouting
/* For Connector method routing, star connector use this provider to find proxy connector name */
+import org.json4s._
import com.openbankproject.commons.model.{Converter, JsonFieldReName}
import com.openbankproject.commons.util.JsonAble
import net.liftweb.common.Box
-import net.liftweb.json
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.{Formats, JValue}
-import net.liftweb.json.JsonAST.{JArray, JBool, JField, JNull, JObject, JString}
+import com.openbankproject.commons.util.json
+import org.json4s.JsonDSL._
+import org.json4s.{Formats, JValue}
+import org.json4s.JsonAST.{JArray, JBool, JField, JNull, JObject, JString}
import net.liftweb.util.SimpleInjector
object MethodRoutingProvider extends SimpleInjector {
diff --git a/obp-api/src/main/scala/code/model/BankingData.scala b/obp-api/src/main/scala/code/model/BankingData.scala
index b438cd21eb..cec96a5e94 100644
--- a/obp-api/src/main/scala/code/model/BankingData.scala
+++ b/obp-api/src/main/scala/code/model/BankingData.scala
@@ -26,6 +26,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.model
+import org.json4s._
import code.accountholders.AccountHolders
import code.api.util.APIUtil.{OBPReturnType, canGrantAccessToMultipleViews, canGrantAccessToView, canRevokeAccessToAllViews, canRevokeAccessToView, unboxFullOrFail}
import code.api.util.ErrorMessages._
@@ -39,8 +40,8 @@ import code.views.system.AccountAccess
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model._
import net.liftweb.common._
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.{JArray, JObject}
+import org.json4s.JsonDSL._
+import org.json4s.{JArray, JObject}
import java.util.Date
import scala.collection.immutable.{List, Set}
diff --git a/obp-api/src/main/scala/code/model/Metadata.scala b/obp-api/src/main/scala/code/model/Metadata.scala
index cdf24fc576..2102634d3b 100644
--- a/obp-api/src/main/scala/code/model/Metadata.scala
+++ b/obp-api/src/main/scala/code/model/Metadata.scala
@@ -27,11 +27,12 @@ TESOBE (http://www.tesobe.com/)
package code.model
+import org.json4s._
import code.util.Helper
import com.openbankproject.commons.model._
import net.liftweb.common.{Box, Full}
-import net.liftweb.json.JsonAST.JObject
-import net.liftweb.json.JsonDSL._
+import org.json4s.JsonAST.JObject
+import org.json4s.JsonDSL._
case class CommentExtended(val comment: Comment) {
diff --git a/obp-api/src/main/scala/code/model/ModeratedBankingData.scala b/obp-api/src/main/scala/code/model/ModeratedBankingData.scala
index cbe1eeb622..4041da0803 100644
--- a/obp-api/src/main/scala/code/model/ModeratedBankingData.scala
+++ b/obp-api/src/main/scala/code/model/ModeratedBankingData.scala
@@ -27,6 +27,7 @@ TESOBE (http://www.tesobe.com/)
package code.model
+import org.json4s._
import scala.language.implicitConversions
import code.api.Constant._
import code.api.util.ErrorMessages._
@@ -35,8 +36,8 @@ import code.model.Moderation.Moderated
import code.util.Helper
import com.openbankproject.commons.model._
import net.liftweb.common.{Box, Failure}
-import net.liftweb.json.JsonAST.{JField, JObject, JString}
-import net.liftweb.json.JsonDSL._
+import org.json4s.JsonAST.{JField, JObject, JString}
+import org.json4s.JsonDSL._
import java.util.Date
diff --git a/obp-api/src/main/scala/code/model/User.scala b/obp-api/src/main/scala/code/model/User.scala
index bc8d2906a4..a86819cd01 100644
--- a/obp-api/src/main/scala/code/model/User.scala
+++ b/obp-api/src/main/scala/code/model/User.scala
@@ -27,6 +27,7 @@ TESOBE (http://www.tesobe.com/)
package code.model
+import org.json4s._
import code.api.Constant._
import code.api.UserNotFound
import code.api.util.{APIUtil, CallContext}
@@ -39,8 +40,8 @@ import code.views.Views
import code.views.system.{AccountAccess, ViewDefinition}
import com.openbankproject.commons.model.{BankIdAccountId, _}
import net.liftweb.common.{Box, Failure, Full}
-import net.liftweb.json.JsonAST.JObject
-import net.liftweb.json.JsonDSL._
+import org.json4s.JsonAST.JObject
+import org.json4s.JsonDSL._
import net.liftweb.mapper.By
case class UserExtended(val user: User) extends MdcLoggable {
diff --git a/obp-api/src/main/scala/code/model/dataAccess/AuthUser.scala b/obp-api/src/main/scala/code/model/dataAccess/AuthUser.scala
index 15a180fc4d..35ecf6b8d5 100644
--- a/obp-api/src/main/scala/code/model/dataAccess/AuthUser.scala
+++ b/obp-api/src/main/scala/code/model/dataAccess/AuthUser.scala
@@ -552,7 +552,7 @@ import net.liftweb.util.Helpers._
.issueTime(new java.util.Date())
.build()
val jwtToken = CertificateUtil.jwtWithHmacProtection(claimsSet)
- val validationLink = portalUrl+"/user-validation?token="+urlEncode(jwtToken)
+ val validationLink = portalUrl+"/user-validation?token="+java.net.URLEncoder.encode(jwtToken, "UTF-8")
val email: String = user.getEmail
val textContent = Some(s"Welcome! Please validate your account by clicking the following link: $validationLink")
val htmlContent = Some(s"Welcome! Please validate your account by clicking the following link:
$validationLink
")
@@ -1269,7 +1269,7 @@ def restoreSomeSessions(): Unit = {
case Full(u) if u.name == name && u.emailAddress == email =>
authUser.resetUniqueId().save
val resetLink = Constant.HostName+
- passwordResetPath.mkString("/", "/", "/")+urlEncode(authUser.getUniqueId())
+ passwordResetPath.mkString("/", "/", "/")+java.net.URLEncoder.encode(authUser.getUniqueId(), "UTF-8")
logger.warn(s"Password reset url is created for this user: $email")
// TODO Notify via email appropriate persons
resetLink
diff --git a/obp-api/src/main/scala/code/model/dataAccess/BankAccountCreationDispatcher.scala b/obp-api/src/main/scala/code/model/dataAccess/BankAccountCreationDispatcher.scala
index dc6deb0e0b..50fa3ac74d 100644
--- a/obp-api/src/main/scala/code/model/dataAccess/BankAccountCreationDispatcher.scala
+++ b/obp-api/src/main/scala/code/model/dataAccess/BankAccountCreationDispatcher.scala
@@ -44,56 +44,25 @@ package com.tesobe.model {
package code.model.dataAccess {
import code.accountholders.AccountHolders
- import code.api.Constant._
import code.api.util.{APIUtil, CallContext}
- import code.bankconnectors.{Connector, LocalMappedConnectorInternal}
+ import code.bankconnectors.LocalMappedConnectorInternal
import code.users.Users
import code.util.Helper.MdcLoggable
- import code.views.Views
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model._
- import com.rabbitmq.client.{Channel, ConnectionFactory}
+ import com.rabbitmq.client.{AMQP, ConnectionFactory, DefaultConsumer, Envelope}
import com.tesobe.model.{CreateBankAccount, UpdateBankAccount}
- import net.liftmodules.amqp.{AMQPAddListener, AMQPDispatcher, AMQPMessage, SerializedConsumer}
- import net.liftweb.actor.LiftActor
import net.liftweb.common.{Failure, Full}
-
-/**
- * an AMQP dispatcher that waits for message coming from a specif queue
- * and dispatching them to the subscribed actors
- */
- class BankAccountCreationDispatcher[T](factory: ConnectionFactory)
- extends AMQPDispatcher[T](factory) {
- override def configure(channel: Channel) {
- channel.exchangeDeclare("directExchange4", "direct", false)
- channel.queueDeclare("createBankAccount", false, false, false, null)
- channel.queueBind ("createBankAccount", "directExchange4", "createBankAccount")
- channel.basicConsume("createBankAccount", false, new SerializedConsumer(channel, this))
- }
- }
+ import java.io.{ByteArrayInputStream, ObjectInputFilter, ObjectInputStream}
object BankAccountCreation extends MdcLoggable {
-
- /**
- * 1 Set the User as the account Holder.
- * 2 Create `Owner` view if the account do not have `Owner` view.
- * 3 Add Permission to `Owner` view
- *
- * @param bankId
- * @param accountId
- * @param user the user can be Login user or other users(Have the CanCreateAccount role)
- *
- * @return This is a procedure, no return value. Just use the side effect.
- */
- def setAccountHolderAndRefreshUserAccountAccess(bankId : BankId, accountId : AccountId, user: User, callContext: Option[CallContext]) = {
- // 1st-getOrCreateAccountHolder: in this method, we only create the account holder, no view, account access involved here.
+
+ def setAccountHolderAndRefreshUserAccountAccess(bankId: BankId, accountId: AccountId, user: User, callContext: Option[CallContext]) = {
AccountHolders.accountHolders.vend.getOrCreateAccountHolder(user: User, BankIdAccountId(bankId, accountId))
-
- // 2rd-refreshUserAccountAccess: in this method, we will simulate onboarding bank user processes. @refreshUserAccountAccess definition.
AuthUser.refreshUser(user, callContext)
}
-
+
}
object BankAccountCreationListener extends MdcLoggable {
@@ -107,59 +76,83 @@ package code.model.dataAccess {
setVirtualHost(DEFAULT_VHOST)
}
- val amqp = new BankAccountCreationDispatcher[CreateBankAccount](factory)
-
- val createBankAccountListener = new LiftActor {
- protected def messageHandler = {
- case msg@AMQPMessage(message: CreateBankAccount) => {
- logger.debug(s"got message to create account/bank: ${message.accountNumber} / ${message.bankIdentifier}")
-
- //TODO: Revise those dummy values
- val accountType = "AMPQ"
- val accountLabel = message.accountNumber
- val currency = "EUR"
-
- val foundUser = Users.users.vend.getUserByProviderId(message.accountOwnerProvider, message.accountOwnerId)
- val result = for {
- user <- foundUser ?~!
- s"user ${message.accountOwnerId} at ${message.accountOwnerProvider} not found. Could not create the account with owner view"
- (_, bankAccount) <- LocalMappedConnectorInternal.createBankAndAccount(
- message.bankName,
- message.bankIdentifier,
- message.accountNumber,
- accountType, accountLabel,
- currency, user.name,
- "",
- "",
- "", //added field in V220
- None
- )
- } yield {
- logger.debug(s"created account with id ${bankAccount.bankId.value} with number ${bankAccount.number} at bank with identifier ${message.bankIdentifier}")
- // Use async version and handle Future result
- BankAccountCreation.setAccountHolderAndRefreshUserAccountAccess(bankAccount.bankId, bankAccount.accountId, user, None).map { _ =>
- logger.debug(s"Successfully set account holder and refreshed user account access for account ${bankAccount.accountId.value}")
- }.recover {
- case ex: Exception =>
- logger.error(s"Failed to set account holder and refresh user account access: ${ex.getMessage}", ex)
- }
- bankAccount
- }
-
- result match {
- case Full(_) =>
- logger.debug(s"Send message to get updates for the account with account number ${message.accountNumber} at ${message.bankIdentifier}")
- UpdatesRequestSender.sendMsg(UpdateBankAccount(message.accountNumber, message.bankIdentifier))
- case Failure(msg, _, _) => logger.warn(s"account creation failed: $msg")
- case _ => logger.warn(s"account creation failed")
- }
-
+ def handleMessage(message: CreateBankAccount): Unit = {
+ logger.debug(s"got message to create account/bank: ${message.accountNumber} / ${message.bankIdentifier}")
+
+ val accountType = "AMPQ"
+ val accountLabel = message.accountNumber
+ val currency = "EUR"
+
+ val foundUser = Users.users.vend.getUserByProviderId(message.accountOwnerProvider, message.accountOwnerId)
+ val result = for {
+ user <- foundUser ?~!
+ s"user ${message.accountOwnerId} at ${message.accountOwnerProvider} not found. Could not create the account with owner view"
+ (_, bankAccount) <- LocalMappedConnectorInternal.createBankAndAccount(
+ message.bankName,
+ message.bankIdentifier,
+ message.accountNumber,
+ accountType, accountLabel,
+ currency, user.name,
+ "",
+ "",
+ "", //added field in V220
+ None
+ )
+ } yield {
+ logger.debug(s"created account with id ${bankAccount.bankId.value} with number ${bankAccount.number} at bank with identifier ${message.bankIdentifier}")
+ BankAccountCreation.setAccountHolderAndRefreshUserAccountAccess(bankAccount.bankId, bankAccount.accountId, user, None).map { _ =>
+ logger.debug(s"Successfully set account holder and refreshed user account access for account ${bankAccount.accountId.value}")
+ }.recover {
+ case ex: Exception =>
+ logger.error(s"Failed to set account holder and refresh user account access: ${ex.getMessage}", ex)
}
+ bankAccount
+ }
+
+ result match {
+ case Full(_) =>
+ logger.debug(s"Send message to get updates for the account with account number ${message.accountNumber} at ${message.bankIdentifier}")
+ UpdatesRequestSender.sendMsg(UpdateBankAccount(message.accountNumber, message.bankIdentifier))
+ case Failure(msg, _, _) => logger.warn(s"account creation failed: $msg")
+ case _ => logger.warn(s"account creation failed")
}
}
- def startListen = {
+
+ def startListen: Unit = {
logger.debug("started to listen for bank account creation messages")
- amqp ! AMQPAddListener(createBankAccountListener)
+ val connection = factory.newConnection()
+ val channel = connection.createChannel()
+ channel.exchangeDeclare("directExchange4", "direct", false)
+ channel.queueDeclare("createBankAccount", false, false, false, null)
+ channel.queueBind("createBankAccount", "directExchange4", "createBankAccount")
+ channel.basicConsume("createBankAccount", false, new DefaultConsumer(channel) {
+ override def handleDelivery(
+ consumerTag: String,
+ envelope: Envelope,
+ properties: AMQP.BasicProperties,
+ body: Array[Byte]
+ ): Unit = {
+ try {
+ val ois = new ObjectInputStream(new ByteArrayInputStream(body))
+ // Allowlist: only CreateBankAccount (5 String fields) may be deserialized.
+ // Rejects gadget-chain classes (commons-collections, beanutils, etc.) at the
+ // filter layer, before readObject() can instantiate them.
+ ois.setObjectInputFilter(ObjectInputFilter.Config.createFilter(
+ "com.tesobe.model.CreateBankAccount;java.lang.*;!*"))
+ val msg = ois.readObject().asInstanceOf[CreateBankAccount]
+ handleMessage(msg)
+ channel.basicAck(envelope.getDeliveryTag, false)
+ } catch {
+ case ex: Exception =>
+ logger.error(s"Failed to process AMQP message: ${ex.getMessage}", ex)
+ // Deliberately do not requeue: a failed create-account message is dropped rather
+ // than redelivered in a tight loop. This preserves the prior actor behaviour
+ // (failures were logged, never retried). Switch to a dead-letter queue if the
+ // adapter ever needs durable retry semantics.
+ channel.basicNack(envelope.getDeliveryTag, false, false)
+ }
+ }
+ })
}
}
-}
\ No newline at end of file
+}
diff --git a/obp-api/src/main/scala/code/model/dataAccess/UpdatesRequestSender.scala b/obp-api/src/main/scala/code/model/dataAccess/UpdatesRequestSender.scala
index 886658d39b..071e73e7d6 100644
--- a/obp-api/src/main/scala/code/model/dataAccess/UpdatesRequestSender.scala
+++ b/obp-api/src/main/scala/code/model/dataAccess/UpdatesRequestSender.scala
@@ -42,11 +42,10 @@ package code.model.dataAccess {
import code.api.util.APIUtil
import code.util.Helper.MdcLoggable
- import com.rabbitmq.client.{Channel, ConnectionFactory}
+ import com.rabbitmq.client.ConnectionFactory
import com.tesobe.model.UpdateBankAccount
- import net.liftmodules.amqp.{AMQPMessage, AMQPSender}
-
+ import java.io.{ByteArrayOutputStream, ObjectOutputStream}
object UpdatesRequestSender extends MdcLoggable {
private val factory = new ConnectionFactory {
@@ -56,23 +55,32 @@ package code.model.dataAccess {
setUsername(APIUtil.getPropsValue("connection.user", DEFAULT_USER))
setPassword(APIUtil.getPropsValue("connection.password", DEFAULT_PASS))
setVirtualHost(DEFAULT_VHOST)
+ // Reuse a single connection across messages; the client transparently re-establishes
+ // a dropped connection on the next publish.
+ setAutomaticRecoveryEnabled(true)
}
- private val amqp = new UpdateRequestsAMQPSender(factory, "directExchange3", "transactions")
-
-
- def sendMsg(message: UpdateBankAccount) = {
- logger.info(s"""Send message to get updates for the account ${message.accountNumber} at ${message.bankNationalIdentifier}""")
- amqp ! AMQPMessage(message)
+ // One long-lived connection, initialised on first use. Channels are created per call:
+ // a Connection is thread-safe and meant to be shared, a Channel is not.
+ private lazy val connection = factory.newConnection()
+
+ def sendMsg(message: UpdateBankAccount): Unit = {
+ logger.info(s"Send message to get updates for the account ${message.accountNumber} at ${message.bankNationalIdentifier}")
+ try {
+ val channel = connection.createChannel()
+ try {
+ val bos = new ByteArrayOutputStream()
+ val oos = new ObjectOutputStream(bos)
+ oos.writeObject(message)
+ oos.flush()
+ channel.basicPublish("directExchange3", "transactions", null, bos.toByteArray)
+ } finally {
+ if (channel.isOpen) channel.close()
+ }
+ } catch {
+ case ex: Exception =>
+ logger.error(s"Failed to send AMQP update message: ${ex.getMessage}", ex)
+ }
}
}
-
- class UpdateRequestsAMQPSender(cf: ConnectionFactory, exchange: String, routingKey: String)
- extends AMQPSender[UpdateBankAccount](cf, exchange, routingKey) {
- override def configure(channel: Channel) = {
- val conn = cf.newConnection()
- val channel = conn.createChannel()
- channel
- }
- }
-}
\ No newline at end of file
+}
diff --git a/obp-api/src/main/scala/code/obp/grpc/ObpGrpcServer.scala b/obp-api/src/main/scala/code/obp/grpc/ObpGrpcServer.scala
index 57ccc433d9..6184b81bf5 100644
--- a/obp-api/src/main/scala/code/obp/grpc/ObpGrpcServer.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/ObpGrpcServer.scala
@@ -1,5 +1,6 @@
package code.obp.grpc
+import org.json4s._
import scala.language.existentials
import scala.language.reflectiveCalls
import code.api.util.newstyle.ViewNewStyle
@@ -16,9 +17,9 @@ import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model._
import io.grpc.{Server, ServerBuilder}
import net.liftweb.common.Full
-import net.liftweb.json.JsonAST.{JField, JObject}
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.{Extraction, JArray}
+import org.json4s.JsonAST.{JField, JObject}
+import org.json4s.JsonDSL._
+import org.json4s.{Extraction, JArray}
import scala.concurrent.{ExecutionContext, Future}
diff --git a/obp-api/src/main/scala/code/obp/grpc/chat/ChatStreamServiceImpl.scala b/obp-api/src/main/scala/code/obp/grpc/chat/ChatStreamServiceImpl.scala
index 74a0ace2de..8c016d3734 100644
--- a/obp-api/src/main/scala/code/obp/grpc/chat/ChatStreamServiceImpl.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/chat/ChatStreamServiceImpl.scala
@@ -1,13 +1,14 @@
package code.obp.grpc.chat
+import org.json4s._
import code.chat.{ChatEventBus, ChatPermissions, ParticipantTrait}
import code.obp.grpc.chat.api._
import code.util.Helper.MdcLoggable
import com.google.protobuf.timestamp.Timestamp
import io.grpc.Status
import io.grpc.stub.{ServerCallStreamObserver, StreamObserver}
-import net.liftweb.json
-import net.liftweb.json.JsonAST.JValue
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.JValue
import java.time.Instant
import scala.util.Try
diff --git a/obp-api/src/main/scala/code/obp/grpc/logcache/LogCacheStreamServiceImpl.scala b/obp-api/src/main/scala/code/obp/grpc/logcache/LogCacheStreamServiceImpl.scala
index 725e366ba0..3e2e541306 100644
--- a/obp-api/src/main/scala/code/obp/grpc/logcache/LogCacheStreamServiceImpl.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/logcache/LogCacheStreamServiceImpl.scala
@@ -1,5 +1,6 @@
package code.obp.grpc.logcache
+import org.json4s._
import code.api.cache.RedisLogger
import code.api.util.APIUtil
import code.api.util.APIUtil.UserOnly
@@ -10,8 +11,8 @@ import code.util.Helper.MdcLoggable
import com.google.protobuf.timestamp.Timestamp
import io.grpc.Status
import io.grpc.stub.{ServerCallStreamObserver, StreamObserver}
-import net.liftweb.json
-import net.liftweb.json.JsonAST.JValue
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.JValue
/**
* gRPC service implementation for log cache streaming.
diff --git a/obp-api/src/main/scala/code/obp/grpc/metricsstream/MetricsStreamServiceImpl.scala b/obp-api/src/main/scala/code/obp/grpc/metricsstream/MetricsStreamServiceImpl.scala
index 502037d7a7..104b425f53 100644
--- a/obp-api/src/main/scala/code/obp/grpc/metricsstream/MetricsStreamServiceImpl.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/metricsstream/MetricsStreamServiceImpl.scala
@@ -1,5 +1,6 @@
package code.obp.grpc.metricsstream
+import org.json4s._
import code.api.util.APIUtil
import code.api.util.APIUtil.UserOnly
import code.api.util.ApiRole.canReadMetrics
@@ -9,8 +10,8 @@ import code.obp.grpc.metricsstream.api._
import code.util.Helper.MdcLoggable
import io.grpc.Status
import io.grpc.stub.{ServerCallStreamObserver, StreamObserver}
-import net.liftweb.json
-import net.liftweb.json.JsonAST.JValue
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.JValue
/**
* gRPC service implementation for metrics streaming.
diff --git a/obp-api/src/main/scala/code/search/search.scala b/obp-api/src/main/scala/code/search/search.scala
index 358b062ff4..6ef39c75a9 100644
--- a/obp-api/src/main/scala/code/search/search.scala
+++ b/obp-api/src/main/scala/code/search/search.scala
@@ -1,5 +1,6 @@
package code.search
+import org.json4s._
import java.nio.charset.Charset
import java.util.Date
@@ -11,10 +12,8 @@ import com.sksamuel.elastic4s.{ElasticClient, ElasticProperties}
import dispatch.Defaults._
import dispatch.{Http, url, _}
import net.liftweb.common.{Box, Empty, Failure, Full}
-import net.liftweb.json
-import net.liftweb.json.JsonAST
-import net.liftweb.json.JsonAST._
-import net.liftweb.util.Helpers
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST
import scala.concurrent.Await
import scala.concurrent.duration.Duration
import scala.util.control.NoStackTrace
@@ -120,6 +119,16 @@ class elasticsearch extends MdcLoggable {
}
}
+ private def appendParams(url: String, params: Seq[(String, String)]): String = {
+ def encode(s: String) = java.net.URLEncoder.encode(s, "UTF-8")
+ params.toList match {
+ case Nil => url
+ case xs =>
+ val query = xs.map { case (n, v) => encode(n) + "=" + encode(v) }.mkString("&")
+ url + (if (url.contains("?")) "&" else "?") + query
+ }
+ }
+
private def constructQuery(userId: String, params: Map[String, String]): Req = {
var esScroll = ""
val esType = params.getOrElse("esType", "")
@@ -160,7 +169,7 @@ class elasticsearch extends MdcLoggable {
else if (q == "" && source != "") {
parameters = Seq(("source", source))
}
- val esUrl = Helpers.appendParams( s"${httpHost}/${esIndex}/${esType}${if (esType.nonEmpty) "/" else ""}_search${esScroll}", parameters )
+ val esUrl = appendParams( s"${httpHost}/${esIndex}/${esType}${if (esType.nonEmpty) "/" else ""}_search${esScroll}", parameters )
//println("[ES.URL]===> " + esUrl)
// Use this incase we cant log to elastic search
diff --git a/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala b/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala
index 2113847495..6e75c3dffa 100644
--- a/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala
+++ b/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala
@@ -1,5 +1,6 @@
package code.transactionrequests
+import org.json4s._
import code.api.util.APIUtil.DateWithMsFormat
import code.api.util.ErrorMessages._
import code.api.util.{APIUtil, CallContext, CustomJsonFormats}
@@ -14,8 +15,8 @@ import com.openbankproject.commons.model.enums.TransactionRequestTypes.{COUNTERP
import com.openbankproject.commons.model.enums.{AccountRoutingScheme, TransactionRequestStatus, TransactionRequestTypes}
import net.liftweb.common.{Box, Failure, Full, Logger}
import code.util.Helper.MdcLoggable
-import net.liftweb.json
-import net.liftweb.json.JsonAST.{JField, JObject, JString}
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.{JField, JObject, JString}
import net.liftweb.mapper._
import net.liftweb.util.Helpers._
diff --git a/obp-api/src/main/scala/code/util/Helper.scala b/obp-api/src/main/scala/code/util/Helper.scala
index 05f81f3c46..1d366bff60 100644
--- a/obp-api/src/main/scala/code/util/Helper.scala
+++ b/obp-api/src/main/scala/code/util/Helper.scala
@@ -1,5 +1,6 @@
package code.util
+import org.json4s._
import code.api.cache.{Redis, RedisLogger}
import java.net.{Socket, SocketException, URL}
@@ -12,9 +13,8 @@ import code.customer.internalMapping.MappedCustomerIdMappingProvider
import code.model.dataAccess.internalMapping.MappedAccountIdMappingProvider
import code.transaction.internalMapping.MappedTransactionIdMappingProvider
import net.liftweb.common._
-import net.liftweb.json.Extraction._
-import net.liftweb.json.JsonAST._
-import net.liftweb.json.{DateFormat, Formats}
+import org.json4s.Extraction._
+import org.json4s.{DateFormat, Formats}
import org.apache.commons.lang3.StringUtils
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model.{AccountBalance, AccountBalances, AccountHeld, AccountId, CoreAccount, Customer, CustomerId, Transaction, TransactionCore, TransactionId}
@@ -29,6 +29,7 @@ import scala.util.Random
import scala.reflect.runtime.universe.Type
import scala.reflect.runtime.universe._
import scala.concurrent.duration._
+import com.openbankproject.commons.util.JsonAliases.prettyRender
@@ -43,17 +44,6 @@ object Helper extends Loggable {
// rule of silence http://www.linfo.org/rule_of_silence.html
val SILENCE_IS_GOLDEN = ""
-
- /**
- * A css selector that will (unless you have a template containing an element
- * name i_am_an_id_that_should_never_exist) have no effect. Useful when you have
- * a method that needs to return a CssSel but in some code paths don't want to do anything.
- */
- val NOOP_SELECTOR = {
- import net.liftweb.util.Helpers._
- "#i_am_an_id_that_should_never_exist" #> ""
- }
-
def generatePermalink(name: String): String = {
name.trim.toLowerCase.replace("-","").replaceAll(" +", " ").replaceAll(" ", "-")
}
@@ -222,7 +212,7 @@ object Helper extends Loggable {
/**
* change the TimeZone to the current TimeZOne
* reference the following trait
- * net.liftweb.json
+ * org.json4s
* trait DefaultFormats
* extends Formats
*/
@@ -240,6 +230,8 @@ object Helper extends Loggable {
def format(d: Date) = formatter.format(d)
+ def timezone: java.util.TimeZone = new GregorianCalendar().getTimeZone
+
private def formatter = {
val f = dateFormatter
f.setTimeZone(new GregorianCalendar().getTimeZone)
diff --git a/obp-api/src/main/scala/code/validation/JsonSchemaValidationProvider.scala b/obp-api/src/main/scala/code/validation/JsonSchemaValidationProvider.scala
index 87d5fc5a8c..f80bccb64c 100644
--- a/obp-api/src/main/scala/code/validation/JsonSchemaValidationProvider.scala
+++ b/obp-api/src/main/scala/code/validation/JsonSchemaValidationProvider.scala
@@ -2,12 +2,13 @@ package code.validation
/* For CardAttribute */
+import org.json4s._
import com.openbankproject.commons.util.JsonAble
import net.liftweb.common.Box
-import net.liftweb.json.{Formats, JsonAST}
+import org.json4s.{Formats, JsonAST}
import net.liftweb.util.SimpleInjector
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json
+import org.json4s.JsonDSL._
+import com.openbankproject.commons.util.json
object JsonSchemaValidationProvider extends SimpleInjector {
diff --git a/obp-api/src/main/scala/code/webhook/WebhookHttpClient.scala b/obp-api/src/main/scala/code/webhook/WebhookHttpClient.scala
index 72d5ed89ce..7b26e0de60 100644
--- a/obp-api/src/main/scala/code/webhook/WebhookHttpClient.scala
+++ b/obp-api/src/main/scala/code/webhook/WebhookHttpClient.scala
@@ -1,11 +1,11 @@
package code.webhook
+import org.json4s._
import code.api.util.ApiTrigger.{OnBalanceChange, OnCreateTransaction, OnCreditTransaction, OnDebitTransaction}
import code.api.util.{ApiTrigger, CustomJsonFormats}
import code.util.Helper.MdcLoggable
import code.webhook.WebhookActor.{AccountNotificationWebhookRequest, WebhookRequest, WebhookRequestTrait}
-import net.liftweb
-import net.liftweb.json.Extraction
+import org.json4s.Extraction
import net.liftweb.mapper.By
import okhttp3.{MediaType, Request, RequestBody}
import code.webhook.OkHttpWebhookClient._
@@ -102,7 +102,7 @@ object WebhookHttpClient extends MdcLoggable {
request.trigger match {
case OnBalanceChange() | OnCreditTransaction() | OnDebitTransaction() | OnCreateTransaction() =>
implicit val formats = CustomJsonFormats.formats
- val json = liftweb.json.compactRender(Extraction.decompose(request.toEventPayload))
+ val json = com.openbankproject.commons.util.JsonAliases.compactRender(Extraction.decompose(request.toEventPayload))
Some(json)
case _ =>
None
@@ -178,13 +178,13 @@ object WebhookHttpClient extends MdcLoggable {
implicit val formats = CustomJsonFormats.formats
case class User(name: String, job: String)
val user = User("morpheus", "leader")
- val json = liftweb.json.compactRender(Extraction.decompose(user))
+ val json = com.openbankproject.commons.util.JsonAliases.compactRender(Extraction.decompose(user))
makeAsynchronousRequest(
composeRequest("https://reqres.in/api/users", "POST", "HTTP/1.1", Some(json)),
request)
val user2 = User("morpheus", "zion resident")
- val json2 = liftweb.json.compactRender(Extraction.decompose(user2))
+ val json2 = com.openbankproject.commons.util.JsonAliases.compactRender(Extraction.decompose(user2))
makeAsynchronousRequest(
composeRequest("https://reqres.in/api/users/2", "PUT", "HTTP/1.1", Some(json2)),
request
diff --git a/obp-api/src/test/resources/frozen_type_meta_data b/obp-api/src/test/resources/frozen_type_meta_data
index a315e131a3..808121cd51 100644
Binary files a/obp-api/src/test/resources/frozen_type_meta_data and b/obp-api/src/test/resources/frozen_type_meta_data differ
diff --git a/obp-api/src/test/scala/code/AppTest.scala b/obp-api/src/test/scala/code/AppTest.scala
deleted file mode 100644
index 2e8dedba95..0000000000
--- a/obp-api/src/test/scala/code/AppTest.scala
+++ /dev/null
@@ -1,112 +0,0 @@
-/**
-Open Bank Project - API
-Copyright (C) 2011-2019, TESOBE GmbH.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU Affero General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Affero General Public License for more details.
-
-You should have received a copy of the GNU Affero General Public License
-along with this program. If not, see .
-
-Email: contact@tesobe.com
-TESOBE GmbH.
-Osloer Strasse 16/17
-Berlin 13359, Germany
-
-This product includes software developed at
-TESOBE (http://www.tesobe.com/)
-
- */
-package code
-
-import java.io.File
-import junit.framework._
-import Assert._
-import scala.xml.XML
-import net.liftweb.util._
-import net.liftweb.common._
-
-object AppTest {
- def suite: Test = {
- val suite = new TestSuite(classOf[AppTest])
- suite
- }
-
- def main(args : Array[String]) {
- junit.textui.TestRunner.run(suite)
- }
-}
-
-/**
- * Unit test for simple App.
- */
-class AppTest extends TestCase("app") {
-
- /**
- * Rigourous Tests :-)
- */
- def testOK() = assertTrue(true)
- // def testKO() = assertTrue(false);
-
- /**
- * Tests to make sure the project's XML files are well-formed.
- *
- * Finds every *.html and *.xml file in src/main/webapp (and its
- * subdirectories) and tests to make sure they are well-formed.
- */
- def testXml() = {
- var failed: List[File] = Nil
-
- def handledXml(file: String) =
- file.endsWith(".xml")
-
- def handledXHtml(file: String) =
- file.endsWith(".htm") || file.endsWith(".xhtml")
-
- def handledHtml(file: String) =
- file.endsWith(".html")
-
-
- def wellFormed(file: File) {
- if (file.isDirectory)
- for (f <- file.listFiles) wellFormed(f)
-
- if (file.isFile && handledXml(file.getName)) {
- try {
- XML.loadFile(file)
- } catch {
- case e: org.xml.sax.SAXParseException => failed = file :: failed
- }
- }
- if (file.isFile && handledXHtml(file.getName)) {
- PCDataXmlParser(new java.io.FileInputStream(file.getAbsolutePath)) match {
- case Full(_) => // file is ok
- case _ => failed = file :: failed
- }
- }
- if (file.isFile && handledHtml(file.getName)) {
- Html5.parse(new java.io.FileInputStream(file.getAbsolutePath)) match {
- case Full(_) => // file is ok
- case _ => failed = file :: failed
- }
- }
- }
-
- wellFormed(new File("src/main/webapp"))
-
- val numFails = failed.size
- if (numFails > 0) {
- val fileStr = if (numFails == 1) "file" else "files"
- val msg = "Malformed XML in " + numFails + " " + fileStr + ": " + failed.mkString(", ")
- println(msg)
- fail(msg)
- }
- }
-}
diff --git a/obp-api/src/test/scala/code/api/DirectLoginTest.scala b/obp-api/src/test/scala/code/api/DirectLoginTest.scala
index 6546a99d7c..0dbf077bf0 100644
--- a/obp-api/src/test/scala/code/api/DirectLoginTest.scala
+++ b/obp-api/src/test/scala/code/api/DirectLoginTest.scala
@@ -1,5 +1,6 @@
package code.api
+import org.json4s._
import code.api.Constant.localIdentityProvider
import code.api.util.ErrorMessages
import code.api.util.ErrorMessages._
@@ -14,7 +15,7 @@ import code.userlocks.UserLocksProvider
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.JsonAST.{JArray, JField, JObject, JString}
+import org.json4s.JsonAST.{JArray, JField, JObject, JString}
import net.liftweb.mapper.By
import net.liftweb.util.Helpers._
import org.scalatest.{BeforeAndAfter, Tag}
diff --git a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTechnologyTest.scala b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTechnologyTest.scala
index de2f695a8d..f2a7406cb7 100644
--- a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTechnologyTest.scala
+++ b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTechnologyTest.scala
@@ -1,9 +1,10 @@
package code.api.ResourceDocs1_4_0
+import org.json4s._
import code.api.Constant
import code.setup.{PropsReset, ServerSetup}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.JsonAST.{JArray, JNothing, JNull, JString}
+import org.json4s.JsonAST.{JArray, JNothing, JNull, JString}
class ResourceDocsTechnologyTest extends ServerSetup with PropsReset {
private val v600 = ApiVersion.v6_0_0.toString
diff --git a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTest.scala b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTest.scala
index 12c52a1d34..3b6e831399 100644
--- a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTest.scala
+++ b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTest.scala
@@ -1,5 +1,6 @@
package code.api.ResourceDocs1_4_0
+import org.json4s._
import code.api.Constant
import code.api.ResourceDocs1_4_0.ResourceDocs140.ImplementationsResourceDocs
import code.api.berlin.group.ConstantsBG
@@ -10,10 +11,8 @@ import code.api.v1_4_0.JSONFactory1_4_0.ResourceDocsJson
import code.setup.{DefaultUsers, PropsReset}
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.util.{ApiVersion, Functions}
-import net.liftweb.json
-import net.liftweb.json.JsonAST._
-import net.liftweb.json.{Formats, JString, Serializer, TypeInfo}
-import net.liftweb.util.Html5
+import com.openbankproject.commons.util.json
+import org.json4s.{Formats, JString, Serializer, TypeInfo}
import org.scalatest.Tag
import scala.xml.NodeSeq
@@ -92,9 +91,8 @@ class ResourceDocsTest extends ResourceDocsV140ServerSetup with PropsReset with
* @return
*/
def stringToNodeSeq(html : String) : NodeSeq = {
- val newHtmlString =scala.xml.XML.loadString("" + html + "
").toString()
- //Note: `parse` method: We much enclose the div, otherwise only the first element is returned.
- Html5.parse(newHtmlString).headOption.getOrElse(NodeSeq.Empty)
+ //Note: we must enclose the div, otherwise only the first element is returned.
+ scala.xml.XML.loadString("" + html + "
")
}
diff --git a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerDocsTest.scala b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerDocsTest.scala
index a52fde8456..f877606f45 100644
--- a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerDocsTest.scala
+++ b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerDocsTest.scala
@@ -1,5 +1,6 @@
package code.api.ResourceDocs1_4_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.ResourceDocs140.ImplementationsResourceDocs
import code.api.util.ErrorMessages.{AuthenticatedUserIsRequired, UserHasMissingRoles}
import code.api.util.{ApiRole, CustomJsonFormats}
@@ -9,10 +10,8 @@ import code.api.util.APIUtil.OAuth._
import code.entitlement.Entitlement
import com.openbankproject.commons.util.{ApiVersion, Functions}
import io.swagger.parser.OpenAPIParser
-import net.liftweb.json
-import net.liftweb.json.JsonAST._
-import net.liftweb.json.{Formats, JString, Serializer, TypeInfo}
-import net.liftweb.util.Html5
+import com.openbankproject.commons.util.json
+import org.json4s.{Formats, JString, Serializer, TypeInfo}
import org.scalatest.Tag
import java.util
@@ -66,9 +65,8 @@ class SwaggerDocsTest extends ResourceDocsV140ServerSetup with PropsReset with D
* @return
*/
def stringToNodeSeq(html : String) : NodeSeq = {
- val newHtmlString =scala.xml.XML.loadString("" + html + "
").toString()
- //Note: `parse` method: We much enclose the div, otherwise only the first element is returned.
- Html5.parse(newHtmlString).head
+ //Note: we must enclose the div, otherwise only the first element is returned.
+ scala.xml.XML.loadString("" + html + "
")
}
diff --git a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerFactoryUnitTest.scala b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerFactoryUnitTest.scala
index 4a4f55a3c2..afddf34751 100644
--- a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerFactoryUnitTest.scala
+++ b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerFactoryUnitTest.scala
@@ -1,5 +1,6 @@
package code.api.ResourceDocs1_4_0
+import org.json4s._
import code.api.util.APIUtil.ResourceDoc
import code.api.v1_4_0.V140ServerSetup
import code.api.v2_1_0.OBPAPI2_1_0
@@ -137,7 +138,7 @@ class SwaggerFactoryUnitTest extends V140ServerSetup with MdcLoggable {
)
val result = SwaggerJSONFactory.translateEntity(testObj)
noException should be thrownBy {
- net.liftweb.json.parse("{" + result + "}")
+ com.openbankproject.commons.util.JsonAliases.parse("{" + result + "}")
}
result should include("\\\"")
}
@@ -146,7 +147,7 @@ class SwaggerFactoryUnitTest extends V140ServerSetup with MdcLoggable {
val testObj = TestWithNewlines(text = "Line 1\nLine 2\tTab")
val result = SwaggerJSONFactory.translateEntity(testObj)
noException should be thrownBy {
- net.liftweb.json.parse("{" + result + "}")
+ com.openbankproject.commons.util.JsonAliases.parse("{" + result + "}")
}
result should include("\\n")
}
@@ -155,7 +156,7 @@ class SwaggerFactoryUnitTest extends V140ServerSetup with MdcLoggable {
val testObj = AbacRule(rule = """user.emailAddress.contains(\"admin\")""")
val result = SwaggerJSONFactory.translateEntity(testObj)
noException should be thrownBy {
- net.liftweb.json.parse("{" + result + "}")
+ com.openbankproject.commons.util.JsonAliases.parse("{" + result + "}")
}
}
@@ -173,8 +174,8 @@ class SwaggerFactoryUnitTest extends V140ServerSetup with MdcLoggable {
success_response_body = SwaggerDefinitionsJSON.bankJSON,
error_response_bodies = List("OBP-10000"),
tags = List("Test"),
- typed_request_body = net.liftweb.json.JNothing,
- typed_success_response_body = net.liftweb.json.JNothing,
+ typed_request_body = org.json4s.JNothing,
+ typed_success_response_body = org.json4s.JNothing,
roles = Some(List()),
is_featured = false,
special_instructions = "",
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v1_3/AccountInformationServiceAISApiTest.scala b/obp-api/src/test/scala/code/api/berlin/group/v1_3/AccountInformationServiceAISApiTest.scala
index 39a9f527bc..f9d5a6b697 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v1_3/AccountInformationServiceAISApiTest.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v1_3/AccountInformationServiceAISApiTest.scala
@@ -1,5 +1,6 @@
package code.api.berlin.group.v1_3
+import org.json4s._
import code.api.Constant
import code.api.Constant.{SYSTEM_READ_ACCOUNTS_BERLIN_GROUP_VIEW_ID, SYSTEM_READ_BALANCES_BERLIN_GROUP_VIEW_ID, SYSTEM_READ_TRANSACTIONS_BERLIN_GROUP_VIEW_ID}
import code.api.berlin.group.v1_3.JSONFactory_BERLIN_GROUP_1_3._
@@ -14,7 +15,7 @@ import code.setup.{APIResponse, DefaultUsers}
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.model.enums.AccountRoutingScheme
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import net.liftweb.mapper.By
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupServerSetupV1_3.scala b/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupServerSetupV1_3.scala
index 3c55ed5ee2..527d402230 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupServerSetupV1_3.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupServerSetupV1_3.scala
@@ -1,5 +1,6 @@
package code.api.berlin.group.v1_3
+import org.json4s._
import code.api.Constant
import code.api.Constant.SYSTEM_READ_ACCOUNTS_BERLIN_GROUP_VIEW_ID
import code.api.berlin.group.ConstantsBG
@@ -9,7 +10,7 @@ import code.api.v4_0_0.{PostAccountAccessJsonV400, PostViewJsonV400}
import code.setup.ServerSetupWithTestData
import code.views.Views
import dispatch.Req
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
trait BerlinGroupServerSetupV1_3 extends ServerSetupWithTestData {
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v1_3/ConfirmationOfFundsServicePIISApiTest.scala b/obp-api/src/test/scala/code/api/berlin/group/v1_3/ConfirmationOfFundsServicePIISApiTest.scala
index 843a008bc1..c0ea12b2c4 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v1_3/ConfirmationOfFundsServicePIISApiTest.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v1_3/ConfirmationOfFundsServicePIISApiTest.scala
@@ -1,5 +1,6 @@
package code.api.berlin.group.v1_3
+import org.json4s._
import code.api.berlin.group.v1_3.JSONFactory_BERLIN_GROUP_1_3.ErrorMessagesBG
import com.openbankproject.commons.model.ErrorMessage
import code.api.berlin.group.v1_3.{Http4sBGv13PIIS => APIMethods_ConfirmationOfFundsServicePIISApi}
@@ -9,8 +10,8 @@ import code.model.dataAccess.{BankAccountRouting, MappedBankAccount}
import code.setup.{APIResponse, DefaultUsers}
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.enums.AccountRoutingScheme
-import net.liftweb.json
-import net.liftweb.json.Serialization.write
+import com.openbankproject.commons.util.json
+import org.json4s.native.Serialization.write
import net.liftweb.mapper.By
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v1_3/JSONFactory_BERLIN_GROUP_1_3Test.scala b/obp-api/src/test/scala/code/api/berlin/group/v1_3/JSONFactory_BERLIN_GROUP_1_3Test.scala
index 82b7872693..36512956c7 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v1_3/JSONFactory_BERLIN_GROUP_1_3Test.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v1_3/JSONFactory_BERLIN_GROUP_1_3Test.scala
@@ -31,7 +31,8 @@ import code.api.util.CustomJsonFormats
import code.model.ModeratedTransaction
import code.setup.PropsReset
import com.openbankproject.commons.model._
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import org.scalatest.{FeatureSpec, GivenWhenThen, Matchers}
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v1_3/PaymentInitiationServicePISApiTest.scala b/obp-api/src/test/scala/code/api/berlin/group/v1_3/PaymentInitiationServicePISApiTest.scala
index ed5603ff76..fe162244ad 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v1_3/PaymentInitiationServicePISApiTest.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v1_3/PaymentInitiationServicePISApiTest.scala
@@ -1,5 +1,6 @@
package code.api.berlin.group.v1_3
+import org.json4s._
import code.api.BerlinGroup.ScaStatus
import code.api.Constant.SYSTEM_INITIATE_PAYMENTS_BERLIN_GROUP_VIEW_ID
import code.api.berlin.group.v1_3.JSONFactory_BERLIN_GROUP_1_3.{CancelPaymentResponseJson, CancellationJsonV13, ErrorMessagesBG, InitiatePaymentResponseJson, StartPaymentAuthorisationJson}
@@ -14,7 +15,7 @@ import code.views.Views
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.enums.{AccountRoutingScheme, PaymentServiceTypes, TransactionRequestTypes}
import com.openbankproject.commons.model.{SepaCreditTransfers, SepaCreditTransfersBerlinGroupV13, ViewId}
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import net.liftweb.mapper.By
import org.scalatest.Tag
@@ -377,8 +378,10 @@ class PaymentInitiationServicePISApiTest extends BerlinGroupServerSetupV1_3 with
Then(s"We can test the ${updatePaymentPsuDataTransactionAuthorisation.name}")
val updatePaymentPsuDataJsonBody = Http4sBGv13PIS.resourceDocs
.filter(_.partialFunctionName == "updatePaymentPsuDataTransactionAuthorisation")
- .head.exampleRequestBody.asInstanceOf[JvalueCaseClass] //All the Json String convert to JvalueCaseClass implicitly
- .jvalueToCaseclass
+ .head.exampleRequestBody match {
+ case jvc: JvalueCaseClass => jvc.jvalueToCaseclass
+ case jv: org.json4s.JValue => jv
+ }
val requestUpdatePaymentPsuData = (V1_3_BG / PaymentServiceTypes.payments.toString / TransactionRequestTypes.SEPA_CREDIT_TRANSFERS.toString / paymentId / "authorisations"/authorisationId).PUT <@ (user1)
val responseUpdatePaymentPsuData: APIResponse = makePutRequest(requestUpdatePaymentPsuData, write(updatePaymentPsuDataJsonBody))
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v2/JSONFactoryBGv2Test.scala b/obp-api/src/test/scala/code/api/berlin/group/v2/JSONFactoryBGv2Test.scala
index c2e91c0e18..32d6f4045a 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v2/JSONFactoryBGv2Test.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v2/JSONFactoryBGv2Test.scala
@@ -1,7 +1,9 @@
package code.api.berlin.group.v2
+import org.json4s._
import code.util.Helper.MdcLoggable
-import net.liftweb.json.{Extraction, Formats, prettyRender}
+import org.json4s.{Extraction, Formats}
+import com.openbankproject.commons.util.JsonAliases.prettyRender
import code.api.util.CustomJsonFormats
import org.scalatest.{FlatSpec, Matchers, Tag}
diff --git a/obp-api/src/test/scala/code/api/dynamic/entity/query/QuerySpec.scala b/obp-api/src/test/scala/code/api/dynamic/entity/query/QuerySpec.scala
index 6ac8f96567..39cc15589f 100644
--- a/obp-api/src/test/scala/code/api/dynamic/entity/query/QuerySpec.scala
+++ b/obp-api/src/test/scala/code/api/dynamic/entity/query/QuerySpec.scala
@@ -1,7 +1,7 @@
package code.api.dynamic.entity.query
import com.openbankproject.commons.model.enums.DynamicEntityFieldType
-import net.liftweb.json.JsonAST.JObject
+import org.json4s.JsonAST.JObject
import org.scalatest.{FlatSpec, Matchers}
/**
@@ -13,7 +13,7 @@ class QuerySpec extends FlatSpec with Matchers {
private def params(kvs: (String, String)*): Map[String, List[String]] =
kvs.groupBy(_._1).map { case (k, vs) => k -> vs.map(_._2).toList }
- private def rec(s: String): JObject = net.liftweb.json.parse(s).asInstanceOf[JObject]
+ private def rec(s: String): JObject = com.openbankproject.commons.util.JsonAliases.parse(s).asInstanceOf[JObject]
private val indexed: Map[String, FieldSpec] = Map(
"price" -> FieldSpec(DynamicEntityFieldType.number, "scalar"),
diff --git a/obp-api/src/test/scala/code/api/gateWayloginTest.scala b/obp-api/src/test/scala/code/api/gateWayloginTest.scala
index eb8e953eff..236338d49c 100644
--- a/obp-api/src/test/scala/code/api/gateWayloginTest.scala
+++ b/obp-api/src/test/scala/code/api/gateWayloginTest.scala
@@ -1,12 +1,13 @@
package code.api
+import org.json4s._
import code.api.util.{APIUtil, ErrorMessages}
import com.openbankproject.commons.model._
import code.setup.{APIResponse, DefaultUsers, ServerSetup}
import net.liftweb.common.Full
-import net.liftweb.json
-import net.liftweb.json.Extraction
-import net.liftweb.json.JsonAST.{JField, JObject, JString}
+import com.openbankproject.commons.util.json
+import org.json4s.Extraction
+import org.json4s.JsonAST.{JField, JObject, JString}
import net.liftweb.util.Props
import org.scalatest._
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/http4sbridge/Http4sServerIntegrationTest.scala b/obp-api/src/test/scala/code/api/http4sbridge/Http4sServerIntegrationTest.scala
index e6042c6125..d0453f202c 100644
--- a/obp-api/src/test/scala/code/api/http4sbridge/Http4sServerIntegrationTest.scala
+++ b/obp-api/src/test/scala/code/api/http4sbridge/Http4sServerIntegrationTest.scala
@@ -1,13 +1,14 @@
package code.api.http4sbridge
+import org.json4s._
import code.Http4sTestServer
import code.api.util.APIUtil
import code.setup.{DefaultUsers, ServerSetup, ServerSetupWithTestData}
import code.views.system.AccountAccess
import dispatch.Defaults._
import dispatch._
-import net.liftweb.json.JsonAST.JObject
-import net.liftweb.json.JsonParser.parse
+import org.json4s.JsonAST.JObject
+import com.openbankproject.commons.util.JsonAliases.parse
import org.scalatest.Tag
import scala.collection.JavaConverters._
diff --git a/obp-api/src/test/scala/code/api/util/http4s/Http4sJsonContentTypeTest.scala b/obp-api/src/test/scala/code/api/util/http4s/Http4sJsonContentTypeTest.scala
index a097270f8c..8995604f05 100644
--- a/obp-api/src/test/scala/code/api/util/http4s/Http4sJsonContentTypeTest.scala
+++ b/obp-api/src/test/scala/code/api/util/http4s/Http4sJsonContentTypeTest.scala
@@ -1,10 +1,11 @@
package code.api.util.http4s
+import org.json4s._
import cats.effect.IO
import cats.effect.unsafe.implicits.global
import code.api.util.CallContext
import code.api.util.http4s.Http4sRequestAttributes.{EndpointHelpers, callContextKey}
-import net.liftweb.json.{DefaultFormats, Formats}
+import org.json4s.{DefaultFormats, Formats}
import org.http4s.{Request, Response}
import org.scalatest.{FeatureSpec, GivenWhenThen, Matchers}
import org.typelevel.ci.CIString
diff --git a/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMatcherTest.scala b/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMatcherTest.scala
index 99d10b2e4e..3c85edf458 100644
--- a/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMatcherTest.scala
+++ b/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMatcherTest.scala
@@ -1,10 +1,11 @@
package code.api.util.http4s
+import org.json4s._
import code.api.util.APIUtil.ResourceDoc
import code.api.util.ApiTag.ResourceDocTag
import com.openbankproject.commons.util.ApiShortVersions
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.JsonAST.JObject
+import org.json4s.JsonAST.JObject
import org.http4s._
import org.scalatest.{FeatureSpec, GivenWhenThen, Matchers, Tag}
diff --git a/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMiddlewareEnableDisableTest.scala b/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMiddlewareEnableDisableTest.scala
index ae87a41c9c..2fab12a9fa 100644
--- a/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMiddlewareEnableDisableTest.scala
+++ b/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMiddlewareEnableDisableTest.scala
@@ -1,9 +1,10 @@
package code.api.util.http4s
+import org.json4s._
import code.api.util.APIUtil.ResourceDoc
import code.api.util.ApiTag.ResourceDocTag
import com.openbankproject.commons.util.{ApiVersion, ScannedApiVersion}
-import net.liftweb.json.JsonAST.JObject
+import org.json4s.JsonAST.JObject
import org.scalatest.{FeatureSpec, GivenWhenThen, Matchers, Tag}
/**
diff --git a/obp-api/src/test/scala/code/api/v1_2_1/API1_2_1Test.scala b/obp-api/src/test/scala/code/api/v1_2_1/API1_2_1Test.scala
index 2b18e387dd..a54337e39a 100644
--- a/obp-api/src/test/scala/code/api/v1_2_1/API1_2_1Test.scala
+++ b/obp-api/src/test/scala/code/api/v1_2_1/API1_2_1Test.scala
@@ -26,7 +26,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v1_2_1
-import _root_.net.liftweb.json.Serialization.write
+import _root_.org.json4s.native.Serialization.write
import code.api.Constant._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil
@@ -37,7 +37,8 @@ import code.bankconnectors.Connector
import code.setup.{APIResponse, DefaultUsers, PrivateUser2AccountsAndSetUpWithTestData, ServerSetupWithTestData}
import code.views.Views
import com.openbankproject.commons.model._
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.util.Helpers._
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/CustomerTest.scala
index 827ac2f053..8fc956b9d0 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/CustomerTest.scala
@@ -1,5 +1,6 @@
package code.api.v1_4_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.util.APIUtil.OAuth._
import code.api.util.{ApiRole, ErrorMessages}
@@ -9,7 +10,7 @@ import code.customer.CustomerX
import code.entitlement.Entitlement
import code.setup.DefaultUsers
import code.usercustomerlinks.UserCustomerLink
-import net.liftweb.json.Serialization._
+import org.json4s.native.Serialization._
class CustomerTest extends V200ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0NestedArrayTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0NestedArrayTest.scala
index 353c1ceb1d..71cd474462 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0NestedArrayTest.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0NestedArrayTest.scala
@@ -2,7 +2,8 @@ package code.api.v1_4_0
import code.api.util.CustomJsonFormats
import code.util.Helper.MdcLoggable
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import org.scalatest.{BeforeAndAfterAll, BeforeAndAfterEach, FeatureSpec, GivenWhenThen, Matchers}
/**
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0PreservationTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0PreservationTest.scala
index 64fc1fcd88..7fcaab028f 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0PreservationTest.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0PreservationTest.scala
@@ -2,7 +2,8 @@ package code.api.v1_4_0
import code.api.util.CustomJsonFormats
import code.util.Helper.MdcLoggable
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import org.scalatest.{BeforeAndAfterAll, BeforeAndAfterEach, FeatureSpec, GivenWhenThen, Matchers}
import java.util.Date
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0Test.scala b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0Test.scala
index 064dc57d74..a0c44cc42f 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0Test.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0Test.scala
@@ -9,8 +9,9 @@ import code.api.util.CustomJsonFormats
import code.api.v1_4_0.JSONFactory1_4_0.ResourceDocJson
import code.api.v3_0_0.OBPAPI3_0_0
import code.api.v1_2_1.OBPAPI1_2_1
-import net.liftweb.json.Extraction.decompose
-import net.liftweb.json._
+import org.json4s.Extraction.decompose
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import org.everit.json.schema.loader.SchemaLoader
import org.json.JSONObject
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/MappedCustomerMessagesTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/MappedCustomerMessagesTest.scala
index d5fcdb3429..36e198520d 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/MappedCustomerMessagesTest.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/MappedCustomerMessagesTest.scala
@@ -1,5 +1,6 @@
package code.api.v1_4_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.{APIUtil, ApiRole}
import code.api.v1_4_0.JSONFactory1_4_0.{AddCustomerMessageJson, CustomerFaceImageJson, CustomerMessagesJson}
@@ -10,7 +11,7 @@ import code.setup.DefaultUsers
import code.usercustomerlinks.UserCustomerLink
import com.openbankproject.commons.model.Customer
import net.liftweb.common.{Box, Empty, Full}
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
//TODO: API test should be independent of CustomerMessages implementation
class MappedCustomerMessagesTest extends V140ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v2_0_0/AccountTest.scala b/obp-api/src/test/scala/code/api/v2_0_0/AccountTest.scala
index 31bd4a182b..206ee729d4 100644
--- a/obp-api/src/test/scala/code/api/v2_0_0/AccountTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_0_0/AccountTest.scala
@@ -1,11 +1,11 @@
package code.api.v2_0_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ErrorMessages
import code.setup.{DefaultUsers, PrivateUser2AccountsAndSetUpWithTestData}
import com.openbankproject.commons.model.{AmountOfMoneyJsonV121 => AmountOfMoneyJSON121}
-import net.liftweb.json.JsonAST._
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
class AccountTest extends V200ServerSetup with DefaultUsers with PrivateUser2AccountsAndSetUpWithTestData {
val mockAccountId1 = "NEW_ACCOUNT_ID_01"
diff --git a/obp-api/src/test/scala/code/api/v2_0_0/CreateUserTest.scala b/obp-api/src/test/scala/code/api/v2_0_0/CreateUserTest.scala
index 043f15cd01..7036fa030d 100644
--- a/obp-api/src/test/scala/code/api/v2_0_0/CreateUserTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_0_0/CreateUserTest.scala
@@ -1,8 +1,9 @@
package code.api.v2_0_0
+import org.json4s._
import code.consumer.Consumers
-import net.liftweb.json.JsonAST.{JField, JObject, JString}
-import net.liftweb.json.Serialization.write
+import org.json4s.JsonAST.{JField, JObject, JString}
+import org.json4s.native.Serialization.write
import net.liftweb.util.Helpers._
import org.scalatest.{BeforeAndAfter, Tag}
diff --git a/obp-api/src/test/scala/code/api/v2_0_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v2_0_0/CustomerTest.scala
index bc5f2c75ab..a4eca689fe 100644
--- a/obp-api/src/test/scala/code/api/v2_0_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_0_0/CustomerTest.scala
@@ -1,5 +1,6 @@
package code.api.v2_0_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
@@ -8,7 +9,7 @@ import code.api.v1_4_0.JSONFactory1_4_0.CustomerJsonV140
import code.entitlement.Entitlement
import code.setup.DefaultUsers
import code.usercustomerlinks.UserCustomerLink
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
class CustomerTest extends V200ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v2_0_0/EntitlementTests.scala b/obp-api/src/test/scala/code/api/v2_0_0/EntitlementTests.scala
index 17aa6d56fe..5ebf3faf93 100644
--- a/obp-api/src/test/scala/code/api/v2_0_0/EntitlementTests.scala
+++ b/obp-api/src/test/scala/code/api/v2_0_0/EntitlementTests.scala
@@ -1,5 +1,6 @@
package code.api.v2_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import com.openbankproject.commons.model.ErrorMessage
import code.api.util.APIUtil.OAuth._
@@ -9,7 +10,7 @@ import code.api.util.ErrorMessages.{UserHasMissingRoles, _}
import code.api.util.{ApiRole, ErrorMessages}
import code.entitlement.Entitlement
import code.setup.DefaultUsers
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
class EntitlementTests extends V200ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/CreateBranchTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/CreateBranchTest.scala
index c72099bf1c..460d8a7e25 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/CreateBranchTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/CreateBranchTest.scala
@@ -1,13 +1,14 @@
package code.api.v2_1_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.{APIUtil, ApiRole}
import code.api.util.ApiRole.{CanCreateBranch, CanUpdateBranch}
import code.api.v1_4_0.JSONFactory1_4_0._
import code.setup.DefaultUsers
import com.openbankproject.commons.model.{AccountId, BranchId, ViewId}
-import net.liftweb.json.JsonAST.JString
-import net.liftweb.json.Serialization.write
+import org.json4s.JsonAST.JString
+import org.json4s.native.Serialization.write
class CreateBranchTest extends V210ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/CreateCreditCardTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/CreateCreditCardTest.scala
index d53193fff1..3ebef97e39 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/CreateCreditCardTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/CreateCreditCardTest.scala
@@ -1,12 +1,13 @@
package code.api.v2_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.postPhysicalCardJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.{APIUtil, ApiRole}
import code.api.util.ApiRole.CanCreateCardsForBank
import code.api.v1_3_0.PhysicalCardJSON
import code.setup.DefaultUsers
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import code.api.util.ErrorMessages._
class CreateCreditCardTest extends V210ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/CreateTransactionTypeTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/CreateTransactionTypeTest.scala
index 8a0bedf9b4..bac6305cc2 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/CreateTransactionTypeTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/CreateTransactionTypeTest.scala
@@ -1,5 +1,6 @@
package code.api.v2_1_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.CanCreateTransactionType
import code.api.util.{APIUtil, ApiRole, ErrorMessages}
@@ -11,7 +12,7 @@ import code.transaction_types.MappedTransactionType
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{AmountOfMoneyJsonV121, ErrorMessage, TransactionTypeId}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization._
+import org.json4s.native.Serialization._
import org.scalatest.Tag
/**
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/CustomerTest.scala
index 4fe753c5f9..35df821a2d 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/CustomerTest.scala
@@ -1,5 +1,6 @@
package code.api.v2_1_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.util.APIUtil.OAuth._
import code.api.util.{ApiRole, ErrorMessages}
@@ -8,7 +9,7 @@ import code.api.v1_4_0.JSONFactory1_4_0.CustomerFaceImageJson
import code.entitlement.Entitlement
import code.setup.DefaultUsers
import code.usercustomerlinks.UserCustomerLink
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
class CustomerTest extends V210ServerSetup with DefaultUsers {
def createCustomerJson(customerNumber: String): PostCustomerJsonV210 = {
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/SandboxDataLoadingTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/SandboxDataLoadingTest.scala
index 69b603677f..7c9331de60 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/SandboxDataLoadingTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/SandboxDataLoadingTest.scala
@@ -26,6 +26,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v2_1_0
+import org.json4s._
import java.util.Date
import code.api.Constant._
@@ -57,10 +58,12 @@ import com.openbankproject.commons.model._
import com.openbankproject.commons.model.enums.AccountRoutingScheme
import dispatch._
import net.liftweb.common.{Empty, ParamFailure}
-import net.liftweb.json.JsonAST.{JObject, JValue}
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.Serialization.write
-import net.liftweb.json.{JField, _}
+import org.json4s.JsonAST.{JObject, JValue}
+import org.json4s.JsonDSL._
+import org.json4s.native.Serialization
+import org.json4s.native.Serialization.write
+import org.json4s.{JField, _}
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.mapper.{By, MetaMapper}
import org.scalatest.{BeforeAndAfterEach, FlatSpec, Matchers}
import code.model._
@@ -371,17 +374,24 @@ class SandboxDataLoadingTest extends FlatSpec with SendServerRequests with Match
}
def removeField(json : JValue, fieldSpecifier : List[String]): JValue = {
- json.replace(fieldSpecifier, JNothing)
+ new org.json4s.MonadicJValue(json).replace(fieldSpecifier, JNothing)
}
- implicit class JValueWithSingleReplace(jValue : JValue) {
- def replace(fieldName : String, fieldValue : String) =
- jValue.replace(List(fieldName), fieldValue)
+ // Shadow jvalue2monadic from org.json4s to prevent ambiguity with JValueWithSingleReplace
+ private def jvalue2monadic(jv: JValue): JValueWithSingleReplace = JValueWithSingleReplace(jv)
+
+ implicit class JValueWithSingleReplace(jValue: JValue) {
+ def replace(fieldName: String, fieldValue: String): JValue =
+ new org.json4s.MonadicJValue(jValue).replace(List(fieldName), JString(fieldValue))
+ def replace(path: List[String], replacement: String): JValue =
+ new org.json4s.MonadicJValue(jValue).replace(path, JString(replacement))
+ def replace(path: List[String], replacement: JValue): JValue =
+ new org.json4s.MonadicJValue(jValue).replace(path, replacement)
}
//TODO: remove this method?
- def replaceField(json : JValue, fieldName : String, fieldValue : String) =
- json.replace(List(fieldName), fieldValue)
+ def replaceField(json : JValue, fieldName : String, fieldValue : String): JValue =
+ new org.json4s.MonadicJValue(json).replace(List(fieldName), JString(fieldValue))
//TODO: remove this method?
def replaceDisplayName(json : JValue, displayName : String) =
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/TransactionRequestsTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/TransactionRequestsTest.scala
index 00af41c26e..9146a166da 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/TransactionRequestsTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/TransactionRequestsTest.scala
@@ -1,5 +1,6 @@
package code.api.v2_1_0
+import org.json4s._
import java.util.UUID
import code.api.Constant._
@@ -20,7 +21,7 @@ import com.openbankproject.commons.model.enums.TransactionRequestStatus
import com.openbankproject.commons.model.enums.TransactionRequestTypes._
import com.openbankproject.commons.model.enums.TransactionRequestTypes
import com.openbankproject.commons.model.{AccountId, BankAccount, TransactionRequestId}
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.collection.immutable.List
@@ -183,19 +184,19 @@ class TransactionRequestsTest extends V210ServerSetup with DefaultUsers {
if (withChellenge) {
And("We should have the INITIATED status in response body")
- (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "status").values.toString should equal(TransactionRequestStatus.INITIATED.toString)
+ (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "status").extract[List[String]] should equal(List(TransactionRequestStatus.INITIATED.toString))
And("Challenge should be not null, this is the no challenge scenario")
(getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "challenge").children.size should not equal (0)
And("We should have be null value for TransactionIds")
- (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "transaction_ids").values.toString should equal("List()")
+ (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "transaction_ids").children.headOption.map(_.values.toString).getOrElse("List()") should equal("List()")
} else {
And("We should have the COMPLETED status in response body")
- (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "status").values.toString should equal(TransactionRequestStatus.COMPLETED.toString)
+ (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "status").extract[List[String]] should equal(List(TransactionRequestStatus.COMPLETED.toString))
And("Challenge should be null, this is the no challenge scenario")
- (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "challenge").children.size should equal(0)
+ (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "challenge").children.headOption.map(_.children.size).getOrElse(0) should equal(0)
And("We should have a new TransactionIds value")
(getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "transaction_ids").values.toString should not equal ("")
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/UpdateConsumerRedirectUrlTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/UpdateConsumerRedirectUrlTest.scala
index 55ff69ff9d..b3b839c0b6 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/UpdateConsumerRedirectUrlTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/UpdateConsumerRedirectUrlTest.scala
@@ -1,12 +1,13 @@
package code.api.v2_1_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.{APIUtil, ApiRole}
import code.api.util.ApiRole.CanUpdateConsumerRedirectUrl
import code.api.util.ErrorMessages.{UserHasMissingRoles, UserNoPermissionUpdateConsumer}
import code.setup.DefaultUsers
-import net.liftweb.json.JsonAST.JString
-import net.liftweb.json.Serialization.write
+import org.json4s.JsonAST.JString
+import org.json4s.native.Serialization.write
class UpdateConsumerRedirectUrlTest extends V210ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v2_2_0/API2_2_0Test.scala b/obp-api/src/test/scala/code/api/v2_2_0/API2_2_0Test.scala
index 34e50d2b33..55ece37748 100644
--- a/obp-api/src/test/scala/code/api/v2_2_0/API2_2_0Test.scala
+++ b/obp-api/src/test/scala/code/api/v2_2_0/API2_2_0Test.scala
@@ -26,8 +26,9 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v2_2_0
+import org.json4s._
import code.api.Constant._
-import _root_.net.liftweb.json.Serialization.write
+import _root_.org.json4s.native.Serialization.write
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.createViewJsonV300
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v2_2_0/AccountTest.scala b/obp-api/src/test/scala/code/api/v2_2_0/AccountTest.scala
index 4521df27f3..f1a8fe91d5 100644
--- a/obp-api/src/test/scala/code/api/v2_2_0/AccountTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_2_0/AccountTest.scala
@@ -1,5 +1,6 @@
package code.api.v2_2_0
+import org.json4s._
import code.api.Constant
import code.api.util.APIUtil.OAuth._
import code.api.util.APIUtil.extractErrorMessageCode
@@ -8,8 +9,7 @@ import code.api.util.ErrorMessages.UserHasMissingRoles
import code.entitlement.Entitlement
import code.setup.DefaultUsers
import com.openbankproject.commons.model.{AccountRoutingJsonV121, AmountOfMoneyJsonV121}
-import net.liftweb.json.JsonAST._
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import java.util.concurrent.TimeUnit
import scala.util.Random
diff --git a/obp-api/src/test/scala/code/api/v2_2_0/CreateCounterpartyTest.scala b/obp-api/src/test/scala/code/api/v2_2_0/CreateCounterpartyTest.scala
index b6035be7c1..b9f4e56b00 100644
--- a/obp-api/src/test/scala/code/api/v2_2_0/CreateCounterpartyTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_2_0/CreateCounterpartyTest.scala
@@ -1,5 +1,6 @@
package code.api.v2_2_0
+import org.json4s._
import code.api.Constant._
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
@@ -8,8 +9,7 @@ import code.api.util.ErrorMessages
import code.setup.DefaultUsers
import code.views.Views
import com.openbankproject.commons.model.{AccountId, BankId, ViewId, BankIdAccountIdViewId}
-import net.liftweb.json.JsonAST._
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
class CreateCounterpartyTest extends V220ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v3_0_0/UserTest.scala b/obp-api/src/test/scala/code/api/v3_0_0/UserTest.scala
index ff1dc56163..4ead1c5f1a 100644
--- a/obp-api/src/test/scala/code/api/v3_0_0/UserTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_0_0/UserTest.scala
@@ -1,5 +1,6 @@
package code.api.v3_0_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.util.APIUtil.OAuth._
import code.api.util.{ApiRole, ErrorMessages}
@@ -11,10 +12,10 @@ import code.entitlement.Entitlement
import code.setup.DefaultUsers
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.JsonAST._
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import net.liftweb.util.Helpers.randomString
import org.scalatest.Tag
+import com.openbankproject.commons.util.JsonAliases.compactRender
class UserTest extends V300ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v3_0_0/ViewsTests.scala b/obp-api/src/test/scala/code/api/v3_0_0/ViewsTests.scala
index 1d6df40d91..4a434407a2 100644
--- a/obp-api/src/test/scala/code/api/v3_0_0/ViewsTests.scala
+++ b/obp-api/src/test/scala/code/api/v3_0_0/ViewsTests.scala
@@ -26,8 +26,9 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_0_0
+import org.json4s._
import code.api.Constant._
-import _root_.net.liftweb.json.Serialization.write
+import _root_.org.json4s.native.Serialization.write
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON._
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v3_0_0/WarehouseTest.scala b/obp-api/src/test/scala/code/api/v3_0_0/WarehouseTest.scala
index 3a88f90f26..286b27ad3f 100644
--- a/obp-api/src/test/scala/code/api/v3_0_0/WarehouseTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_0_0/WarehouseTest.scala
@@ -2,6 +2,7 @@
package code.api.v3_0_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.CanSearchWarehouse
@@ -10,7 +11,7 @@ import code.api.util.ErrorMessages.UserHasMissingRoles
import code.api.v3_0_0.OBPAPI3_0_0.Implementations3_0_0
import code.setup.{APIResponse, DefaultUsers}
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v3_0_0/WarehouseTestAsync.scala b/obp-api/src/test/scala/code/api/v3_0_0/WarehouseTestAsync.scala
index 6d0ee31883..b7cabd32c3 100644
--- a/obp-api/src/test/scala/code/api/v3_0_0/WarehouseTestAsync.scala
+++ b/obp-api/src/test/scala/code/api/v3_0_0/WarehouseTestAsync.scala
@@ -2,6 +2,7 @@
package code.api.v3_0_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.CanSearchWarehouse
@@ -10,7 +11,7 @@ import code.api.util.ErrorMessages.UserHasMissingRoles
import code.api.v3_0_0.OBPAPI3_0_0.Implementations3_0_0
import code.setup.{APIResponse, DefaultUsers}
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.concurrent.Future
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/AccountAttributeTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/AccountAttributeTest.scala
index 6e14d08e21..0840caa931 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/AccountAttributeTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/AccountAttributeTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.accountAttributeJson
import code.api.util.APIUtil
@@ -37,7 +38,7 @@ import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.model.enums.ProductAttributeType
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class AccountAttributeTest extends V310ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/AccountTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/AccountTest.scala
index f777d30511..b32dd1ebb1 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/AccountTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/AccountTest.scala
@@ -1,5 +1,6 @@
package code.api.v3_1_0
+import org.json4s._
import code.api.Constant
import com.openbankproject.commons.model.{AccountRouting, AccountRoutingJsonV121, AmountOfMoneyJsonV121, ErrorMessage, enums}
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
@@ -20,7 +21,7 @@ import code.setup.DefaultUsers
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.enums.AccountRoutingScheme
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import java.util.UUID
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/CardAttributeTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/CardAttributeTest.scala
index c8ca386367..76d1f4e992 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/CardAttributeTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/CardAttributeTest.scala
@@ -1,6 +1,7 @@
package code.api.v3_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.createPhysicalCardJsonV310
import code.api.util.APIUtil.OAuth._
@@ -11,7 +12,7 @@ import code.entitlement.Entitlement
import code.setup.DefaultUsers
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class CardAttributeTest extends V310ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/CardTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/CardTest.scala
index 7d2ac71236..cdf972e6ea 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/CardTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/CardTest.scala
@@ -1,5 +1,6 @@
package code.api.v3_1_0
+import org.json4s._
import java.util.Date
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
@@ -11,7 +12,7 @@ import code.api.v3_1_0.OBPAPI3_1_0.Implementations3_1_0
import code.entitlement.Entitlement
import code.setup.DefaultUsers
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import code.api.util.ErrorMessages._
import code.api.v1_3_0.ReplacementJSON
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/ConsentTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/ConsentTest.scala
index 03fd2b5f11..5d83a8e264 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/ConsentTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/ConsentTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import code.api.Constant
import code.api.RequestHeader
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
@@ -38,7 +39,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import java.util.Date
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/CustomerAddressTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/CustomerAddressTest.scala
index beaf7a5d7a..313b5a16d8 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/CustomerAddressTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/CustomerAddressTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
@@ -36,7 +37,7 @@ import code.customer.CustomerX
import code.entitlement.Entitlement
import code.usercustomerlinks.UserCustomerLink
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.collection.immutable.List
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/CustomerTest.scala
index b1f9b4bae3..44e2e20f38 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/CustomerTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
@@ -39,7 +40,7 @@ import code.entitlement.Entitlement
import code.setup.PropsReset
import code.usercustomerlinks.UserCustomerLink
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class CustomerTest extends V310ServerSetup with PropsReset{
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/FundsAvailableTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/FundsAvailableTest.scala
index ffb3107ff0..af09867e38 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/FundsAvailableTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/FundsAvailableTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.canCheckFundsAvailable
@@ -34,7 +35,7 @@ import code.api.v1_2_1.{CreateViewJsonV121, ViewJSONV121}
import code.api.v3_1_0.OBPAPI3_1_0.Implementations3_1_0
import code.setup.APIResponse
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import net.liftweb.util.Helpers.randomString
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/MeetingsTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/MeetingsTest.scala
index f2519fc86b..1a68ded29d 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/MeetingsTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/MeetingsTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
@@ -33,7 +34,7 @@ import code.api.util.ErrorMessages.{InvalidJsonFormat, AuthenticatedUserIsRequir
import code.api.v2_0_0.CreateMeetingJson
import code.api.v3_1_0.OBPAPI3_1_0.Implementations3_1_0
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class MeetingsTest extends V310ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/MethodRoutingTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/MethodRoutingTest.scala
index ad564b6e5c..f220f10980 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/MethodRoutingTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/MethodRoutingTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -34,7 +35,7 @@ import code.api.v3_1_0.OBPAPI3_1_0.Implementations3_1_0
import code.entitlement.Entitlement
import code.methodrouting.{MethodRoutingCommons, MethodRoutingParam}
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.collection.immutable.List
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/ProductAttributeTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/ProductAttributeTest.scala
index 054e42092d..42373946b0 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/ProductAttributeTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/ProductAttributeTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.productAttributeJson
import code.api.util.APIUtil.OAuth._
@@ -35,7 +36,7 @@ import code.api.v3_1_0.OBPAPI3_1_0.Implementations3_1_0
import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.enums.ProductAttributeType
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class ProductAttributeTest extends V310ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/ProductCollectionTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/ProductCollectionTest.scala
index 54e6e55ba1..c282876f22 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/ProductCollectionTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/ProductCollectionTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{CanCreateProduct, CanMaintainProductCollection}
@@ -32,8 +33,8 @@ import com.openbankproject.commons.util.ApiVersion
import code.api.v3_1_0.OBPAPI3_1_0.Implementations3_1_0
import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
-import net.liftweb.json.prettyRender
+import org.json4s.native.Serialization.write
+import com.openbankproject.commons.util.JsonAliases.prettyRender
import org.scalatest.Tag
class ProductCollectionTest extends V310ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/ProductTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/ProductTest.scala
index bf51c985ad..634ec1b980 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/ProductTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/ProductTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.productAttributeJson
@@ -35,8 +36,9 @@ import code.api.util.ErrorMessages._
import code.api.v3_1_0.OBPAPI3_1_0.Implementations3_1_0
import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.{Extraction, prettyRender}
-import net.liftweb.json.Serialization.write
+import org.json4s.Extraction
+import com.openbankproject.commons.util.JsonAliases.prettyRender
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.collection.immutable.{List, Nil}
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/RateLimitTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/RateLimitTest.scala
index f0a8cbcf16..20a4241e9b 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/RateLimitTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/RateLimitTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import code.api.cache.Redis
import java.time.format.DateTimeFormatter
@@ -41,7 +42,7 @@ import code.setup.PropsReset
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class RateLimitTest extends V310ServerSetup with PropsReset {
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/SystemViewsTests.scala b/obp-api/src/test/scala/code/api/v3_1_0/SystemViewsTests.scala
index 2db6316145..1bece325e8 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/SystemViewsTests.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/SystemViewsTests.scala
@@ -26,7 +26,8 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
-import _root_.net.liftweb.json.Serialization.write
+import org.json4s._
+import _root_.org.json4s.native.Serialization.write
import com.openbankproject.commons.model.ErrorMessage
import code.api.Constant._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON._
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/TaxResidenceTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/TaxResidenceTest.scala
index 475c281716..b7d1a2580f 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/TaxResidenceTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/TaxResidenceTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
@@ -34,7 +35,7 @@ import code.api.util.ErrorMessages._
import code.api.v3_1_0.OBPAPI3_1_0.Implementations3_1_0
import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class TaxResidenceTest extends V310ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/TransactionTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/TransactionTest.scala
index 7850cf3ba0..724b3d98e3 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/TransactionTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/TransactionTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import code.api.Constant._
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
@@ -45,7 +46,7 @@ import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.AmountOfMoneyJsonV121
import com.openbankproject.commons.util.ApiVersion
import org.scalatest.Tag
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
class TransactionTest extends V310ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextTest.scala
index a3283be496..c7f710c407 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
@@ -34,7 +35,7 @@ import code.api.util.ErrorMessages._
import code.api.v3_1_0.OBPAPI3_1_0.Implementations3_1_0
import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.language.postfixOps
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextUpdateTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextUpdateTest.scala
index 00c03b529a..b624e64ae2 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextUpdateTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextUpdateTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{CanCreateCustomer, CanGetUserAuthContext, CanGetUserCustomerLink}
@@ -40,7 +41,7 @@ import com.openbankproject.commons.model.UserAuthContextUpdateStatus
import com.openbankproject.commons.model.enums.StrongCustomerAuthentication
import com.openbankproject.commons.util.ApiVersion
import net.liftweb.common.Full
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.language.postfixOps
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/V310ServerSetup.scala b/obp-api/src/test/scala/code/api/v3_1_0/V310ServerSetup.scala
index 5387f0bf31..2dbaf9273a 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/V310ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/V310ServerSetup.scala
@@ -1,5 +1,6 @@
package code.api.v3_1_0
+import org.json4s._
import code.api.util.APIUtil.OAuth.{Consumer, Token, _}
import code.api.util.ApiRole.CanCreateProduct
import code.api.v1_2_1._
@@ -8,7 +9,7 @@ import code.api.v3_0_0.{TransactionJsonV300, TransactionsJsonV300, ViewsJsonV300
import code.entitlement.Entitlement
import code.setup.{APIResponse, DefaultUsers, ServerSetupWithTestData}
import dispatch.Req
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import scala.util.Random.nextInt
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/WebUiPropsTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/WebUiPropsTest.scala
index b5660eeccf..ba825fd978 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/WebUiPropsTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/WebUiPropsTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -34,7 +35,7 @@ import code.api.v3_1_0.OBPAPI3_1_0.Implementations3_1_0
import code.entitlement.Entitlement
import code.webuiprops.WebUiPropsCommons
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class WebUiPropsTest extends V310ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/WebhooksTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/WebhooksTest.scala
index 9ce8c552ec..aa3bcf99cd 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/WebhooksTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/WebhooksTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v3_1_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.accountWebhookPutJson
@@ -36,7 +37,7 @@ import code.api.v3_1_0.OBPAPI3_1_0.Implementations3_1_0
import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class WebhooksTest extends V310ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AccountAccessTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AccountAccessTest.scala
index 50722acb29..e1784ab9fc 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AccountAccessTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AccountAccessTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.createViewJsonV300
@@ -14,7 +15,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.AmountOfMoneyJsonV121
import net.liftweb.common.Box
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import java.util.concurrent.TimeUnit
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AccountTagTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AccountTagTest.scala
index 7d879fb68d..f0973a451b 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AccountTagTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AccountTagTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
@@ -7,7 +8,7 @@ import com.openbankproject.commons.util.ApiVersion
import code.api.util.ErrorMessages.AuthenticatedUserIsRequired
import code.api.v4_0_0.OBPAPI4_0_0.Implementations4_0_0
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class AccountTagTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AccountTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AccountTest.scala
index 516a592196..5b42238a0d 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AccountTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AccountTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.accountAttributeJson
import code.api.util.APIUtil.OAuth._
@@ -15,7 +16,7 @@ import com.openbankproject.commons.model.enums.AccountRoutingScheme
import com.openbankproject.commons.model.{AccountRoutingJsonV121, AmountOfMoneyJsonV121, ErrorMessage}
import com.openbankproject.commons.util.ApiVersion
import net.liftweb.common.Box
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import java.util.concurrent.TimeUnit
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionEndpointTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionEndpointTest.scala
index 0aaec7df8a..5e57ea2a7e 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionEndpointTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionEndpointTest.scala
@@ -25,12 +25,13 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.v4_0_0.APIMethods400.Implementations4_0_0
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class ApiCollectionEndpointTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionTest.scala
index cca293c7df..e889dc5718 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole
@@ -33,7 +34,7 @@ import code.api.v4_0_0.APIMethods400.Implementations4_0_0
import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class ApiCollectionTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AtmsTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AtmsTest.scala
index c49434dbf2..cd7fa76343 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AtmsTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AtmsTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole
@@ -10,7 +11,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class AtmsTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDefinitionTransactionRequestTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDefinitionTransactionRequestTest.scala
index 53d2938a72..4baaf792c5 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDefinitionTransactionRequestTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDefinitionTransactionRequestTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ErrorMessages.{UserHasMissingRoles, AuthenticatedUserIsRequired}
@@ -7,7 +8,7 @@ import code.api.v4_0_0.OBPAPI4_0_0.Implementations4_0_0
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class AttributeDefinitionTransactionRequestTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationAttributeTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationAttributeTest.scala
index e0a539820c..dafb3d4cbe 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationAttributeTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationAttributeTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ErrorMessages.{UserHasMissingRoles, AuthenticatedUserIsRequired}
@@ -7,7 +8,7 @@ import code.api.v4_0_0.OBPAPI4_0_0.Implementations4_0_0
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class AttributeDefinitionAttributeTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCardTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCardTest.scala
index 52e89e179d..3f719174a5 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCardTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCardTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ErrorMessages.{UserHasMissingRoles, AuthenticatedUserIsRequired}
@@ -7,7 +8,7 @@ import code.api.v4_0_0.OBPAPI4_0_0.Implementations4_0_0
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class AttributeDefinitionCardTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCustomerTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCustomerTest.scala
index 81f7e17d2d..245dd10742 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCustomerTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ErrorMessages.{UserHasMissingRoles, AuthenticatedUserIsRequired}
@@ -7,7 +8,7 @@ import code.api.v4_0_0.OBPAPI4_0_0.Implementations4_0_0
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class AttributeDefinitionCustomerTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationProductTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationProductTest.scala
index 54c8d309ad..396d364fca 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationProductTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationProductTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ErrorMessages.{UserHasMissingRoles, AuthenticatedUserIsRequired}
@@ -7,7 +8,7 @@ import code.api.v4_0_0.OBPAPI4_0_0.Implementations4_0_0
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class AttributeDefinitionProductTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationTransactionTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationTransactionTest.scala
index db02c6ec29..0efcfad9b6 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationTransactionTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationTransactionTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ErrorMessages.{UserHasMissingRoles, AuthenticatedUserIsRequired}
@@ -7,7 +8,7 @@ import code.api.v4_0_0.OBPAPI4_0_0.Implementations4_0_0
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class AttributeDefinitionTransactionTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AuthenticationTypeValidationTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AuthenticationTypeValidationTest.scala
index b6a9344bfa..5af94309ca 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AuthenticationTypeValidationTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AuthenticationTypeValidationTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole
import code.api.util.ApiRole._
@@ -11,9 +12,9 @@ import code.setup.APIResponse
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json
-import net.liftweb.json.JsonAST.JBool
-import net.liftweb.json.{JArray, JString}
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.JBool
+import org.json4s.{JArray, JString}
import org.scalatest.Tag
class AuthenticationTypeValidationTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/BankAttributeTests.scala b/obp-api/src/test/scala/code/api/v4_0_0/BankAttributeTests.scala
index 01998f3ee1..695518aa30 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/BankAttributeTests.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/BankAttributeTests.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{CanCreateBankAttribute, CanDeleteBankAttribute, CanGetBankAttribute, CanUpdateBankAttribute}
@@ -11,7 +12,7 @@ import code.setup.DefaultUsers
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class BankAttributeTests extends V400ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/BankTests.scala b/obp-api/src/test/scala/code/api/v4_0_0/BankTests.scala
index b7f595dc20..9a636be20a 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/BankTests.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/BankTests.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.Constant.{INCOMING_SETTLEMENT_ACCOUNT_ID, OUTGOING_SETTLEMENT_ACCOUNT_ID}
import com.openbankproject.commons.model.{AccountId, BankId, ErrorMessage}
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.bankJson400
@@ -12,7 +13,7 @@ import code.entitlement.Entitlement
import code.setup.{APIResponse, DefaultUsers}
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class BankTests extends V400ServerSetupAsync with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/ConnectorMethodTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/ConnectorMethodTest.scala
index ec2d327f5b..1de74e756b 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/ConnectorMethodTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/ConnectorMethodTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.ApiRole._
import code.api.util.APIUtil.OAuth._
@@ -39,11 +40,11 @@ import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{Bank, BankId, ErrorMessage}
import com.openbankproject.commons.util.ApiVersion
import net.liftweb.common.Full
-import net.liftweb.json.JArray
-import net.liftweb.json.Serialization.write
+import org.json4s.JArray
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import dispatch.Req
-import net.liftweb.json.JArray
+import org.json4s.JArray
import java.net.URLEncoder
import java.util.concurrent.TimeUnit
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/CounterpartyTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/CounterpartyTest.scala
index 016bce8f2f..64d1c0c22c 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/CounterpartyTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/CounterpartyTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.Constant.SYSTEM_OWNER_VIEW_ID
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
@@ -11,7 +12,7 @@ import code.views.Views
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{AccountId, ErrorMessage, ViewId, BankIdAccountIdViewId}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class CounterpartyTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/CustomerAttributesTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/CustomerAttributesTest.scala
index 0e37f5ebc5..92a1f37bae 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/CustomerAttributesTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/CustomerAttributesTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -13,7 +14,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.collection.immutable.List
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/CustomerMessageTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/CustomerMessageTest.scala
index 34dbca7eb5..ec76608432 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/CustomerMessageTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/CustomerMessageTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -35,7 +36,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.collection.immutable.Nil
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/CustomerTest.scala
index 4d1c73ca56..13be809dbc 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/CustomerTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.postCustomerPhoneNumberJsonV400
import code.api.util.APIUtil.OAuth._
@@ -40,7 +41,7 @@ import code.usercustomerlinks.UserCustomerLink
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class CustomerTest extends V400ServerSetup with PropsReset{
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DeleteAccountCascadeTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DeleteAccountCascadeTest.scala
index 5d879439d3..c154c263f5 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DeleteAccountCascadeTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DeleteAccountCascadeTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.Constant
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.createViewJsonV300
@@ -13,7 +14,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{AmountOfMoneyJsonV121, ErrorMessage}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import java.util.concurrent.TimeUnit
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DeleteBankCascadeTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DeleteBankCascadeTest.scala
index 9b6b23d8ea..a77ce4c3e9 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DeleteBankCascadeTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DeleteBankCascadeTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.Constant
import java.util.concurrent.TimeUnit
@@ -15,7 +16,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{AmountOfMoneyJsonV121, ErrorMessage}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class DeleteBankCascadeTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DirectDebitTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DirectDebitTest.scala
index cc864b0515..7248ec5c07 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DirectDebitTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DirectDebitTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
@@ -9,7 +10,7 @@ import com.openbankproject.commons.util.ApiVersion
import code.api.util.ErrorMessages.{NoViewPermission, UserHasMissingRoles, AuthenticatedUserIsRequired}
import code.api.v4_0_0.OBPAPI4_0_0.Implementations4_0_0
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class DirectDebitTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DynamicEndpointHelperTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DynamicEndpointHelperTest.scala
index 45b976114f..d3f4f1b118 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DynamicEndpointHelperTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DynamicEndpointHelperTest.scala
@@ -1,12 +1,14 @@
package code.api.v4_0_0
+import org.json4s._
import code.DynamicData.DynamicDataT
import code.api.dynamic.endpoint.helper.DynamicEndpointHelper
import code.api.util.APIUtil.defaultBankId
import code.connector.MockedCbsConnector.testBankId1
-import net.liftweb.json
-import net.liftweb.json.JsonAST.JValue
-import net.liftweb.json.{Formats, JArray, prettyRender}
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.JValue
+import org.json4s.{Formats, JArray}
+import com.openbankproject.commons.util.JsonAliases.prettyRender
import org.scalatest.{FlatSpec, Matchers, Tag}
import scala.collection.immutable.List
@@ -14,7 +16,7 @@ import scala.collection.immutable.List
class DynamicEndpointHelperTest extends FlatSpec with Matchers {
object FunctionsTag extends Tag("DynamicEndpointHelper")
- implicit def formats: Formats = net.liftweb.json.DefaultFormats
+ implicit def formats: Formats = org.json4s.DefaultFormats
"prepareMappingFields single" should "work well" taggedAs FunctionsTag in {
@@ -96,8 +98,8 @@ class DynamicEndpointHelperTest extends FlatSpec with Matchers {
| }
|}""".stripMargin
- val expectJsonResult = prettyRender(DynamicEndpointHelper.prepareMappingFields(orignalJson))
- expectJson should equal(expectJsonResult)
+ val expectedJValue = json.parse(expectJson)
+ DynamicEndpointHelper.prepareMappingFields(orignalJson) should equal(expectedJValue)
}
"prepareMappingFields Array" should "work well" taggedAs FunctionsTag in {
val orignalJson = """{
@@ -174,9 +176,8 @@ class DynamicEndpointHelperTest extends FlatSpec with Matchers {
| }
|}""".stripMargin
- val resultJson = prettyRender(DynamicEndpointHelper.prepareMappingFields(orignalJson))
- println(resultJson)
- expectJson should equal(resultJson)
+ val expectedJValue = json.parse(expectJson)
+ DynamicEndpointHelper.prepareMappingFields(orignalJson) should equal(expectedJValue)
}
"getAllEntitiesFromMapping " should "work well" taggedAs FunctionsTag in {
@@ -668,34 +669,7 @@ class DynamicEndpointHelperTest extends FlatSpec with Matchers {
val result = DynamicEndpointHelper.getObjectsByParams(jArray, params)
- val str1 = prettyRender(result)
- println(str1)
-
- val expectString ="""[
- | {
- | "field1":1,
- | "field2":2,
- | "field3":"field3-1",
- | "field4":"field4-1",
- | "field5":"field5-1",
- | "field6":6,
- | "field7":"field7-1",
- | "field8":"available",
- | "pet_entity_id":"bd1f083b-af72-42cf-8a70-21d7740f3861"
- | },
- | {
- | "field1":3,
- | "field2":222,
- | "field3":"field3-3",
- | "field4":"field4-3",
- | "field5":"field5-3",
- | "field6":666,
- | "field7":"field7-3",
- | "field8":"available",
- | "pet_entity_id":"33ca0384-5835-431e-9b88-4257f71f1483"
- | }
- |]""".stripMargin
- expectString should equal(str1)
+ result should equal(JArray(List(jValue1, jValue3)))
}
"getObjectsByKeyValuePair no param" should "work well " taggedAs FunctionsTag in {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DynamicEntityTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DynamicEntityTest.scala
index 5d423f39fb..ca1cec323e 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DynamicEntityTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DynamicEntityTest.scala
@@ -33,9 +33,10 @@ import code.api.util.ErrorMessages._
import code.api.v4_0_0.APIMethods400.Implementations4_0_0
import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.Serialization.write
-import net.liftweb.json._
+import org.json4s.JsonDSL._
+import org.json4s.native.Serialization.write
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import org.scalatest.Tag
class DynamicEntityTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DynamicIntegrationTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DynamicIntegrationTest.scala
index 412b2bbed3..45a904fe60 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DynamicIntegrationTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DynamicIntegrationTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -11,7 +12,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class DynamicIntegrationTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DynamicMessageDocTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DynamicMessageDocTest.scala
index 95195bc0fd..2c53c8af95 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DynamicMessageDocTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DynamicMessageDocTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -38,8 +39,8 @@ import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{Bank, BankId, ErrorMessage}
import com.openbankproject.commons.util.ApiVersion
import net.liftweb.common.Box
-import net.liftweb.json.JArray
-import net.liftweb.json.Serialization.write
+import org.json4s.JArray
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.concurrent.Await
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DynamicResourceDocTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DynamicResourceDocTest.scala
index c9f8c421cc..70d4f035bf 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DynamicResourceDocTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DynamicResourceDocTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -36,9 +37,9 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json
-import net.liftweb.json.JArray
-import net.liftweb.json.Serialization.write
+import com.openbankproject.commons.util.json
+import org.json4s.JArray
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DynamicendPointsTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DynamicendPointsTest.scala
index ab118fe6da..fa1e108a52 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DynamicendPointsTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DynamicendPointsTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -12,9 +13,9 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.JArray
-import net.liftweb.json.JsonAST.{JField, JString}
-import net.liftweb.json.Serialization.write
+import org.json4s.JArray
+import org.json4s.JsonAST.{JField, JString}
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class DynamicEndpointsTest extends V400ServerSetup {
@@ -1700,7 +1701,7 @@ class DynamicEndpointsTest extends V400ServerSetup {
duplicatedRequest.body.extract[ErrorMessage].message.toString contains (DynamicEndpointExists) should be (true)
- val id = responseWithRole.body.\\("dynamic_endpoint_id").values.get("dynamic_endpoint_id").head.toString
+ val id = responseWithRole.body.\\("dynamic_endpoint_id").values.toString
val request400 = (v4_0_0_Request / "management" / "dynamic-endpoints" /id).GET<@ (user1)
val response400 = makeGetRequest(request400)
@@ -1759,7 +1760,7 @@ class DynamicEndpointsTest extends V400ServerSetup {
responseWithRole.code should equal(201)
- val id = responseWithRole.body.\\("dynamic_endpoint_id").values.get("dynamic_endpoint_id").head.toString
+ val id = responseWithRole.body.\\("dynamic_endpoint_id").values.toString
val request400 = (v4_0_0_Request / "management" / "dynamic-endpoints" /id).GET<@ (user1)
val response400 = makeGetRequest(request400)
@@ -1797,7 +1798,7 @@ class DynamicEndpointsTest extends V400ServerSetup {
responseWithRole.code should equal(201)
- val id = responseWithRole.body.\\("dynamic_endpoint_id").values.get("dynamic_endpoint_id").head.toString
+ val id = responseWithRole.body.\\("dynamic_endpoint_id").values.toString
val request400 = (v4_0_0_Request / "my" / "dynamic-endpoints").GET<@ (user1)
val response400 = makeGetRequest(request400)
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingBankLevelTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingBankLevelTest.scala
index 28f77eb238..cacded65e2 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingBankLevelTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingBankLevelTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.jsonCodeTemplateJson
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -11,7 +12,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class EndpointMappingBankLevelTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingTest.scala
index c981549d89..cc7dc6ef88 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.jsonCodeTemplateJson
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -11,7 +12,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class EndpointMappingTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/EndpointTagTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/EndpointTagTest.scala
index 7174b951e1..1dee578409 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/EndpointTagTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/EndpointTagTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole
@@ -32,7 +33,7 @@ import code.api.v4_0_0.APIMethods400.Implementations4_0_0
import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class EndpointTagTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/EntitlementTests.scala b/obp-api/src/test/scala/code/api/v4_0_0/EntitlementTests.scala
index 0bf1dca2b6..9a779beb1b 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/EntitlementTests.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/EntitlementTests.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import com.openbankproject.commons.model.ErrorMessage
import code.api.util.ApiRole.{CanCreateBranch, CanGetEntitlementsForAnyBank, CanGetEntitlementsForAnyUserAtAnyBank, CanGetEntitlementsForOneBank, CanUpdateBranch}
@@ -13,7 +14,7 @@ import code.api.v2_0_0.CreateEntitlementJSON
import code.api.v4_0_0.APIMethods400.Implementations4_0_0
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class EntitlementTests extends V400ServerSetupAsync with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/ForceErrorValidationTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/ForceErrorValidationTest.scala
index fab407dd70..5bbe3375e2 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/ForceErrorValidationTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/ForceErrorValidationTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole
import code.api.util.ApiRole._
@@ -14,7 +15,8 @@ import code.setup.{APIResponse, PropsReset}
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.{JInt, JString, prettyRender}
+import org.json4s.{JInt, JString}
+import com.openbankproject.commons.util.JsonAliases.prettyRender
import org.scalatest.Tag
class ForceErrorValidationTest extends V400ServerSetup with PropsReset {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/JsonSchemaValidationTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/JsonSchemaValidationTest.scala
index f5473a7cba..e1cb541449 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/JsonSchemaValidationTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/JsonSchemaValidationTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole
import code.api.util.ApiRole._
@@ -11,9 +12,9 @@ import code.setup.APIResponse
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json
-import net.liftweb.json.JsonAST.JBool
-import net.liftweb.json.{JArray, JString}
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.JBool
+import org.json4s.{JArray, JString}
import org.scalatest.Tag
class JsonSchemaValidationTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/MakerCheckerTransactionRequestTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/MakerCheckerTransactionRequestTest.scala
index ec06e5c455..93debfd372 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/MakerCheckerTransactionRequestTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/MakerCheckerTransactionRequestTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.Constant._
import code.api.util.APIUtil
import code.api.util.APIUtil.OAuth._
@@ -17,7 +18,7 @@ import com.openbankproject.commons.model.enums.TransactionRequestStatus
import com.openbankproject.commons.model.enums.TransactionRequestTypes._
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class MakerCheckerTransactionRequestTest extends V400ServerSetup with DefaultUsers {
@@ -81,7 +82,8 @@ class MakerCheckerTransactionRequestTest extends V400ServerSetup with DefaultUse
(createResponse.body \ "status").values.toString should equal(TransactionRequestStatus.INITIATED.toString)
- val challengeId = (createResponse.body \ "challenges" \ "id").values.toString
+ val challengeId = (createResponse.body \ "challenges").extract[List[JValue]].headOption
+ .map(c => (c \ "id").values.toString).getOrElse("")
challengeId should not equal ("")
(bankId, fromAccount, transactionRequestType, transRequestId, challengeId)
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/PasswordRecoverTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/PasswordRecoverTest.scala
index ce104b65d1..d1a50c582b 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/PasswordRecoverTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/PasswordRecoverTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v4_0_0
+import org.json4s._
import java.util.UUID
import com.openbankproject.commons.model.ErrorMessage
@@ -39,7 +40,7 @@ import code.users.Users
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.User
import net.liftweb.common.Box
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import net.liftweb.mapper.By
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/ProductFeeTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/ProductFeeTest.scala
index 0cb847a746..2ba3315370 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/ProductFeeTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/ProductFeeTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.productFeeJsonV400
import code.api.util.APIUtil.OAuth._
@@ -34,7 +35,7 @@ import code.api.v4_0_0.OBPAPI4_0_0.Implementations4_0_0
import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class ProductFeeTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/ProductTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/ProductTest.scala
index 395acf0a13..6c3276f044 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/ProductTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/ProductTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.ErrorMessages._
import code.api.util.APIUtil.OAuth._
@@ -34,7 +35,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.collection.immutable.{List, Nil}
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/RateLimitingTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/RateLimitingTest.scala
index 5690524ae8..0c92ac817f 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/RateLimitingTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/RateLimitingTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v4_0_0
+import org.json4s._
import code.api.cache.Redis
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{CanUpdateRateLimits, canCreateDynamicEndpoint}
@@ -37,7 +38,7 @@ import code.setup.PropsReset
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import java.time.format.DateTimeFormatter
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/ScopesTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/ScopesTest.scala
index be9f7f106d..d851e33f78 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/ScopesTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/ScopesTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole
@@ -13,7 +14,7 @@ import code.setup.APIResponse
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class ScopesTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/SettlementAccountTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/SettlementAccountTest.scala
index efa45a4953..4c626c841b 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/SettlementAccountTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/SettlementAccountTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.accountAttributeJson
import code.api.util.APIUtil.OAuth._
@@ -15,7 +16,7 @@ import com.openbankproject.commons.model.enums.AccountRoutingScheme
import com.openbankproject.commons.model.{AccountRoutingJsonV121, AmountOfMoneyJsonV121, ErrorMessage}
import com.openbankproject.commons.util.ApiVersion
import net.liftweb.common.Box
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import java.util.concurrent.TimeUnit
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/StandingOrderTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/StandingOrderTest.scala
index 33eb4b7f4d..a5a1acbca2 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/StandingOrderTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/StandingOrderTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.util.APIUtil.OAuth._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
@@ -9,7 +10,7 @@ import com.openbankproject.commons.util.ApiVersion
import code.api.util.ErrorMessages.{NoViewPermission, UserHasMissingRoles, AuthenticatedUserIsRequired}
import code.api.v4_0_0.OBPAPI4_0_0.Implementations4_0_0
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class StandingOrderTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/TransactionAttributesTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/TransactionAttributesTest.scala
index 45a2b65b32..d5d81d2efe 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/TransactionAttributesTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/TransactionAttributesTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.Constant
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
@@ -10,7 +11,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{BankId, ErrorMessage}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestAttributesTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestAttributesTest.scala
index 5a5a15ab60..c229510c56 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestAttributesTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestAttributesTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.Constant
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil
@@ -11,7 +12,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestsTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestsTest.scala
index e2fe39b1fe..08bf4d59e9 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestsTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestsTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.Constant
import java.util.{Date, UUID}
@@ -29,7 +30,7 @@ import com.openbankproject.commons.model.enums.TransactionRequestTypes
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model._
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.collection.immutable.List
@@ -233,7 +234,7 @@ class TransactionRequestsTest extends V400ServerSetup with DefaultUsers {
(createTransactionRequestResponse.body \ "transaction_ids").values.toString should equal("List()")
Then("Challenge should have body, this is the with challenge scenario")
(createTransactionRequestResponse.body \ "challenges").children.size should not equal (0)
- challengeId = (createTransactionRequestResponse.body \ "challenges" \ "id").values.toString
+ challengeId = (createTransactionRequestResponse.body \ "challenges" \ "id").children.headOption.map(_.values.toString).getOrElse("")
challengeId should not equal ("")
} else {
Then("We should have the COMPLETED status in response body")
@@ -266,19 +267,19 @@ class TransactionRequestsTest extends V400ServerSetup with DefaultUsers {
if (withChellenge) {
And("We should have the INITIATED status in response body")
- (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "status").values.toString should equal(TransactionRequestStatus.INITIATED.toString)
+ (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "status").extract[List[String]] should equal(List(TransactionRequestStatus.INITIATED.toString))
And("Challenge should be not null, this is the no challenge scenario")
(getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "challenge").children.size should not equal (0)
And("We should have be null value for TransactionIds")
- (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "transaction_ids").values.toString should equal("List()")
+ (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "transaction_ids").children.headOption.map(_.values.toString).getOrElse("List()") should equal("List()")
} else {
And("We should have the COMPLETED status in response body")
- (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "status").values.toString should equal(TransactionRequestStatus.COMPLETED.toString)
+ (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "status").extract[List[String]] should equal(List(TransactionRequestStatus.COMPLETED.toString))
And("Challenge should be null, this is the no challenge scenario")
- (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "challenge").children.size should equal(0)
+ (getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "challenge").children.headOption.map(_.children.size).getOrElse(0) should equal(0)
And("We should have a new TransactionIds value")
(getTransactionRequestResponse.body \ "transaction_requests_with_charges" \ "transaction_ids").values.toString should not equal ("")
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/UserAttributesTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/UserAttributesTest.scala
index be22d80a7f..4937100d75 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/UserAttributesTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/UserAttributesTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -10,7 +11,7 @@ import code.users.UserAttribute
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/UserCustomerLinkTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/UserCustomerLinkTest.scala
index 85d8ec9e31..71063059cc 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/UserCustomerLinkTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/UserCustomerLinkTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{CanCreateUserCustomerLink, CanDeleteUserCustomerLink, CanGetUserCustomerLink}
@@ -10,7 +11,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class UserCustomerLinkTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/UserInvitationApiTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/UserInvitationApiTest.scala
index 66c8e20feb..c4615b4c71 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/UserInvitationApiTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/UserInvitationApiTest.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole
@@ -11,7 +12,7 @@ import code.users.UserInvitationProvider
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class UserInvitationApiTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/V400ServerSetup.scala b/obp-api/src/test/scala/code/api/v4_0_0/V400ServerSetup.scala
index dbd09abf61..77d2a7279c 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/V400ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/V400ServerSetup.scala
@@ -1,5 +1,6 @@
package code.api.v4_0_0
+import org.json4s._
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
import code.api.Constant._
@@ -25,7 +26,7 @@ import code.transactionattribute.MappedTransactionAttribute
import com.openbankproject.commons.model.{AccountId, AccountRoutingJsonV121, AmountOfMoneyJsonV121, BankId, CreateViewJson, UpdateViewJSON}
import com.openbankproject.commons.util.ApiShortVersions
import dispatch.Req
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import net.liftweb.mapper.By
import net.liftweb.util.Helpers.randomString
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/WebhooksTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/WebhooksTest.scala
index 8484dc4d3c..e42734c595 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/WebhooksTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/WebhooksTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v4_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.ApiRole._
import code.api.util.APIUtil.OAuth._
@@ -34,7 +35,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class WebhooksTest extends V400ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/ATMTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/ATMTest.scala
index 2506d75e12..04ebe6f9bf 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/ATMTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/ATMTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v5_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.{postUserAuthContextJson, postUserAuthContextUpdateJsonV310}
import code.api.util.APIUtil.OAuth._
@@ -36,7 +37,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.language.postfixOps
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/AccountTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/AccountTest.scala
index 57fa875aec..c96fb08b1d 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/AccountTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/AccountTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_0_0
+import org.json4s._
import code.api.Constant
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
@@ -19,7 +20,7 @@ import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.enums.AccountRoutingScheme
import com.openbankproject.commons.model.{AccountRoutingJsonV121, AmountOfMoneyJsonV121, ErrorMessage}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import java.util.UUID
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/BankTests.scala b/obp-api/src/test/scala/code/api/v5_0_0/BankTests.scala
index 0374b73385..6619f30a69 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/BankTests.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/BankTests.scala
@@ -1,5 +1,6 @@
package code.api.v5_0_0
+import org.json4s._
import code.api.Constant.{INCOMING_SETTLEMENT_ACCOUNT_ID, OUTGOING_SETTLEMENT_ACCOUNT_ID}
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.postBankJson500
import code.api.util.ApiRole.CanCreateBank
@@ -12,7 +13,7 @@ import code.setup.{APIResponse, DefaultUsers}
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{AccountId, BankId, ErrorMessage}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class BankTests extends V500ServerSetupAsync with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/ConsentRequestTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/ConsentRequestTest.scala
index 89c2862b52..6a4d8297e4 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/ConsentRequestTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/ConsentRequestTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v5_0_0
+import org.json4s._
import code.api.{Constant, RequestHeader}
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
@@ -41,7 +42,7 @@ import code.setup.PropsReset
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{AccountRoutingJsonV121, ErrorMessage}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.language.postfixOps
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/CustomerAccountLinkTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/CustomerAccountLinkTest.scala
index cbc74b20fb..321108311a 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/CustomerAccountLinkTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/CustomerAccountLinkTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.v5_0_0.OBPAPI5_0_0.Implementations5_0_0
import code.setup.DefaultUsers
@@ -12,7 +13,7 @@ import code.api.util.ApiRole.{canCreateCustomerAccountLink, canDeleteCustomerAcc
import code.api.util.ErrorMessages.{UserHasMissingRoles, AuthenticatedUserIsRequired}
import code.entitlement.Entitlement
import com.openbankproject.commons.model.ErrorMessage
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
class CustomerAccountLinkTest extends V500ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/CustomerOverviewTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/CustomerOverviewTest.scala
index 46ed5e0789..244cd865b0 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/CustomerOverviewTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/CustomerOverviewTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v5_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -37,7 +38,7 @@ import code.usercustomerlinks.UserCustomerLink
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.language.postfixOps
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/CustomerTest.scala
index b57b5df3c7..940d00e117 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/CustomerTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v5_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.{postUserAuthContextJson, postUserAuthContextUpdateJsonV310}
import code.api.util.APIUtil.OAuth._
@@ -41,7 +42,7 @@ import code.usercustomerlinks.UserCustomerLink
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import java.util.Date
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/Http4s500SystemViewsTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/Http4s500SystemViewsTest.scala
index 12deeb73cf..7de4bc0dfa 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/Http4s500SystemViewsTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/Http4s500SystemViewsTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_0_0
+import org.json4s._
import code.Http4sTestServer
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON._
import code.api.util.APIUtil
@@ -9,15 +10,16 @@ import code.setup.ServerSetupWithTestData
import code.views.system.AccountAccess
import dispatch.Defaults._
import dispatch._
-import net.liftweb.json.JValue
-import net.liftweb.json.JsonAST.{JField, JObject, JString}
-import net.liftweb.json.JsonParser.parse
-import net.liftweb.json.Serialization.write
+import org.json4s.JValue
+import org.json4s.JsonAST.{JField, JObject, JString}
+import com.openbankproject.commons.util.JsonAliases.parse
+import org.json4s.native.Serialization.write
import net.liftweb.mapper.By
import org.scalatest.Tag
import scala.concurrent.Await
import scala.concurrent.duration._
+import com.openbankproject.commons.util.JsonAliases.RichJField
/**
* HTTP4S v5.0.0 System Views CRUD Integration Test
@@ -29,6 +31,18 @@ class Http4s500SystemViewsTest extends ServerSetupWithTestData {
object Http4s500SystemViewsTag extends Tag("Http4s500SystemViews")
+ // json4s-native 3.6.x rejects primitive root values (e.g. a bare `true` from a DELETE).
+ // Wrap in a single-element array so the native parser accepts it, then extract the element.
+ private def parsePermissive(body: String): JValue =
+ try parse(body)
+ catch {
+ case _: Throwable =>
+ parse(s"[$body]") match {
+ case JArray(v :: _) => v
+ case other => other
+ }
+ }
+
// Use Http4sTestServer for full integration testing
private val http4sServer = Http4sTestServer
private val baseUrl = s"http://${http4sServer.host}:${http4sServer.port}"
@@ -55,7 +69,7 @@ class Http4s500SystemViewsTest extends ServerSetupWithTestData {
try {
val response = Http.default(finalRequest.setHeader("Accept", "*/*") > as.Response(p => (p.getStatusCode, p.getResponseBody)))
val (statusCode, responseBody) = Await.result(response, 10.seconds)
- val json = if (responseBody.trim.isEmpty) JObject(Nil) else parse(responseBody)
+ val json = if (responseBody.trim.isEmpty) JObject(Nil) else parsePermissive(responseBody)
(statusCode, json)
} catch {
case e: java.util.concurrent.ExecutionException =>
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/ProductTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/ProductTest.scala
index 918cf47e4b..3ae3ad0b2c 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/ProductTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/ProductTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v5_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.ApiRole._
import code.api.util.APIUtil.OAuth._
@@ -36,7 +37,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.collection.immutable.Nil
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/UserAuthContextTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/UserAuthContextTest.scala
index f8908dba59..beff37d7d6 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/UserAuthContextTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/UserAuthContextTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v5_0_0
+import org.json4s._
import com.openbankproject.commons.model.ErrorMessage
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.{postUserAuthContextJson, postUserAuthContextUpdateJsonV310}
@@ -36,7 +37,7 @@ import code.api.v3_1_0.CustomerJsonV310
import code.api.v5_0_0.OBPAPI5_0_0.Implementations5_0_0
import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.language.postfixOps
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/V500ServerSetup.scala b/obp-api/src/test/scala/code/api/v5_0_0/V500ServerSetup.scala
index 97333ebef1..e4193b3c66 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/V500ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/V500ServerSetup.scala
@@ -1,5 +1,6 @@
package code.api.v5_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth.{Consumer, Token}
import code.api.util.ApiRole.CanCreateCustomer
@@ -13,7 +14,7 @@ import com.openbankproject.commons.util.ApiShortVersions
import dispatch.Req
import code.api.util.APIUtil.OAuth._
import code.api.v2_0_0.BasicAccountsJSON
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import scala.util.Random.nextInt
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/AccountAccessTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/AccountAccessTest.scala
index fd2111263d..a3c07f1814 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/AccountAccessTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/AccountAccessTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_1_0
+import org.json4s._
import code.api.Constant.{SYSTEM_AUDITOR_VIEW_ID, SYSTEM_MANAGE_CUSTOM_VIEWS_VIEW_ID, SYSTEM_OWNER_VIEW_ID}
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.createViewJsonV300
@@ -16,7 +17,7 @@ import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{AmountOfMoneyJsonV121, ErrorMessage}
import com.openbankproject.commons.util.ApiVersion
import net.liftweb.common.Box
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class AccountAccessTest extends V510ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/AccountBalanceTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/AccountBalanceTest.scala
index 321decd6f1..917c68e475 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/AccountBalanceTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/AccountBalanceTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_1_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ErrorMessages.AuthenticatedUserIsRequired
import code.api.v4_0_0.{AccountsBalancesJsonV400, BalanceJsonV400}
@@ -8,7 +9,7 @@ import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
import dispatch.Req
-import net.liftweb.json
+import com.openbankproject.commons.util.json
import org.scalatest.Tag
class AccountBalanceTest extends V510ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/AccountTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/AccountTest.scala
index 5e25f3675e..3f6e166d55 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/AccountTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/AccountTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_1_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{CanGetAccountsHeldAtAnyBank, CanGetAccountsHeldAtOneBank, CanSyncUser}
import code.api.util.ErrorMessages.{UserHasMissingRoles, AuthenticatedUserIsRequired}
@@ -7,7 +8,7 @@ import code.api.v5_1_0.OBPAPI5_1_0.Implementations5_1_0
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class AccountTest extends V510ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/AgentTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/AgentTest.scala
index b909050c66..919826452b 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/AgentTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/AgentTest.scala
@@ -1,12 +1,13 @@
package code.api.v5_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.{postAgentJsonV510, putAgentJsonV510}
import code.api.util.ErrorMessages.{BankNotFound, UserHasMissingRoles, AuthenticatedUserIsRequired}
import code.api.v5_1_0.OBPAPI5_1_0.Implementations5_1_0
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{canUpdateAgentStatusAtAnyBank, canUpdateAgentStatusAtOneBank}
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/ApiCollectionTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/ApiCollectionTest.scala
index 30e5ccd389..9585702cd9 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/ApiCollectionTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/ApiCollectionTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v5_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole
@@ -36,7 +37,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class ApiCollectionTest extends V510ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/AtmAttributeTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/AtmAttributeTest.scala
index 114e6f93c4..8e168a5ef7 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/AtmAttributeTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/AtmAttributeTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -11,7 +12,7 @@ import code.setup.DefaultUsers
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class AtmAttributeTest extends V510ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/AtmTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/AtmTest.scala
index 375b6b818a..87362e3a8e 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/AtmTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/AtmTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -13,7 +14,7 @@ import code.setup.DefaultUsers
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class AtmTest extends V510ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/BankAccountBalanceTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/BankAccountBalanceTest.scala
index 7807edc2ae..325ad33c4e 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/BankAccountBalanceTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/BankAccountBalanceTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -10,7 +11,7 @@ import code.setup.DefaultUsers
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class BankAccountBalanceTest extends V510ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/ConsentObpTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/ConsentObpTest.scala
index a2c38d523e..ebba60b518 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/ConsentObpTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/ConsentObpTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v5_1_0
+import org.json4s._
import code.api.{Constant, RequestHeader}
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.ApiRole._
@@ -39,7 +40,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class ConsentObpTest extends V510ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/ConsentsTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/ConsentsTest.scala
index fc244768d6..6b8225113c 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/ConsentsTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/ConsentsTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v5_1_0
+import org.json4s._
import code.api.{Constant, RequestHeader}
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
@@ -43,7 +44,7 @@ import code.setup.PropsReset
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{AccountRoutingJsonV121, ErrorMessage}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.language.postfixOps
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/ConsumerTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/ConsumerTest.scala
index 9f337ba42c..92b2a6afa9 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/ConsumerTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/ConsumerTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v5_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -34,7 +35,7 @@ import code.api.v5_1_0.OBPAPI5_1_0.Implementations5_1_0
import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class ConsumerTest extends V510ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/CounterpartyLimitTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/CounterpartyLimitTest.scala
index 8d52c41814..716ba6c172 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/CounterpartyLimitTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/CounterpartyLimitTest.scala
@@ -1,4 +1,5 @@
package code.api.v5_1_0
+import org.json4s._
import java.util.UUID
import code.api.Constant.{SYSTEM_OWNER_VIEW_ID}
import code.api.util.ErrorMessages._
@@ -9,7 +10,7 @@ import code.api.v5_1_0.OBPAPI5_1_0.Implementations5_1_0
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{AmountOfMoneyJsonV121, ErrorMessage}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class CounterpartyLimitTest extends V510ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/CustomViewTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/CustomViewTest.scala
index e0dc4034fe..abd3f973ae 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/CustomViewTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/CustomViewTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_1_0
+import org.json4s._
import code.api.Constant.{SYSTEM_AUDITOR_VIEW_ID, SYSTEM_MANAGE_CUSTOM_VIEWS_VIEW_ID, SYSTEM_OWNER_VIEW_ID, SYSTEM_STAGE_ONE_VIEW_ID}
import code.api.util.APIUtil.OAuth._
import code.api.util.ErrorMessages._
@@ -7,7 +8,7 @@ import code.api.v5_1_0.OBPAPI5_1_0.Implementations5_1_0
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import net.liftweb.util.StringHelpers
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/CustomerTest.scala
index b6bd24be29..35d9c8a91a 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/CustomerTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v5_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.postCustomerLegalNameJsonV510
import code.api.util.APIUtil.OAuth._
@@ -39,7 +40,7 @@ import code.usercustomerlinks.UserCustomerLink
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import java.util.Date
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/LogCacheEndpointTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/LogCacheEndpointTest.scala
index a9db4e968c..388a12622b 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/LogCacheEndpointTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/LogCacheEndpointTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_1_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{CanGetSystemLogCacheAll,CanGetSystemLogCacheInfo}
import code.api.util.ErrorMessages.{UserHasMissingRoles, AuthenticatedUserIsRequired}
@@ -8,7 +9,6 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.JsonAST._
import org.scalatest.Tag
class LogCacheEndpointTest extends V510ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityAttributeTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityAttributeTest.scala
index e84e6cabf1..5b1c1665a9 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityAttributeTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityAttributeTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
@@ -10,7 +11,7 @@ import code.setup.DefaultUsers
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class RegulatedEntityAttributeTest extends V510ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityTest.scala
index 2cb8ca0e1c..dc017b5bda 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.regulatedEntityPostJsonV510
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{CanCreateRegulatedEntity, CanDeleteRegulatedEntity, CanGetSystemIntegrity}
@@ -9,7 +10,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization._
+import org.json4s.native.Serialization._
import org.scalatest.Tag
class RegulatedEntityTest extends V510ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/ResponseHeadersTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/ResponseHeadersTest.scala
index 4e37e3902c..a5fd12e7b2 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/ResponseHeadersTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/ResponseHeadersTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_1_0
+import org.json4s._
import java.util.Date
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON._
@@ -11,7 +12,7 @@ import code.entitlement.Entitlement
import code.setup.{APIResponse, DefaultUsers}
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class ResponseHeadersTest extends V510ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/SystemViewPermissionTests.scala b/obp-api/src/test/scala/code/api/v5_1_0/SystemViewPermissionTests.scala
index 90161fb7a9..1b1901a6ce 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/SystemViewPermissionTests.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/SystemViewPermissionTests.scala
@@ -1,6 +1,7 @@
package code.api.v5_1_0
-import _root_.net.liftweb.json.Serialization.write
+import org.json4s._
+import _root_.org.json4s.native.Serialization.write
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON._
import code.api.util.APIUtil
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/TransactionRequestTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/TransactionRequestTest.scala
index 6dc03c1edd..2c76638438 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/TransactionRequestTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/TransactionRequestTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v5_1_0
+import org.json4s._
import code.api.Constant
import code.api.util.ErrorMessages._
import code.api.util.APIUtil.OAuth._
@@ -36,7 +37,7 @@ import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.enums.TransactionRequestStatus
import com.openbankproject.commons.model.{AmountOfMoneyJsonV121, ErrorMessage, TransactionRequestAttributeJsonV400}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import java.util.UUID
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/UserAttributesTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/UserAttributesTest.scala
index 841725ade7..10aa7bb2b5 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/UserAttributesTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/UserAttributesTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole
@@ -10,7 +11,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/UserTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/UserTest.scala
index 2ae08eeb39..00b0d2c80f 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/UserTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/UserTest.scala
@@ -1,5 +1,6 @@
package code.api.v5_1_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{CanGetAnyUser, CanGetEntitlementsForAnyUserAtAnyBank, CanValidateUser}
import code.api.util.ErrorMessages.{UserHasMissingRoles, AuthenticatedUserIsRequired, attemptedToOpenAnEmptyBox}
@@ -12,7 +13,7 @@ import code.users.Users
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import net.liftweb.util.Helpers.randomString
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/V510ServerSetup.scala b/obp-api/src/test/scala/code/api/v5_1_0/V510ServerSetup.scala
index 4a88bca733..94cc565019 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/V510ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/V510ServerSetup.scala
@@ -1,5 +1,6 @@
package code.api.v5_1_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.createViewJsonV300
import code.api.util.APIUtil.OAuth.{Consumer, Token, _}
@@ -18,7 +19,7 @@ import code.setup.{APIResponse, DefaultUsers, ServerSetupWithTestData}
import com.openbankproject.commons.model.{AccountRoutingJsonV121, AmountOfMoneyJsonV121, CreateViewJson}
import com.openbankproject.commons.util.ApiShortVersions
import dispatch.Req
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import scala.util.Random
import scala.util.Random.nextInt
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/VRPConsentRequestTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/VRPConsentRequestTest.scala
index 68789e3d5d..b98fcf953d 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/VRPConsentRequestTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/VRPConsentRequestTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v5_1_0
+import org.json4s._
import code.api.RequestHeader
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.{accountRoutingJsonV121, bankRoutingJsonV121, branchRoutingJsonV141, postCounterpartyLimitV510}
@@ -49,7 +50,7 @@ import code.setup.PropsReset
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{AmountOfMoneyJsonV121, ErrorMessage}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import scala.language.postfixOps
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/WebUiPropsTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/WebUiPropsTest.scala
index 80606a1993..3b2c77c105 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/WebUiPropsTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/WebUiPropsTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v5_1_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
import code.api.util.ErrorMessages._
@@ -34,7 +35,7 @@ import code.webuiprops.WebUiPropsCommons
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/AbacRuleTests.scala b/obp-api/src/test/scala/code/api/v6_0_0/AbacRuleTests.scala
index 021c530a44..d528dd2968 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/AbacRuleTests.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/AbacRuleTests.scala
@@ -1,5 +1,6 @@
package code.api.v6_0_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{canCreateAbacRule, canExecuteAbacRule}
import code.api.util.ErrorMessages
@@ -10,7 +11,7 @@ import code.setup.DefaultUsers
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class AbacRuleTests extends V600ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/BankTests.scala b/obp-api/src/test/scala/code/api/v6_0_0/BankTests.scala
index 498eb2882e..8d5bb5f3b3 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/BankTests.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/BankTests.scala
@@ -1,5 +1,6 @@
package code.api.v6_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.postBankJson600
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.CanCreateBank
@@ -11,7 +12,7 @@ import code.setup.DefaultUsers
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import net.liftweb.util.Helpers.randomString
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/CacheEndpointsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/CacheEndpointsTest.scala
index 9d1c53dc54..f98b11794b 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/CacheEndpointsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/CacheEndpointsTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v6_0_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{CanGetCacheConfig, CanGetCacheInfo, CanInvalidateCacheNamespace}
import code.api.util.ErrorMessages.{InvalidJsonFormat, UserHasMissingRoles, AuthenticatedUserIsRequired}
@@ -33,7 +34,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class CacheEndpointsTest extends V600ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/CardanoTransactionRequestTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/CardanoTransactionRequestTest.scala
index cd9c1d7c8b..d147ba273a 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/CardanoTransactionRequestTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/CardanoTransactionRequestTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v6_0_0
+import org.json4s._
import code.api.Constant
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.ApiRole
@@ -36,7 +37,7 @@ import code.methodrouting.MethodRoutingCommons
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{AmountOfMoneyJsonV121, ErrorMessage}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/CounterpartyAttributeTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/CounterpartyAttributeTest.scala
index a1ca21f7c6..0d681bdf10 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/CounterpartyAttributeTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/CounterpartyAttributeTest.scala
@@ -1,5 +1,6 @@
package code.api.v6_0_0
+import org.json4s._
import java.util.UUID
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON._
import code.api.util.APIUtil.OAuth._
@@ -11,7 +12,7 @@ import code.setup.DefaultUsers
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class CounterpartyAttributeTest extends V600ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/CreateUserTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/CreateUserTest.scala
index bcf3bb9b2c..c60447f5d9 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/CreateUserTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/CreateUserTest.scala
@@ -1,12 +1,13 @@
package code.api.v6_0_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ErrorMessages
import code.api.util.ErrorMessages.InvalidStrongPasswordFormat
import code.consumer.Consumers
import code.model.dataAccess.AuthUser
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import net.liftweb.mapper.By
import net.liftweb.util.Helpers.randomString
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/CustomViewsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/CustomViewsTest.scala
index 30991895d2..0220a729e7 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/CustomViewsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/CustomViewsTest.scala
@@ -1,5 +1,6 @@
package code.api.v6_0_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{CanCreateCustomView, CanGetCustomViews}
import code.api.util.ErrorMessages
@@ -12,7 +13,7 @@ import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{BankId, ViewId}
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.JsonAST.JArray
+import org.json4s.JsonAST.JArray
import org.scalatest.Tag
class CustomViewsTest extends V600ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/CustomerTest.scala
index ee0468dd8f..56a6b4a31f 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/CustomerTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v6_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.postCustomerLegalNameJsonV510
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{CanCreateCustomer, CanGetCustomersAtOneBank}
@@ -38,7 +39,7 @@ import code.usercustomerlinks.UserCustomerLink
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class CustomerTest extends V600ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/DirectLoginV600Test.scala b/obp-api/src/test/scala/code/api/v6_0_0/DirectLoginV600Test.scala
index fcd7b2df26..061820515e 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/DirectLoginV600Test.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/DirectLoginV600Test.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v6_0_0
+import org.json4s._
import code.api.Constant.localIdentityProvider
import code.api.util.ErrorMessages
import code.api.util.ErrorMessages._
@@ -38,7 +39,7 @@ import code.userlocks.UserLocksProvider
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.JsonAST.{JArray, JField, JObject, JString}
+import org.json4s.JsonAST.{JArray, JField, JObject, JString}
import net.liftweb.mapper.By
import net.liftweb.util.Helpers._
import org.scalatest.{BeforeAndAfter, Tag}
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityAccessFlagsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityAccessFlagsTest.scala
index dd475fa55e..aebf94e6d3 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityAccessFlagsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityAccessFlagsTest.scala
@@ -29,9 +29,10 @@ import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
import code.entitlement.Entitlement
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.Serialization.write
-import net.liftweb.json._
+import org.json4s.JsonDSL._
+import org.json4s.native.Serialization.write
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import org.scalatest.Tag
class DynamicEntityAccessFlagsTest extends V600ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFieldRolesTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFieldRolesTest.scala
index 8a2f754cba..9371189401 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFieldRolesTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFieldRolesTest.scala
@@ -30,9 +30,10 @@ import com.openbankproject.commons.model.ErrorMessage
import code.api.util.ApiRole._
import code.entitlement.Entitlement
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.Serialization.write
-import net.liftweb.json._
+import org.json4s.JsonDSL._
+import org.json4s.native.Serialization.write
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases.parse
import org.scalatest.Tag
/**
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFilterAndBankAccessTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFilterAndBankAccessTest.scala
index fb82e43bbb..7f02e37bae 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFilterAndBankAccessTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFilterAndBankAccessTest.scala
@@ -29,10 +29,11 @@ import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
import code.entitlement.Entitlement
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.JsonAST.JArray
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.Serialization.write
-import net.liftweb.json._
+import org.json4s.JsonAST.JArray
+import org.json4s.JsonDSL._
+import org.json4s.native.Serialization.write
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import org.scalatest.Tag
/**
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityTest.scala
index 59f401769f..5b93577102 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityTest.scala
@@ -35,9 +35,10 @@ import code.scope.Scope
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.Serialization.write
-import net.liftweb.json._
+import org.json4s.JsonDSL._
+import org.json4s.native.Serialization.write
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import org.scalatest.Tag
class DynamicEntityTest extends V600ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/GetUserByUserIdTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/GetUserByUserIdTest.scala
index c393da1fd3..ec49f1fb07 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/GetUserByUserIdTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/GetUserByUserIdTest.scala
@@ -1,5 +1,6 @@
package code.api.v6_0_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.CanGetAnyUser
import code.api.util.ErrorMessages
@@ -58,8 +59,8 @@ class GetUserByUserIdTest extends V600ServerSetup with DefaultUsers {
And("The response should contain user details")
(response.body \ "user_id").extract[String] should equal(resourceUser1.userId)
And("The response should include first_name and last_name fields")
- response.body \ "first_name" should not equal net.liftweb.json.JNothing
- response.body \ "last_name" should not equal net.liftweb.json.JNothing
+ response.body \ "first_name" should not equal org.json4s.JNothing
+ response.body \ "last_name" should not equal org.json4s.JNothing
}
}
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/GroupEntitlementsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/GroupEntitlementsTest.scala
index a5dba7bed5..3aa0c60cd2 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/GroupEntitlementsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/GroupEntitlementsTest.scala
@@ -1,5 +1,6 @@
package code.api.v6_0_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{
CanCreateGroupAtAllBanks,
@@ -13,7 +14,7 @@ import code.setup.DefaultUsers
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class GroupEntitlementsTest extends V600ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/MessageDocsJsonSchemaTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/MessageDocsJsonSchemaTest.scala
index 6afd996b69..14a5a9b2d1 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/MessageDocsJsonSchemaTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/MessageDocsJsonSchemaTest.scala
@@ -8,7 +8,8 @@ import com.fasterxml.jackson.databind.ObjectMapper
import com.github.dwickern.macros.NameOf.nameOf
import com.networknt.schema.{JsonSchemaFactory, SpecVersion}
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import org.scalatest.Tag
/**
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/PasswordResetTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/PasswordResetTest.scala
index c2f018db87..f08fd0a81a 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/PasswordResetTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/PasswordResetTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v6_0_0
+import org.json4s._
import java.util.UUID
import code.api.util.ExampleValue
import com.openbankproject.commons.model.ErrorMessage
@@ -41,7 +42,7 @@ import code.users.Users
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.User
import net.liftweb.common.{Box, Full}
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import net.liftweb.mapper.By
import org.scalatest.Tag
@@ -137,7 +138,7 @@ class PasswordResetTest extends V600ServerSetup {
ack.status should equal("sent")
ack.to should equal(postJson.email)
And("The response body must NOT contain a reset_password_url field")
- (response600.body \ "reset_password_url") should equal(net.liftweb.json.JNothing)
+ (response600.body \ "reset_password_url") should equal(org.json4s.JNothing)
}
scenario("We will call the endpoint with unvalidated user", ApiEndpoint1, VersionOfApi) {
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/RateLimitsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/RateLimitsTest.scala
index 338101ceda..b111dddb31 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/RateLimitsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/RateLimitsTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v6_0_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{CanCreateRateLimits, CanDeleteRateLimits, CanGetRateLimits}
import code.api.util.ErrorMessages.{UserHasMissingRoles, AuthenticatedUserIsRequired}
@@ -34,7 +35,7 @@ import code.entitlement.Entitlement
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
import java.time.format.DateTimeFormatter
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/RetailAndCorporateCustomerTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/RetailAndCorporateCustomerTest.scala
index b0b0a89199..9a875eec33 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/RetailAndCorporateCustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/RetailAndCorporateCustomerTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v6_0_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.{CanCreateCustomer, CanGetCustomersAtOneBank}
import code.api.util.ErrorMessages._
@@ -35,7 +36,7 @@ import code.usercustomerlinks.UserCustomerLink
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class RetailAndCorporateCustomerTest extends V600ServerSetup {
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/V6EntitlementCascadeTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/V6EntitlementCascadeTest.scala
index 7daae43356..cf3eaa4b3c 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/V6EntitlementCascadeTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/V6EntitlementCascadeTest.scala
@@ -1,12 +1,13 @@
package code.api.v6_0_0
+import org.json4s._
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
import code.api.util.APIUtil.OAuth._
import code.api.util.ErrorMessages
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
import code.setup.DefaultUsers
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class V6EntitlementCascadeTest extends V600ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/VerifyExternalUserCredentialsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/VerifyExternalUserCredentialsTest.scala
index 608c7b9946..cb5369c5d6 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/VerifyExternalUserCredentialsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/VerifyExternalUserCredentialsTest.scala
@@ -1,5 +1,6 @@
package code.api.v6_0_0
+import org.json4s._
import code.api.Constant
import code.api.util.APIUtil.OAuth._
import code.api.util.{CallContext, ErrorMessages}
@@ -15,7 +16,7 @@ import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.{ErrorMessage, InboundExternalUser}
import com.openbankproject.commons.util.ApiVersion
import net.liftweb.common.{Box, Empty, Full}
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import net.liftweb.util.Helpers.randomString
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/VerifyOidcClientTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/VerifyOidcClientTest.scala
index 38e80f900f..1432c8a7cf 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/VerifyOidcClientTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/VerifyOidcClientTest.scala
@@ -1,5 +1,6 @@
package code.api.v6_0_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole.CanVerifyOidcClient
import code.api.util.ErrorMessages
@@ -10,7 +11,7 @@ import code.setup.DefaultUsers
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
class VerifyOidcClientTest extends V600ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/VerifyUserCredentialsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/VerifyUserCredentialsTest.scala
index bb5ad4d290..901e934d2f 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/VerifyUserCredentialsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/VerifyUserCredentialsTest.scala
@@ -1,5 +1,6 @@
package code.api.v6_0_0
+import org.json4s._
import code.api.Constant
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole
@@ -16,7 +17,7 @@ import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
import net.liftweb.common.Full
-import net.liftweb.json.Serialization.write
+import org.json4s.native.Serialization.write
import net.liftweb.util.Helpers.randomString
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/WebUiPropsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/WebUiPropsTest.scala
index d1e900ec34..5fbfb0aa66 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/WebUiPropsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/WebUiPropsTest.scala
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v6_0_0
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
import code.api.util.ErrorMessages._
@@ -34,8 +35,8 @@ import code.webuiprops.WebUiPropsCommons
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.ErrorMessage
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json.JsonAST.JNothing
-import net.liftweb.json.Serialization.write
+import org.json4s.JsonAST.JNothing
+import org.json4s.native.Serialization.write
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/v7_0_0/Http4s700RoutesTest.scala b/obp-api/src/test/scala/code/api/v7_0_0/Http4s700RoutesTest.scala
index 220505ee50..c2acc10ba4 100644
--- a/obp-api/src/test/scala/code/api/v7_0_0/Http4s700RoutesTest.scala
+++ b/obp-api/src/test/scala/code/api/v7_0_0/Http4s700RoutesTest.scala
@@ -1,5 +1,6 @@
package code.api.v7_0_0
+import org.json4s._
import cats.effect.IO
import cats.effect.unsafe.IORuntime
import code.api.util.http4s.Http4sStandardHeaders
@@ -28,10 +29,11 @@ import org.typelevel.ci.CIString
import java.util.Date
import code.setup.ServerSetupWithTestData
-import net.liftweb.json.JValue
-import net.liftweb.json.JsonAST.{JArray, JBool, JField, JInt, JNull, JObject, JString}
-import net.liftweb.json.JsonParser.parse
+import org.json4s.JValue
+import org.json4s.JsonAST.{JArray, JBool, JField, JInt, JNull, JObject, JString}
+import com.openbankproject.commons.util.JsonAliases.parse
import org.scalatest.Tag
+import com.openbankproject.commons.util.JsonAliases.RichJField
/**
* HTTP4S v7.0.0 Routes Test
@@ -1785,7 +1787,7 @@ class Http4s700RoutesTest extends ServerSetupWithTestData {
case JObject(fields) =>
val map = toFieldMap(fields)
map.keys should contain allOf ("id", "batch_reference", "status", "total_payments", "succeeded_count", "failed_count", "payments")
- map.get("total_payments") shouldBe Some(net.liftweb.json.JsonAST.JInt(2))
+ map.get("total_payments") shouldBe Some(org.json4s.JsonAST.JInt(2))
map.get("status") match {
case Some(JString(s)) => s should (be("PARTIALLY_COMPLETED") or be("FAILED") or be("COMPLETED"))
case _ => fail("status should be a string")
diff --git a/obp-api/src/test/scala/code/api/v7_0_0/Http4s700TransactionTest.scala b/obp-api/src/test/scala/code/api/v7_0_0/Http4s700TransactionTest.scala
index 5687b05ae6..c8e523b1e1 100644
--- a/obp-api/src/test/scala/code/api/v7_0_0/Http4s700TransactionTest.scala
+++ b/obp-api/src/test/scala/code/api/v7_0_0/Http4s700TransactionTest.scala
@@ -1,19 +1,21 @@
package code.api.v7_0_0
+import org.json4s._
import code.Http4sTestServer
import code.api.util.ApiRole.{canCreateEntitlementAtAnyBank, canDeleteEntitlementAtAnyBank}
import code.entitlement.Entitlement
import code.setup.ServerSetupWithTestData
import dispatch.Defaults._
import dispatch._
-import net.liftweb.json.JsonAST.{JObject, JString}
-import net.liftweb.json.JsonParser.parse
-import net.liftweb.json.JValue
+import org.json4s.JsonAST.{JObject, JString}
+import com.openbankproject.commons.util.JsonAliases.parse
+import org.json4s.JValue
import org.scalatest.Tag
import scala.collection.JavaConverters._
import scala.concurrent.Await
import scala.concurrent.duration._
+import com.openbankproject.commons.util.JsonAliases.RichJField
/**
* Integration tests for the v7 request-scoped transaction feature.
diff --git a/obp-api/src/test/scala/code/api/v7_0_0/V7ResourceDocsAggregationTest.scala b/obp-api/src/test/scala/code/api/v7_0_0/V7ResourceDocsAggregationTest.scala
index 7469f620ba..2f2a3ea477 100644
--- a/obp-api/src/test/scala/code/api/v7_0_0/V7ResourceDocsAggregationTest.scala
+++ b/obp-api/src/test/scala/code/api/v7_0_0/V7ResourceDocsAggregationTest.scala
@@ -1,17 +1,19 @@
package code.api.v7_0_0
+import org.json4s._
import code.Http4sTestServer
import code.setup.ServerSetupWithTestData
import dispatch.Defaults._
import dispatch._
-import net.liftweb.json.JValue
-import net.liftweb.json.JsonAST.{JArray, JObject, JString}
-import net.liftweb.json.JsonParser.parse
+import org.json4s.JValue
+import org.json4s.JsonAST.{JArray, JObject, JString}
+import com.openbankproject.commons.util.JsonAliases.parse
import org.scalatest.Tag
import scala.collection.JavaConverters._
import scala.concurrent.Await
import scala.concurrent.duration._
+import com.openbankproject.commons.util.JsonAliases.RichJField
/**
* Regression test for v7 Resource Docs Aggregation.
@@ -78,7 +80,7 @@ class V7ResourceDocsAggregationTest extends ServerSetupWithTestData {
}
}
- private def toFieldMap(fields: List[net.liftweb.json.JsonAST.JField]): Map[String, JValue] =
+ private def toFieldMap(fields: List[org.json4s.JsonAST.JField]): Map[String, JValue] =
fields.map(field => field.name -> field.value).toMap
private def extractResourceDocs(json: JValue): List[JObject] = {
diff --git a/obp-api/src/test/scala/code/bankaccountcreation/BankAccountCreationListenerTest.scala b/obp-api/src/test/scala/code/bankaccountcreation/BankAccountCreationListenerTest.scala
index 5193b41891..8e92146e8b 100644
--- a/obp-api/src/test/scala/code/bankaccountcreation/BankAccountCreationListenerTest.scala
+++ b/obp-api/src/test/scala/code/bankaccountcreation/BankAccountCreationListenerTest.scala
@@ -11,7 +11,6 @@ import net.liftweb.util.Props
import org.scalatest.Tag
import com.tesobe.model.CreateBankAccount
import code.model.dataAccess.{BankAccountCreationListener, ResourceUser}
-import net.liftmodules.amqp.AMQPMessage
import code.bankconnectors.Connector
import code.connector.MockedCbsConnector.{defaultProvider, resourceUser1Name, resourceUser1}
import code.model.UserX
@@ -82,10 +81,7 @@ class BankAccountCreationListenerTest extends ServerSetup with DefaultConnectorT
//what to do if this slugification results in an id collision has not been determined yet
val msgContent = CreateBankAccount(userProviderId, userProvider, accountNumber, bankIdentifier, expectedBankId)
- BankAccountCreationListener.createBankAccountListener ! AMQPMessage(msgContent)
-
- //sleep to give the actor time to process the message
- Thread.sleep(5000)
+ BankAccountCreationListener.handleMessage(msgContent)
thenCheckAccountCreated(user)
@@ -108,10 +104,7 @@ class BankAccountCreationListenerTest extends ServerSetup with DefaultConnectorT
When("We create a bank account")
val msgContent = CreateBankAccount(userProviderId, userProvider, accountNumber, createdBank.nationalIdentifier, createdBank.bankId.value)
- BankAccountCreationListener.createBankAccountListener ! AMQPMessage(msgContent)
-
- //sleep to give the actor time to process the message
- Thread.sleep(5000)
+ BankAccountCreationListener.handleMessage(msgContent)
thenCheckAccountCreated(user)
}
diff --git a/obp-api/src/test/scala/code/connector/MessageDocTest.scala b/obp-api/src/test/scala/code/connector/MessageDocTest.scala
index ab322bd4b6..5dbadf32e3 100644
--- a/obp-api/src/test/scala/code/connector/MessageDocTest.scala
+++ b/obp-api/src/test/scala/code/connector/MessageDocTest.scala
@@ -1,5 +1,6 @@
package code.connector
+import org.json4s._
import code.api.v2_2_0.JSONFactory220.MessageDocJson
import code.api.v2_2_0.OBPAPI2_2_0.Implementations2_2_0
import code.api.v2_2_0.V220ServerSetup
@@ -7,8 +8,8 @@ import code.bankconnectors.LocalMappedConnector
import code.setup.DefaultUsers
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.util.ApiVersion
-import net.liftweb.json
-import net.liftweb.json.JValue
+import com.openbankproject.commons.util.json
+import org.json4s.JValue
import org.scalatest.Tag
import scala.collection.immutable.List
diff --git a/obp-api/src/test/scala/code/connector/MockedCbsConnector.scala b/obp-api/src/test/scala/code/connector/MockedCbsConnector.scala
index 24ca50053b..89c7f393df 100644
--- a/obp-api/src/test/scala/code/connector/MockedCbsConnector.scala
+++ b/obp-api/src/test/scala/code/connector/MockedCbsConnector.scala
@@ -1,5 +1,6 @@
package code.connector
+import org.json4s._
import code.api.Constant._
import code.api.util.{CallContext, CustomJsonFormats}
import code.bankconnectors._
@@ -10,7 +11,7 @@ import net.liftweb.common.{Box, Full}
import scala.collection.immutable.List
import com.openbankproject.commons.ExecutionContext.Implicits.global
-import net.liftweb.json.Formats
+import org.json4s.Formats
import scala.concurrent.Future
diff --git a/obp-api/src/test/scala/code/connector/RestConnector_vMar2019_FrozenTest.scala b/obp-api/src/test/scala/code/connector/RestConnector_vMar2019_FrozenTest.scala
index e52490a458..e9e5c3177f 100644
--- a/obp-api/src/test/scala/code/connector/RestConnector_vMar2019_FrozenTest.scala
+++ b/obp-api/src/test/scala/code/connector/RestConnector_vMar2019_FrozenTest.scala
@@ -64,10 +64,19 @@ class RestConnector_vMar2019_FrozenTest extends FlatSpec with Matchers with Befo
.filterKeys(typeNameToFieldsInfoPersisted.contains(_))
.toList
+ // Normalize type names so that reflection aliases produce equal strings:
+ // json4s defines package-level aliases (org.json4s.JValue) for types inside
+ // org.json4s.JsonAST; Scala reflection may report either form depending on how
+ // the import is written. Treat them as identical for structural comparison.
+ def normalizeTypeName(name: String): String =
+ name.replace("org.json4s.JsonAST.", "org.json4s.")
+ def normalizeStructure(m: Map[String, String]): Map[String, String] =
+ m.map { case (k, v) => k -> normalizeTypeName(v) }
+
val theSameStructureAsFrozen: Matcher[(String, Map[String, String])] = Matcher{ fullNameAndStructure =>
val (fullName: String, structure: Map[String, String]) = fullNameAndStructure
MatchResult(
- structure == typeNameToFieldsInfoPersisted(fullName),
+ normalizeStructure(structure) == normalizeStructure(typeNameToFieldsInfoPersisted(fullName)),
s"$fullName structure is changed, frozen structure is ${typeNameToFieldsInfoPersisted(fullName)}, current structure is $structure",
s"$fullName structure is not changed"
)
diff --git a/obp-api/src/test/scala/code/connector/RestConnector_vMar2019_frozen_meta_data b/obp-api/src/test/scala/code/connector/RestConnector_vMar2019_frozen_meta_data
index f94beb5dfb..cfa2daeb33 100644
Binary files a/obp-api/src/test/scala/code/connector/RestConnector_vMar2019_frozen_meta_data and b/obp-api/src/test/scala/code/connector/RestConnector_vMar2019_frozen_meta_data differ
diff --git a/obp-api/src/test/scala/code/customer/MappedCustomerInfoTest.scala b/obp-api/src/test/scala/code/customer/MappedCustomerInfoTest.scala
index 5999ae48b9..c229825614 100644
--- a/obp-api/src/test/scala/code/customer/MappedCustomerInfoTest.scala
+++ b/obp-api/src/test/scala/code/customer/MappedCustomerInfoTest.scala
@@ -1,5 +1,6 @@
package code.customer
+import org.json4s._
import code.api.util.APIUtil.OAuth._
import code.api.util.{APIUtil, ApiRole}
import code.api.v1_4_0.JSONFactory1_4_0.CustomerFaceImageJson
@@ -11,7 +12,7 @@ import code.setup.DefaultUsers
import code.usercustomerlinks.UserCustomerLink
import com.openbankproject.commons.model.{BankId, Customer}
import net.liftweb.common.{Box, Empty, Full}
-import net.liftweb.json.Serialization._
+import org.json4s.native.Serialization._
class MappedCustomerProviderTest extends V140ServerSetup with DefaultUsers {
diff --git a/obp-api/src/test/scala/code/external/API3_0_0Test.scala b/obp-api/src/test/scala/code/external/API3_0_0Test.scala
index ed584bca7d..3b9a5f7a0b 100644
--- a/obp-api/src/test/scala/code/external/API3_0_0Test.scala
+++ b/obp-api/src/test/scala/code/external/API3_0_0Test.scala
@@ -36,7 +36,7 @@
//import code.api.v1_2._
//import code.api.v3_0_0.V300ServerSetup
//import code.setup.{APIResponse, DefaultUsers, User1AllPrivileges}
-//import net.liftweb.json._
+//import org.json4s._
//import net.liftweb.util.Helpers._
//import org.scalatest._
//
diff --git a/obp-api/src/test/scala/code/setup/SendServerRequests.scala b/obp-api/src/test/scala/code/setup/SendServerRequests.scala
index 05f5835f44..1cac46e50e 100644
--- a/obp-api/src/test/scala/code/setup/SendServerRequests.scala
+++ b/obp-api/src/test/scala/code/setup/SendServerRequests.scala
@@ -33,8 +33,9 @@ import code.api.ResponseHeader
import dispatch.Defaults._
import dispatch._
import net.liftweb.common.Full
-import net.liftweb.json.JsonAST.JValue
-import net.liftweb.json._
+import org.json4s.JsonAST.JValue
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.util.Helpers._
import java.net.URLDecoder
@@ -136,12 +137,19 @@ trait SendServerRequests {
if (isYaml) {
APIResponse(response.getStatusCode, JString(body), Some(response.getHeaders()))
} else {
- val parsedBody = tryo {
- parse(body)
- }
+ // json4s-native 3.6.x rejects primitive root values (booleans, strings, numbers, null).
+ // Wrap in a single-element array so the native parser accepts it, then extract the
+ // first element — handles all JSON primitive types generically.
+ val parsedBody: Option[JValue] = tryo { parse(body) }.toOption orElse
+ tryo {
+ parse(s"[$body]") match {
+ case JArray(v :: _) => v
+ case _ => throw new RuntimeException("empty array")
+ }
+ }.toOption
parsedBody match {
- case Full(b) => APIResponse(response.getStatusCode, b, Some(response.getHeaders()))
- case _ => throw new Exception(s"couldn't parse response from ${req.url} : $body")
+ case Some(b) => APIResponse(response.getStatusCode, b, Some(response.getHeaders()))
+ case None => throw new Exception(s"couldn't parse response from ${req.url} : $body")
}
}
}
diff --git a/obp-api/src/test/scala/code/setup/ServerSetup.scala b/obp-api/src/test/scala/code/setup/ServerSetup.scala
index 70f250def4..fc53ba0d9d 100644
--- a/obp-api/src/test/scala/code/setup/ServerSetup.scala
+++ b/obp-api/src/test/scala/code/setup/ServerSetup.scala
@@ -27,7 +27,8 @@ TESOBE (http://www.tesobe.com/)
package code.setup
-import _root_.net.liftweb.json.JsonAST.JObject
+import org.json4s._
+import _root_.org.json4s.JsonAST.JObject
import bootstrap.liftweb.ToSchemify
import code.TestServer
import code.api.util.APIUtil._
@@ -38,7 +39,7 @@ import code.util.Helper.MdcLoggable
import com.openbankproject.commons.model.{AccountId, BankId}
import dispatch._
import net.liftweb.common.{Empty, Full}
-import net.liftweb.json.JsonDSL._
+import org.json4s.JsonDSL._
import net.liftweb.mapper.MetaMapper
import org.scalatest._
diff --git a/obp-api/src/test/scala/code/setup/ServerSetupAsync.scala b/obp-api/src/test/scala/code/setup/ServerSetupAsync.scala
index fc24d727f9..320a9c797d 100644
--- a/obp-api/src/test/scala/code/setup/ServerSetupAsync.scala
+++ b/obp-api/src/test/scala/code/setup/ServerSetupAsync.scala
@@ -27,16 +27,17 @@ TESOBE (http://www.tesobe.com/)
package code.setup
+import org.json4s._
import java.text.SimpleDateFormat
-import _root_.net.liftweb.json.JsonAST.JObject
+import _root_.org.json4s.JsonAST.JObject
import code.TestServer
import code.api.util.{APIUtil, CustomJsonFormats}
import code.util.Helper.MdcLoggable
import com.openbankproject.commons.model.{AccountId, BankId}
import dispatch._
import net.liftweb.common.{Empty, Full}
-import net.liftweb.json.JsonDSL._
+import org.json4s.JsonDSL._
import org.scalatest._
trait ServerSetupAsync extends AsyncFeatureSpec with SendServerRequests
diff --git a/obp-api/src/test/scala/code/util/APIUtilTest.scala b/obp-api/src/test/scala/code/util/APIUtilTest.scala
index cae93c7e72..7f8b752f5e 100644
--- a/obp-api/src/test/scala/code/util/APIUtilTest.scala
+++ b/obp-api/src/test/scala/code/util/APIUtilTest.scala
@@ -27,6 +27,7 @@ TESOBE (http://www.tesobe.com/)
package code.util
+import org.json4s._
import code.api.Constant
import code.api.util.APIUtil.{DateWithMsFormat, DefaultToDate, theEpochTime, _}
import code.api.util.ErrorMessages._
@@ -37,7 +38,8 @@ import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.UserAuthContextCommons
import net.liftweb.common.{Box, Empty, Full}
import code.api.util.APIUtil.HTTPParam
-import net.liftweb.json.{JValue, parse}
+import org.json4s.JValue
+import com.openbankproject.commons.util.JsonAliases.parse
import org.scalatest.{FeatureSpec, GivenWhenThen, Matchers}
import java.time.format.DateTimeFormatter
diff --git a/obp-api/src/test/scala/code/util/CustomJsonFormatsTest.scala b/obp-api/src/test/scala/code/util/CustomJsonFormatsTest.scala
index 39da6fc1b4..6b9a32370e 100644
--- a/obp-api/src/test/scala/code/util/CustomJsonFormatsTest.scala
+++ b/obp-api/src/test/scala/code/util/CustomJsonFormatsTest.scala
@@ -1,12 +1,13 @@
package code.util
+import org.json4s._
import code.api.UKOpenBanking.v2_0_0.OBP_UKOpenBanking_200
import com.openbankproject.commons.util.ApiVersion
import code.api.util.{ CustomJsonFormats}
import com.openbankproject.commons.util.OBPRequired
-import net.liftweb.json
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.{Formats, JObject}
+import com.openbankproject.commons.util.json
+import org.json4s.JsonDSL._
+import org.json4s.{Formats, JObject}
import org.scalatest.{FeatureSpec, GivenWhenThen, Matchers}
case class FirstTypeForTest(val name: String, age: Option[Int])
diff --git a/obp-api/src/test/scala/code/util/DynamicUtilTest.scala b/obp-api/src/test/scala/code/util/DynamicUtilTest.scala
index a7b054a341..abd2d9e748 100644
--- a/obp-api/src/test/scala/code/util/DynamicUtilTest.scala
+++ b/obp-api/src/test/scala/code/util/DynamicUtilTest.scala
@@ -27,13 +27,14 @@ TESOBE (http://www.tesobe.com/)
package code.util
+import org.json4s._
import code.api.util.DynamicUtil.Sandbox
import code.api.util._
import code.setup.PropsReset
import com.openbankproject.commons.model.BankId
import com.openbankproject.commons.util.{JsonUtils, ReflectUtils}
import net.liftweb.common.{Box}
-import net.liftweb.json
+import com.openbankproject.commons.util.json
import org.scalatest.{FeatureSpec, FlatSpec, GivenWhenThen, Matchers, Tag}
import java.io.File
@@ -197,13 +198,13 @@ class DynamicUtilTest extends FlatSpec with Matchers {
s"""
| $caseClasses
|
- | // throws exception: net.liftweb.json.MappingException:
+ | // throws exception: org.json4s.MappingException:
| //No usable value for name
| //Did not find value which can be converted into java.lang.String
|
|implicit val formats = code.api.util.CustomJsonFormats.formats
|(str: String) => {
- | net.liftweb.json.parse(str).extract[RootJsonClass]
+ | com.openbankproject.commons.util.JsonAliases.parse(str).extract[RootJsonClass]
|}
|""".stripMargin
@@ -218,13 +219,12 @@ class DynamicUtilTest extends FlatSpec with Matchers {
val func3 = buildFunction(zson3)
val value1 = func.apply(zson)
val value2 = func2.apply(zson2)
- val value3 = func2.apply(zson3)
-
+ val value3 = func3.apply(zson3).asInstanceOf[List[_]].head.asInstanceOf[AnyRef]
ReflectUtils.getNestedField(value1.asInstanceOf[AnyRef], "street", "name") should be ("hongqi")
ReflectUtils.getField(value1.asInstanceOf[AnyRef], "weight") shouldEqual Some(12.11)
ReflectUtils.getField(value2.asInstanceOf[AnyRef], "number") shouldEqual (123)
- ReflectUtils.getField(value3.asInstanceOf[AnyRef], "number") shouldEqual (123)
+ ReflectUtils.getField(value3, "number") shouldEqual (123)
}
"DynamicUtil.toCaseObject method" should "return correct object" taggedAs DynamicUtilsTag in {
diff --git a/obp-api/src/test/scala/code/util/JsonUtilsTest.scala b/obp-api/src/test/scala/code/util/JsonUtilsTest.scala
index 367c4bd3f2..334fdce533 100644
--- a/obp-api/src/test/scala/code/util/JsonUtilsTest.scala
+++ b/obp-api/src/test/scala/code/util/JsonUtilsTest.scala
@@ -1,10 +1,11 @@
package code.util
+import org.json4s._
import org.scalatest.{FlatSpec, Matchers, Tag}
import com.openbankproject.commons.util.JsonUtils.buildJson
-import net.liftweb.json
-import net.liftweb.json.JBool
-import net.liftweb.json.JsonAST.{JNothing, JValue}
+import com.openbankproject.commons.util.json
+import org.json4s.JBool
+import org.json4s.JsonAST.{JNothing, JValue}
class JsonUtilsTest extends FlatSpec with Matchers {
object JsonUtilsTag extends Tag("JsonUtils")
diff --git a/obp-api/src/test/scala/code/util/PegdownOptionsTest.scala b/obp-api/src/test/scala/code/util/PegdownOptionsTest.scala
index c24aa2a9d2..041950917b 100644
--- a/obp-api/src/test/scala/code/util/PegdownOptionsTest.scala
+++ b/obp-api/src/test/scala/code/util/PegdownOptionsTest.scala
@@ -2,7 +2,6 @@ package code.util
import code.api.util.PegdownOptions
import code.api.util.PegdownOptions.convertPegdownToHtmlTweaked
-import net.liftweb.util.Html5
import org.scalatest.{FlatSpec, Matchers, Tag}
import scala.xml.NodeSeq
@@ -14,9 +13,8 @@ class PegdownOptionsTest extends FlatSpec with Matchers {
* @return
*/
def stringToNodeSeq(html : String) : NodeSeq = {
- val newHtmlString =scala.xml.XML.loadString("" + html + "
").toString()
- //Note: `parse` method: We much enclose the div, otherwise only the first element is returned.
- Html5.parse(newHtmlString).head
+ //Note: we must enclose the div, otherwise only the first element is returned.
+ scala.xml.XML.loadString("" + html + "
")
}
object FunctionsTag extends Tag("PegdownOptions")
diff --git a/obp-commons/pom.xml b/obp-commons/pom.xml
index df3d111d2e..6740fc285e 100644
--- a/obp-commons/pom.xml
+++ b/obp-commons/pom.xml
@@ -15,26 +15,8 @@
- net.liftweb
- lift-common_${scala.version}
-
-
- net.liftweb
- lift-util_${scala.version}
-
-
- javax.activation
- activation
-
-
- javax.mail
- mail
-
-
-
-
- net.liftweb
- lift-mapper_${scala.version}
+ com.github.OpenBankProject.lift-persistence
+ lift-persistence_${scala.version}
org.scala-lang
@@ -51,9 +33,8 @@
scalactic_${scala.version}
- net.liftweb
- lift-json_${scala.version}
- ${lift.version}
+ org.json4s
+ json4s-native_${scala.version}
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/dto/JsonsTransfer.scala b/obp-commons/src/main/scala/com/openbankproject/commons/dto/JsonsTransfer.scala
index 132311f5c7..bdad86dec1 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/dto/JsonsTransfer.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/dto/JsonsTransfer.scala
@@ -26,11 +26,12 @@
package com.openbankproject.commons.dto
+import org.json4s._
import com.openbankproject.commons.model._
import com.openbankproject.commons.model.enums.StrongCustomerAuthentication.SCA
import com.openbankproject.commons.model.enums.StrongCustomerAuthenticationStatus.SCAStatus
import com.openbankproject.commons.model.enums.{TransactionRequestStatus, _}
-import net.liftweb.json.{JObject, JValue}
+import org.json4s.{JObject, JValue}
import java.util.Date
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModel.scala b/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModel.scala
index d8fa9210af..c155c8f66c 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModel.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/model/CommonModel.scala
@@ -26,13 +26,14 @@ TESOBE (http://www.tesobe.com/)
*/
package com.openbankproject.commons.model
+import org.json4s._
import com.openbankproject.commons.model.enums.StrongCustomerAuthentication.SCA
import com.openbankproject.commons.model.enums.StrongCustomerAuthenticationStatus.SCAStatus
import com.openbankproject.commons.model.enums._
import com.openbankproject.commons.util.{ReflectUtils, optional}
-import net.liftweb.json.JsonAST.{JObject, JValue}
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.{Formats, JInt, JString}
+import org.json4s.JsonAST.{JObject, JValue}
+import org.json4s.JsonDSL._
+import org.json4s.{Formats, JInt, JString}
import java.lang
import java.util.Date
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/model/enums/Enumerations.scala b/obp-commons/src/main/scala/com/openbankproject/commons/model/enums/Enumerations.scala
index 5962a9af1d..2bb7066acf 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/model/enums/Enumerations.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/model/enums/Enumerations.scala
@@ -2,8 +2,9 @@ package com.openbankproject.commons.model.enums
import com.openbankproject.commons.util.{EnumValue, JsonAble, OBPEnumeration}
import net.liftweb.common.Box
-import net.liftweb.json.JsonAST.{JNothing, JString}
-import net.liftweb.json._
+import org.json4s.JsonAST.{JNothing, JString}
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import java.time.format.DateTimeFormatter
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/ApiVersion.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/ApiVersion.scala
index ec89d8e28b..013b310d8f 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/util/ApiVersion.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/ApiVersion.scala
@@ -1,6 +1,7 @@
package com.openbankproject.commons.util
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import java.util.concurrent.ConcurrentHashMap
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonAliases.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonAliases.scala
new file mode 100644
index 0000000000..7421a4ff49
--- /dev/null
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonAliases.scala
@@ -0,0 +1,67 @@
+package com.openbankproject.commons.util
+
+import org.json4s._
+import org.json4s.JValue
+import org.json4s.native.JsonMethods
+
+/**
+ * Helpers mirroring the surface of the former lift-json package object,
+ * so call sites keep their original shape on top of json4s:
+ * - parse / parseOpt / compactRender / prettyRender as plain functions
+ * - JField member access by name (json4s aliases JField to (String, JValue))
+ */
+object JsonAliases {
+
+ def parse(s: String): JValue = JsonMethods.parse(s)
+
+ def parseOpt(s: String): Option[JValue] = JsonMethods.parseOpt(s)
+
+ def compactRender(value: JValue): String = JsonMethods.compact(JsonMethods.render(value))
+
+ def prettyRender(value: JValue): String = JsonMethods.pretty(JsonMethods.render(value))
+
+ implicit class RichJField(private val jfield: org.json4s.JField) extends AnyVal {
+ def name: String = jfield._1
+ def value: JValue = jfield._2
+ }
+}
+
+/**
+ * Forwarder object standing in for the former lift-json package,
+ * keeping `json.parse(...)` / `json.JValue` style call sites compiling
+ * against json4s after `import com.openbankproject.commons.util.json`.
+ */
+object json {
+ type JValue = org.json4s.JValue
+ type JObject = org.json4s.JObject
+ type JArray = org.json4s.JArray
+ type JString = org.json4s.JString
+ type JInt = org.json4s.JInt
+ type JDouble = org.json4s.JDouble
+ type JBool = org.json4s.JBool
+ type JField = org.json4s.JField
+ type Formats = org.json4s.Formats
+ type MappingException = org.json4s.MappingException
+
+ val JNothing = org.json4s.JNothing
+ val JNull = org.json4s.JNull
+ val JObject = org.json4s.JObject
+ val JArray = org.json4s.JArray
+ val JString = org.json4s.JString
+ val JInt = org.json4s.JInt
+ val JDouble = org.json4s.JDouble
+ val JBool = org.json4s.JBool
+ val JField = org.json4s.JField
+ val JsonAST = org.json4s.JsonAST
+ val JsonDSL = org.json4s.JsonDSL
+ val Extraction = org.json4s.Extraction
+ val DefaultFormats = org.json4s.DefaultFormats
+ val NoTypeHints = org.json4s.NoTypeHints
+ val Serialization = org.json4s.native.Serialization
+ val JsonParser = org.json4s.native.JsonParser
+
+ def parse(s: String): JValue = JsonAliases.parse(s)
+ def parseOpt(s: String): Option[JValue] = JsonAliases.parseOpt(s)
+ def compactRender(value: JValue): String = JsonAliases.compactRender(value)
+ def prettyRender(value: JValue): String = JsonAliases.prettyRender(value)
+}
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonBoxSerializer.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonBoxSerializer.scala
index 56091ed83a..627ae82336 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonBoxSerializer.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonBoxSerializer.scala
@@ -16,10 +16,11 @@
package com.openbankproject.commons.util
+import org.json4s._
import net.liftweb.common.{Box, Empty, Failure, Full, ParamFailure}
-import net.liftweb.json.Extraction.{decompose, extract}
-import net.liftweb.json.JsonAST.{JField, JNothing, JNull, JObject, JString, JValue}
-import net.liftweb.json.{Formats, MappingException, Serializer, TypeInfo}
+import org.json4s.Extraction.{decompose, extract}
+import org.json4s.JsonAST.{JField, JNothing, JNull, JObject, JString, JValue}
+import org.json4s.{Formats, MappingException, Serializer, TypeInfo}
import org.apache.commons.codec.binary.Base64
import java.io._
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonSerializers.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonSerializers.scala
index b1e5725fe2..b5fce2df05 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonSerializers.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonSerializers.scala
@@ -5,10 +5,11 @@ import com.openbankproject.commons.model.{JsonFieldReName, ListResult}
import com.openbankproject.commons.util.Functions.Implicits._
import com.openbankproject.commons.util.Functions.Memo
import net.liftweb.common.Box
-import net.liftweb.json
-import net.liftweb.json.JsonAST.JValue
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json._
+import com.openbankproject.commons.util.json
+import org.json4s.JsonAST.JValue
+import org.json4s.JsonDSL._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import net.liftweb.mapper.Mapper
import net.liftweb.util.StringHelpers
@@ -19,7 +20,7 @@ import scala.reflect.runtime.{universe => ru}
object JsonSerializers {
object CustomFormats extends DefaultFormats {
- private val defaultFormats = net.liftweb.json.DefaultFormats
+ private val defaultFormats = org.json4s.DefaultFormats
val losslessDate = defaultFormats.losslessDate
val UTC = defaultFormats.UTC
@@ -28,11 +29,14 @@ object JsonSerializers {
* Here override it to: when execute fail, try to call constructor.getParamters
*/
override val parameterNameReader: ParameterNameReader = new ParameterNameReader {
- override def lookupParameterNames(constructor: Constructor[_]): Traversable[String] = try {
- defaultFormats.parameterNameReader.lookupParameterNames(constructor)
- } catch {
- case _ : Throwable => constructor.getParameters.map(_.getName)
- }
+ override def lookupParameterNames(constructor: org.json4s.reflect.Executable): Seq[String] = try {
+ defaultFormats.parameterNameReader.lookupParameterNames(constructor)
+ } catch {
+ case _: Throwable =>
+ val underlying: java.lang.reflect.Executable =
+ if (constructor.constructor != null) constructor.constructor else constructor.method
+ underlying.getParameters.map(_.getName).toIndexedSeq
+ }
}
}
@@ -96,9 +100,14 @@ object EnumValueSerializer extends Serializer[EnumValue] {
*/
object AbstractTypeDeserializer extends ObpDeSerializer[AnyRef] {
+ private val enumValueClass = classOf[EnumValue]
+
override def deserialize(implicit format: Formats): PartialFunction[(TypeInfo, JValue), AnyRef] = {
- case (TypeInfo(clazz, _), json) if Modifier.isAbstract(clazz.getModifiers) && ReflectUtils.isObpClass(clazz) =>
- val Some(commonClass) = ReflectUtils.findImplementedClass(clazz)
+ case (TypeInfo(clazz, _), json)
+ if Modifier.isAbstract(clazz.getModifiers) && ReflectUtils.isObpClass(clazz)
+ && !enumValueClass.isAssignableFrom(clazz)
+ && ReflectUtils.findImplementedClass(clazz).isDefined =>
+ val commonClass = ReflectUtils.findImplementedClass(clazz).get
implicit val manifest = ManifestFactory.classType[AnyRef](commonClass)
json.extract[AnyRef](format, manifest)
@@ -175,7 +184,7 @@ object StringDeserializer extends ObpDeSerializer[String] {
private val IntervalClass = classOf[String]
override def deserialize(implicit format: Formats): PartialFunction[(TypeInfo, JValue), String] = {
- case (TypeInfo(IntervalClass, _), json) if !json.isInstanceOf[JString] =>
+ case (TypeInfo(IntervalClass, _), json) if !json.isInstanceOf[JString] && json != JNull && json != JNothing =>
compactRender(json)
}
}
@@ -378,7 +387,7 @@ object JNothingSerializer extends ObpDeSerializer[Any] {
}
/**
- * absolutely simulate net.liftweb.json.Meta.Constructor#bestMatching,
+ * absolutely simulate org.json4s.Meta.Constructor#bestMatching,
* to find beast matching constructor parameters
* @param constructors
* @param names json object Field Names
@@ -439,9 +448,26 @@ object ListResultSerializer extends Serializer[ListResult[_]] {
private val clazz = classOf[ListResult[_]]
def deserialize(implicit format: Formats): PartialFunction[(TypeInfo, JValue), ListResult[_]] = {
- case (TypeInfo(entityType, Some(parameterizedType)), json) if clazz.isAssignableFrom(entityType) => json match {
+ case (typeInfoFull @ TypeInfo(entityType, Some(_)), json) if clazz.isAssignableFrom(entityType) => json match {
case JObject(singleField::Nil) => {
- val resultsItemType = parameterizedType.getActualTypeArguments.apply(1)
+ // json4s passes a package-private SourceType subclass carrying the full ScalaType.
+ // Access it via Java reflection to recover non-erased type args without a compile-time
+ // dependency on the package-private SourceType trait.
+ val resultsItemType: Class[_] = {
+ import scala.util.Try
+ def invoke(obj: AnyRef, m: String): AnyRef = obj.getClass.getMethod(m).invoke(obj)
+ Try {
+ val scalaType = invoke(typeInfoFull, "scalaType")
+ val listSt = invoke(scalaType, "typeArgs").asInstanceOf[Seq[_]].head.asInstanceOf[AnyRef]
+ val itemSt = invoke(listSt, "typeArgs").asInstanceOf[Seq[_]].head.asInstanceOf[AnyRef]
+ invoke(itemSt, "erasure").asInstanceOf[Class[_]]
+ }.getOrElse(
+ throw new MappingException(
+ "when do deserialize to type ListResult, should supply exactly type parameter, " +
+ "should not give wildcard like this: jValue.extract[ListResult[List[_]]]"
+ )
+ )
+ }
assume(resultsItemType != classOf[Object], "when do deserialize to type ListResult, should supply exactly type parameter, should not give wildcard like this: jValue.extract[ListResult[List[_]]]")
val name = singleField.name
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonUtils.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonUtils.scala
index abdab4125d..330253ae25 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonUtils.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonUtils.scala
@@ -1,12 +1,12 @@
package com.openbankproject.commons.util
+import org.json4s._
import com.openbankproject.commons.util.Functions.Implicits._
-import net.liftweb
-import net.liftweb.json
-import net.liftweb.json.JsonAST._
-import net.liftweb.json.JsonDSL._
-import net.liftweb.json.JsonParser.ParseException
-import net.liftweb.json.{Diff, JDouble, JInt, JNothing, JNull, JString}
+import com.openbankproject.commons.util.json
+import com.openbankproject.commons.util.JsonAliases.RichJField
+import org.json4s.JsonDSL._
+import org.json4s.ParserUtil.ParseException
+import org.json4s.{Diff, JDouble, JInt, JNothing, JNull, JString}
import org.apache.commons.lang3.{StringUtils, Validate}
import java.util.Objects
@@ -262,7 +262,7 @@ object JsonUtils {
//If it is the JObject, we need to loop the JObject(obj: List[JField]) obj field:
//for each field, we need to call `rec` until to Stop flag
case JObject(l) => JObject(l.map { field =>
- f(field.copy(value = rec(field.value, buildPath(path, field.name))), path)
+ f(JField(field.name, rec(field.value, buildPath(path, field.name))), path)
}
)
case JArray(l) => JArray(l.map(rec(_, path)))
@@ -535,7 +535,14 @@ object JsonUtils {
case (_, Nil) => v
case (JArray(arr), fieldName::tail) =>
- val values = arr.map(_ \ fieldName)
+ val values = arr.map { jv =>
+ jv \ fieldName match {
+ // json4s JArray.\ always wraps in JArray even for single element;
+ // unwrap single-element results when the source element is itself a JArray
+ case JArray(List(single)) if jv.isInstanceOf[JArray] => single
+ case other => other
+ }
+ }
val newArray = JArray(values)
getField(newArray, tail)
@@ -638,7 +645,7 @@ object JsonUtils {
/**
* recursive delete fields of JValue.
- * what different between this function with net.liftweb.json.JsonAST.JValue#removeField:
+ * what different between this function with org.json4s.JsonAST.JValue#removeField:
* this function delete fields, removeField function set field's value to JNothing, this cause error when do deserialization
*
* @param jValue to delete fields json
@@ -648,7 +655,7 @@ object JsonUtils {
def deleteFieldRec(jValue:JValue)(p: JField => Boolean): JValue = {
def rec(v: JValue): JValue = v match {
case JObject(l) => JObject(l.collect {
- case field @JField(_, value) if !p(field) => field.copy(value = rec(value))
+ case field @JField(name, value) if !p(field) => JField(name, rec(value))
})
case JArray(l) => JArray(l.map(rec))
case x => x
@@ -658,7 +665,7 @@ object JsonUtils {
/**
* delete fields of JValue.
- * what different between this function with net.liftweb.json.JsonAST.JValue#removeField:
+ * what different between this function with org.json4s.JsonAST.JValue#removeField:
* this function not delete nested fields, removeField function recursive set field's value to JNothing, this cause error when do deserialization
* @param jValue to delete fields json
* @param p checker of whether delete given field.
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/ReflectUtils.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/ReflectUtils.scala
index dc32cad3fc..bf3a999d5d 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/util/ReflectUtils.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/ReflectUtils.scala
@@ -1,5 +1,6 @@
package com.openbankproject.commons.util
+import org.json4s._
import java.lang.reflect.{Field, Modifier}
import net.liftweb.common.{Box, Empty, Failure, Full}
@@ -12,7 +13,7 @@ import scala.language.postfixOps
import scala.reflect.runtime.universe._
import scala.reflect.runtime.{universe => ru}
import scala.util.Success
-import net.liftweb.json.JValue
+import org.json4s.JValue
import org.apache.commons.lang3.StringUtils
import org.apache.commons.lang3.reflect.FieldUtils
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/RequiredFieldValidation.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/RequiredFieldValidation.scala
index f531c9aaa2..9b82799143 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/util/RequiredFieldValidation.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/RequiredFieldValidation.scala
@@ -1,15 +1,16 @@
package com.openbankproject.commons.util
+import org.json4s._
import java.util.Objects
import com.openbankproject.commons.util.ApiVersion.allVersion
-import net.liftweb.json.JsonAST.{JArray, JField, JNothing, JNull, JObject, JString}
+import org.json4s.JsonAST.{JArray, JField, JNothing, JNull, JObject, JString}
import scala.annotation.StaticAnnotation
import scala.reflect.runtime.universe._
import Functions.Implicits._
-import net.liftweb.json.{Formats, JValue}
-import net.liftweb.json.JsonDSL._
+import org.json4s.{Formats, JValue}
+import org.json4s.JsonDSL._
import scala.collection.GenTraversableOnce
import scala.collection.mutable.ArrayBuffer
diff --git a/obp-commons/src/test/scala/com/openbankproject/commons/util/JsonUtilsTest.scala b/obp-commons/src/test/scala/com/openbankproject/commons/util/JsonUtilsTest.scala
index 12f64bece9..dea4e6683d 100644
--- a/obp-commons/src/test/scala/com/openbankproject/commons/util/JsonUtilsTest.scala
+++ b/obp-commons/src/test/scala/com/openbankproject/commons/util/JsonUtilsTest.scala
@@ -1,12 +1,13 @@
package com.openbankproject.commons.util
import net.liftweb.common.Full
-import net.liftweb.json
+import com.openbankproject.commons.util.json
import java.util.Date
-import net.liftweb.json.Extraction.decompose
-import net.liftweb.json._
-import net.liftweb.json.JsonAST.JValue
+import org.json4s.Extraction.decompose
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
+import org.json4s.JsonAST.JValue
import org.scalatest.{FlatSpec, Matchers, Tag}
import java.text.SimpleDateFormat
@@ -14,18 +15,18 @@ import scala.collection.immutable.{List, Nil}
class JsonUtilsTest extends FlatSpec with Matchers {
object FunctionsTag extends Tag("JsonUtils")
- implicit def formats: Formats = net.liftweb.json.DefaultFormats
+ implicit def formats: Formats = org.json4s.DefaultFormats
- "collectFieldNames" should "return all the field names and path" taggedAs FunctionsTag in {
+ case class NestNestClass(nestNestField: String)
+ case class NestClass(nestField: String, nestNestClass: NestNestClass)
+ case class TestObject(
+ stringField: String,
+ nestClass: NestClass,
+ date: Date,
+ boolean: Boolean
+ )
- case class NestNestClass(nestNestField: String)
- case class NestClass(nestField: String, nestNestClass: NestNestClass)
- case class TestObject(
- stringField: String,
- nestClass: NestClass,
- date: Date,
- boolean: Boolean
- )
+ "collectFieldNames" should "return all the field names and path" taggedAs FunctionsTag in {
val testObject = TestObject(
"1",
@@ -34,7 +35,7 @@ class JsonUtilsTest extends FlatSpec with Matchers {
true
)
- implicit def formats: Formats = net.liftweb.json.DefaultFormats
+ implicit def formats: Formats = org.json4s.DefaultFormats
val fields = JsonUtils.collectFieldNames(decompose(testObject))
val names: List[String] = fields.map(_._1).toList
@@ -49,15 +50,6 @@ class JsonUtilsTest extends FlatSpec with Matchers {
"deleteFieldRec" should "work " taggedAs FunctionsTag in {
- case class NestNestClass(nestNestField: String)
- case class NestClass(nestField: String, nestNestClass: NestNestClass)
- case class TestObject(
- stringField: String,
- nestClass: NestClass,
- date: Date,
- boolean: Boolean
- )
-
val DateWithDay = "yyyy-MM-dd"
val DateWithDay2 = "yyyyMMdd"
val DateWithDay3 = "dd/MM/yyyy"
@@ -93,7 +85,7 @@ class JsonUtilsTest extends FlatSpec with Matchers {
true
)
- implicit def formats: Formats = net.liftweb.json.DefaultFormats
+ implicit def formats: Formats = org.json4s.DefaultFormats
val excludedFieldValues = Full(s"""["$DateWithSecondsExampleString", "", null, [], {}]""").map[JArray](it => json.parse(it).asInstanceOf[JArray])
diff --git a/obp-commons/src/test/scala/com/openbankproject/commons/util/RequiredFieldValidationTest.scala b/obp-commons/src/test/scala/com/openbankproject/commons/util/RequiredFieldValidationTest.scala
index d0a6064473..b8ddfd1638 100644
--- a/obp-commons/src/test/scala/com/openbankproject/commons/util/RequiredFieldValidationTest.scala
+++ b/obp-commons/src/test/scala/com/openbankproject/commons/util/RequiredFieldValidationTest.scala
@@ -6,7 +6,8 @@ import org.scalatest.PartialFunctionValues._
import scala.reflect.runtime.universe._
import Functions.Implicits.RichCollection
-import net.liftweb.json._
+import org.json4s._
+import com.openbankproject.commons.util.JsonAliases._
import RequiredFieldValidation.getRequiredInfo
class RequiredFieldValidationTest extends FlatSpec with Matchers {
@@ -69,7 +70,7 @@ class RequiredFieldValidationTest extends FlatSpec with Matchers {
// this test be grouped, every group is more complex than former.
"method RequiredFieldValidation.getRequiredInfo" should "extract instance of T or invalid path names" taggedAs tag in {
- implicit val formats = net.liftweb.json.DefaultFormats
+ implicit val formats = org.json4s.DefaultFormats
val tp = typeOf[LevelFirst]
val requiredInfo = getRequiredInfo(tp)
diff --git a/pom.xml b/pom.xml
index bb30fd5925..56e6a0e231 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,7 @@
1.1.5
1.1.0
1.8.2
- 3.5.0
+ v1.0.4
0.23.30
UTF-8
@@ -88,25 +88,48 @@
accessors-smart
2.6.0
+
+
+ org.json
+ json
+ 20250107
+
+
+
+ commons-validator
+ commons-validator
+ 1.9.0
+
+
+
+ com.google.code.gson
+ gson
+ 2.11.0
+
+
+
+ org.java-websocket
+ Java-WebSocket
+ 1.5.4
+
com.tesobe
obp-commons
${project.version}
- net.liftweb
- lift-common_${scala.version}
- ${lift.version}
-
-
- net.liftweb
- lift-util_${scala.version}
+ com.github.OpenBankProject.lift-persistence
+ lift-persistence_${scala.version}
${lift.version}
- net.liftweb
- lift-mapper_${scala.version}
- ${lift.version}
+ org.json4s
+ json4s-native_${scala.version}
+ 3.6.12