mirror of
https://github.com/OpenBankProject/OBP-API.git
synced 2026-02-06 17:56:46 +00:00
feature/add_required_field_annotation : fix test fail caused by move ScannedApiVersion from obp-api to obp-commons
This commit is contained in:
parent
978a94f947
commit
2dbdb855cc
Binary file not shown.
@ -5,8 +5,9 @@ import java.net.URI
|
||||
|
||||
import code.TestServer
|
||||
import com.openbankproject.commons.util.ApiVersion
|
||||
import code.api.util.{ VersionedOBPApis}
|
||||
import code.api.util.VersionedOBPApis
|
||||
import com.openbankproject.commons.util.ReflectUtils
|
||||
import net.liftweb.common.Loggable
|
||||
import org.apache.commons.io.IOUtils
|
||||
|
||||
import scala.reflect.runtime.universe._
|
||||
@ -15,7 +16,7 @@ import scala.reflect.runtime.universe._
|
||||
* this util is for persist metadata of frozen type, those frozen type is versionStatus = "STABLE" related example classes,
|
||||
* after persist the metadata, the FrozenClassTest can check whether there some modify change any frozen type, the test will fail when there are some changes in the frozen type
|
||||
*/
|
||||
object FrozenClassUtil {
|
||||
object FrozenClassUtil extends Loggable{
|
||||
|
||||
val sourceName = s"""${this.getClass.getName.replace("$", "")}.scala"""
|
||||
// current project absolute path
|
||||
@ -77,6 +78,10 @@ object FrozenClassUtil {
|
||||
val input = new ObjectInputStream(new FileInputStream(persistFilePath))
|
||||
try {
|
||||
input.readObject().asInstanceOf[(List[(ApiVersion, Set[String])], Map[String, Map[String, String]])]
|
||||
} catch {
|
||||
case e: Throwable =>
|
||||
logger.error("read PersistedFrozenApiInfo fail." + e)
|
||||
throw e
|
||||
} finally {
|
||||
IOUtils.closeQuietly(input)
|
||||
}
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package com.openbankproject.commons.util
|
||||
|
||||
import java.io.{ObjectInputStream, ObjectOutputStream}
|
||||
|
||||
object ApiStandards extends Enumeration {
|
||||
type ApiStandards = Value
|
||||
val obp = Value
|
||||
@ -38,13 +40,40 @@ sealed trait ApiVersion {
|
||||
* @param apiShortVersion eg: `v1.2.1` or `v2.0`
|
||||
* note: why not use case class? because case class can't have call by name parameter. this is work around for
|
||||
*/
|
||||
class ScannedApiVersion(urlPrefixFn: => String, val apiStandard: String, val apiShortVersion: String) extends ApiVersion{
|
||||
class ScannedApiVersion(@transient urlPrefixFn: => String, var apiStandard: String, var apiShortVersion: String) extends ApiVersion with java.io.Serializable {
|
||||
|
||||
def urlPrefix: String = urlPrefixFn
|
||||
|
||||
val fullyQualifiedVersion = s"${apiStandard.toUpperCase}$apiShortVersion"
|
||||
|
||||
override def toString() = apiShortVersion
|
||||
//-----start Serializable related methods for support Frozen feature, we can serialize this object and deSerialize to do compare.
|
||||
private def writeObject(out: ObjectOutputStream): Unit = {
|
||||
out.defaultWriteObject()
|
||||
out.writeObject(apiStandard)
|
||||
out.writeObject(apiShortVersion)
|
||||
}
|
||||
private def readObject(in: ObjectInputStream): Unit = {
|
||||
in.defaultReadObject()
|
||||
apiStandard = in.readObject().asInstanceOf[String]
|
||||
apiShortVersion = in.readObject().asInstanceOf[String]
|
||||
}
|
||||
|
||||
def canEqual(other: Any): Boolean = other.isInstanceOf[ScannedApiVersion]
|
||||
|
||||
override def equals(other: Any): Boolean = other match {
|
||||
case that: ScannedApiVersion =>
|
||||
(that canEqual this) &&
|
||||
apiStandard == that.apiStandard &&
|
||||
apiShortVersion == that.apiShortVersion
|
||||
case _ => false
|
||||
}
|
||||
|
||||
override def hashCode(): Int = {
|
||||
val state = Seq(apiStandard, apiShortVersion)
|
||||
state.map(_.hashCode()).foldLeft(0)((a, b) => 31 * a + b)
|
||||
}
|
||||
//-----end Serializable related methods for support Frozen feature, we can serialize this object and deSerialize to do compare.
|
||||
}
|
||||
|
||||
object ScannedApiVersion {
|
||||
@ -83,13 +112,13 @@ object ApiVersion {
|
||||
// and affect the follow OBP Standard versions
|
||||
var apiPathZero: String = ApiStandards.obp.toString
|
||||
//OBP Standard
|
||||
val v1_2_1 = ScannedApiVersion({apiPathZero},ApiStandards.obp.toString,ApiShortVersions.`v1.2.1`.toString)
|
||||
val v1_3_0 = ScannedApiVersion({apiPathZero},ApiStandards.obp.toString,ApiShortVersions.`v1.3.0`.toString)
|
||||
val v1_4_0 = ScannedApiVersion({apiPathZero},ApiStandards.obp.toString,ApiShortVersions.`v1.4.0`.toString)
|
||||
val v2_0_0 = ScannedApiVersion({apiPathZero},ApiStandards.obp.toString,ApiShortVersions.`v2.0.0`.toString)
|
||||
val v2_1_0 = ScannedApiVersion({apiPathZero},ApiStandards.obp.toString,ApiShortVersions.`v2.1.0`.toString)
|
||||
val v2_2_0 = ScannedApiVersion({apiPathZero},ApiStandards.obp.toString,ApiShortVersions.`v2.2.0`.toString)
|
||||
val v3_0_0 = ScannedApiVersion({apiPathZero},ApiStandards.obp.toString,ApiShortVersions.`v3.0.0`.toString)
|
||||
val v3_1_0 = ScannedApiVersion({apiPathZero},ApiStandards.obp.toString,ApiShortVersions.`v3.1.0`.toString)
|
||||
val v4_0_0 = ScannedApiVersion({apiPathZero},ApiStandards.obp.toString,ApiShortVersions.`v4.0.0`.toString)
|
||||
val v1_2_1 = ScannedApiVersion(apiPathZero,ApiStandards.obp.toString,ApiShortVersions.`v1.2.1`.toString)
|
||||
val v1_3_0 = ScannedApiVersion(apiPathZero,ApiStandards.obp.toString,ApiShortVersions.`v1.3.0`.toString)
|
||||
val v1_4_0 = ScannedApiVersion(apiPathZero,ApiStandards.obp.toString,ApiShortVersions.`v1.4.0`.toString)
|
||||
val v2_0_0 = ScannedApiVersion(apiPathZero,ApiStandards.obp.toString,ApiShortVersions.`v2.0.0`.toString)
|
||||
val v2_1_0 = ScannedApiVersion(apiPathZero,ApiStandards.obp.toString,ApiShortVersions.`v2.1.0`.toString)
|
||||
val v2_2_0 = ScannedApiVersion(apiPathZero,ApiStandards.obp.toString,ApiShortVersions.`v2.2.0`.toString)
|
||||
val v3_0_0 = ScannedApiVersion(apiPathZero,ApiStandards.obp.toString,ApiShortVersions.`v3.0.0`.toString)
|
||||
val v3_1_0 = ScannedApiVersion(apiPathZero,ApiStandards.obp.toString,ApiShortVersions.`v3.1.0`.toString)
|
||||
val v4_0_0 = ScannedApiVersion(apiPathZero,ApiStandards.obp.toString,ApiShortVersions.`v4.0.0`.toString)
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user