mirror of
https://github.com/corda/corda.git
synced 2025-05-31 22:50:53 +00:00
CORDA-4097 Return stream instead of List in getAllCertificates (#6840)
This commit is contained in:
parent
62fe4bc65a
commit
7a079a166b
@ -11,6 +11,7 @@ import net.corda.core.identity.x500Matches
|
|||||||
import net.corda.core.internal.CertRole
|
import net.corda.core.internal.CertRole
|
||||||
import net.corda.core.internal.NamedCacheFactory
|
import net.corda.core.internal.NamedCacheFactory
|
||||||
import net.corda.core.internal.hash
|
import net.corda.core.internal.hash
|
||||||
|
import net.corda.core.internal.toSet
|
||||||
import net.corda.core.node.NotaryInfo
|
import net.corda.core.node.NotaryInfo
|
||||||
import net.corda.core.node.services.UnknownAnonymousPartyException
|
import net.corda.core.node.services.UnknownAnonymousPartyException
|
||||||
import net.corda.core.serialization.SingletonSerializeAsToken
|
import net.corda.core.serialization.SingletonSerializeAsToken
|
||||||
@ -45,6 +46,7 @@ import java.security.cert.CollectionCertStoreParameters
|
|||||||
import java.security.cert.TrustAnchor
|
import java.security.cert.TrustAnchor
|
||||||
import java.security.cert.X509Certificate
|
import java.security.cert.X509Certificate
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
import java.util.stream.Stream
|
||||||
import javax.annotation.concurrent.ThreadSafe
|
import javax.annotation.concurrent.ThreadSafe
|
||||||
import javax.persistence.Column
|
import javax.persistence.Column
|
||||||
import javax.persistence.Entity
|
import javax.persistence.Entity
|
||||||
@ -337,20 +339,21 @@ class PersistentIdentityService(cacheFactory: NamedCacheFactory) : SingletonSeri
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getAllCertificates(session: Session): List<NodeInfoSchemaV1.DBPartyAndCertificate> {
|
private fun getAllCertificates(session: Session): Stream<NodeInfoSchemaV1.DBPartyAndCertificate> {
|
||||||
val criteria = session.criteriaBuilder.createQuery(NodeInfoSchemaV1.DBPartyAndCertificate::class.java)
|
val criteria = session.criteriaBuilder.createQuery(NodeInfoSchemaV1.DBPartyAndCertificate::class.java)
|
||||||
criteria.select(criteria.from(NodeInfoSchemaV1.DBPartyAndCertificate::class.java))
|
criteria.select(criteria.from(NodeInfoSchemaV1.DBPartyAndCertificate::class.java))
|
||||||
return session.createQuery(criteria).resultList
|
return session.createQuery(criteria).stream()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun partiesFromName(query: String, exactMatch: Boolean): Set<Party> {
|
override fun partiesFromName(query: String, exactMatch: Boolean): Set<Party> {
|
||||||
return database.transaction {
|
return database.transaction {
|
||||||
getAllCertificates(session)
|
getAllCertificates(session).use { stream ->
|
||||||
.map { it.toLegalIdentityAndCert() }
|
stream.map { it.toLegalIdentityAndCert() }
|
||||||
.filter { x500Matches(query, exactMatch, it.name) }
|
.filter { x500Matches(query, exactMatch, it.name) }
|
||||||
.map { it.party }.toSet()
|
.map { it.party }.toSet()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Throws(UnknownAnonymousPartyException::class)
|
@Throws(UnknownAnonymousPartyException::class)
|
||||||
override fun assertOwnership(party: Party, anonymousParty: AnonymousParty) = database.transaction { super.assertOwnership(party,
|
override fun assertOwnership(party: Party, anonymousParty: AnonymousParty) = database.transaction { super.assertOwnership(party,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user