[bisq-network/bisq] Avoid unchecked casts/assignments/calls (#3626)

Steven Barclay notifications at github.com
Sun Nov 17 23:50:17 UTC 2019


Improve type safety by avoiding most of the current unchecked operations, instead of simply suppressing the warnings (as is being done for almost all of them now). This mostly involves adding some missing arguments to raw types, using wildcards in a few extra places and making some minor changes to the logic (such as passing an explicit _Class\<T\>_ argument or replacing a generic vararg list with _List.of(..)_).

(In the case of _OfferBookChartView.updateChartData()_, I made a somewhat larger change to the method body. I also replaced some _ActivatableViewAndModel_ superclasses with _ActivatableView\<R, Void\>_ where this made sense.)

The test classes and some of the harder cases of potentially type-unsafe unchecked operations have been skipped for now, such as _bisq.common.storage.FileManager.read(File)_.
You can view, comment on, or merge this pull request online at:

  https://github.com/bisq-network/bisq/pull/3626

-- Commit Summary --

  * Don't extend ActivatableViewAndModel when the model is empty
  * Improve type safety of the fluent interface of Overlay<T>
  * Improve type safety of ProtoUtil.collectionToProto(Collection)
  * Avoid raw types to prevent unchecked casts in Log.java
  * Avoid unchecked casts when deserializing JSON using Gson
  * Fix unchecked casts in views due to raw chart point types
  * Avoid raw type bounds in class declarations to fix unchecked warnings
  * Fix some remaining suppressed unchecked casts in the UI logic
  * Fix a few remaining unsuppressed unchecked warnings

-- File Changes --

    M common/src/main/java/bisq/common/app/Log.java (8)
    M common/src/main/java/bisq/common/proto/ProtoUtil.java (9)
    M core/src/main/java/bisq/core/app/BisqEnvironment.java (4)
    M core/src/main/java/bisq/core/btc/setup/WalletConfig.java (4)
    M core/src/main/java/bisq/core/payment/PaymentAccount.java (2)
    M core/src/main/java/bisq/core/provider/fee/FeeProvider.java (7)
    M core/src/main/java/bisq/core/provider/price/PriceProvider.java (12)
    M core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationDisputeList.java (2)
    M core/src/main/java/bisq/core/support/dispute/mediation/MediationDisputeList.java (2)
    M core/src/main/java/bisq/core/support/dispute/refund/RefundDisputeList.java (2)
    M core/src/main/java/bisq/core/trade/TradableList.java (2)
    M core/src/main/java/bisq/core/trade/protocol/ProcessModel.java (3)
    M core/src/main/java/bisq/core/trade/protocol/TradingPeer.java (3)
    M core/src/main/java/bisq/core/user/UserPayload.java (4)
    M desktop/src/main/java/bisq/desktop/Navigation.java (8)
    M desktop/src/main/java/bisq/desktop/common/model/Activatable.java (12)
    M desktop/src/main/java/bisq/desktop/common/view/ActivatableViewAndModel.java (5)
    M desktop/src/main/java/bisq/desktop/components/AutocompleteComboBox.java (4)
    M desktop/src/main/java/bisq/desktop/components/paymentmethods/AssetsForm.java (11)
    M desktop/src/main/java/bisq/desktop/components/paymentmethods/JapanBankTransferForm.java (4)
    M desktop/src/main/java/bisq/desktop/main/account/register/AgentRegistrationView.java (4)
    M desktop/src/main/java/bisq/desktop/main/dao/DaoView.java (5)
    M desktop/src/main/java/bisq/desktop/main/dao/bonding/BondingView.java (4)
    M desktop/src/main/java/bisq/desktop/main/dao/burnbsq/BurnBsqView.java (4)
    M desktop/src/main/java/bisq/desktop/main/dao/economy/EconomyView.java (4)
    M desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java (6)
    M desktop/src/main/java/bisq/desktop/main/dao/economy/supply/SupplyView.java (3)
    M desktop/src/main/java/bisq/desktop/main/dao/governance/GovernanceView.java (4)
    M desktop/src/main/java/bisq/desktop/main/dao/governance/ProposalDisplay.java (14)
    M desktop/src/main/java/bisq/desktop/main/dao/monitor/MonitorView.java (4)
    M desktop/src/main/java/bisq/desktop/main/dao/wallet/BsqWalletView.java (4)
    M desktop/src/main/java/bisq/desktop/main/funds/FundsView.java (5)
    M desktop/src/main/java/bisq/desktop/main/market/MarketView.java (5)
    M desktop/src/main/java/bisq/desktop/main/market/offerbook/OfferBookChartView.java (65)
    M desktop/src/main/java/bisq/desktop/main/market/offerbook/OfferBookChartViewModel.java (15)
    M desktop/src/main/java/bisq/desktop/main/market/trades/TradesChartsView.java (13)
    M desktop/src/main/java/bisq/desktop/main/offer/MutableOfferView.java (3)
    M desktop/src/main/java/bisq/desktop/main/overlays/Overlay.java (119)
    M desktop/src/main/java/bisq/desktop/main/overlays/TabbedOverlay.java (2)
    M desktop/src/main/java/bisq/desktop/main/overlays/popups/Popup.java (5)
    M desktop/src/main/java/bisq/desktop/main/portfolio/PortfolioView.java (5)
    M desktop/src/main/java/bisq/desktop/main/settings/SettingsView.java (5)
    M desktop/src/main/java/bisq/desktop/main/settings/about/AboutView.java (5)
    M desktop/src/main/java/bisq/desktop/main/settings/network/NetworkSettingsView.java (5)
    M desktop/src/main/java/bisq/desktop/main/support/SupportView.java (5)
    M desktop/src/main/java/bisq/desktop/util/GUIUtil.java (6)
    A desktop/src/test/java/bisq/desktop/main/overlays/OverlayTest.java (47)
    M monitor/src/main/java/bisq/monitor/metric/P2PMarketStats.java (6)
    M monitor/src/main/java/bisq/monitor/metric/P2PSeedNodeSnapshot.java (18)
    M monitor/src/main/java/bisq/monitor/metric/P2PSeedNodeSnapshotBase.java (2)

-- Patch Links --

https://github.com/bisq-network/bisq/pull/3626.patch
https://github.com/bisq-network/bisq/pull/3626.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/pull/3626
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20191117/e1153d63/attachment-0001.html>


More information about the bisq-github mailing list