Moved X500Name hiberate converter out of core

This commit is contained in:
Shams Asari
2017-09-10 12:13:10 +01:00
parent 4c3ac89d6b
commit 40f791a5d0
2 changed files with 8 additions and 12 deletions

View File

@ -1,4 +1,4 @@
package net.corda.core.schemas.converters package net.corda.node.services.persistence
import net.corda.core.identity.AbstractParty import net.corda.core.identity.AbstractParty
import net.corda.core.node.services.IdentityService import net.corda.core.node.services.IdentityService
@ -13,29 +13,26 @@ import javax.persistence.Converter
*/ */
@Converter(autoApply = true) @Converter(autoApply = true)
class AbstractPartyToX500NameAsStringConverter(identitySvc: () -> IdentityService) : AttributeConverter<AbstractParty, String> { class AbstractPartyToX500NameAsStringConverter(identitySvc: () -> IdentityService) : AttributeConverter<AbstractParty, String> {
private val identityService: IdentityService by lazy {
identitySvc()
}
companion object { companion object {
val log = loggerFor<AbstractPartyToX500NameAsStringConverter>() private val log = loggerFor<AbstractPartyToX500NameAsStringConverter>()
} }
private val identityService: IdentityService by lazy(identitySvc)
override fun convertToDatabaseColumn(party: AbstractParty?): String? { override fun convertToDatabaseColumn(party: AbstractParty?): String? {
party?.let { if (party != null) {
val partyName = identityService.partyFromAnonymous(party)?.toString() val partyName = identityService.partyFromAnonymous(party)?.toString()
if (partyName != null) return partyName if (partyName != null) return partyName
else log.warn ("Identity service unable to resolve AbstractParty: $party") log.warn("Identity service unable to resolve AbstractParty: $party")
} }
return null // non resolvable anonymous parties return null // non resolvable anonymous parties
} }
override fun convertToEntityAttribute(dbData: String?): AbstractParty? { override fun convertToEntityAttribute(dbData: String?): AbstractParty? {
dbData?.let { if (dbData != null) {
val party = identityService.partyFromX500Name(X500Name(dbData)) val party = identityService.partyFromX500Name(X500Name(dbData))
if (party != null) return party if (party != null) return party
else log.warn ("Identity service unable to resolve X500name: $dbData") log.warn ("Identity service unable to resolve X500name: $dbData")
} }
return null // non resolvable anonymous parties are stored as nulls return null // non resolvable anonymous parties are stored as nulls
} }

View File

@ -3,7 +3,6 @@ package net.corda.node.services.persistence
import net.corda.core.internal.castIfPossible import net.corda.core.internal.castIfPossible
import net.corda.core.node.services.IdentityService import net.corda.core.node.services.IdentityService
import net.corda.core.schemas.MappedSchema import net.corda.core.schemas.MappedSchema
import net.corda.core.schemas.converters.AbstractPartyToX500NameAsStringConverter
import net.corda.core.utilities.loggerFor import net.corda.core.utilities.loggerFor
import net.corda.core.utilities.toHexString import net.corda.core.utilities.toHexString
import net.corda.node.services.api.SchemaService import net.corda.node.services.api.SchemaService