Skip to content

Reimplement MappedList.kt #3014

@koppor

Description

@koppor

During the discussion of #2966, we also discussed issues with too many classes.

We have a import to a JavaFX helper class net.corda.client.jfx.utils.MappedList. The dependency causes many additional libraries to be loaded. I tried to convert Kotlin to Java, but it is not as easy as promised.

Can we reimplement the behavior of this class instead of fetching a client for a ledger platform?

+--- net.corda:jfx:0.12.1
|    +--- net.corda:core:0.12.1
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2
|    |    |              \--- org.jetbrains:annotations:13.0
|    |    +--- org.jetbrains.kotlin:kotlin-reflect:1.1.2
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2 (*)
|    |    +--- com.google.code.findbugs:jsr305:3.0.1
|    |    +--- org.apache.logging.log4j:log4j-core:2.7 -> 2.8.2
|    |    |    \--- org.apache.logging.log4j:log4j-api:2.8.2
|    |    +--- org.slf4j:jcl-over-slf4j:1.7.25
|    |    |    \--- org.slf4j:slf4j-api:1.7.25
|    |    +--- org.slf4j:slf4j-api:1.7.25
|    |    +--- com.google.guava:guava:21.0 -> 22.0 (*)
|    |    +--- io.reactivex:rxjava:1.2.4
|    |    +--- com.esotericsoftware:kryo:4.0.0
|    |    |    +--- com.esotericsoftware:reflectasm:1.11.3
|    |    |    |    \--- org.ow2.asm:asm:5.0.4
|    |    |    +--- com.esotericsoftware:minlog:1.3.0
|    |    |    \--- org.objenesis:objenesis:2.2
|    |    +--- de.javakaffee:kryo-serializers:0.41
|    |    |    \--- com.esotericsoftware:kryo:4.0.0 (*)
|    |    +--- org.apache.commons:commons-jexl3:3.0
|    |    |    \--- commons-logging:commons-logging:1.2
|    |    +--- com.fasterxml.jackson.core:jackson-databind:2.8.5
|    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.8.0
|    |    |    \--- com.fasterxml.jackson.core:jackson-core:2.8.5
|    |    +--- net.i2p.crypto:eddsa:0.2.0
|    |    +--- org.bouncycastle:bcprov-jdk15on:1.56 -> 1.57
|    |    +--- org.bouncycastle:bcpkix-jdk15on:1.56
|    |    |    \--- org.bouncycastle:bcprov-jdk15on:1.56 -> 1.57
|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    +--- io.requery:requery-kotlin:1.2.1
|    |    |    +--- io.requery:requery:1.2.1
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.0 -> 1.1.2 (*)
|    |    +--- org.apache.qpid:proton-j:0.18.0
|    |    \--- co.paralleluniverse:quasar-core:0.7.6
|    +--- net.corda:finance:0.12.1
|    |    +--- net.corda:core:0.12.1 (*)
|    |    +--- net.corda:node-schemas:0.12.1
|    |    |    \--- net.corda:core:0.12.1 (*)
|    |    \--- co.paralleluniverse:quasar-core:0.7.6
|    +--- net.corda:rpc:0.12.1
|    |    +--- net.corda:core:0.12.1 (*)
|    |    +--- net.corda:node-api:0.12.1
|    |    |    +--- net.corda:core:0.12.1 (*)
|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2 (*)
|    |    |    +--- org.jetbrains.kotlin:kotlin-reflect:1.1.2 (*)
|    |    |    +--- org.apache.activemq:artemis-core-client:1.5.3
|    |    |    |    +--- org.jgroups:jgroups:3.6.9.Final
|    |    |    |    +--- org.apache.activemq:artemis-commons:1.5.3
|    |    |    |    |    +--- org.jboss.logging:jboss-logging:3.3.0.Final
|    |    |    |    |    +--- io.netty:netty-all:4.1.5.Final
|    |    |    |    |    +--- commons-beanutils:commons-beanutils:1.9.2
|    |    |    |    |    |    +--- commons-logging:commons-logging:1.1.1 -> 1.2
|    |    |    |    |    |    \--- commons-collections:commons-collections:3.2.1
|    |    |    |    |    \--- com.google.guava:guava:19.0 -> 22.0 (*)
|    |    |    |    +--- io.netty:netty-all:4.1.5.Final
|    |    |    |    +--- org.apache.geronimo.specs:geronimo-json_1.0_spec:1.0-alpha-1
|    |    |    |    \--- org.apache.johnzon:johnzon-core:0.9.5
|    |    |    +--- org.apache.activemq:artemis-commons:1.5.3 (*)
|    |    |    +--- commons-fileupload:commons-fileupload:1.3.2
|    |    |    |    \--- commons-io:commons-io:2.2 -> 2.4
|    |    |    +--- com.typesafe:config:1.3.1
|    |    |    \--- co.paralleluniverse:quasar-core:0.7.6
|    |    \--- co.paralleluniverse:quasar-core:0.7.6
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2 (*)
|    +--- com.google.guava:guava:21.0 -> 22.0 (*)
|    +--- org.reactfx:reactfx:2.0-M5
|    +--- org.fxmisc.easybind:easybind:1.0.3
|    +--- org.apache.activemq:artemis-core-client:1.5.3 (*)
|    \--- co.paralleluniverse:quasar-core:0.7.6

Metadata

Metadata

Assignees

Labels

dev: code-qualityIssues related to code or architecture decisions

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions