Skip to content

Update dependencies/API to support deprecated java8 functionality. #3

Description

@bjconlan

Artifact: webull-openai-java-sdk
Version: 1.1.14

When using the library with a Java 8+ a number of issues need to be resolved to allow the library to run due to deprecated features in newer Java implementations.

JAXB deprecation (usage of javax.xml.bind.DatatypeConverter)

Signer implementations (com.webull.openapi.core.auth.signer.{HmacSHA1,HmacSHA256,SHA256withRSA}Signer.java) make use of a deprecated JAXB API feature for outputting the base64.

Replace the existing DatatypeConverter.printBase64Binary(signData) calls with Base64.getEncoder().encodeToString(signData). This ensures that Java 8 and above will work without having new runtimes explicitly include the legacy JAXB dependencies.

Java annotations deprication (usage of javax.annotation.Generated)

GRPC generators (com.webull.openapi.trade.events.internal.proto.EventServiceGrpc.java & com.webull.openapi.data.internal.grpc.proto.QuoteGrpc.java) use said annotations.

Conditionally import the javax.annotation:javax.annotation-api:1.3.2 dependency when using java 9+.

NB. I've taken the most prominent solutions to each of these cases (optionally you could also include the JAXB api/runtime dependencies inline with the javax.annotation apis if desired)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions