FindBugs Bug Detector Report

The following document contains the results of FindBugs

FindBugs Version is 3.0.1

Threshold is medium

Effort is min

Summary

Classes Bugs Errors Missing Classes
45 67 0 0

com.kdt.api.KdtApiClient

Bug Category Details Line Priority
com.kdt.api.KdtApiClient.buildParamStr(HashMap) concatenates strings using + in a loop PERFORMANCE SBSC_USE_STRINGBUFFER_CONCATENATION 104 Medium
com.kdt.api.KdtApiClient.buildCompleteParams(String, HashMap) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 119 Medium

com.kdt.api.KdtApiProtocol

Bug Category Details Line Priority
com.kdt.api.KdtApiProtocol.sign(String, HashMap) concatenates strings using + in a loop PERFORMANCE SBSC_USE_STRINGBUFFER_CONCATENATION 44 Medium

com.kdt.test.KDTApiTest

Bug Category Details Line Priority
Found reliance on default encoding in com.kdt.test.KDTApiTest.sendGet(): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 40 High
Found reliance on default encoding in com.kdt.test.KDTApiTest.sendPost(): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 80 High
com.kdt.test.KDTApiTest.sendGet() may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 40 Medium
com.kdt.test.KDTApiTest.sendPost() may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 80 Medium

org.oxerr.youzan.dto.GoodsDetail

Bug Category Details Line Priority
org.oxerr.youzan.dto.GoodsDetail.getItemImgs() may expose internal representation by returning GoodsDetail.itemImgs MALICIOUS_CODE EI_EXPOSE_REP 618 Medium
org.oxerr.youzan.dto.GoodsDetail.getItemQrcodes() may expose internal representation by returning GoodsDetail.itemQrcodes MALICIOUS_CODE EI_EXPOSE_REP 410 Medium
org.oxerr.youzan.dto.GoodsDetail.getItemTags() may expose internal representation by returning GoodsDetail.itemTags MALICIOUS_CODE EI_EXPOSE_REP 602 Medium
org.oxerr.youzan.dto.GoodsDetail.getMessages() may expose internal representation by returning GoodsDetail.messages MALICIOUS_CODE EI_EXPOSE_REP 698 Medium
org.oxerr.youzan.dto.GoodsDetail.getSkus() may expose internal representation by returning GoodsDetail.skus MALICIOUS_CODE EI_EXPOSE_REP 402 Medium
org.oxerr.youzan.dto.GoodsDetail.getUmpLevel() may expose internal representation by returning GoodsDetail.umpLevel MALICIOUS_CODE EI_EXPOSE_REP 418 Medium
org.oxerr.youzan.dto.GoodsDetail.getUmpLevelText() may expose internal representation by returning GoodsDetail.umpLevelText MALICIOUS_CODE EI_EXPOSE_REP 546 Medium
org.oxerr.youzan.dto.GoodsDetail.getUmpTags() may expose internal representation by returning GoodsDetail.umpTags MALICIOUS_CODE EI_EXPOSE_REP 570 Medium
org.oxerr.youzan.dto.GoodsDetail.getUmpTagsText() may expose internal representation by returning GoodsDetail.umpTagsText MALICIOUS_CODE EI_EXPOSE_REP 514 Medium
new org.oxerr.youzan.dto.GoodsDetail(Boolean, Instant, String, BigDecimal, GoodsSku[], GoodsQrcode[], String[], Long, Long, Integer, Long, String, String, Long, String, String, String, Integer, String[], BigDecimal, String, Integer, String[], String, Long, String[], String, Boolean, Long, GoodsTag[], Instant, GoodsImage[], Boolean, Boolean, Long, String, String, String, String, Long, Boolean, Map[], Long, String, String, Long, String) may expose internal representation by storing an externally mutable object into GoodsDetail.itemImgs MALICIOUS_CODE EI_EXPOSE_REP2 351 Medium
new org.oxerr.youzan.dto.GoodsDetail(Boolean, Instant, String, BigDecimal, GoodsSku[], GoodsQrcode[], String[], Long, Long, Integer, Long, String, String, Long, String, String, String, Integer, String[], BigDecimal, String, Integer, String[], String, Long, String[], String, Boolean, Long, GoodsTag[], Instant, GoodsImage[], Boolean, Boolean, Long, String, String, String, String, Long, Boolean, Map[], Long, String, String, Long, String) may expose internal representation by storing an externally mutable object into GoodsDetail.itemQrcodes MALICIOUS_CODE EI_EXPOSE_REP2 325 Medium
new org.oxerr.youzan.dto.GoodsDetail(Boolean, Instant, String, BigDecimal, GoodsSku[], GoodsQrcode[], String[], Long, Long, Integer, Long, String, String, Long, String, String, String, Integer, String[], BigDecimal, String, Integer, String[], String, Long, String[], String, Boolean, Long, GoodsTag[], Instant, GoodsImage[], Boolean, Boolean, Long, String, String, String, String, Long, Boolean, Map[], Long, String, String, Long, String) may expose internal representation by storing an externally mutable object into GoodsDetail.itemTags MALICIOUS_CODE EI_EXPOSE_REP2 349 Medium
new org.oxerr.youzan.dto.GoodsDetail(Boolean, Instant, String, BigDecimal, GoodsSku[], GoodsQrcode[], String[], Long, Long, Integer, Long, String, String, Long, String, String, String, Integer, String[], BigDecimal, String, Integer, String[], String, Long, String[], String, Boolean, Long, GoodsTag[], Instant, GoodsImage[], Boolean, Boolean, Long, String, String, String, String, Long, Boolean, Map[], Long, String, String, Long, String) may expose internal representation by storing an externally mutable object into GoodsDetail.messages MALICIOUS_CODE EI_EXPOSE_REP2 361 Medium
new org.oxerr.youzan.dto.GoodsDetail(Boolean, Instant, String, BigDecimal, GoodsSku[], GoodsQrcode[], String[], Long, Long, Integer, Long, String, String, Long, String, String, String, Integer, String[], BigDecimal, String, Integer, String[], String, Long, String[], String, Boolean, Long, GoodsTag[], Instant, GoodsImage[], Boolean, Boolean, Long, String, String, String, String, Long, Boolean, Map[], Long, String, String, Long, String) may expose internal representation by storing an externally mutable object into GoodsDetail.skus MALICIOUS_CODE EI_EXPOSE_REP2 324 Medium
new org.oxerr.youzan.dto.GoodsDetail(Boolean, Instant, String, BigDecimal, GoodsSku[], GoodsQrcode[], String[], Long, Long, Integer, Long, String, String, Long, String, String, String, Integer, String[], BigDecimal, String, Integer, String[], String, Long, String[], String, Boolean, Long, GoodsTag[], Instant, GoodsImage[], Boolean, Boolean, Long, String, String, String, String, Long, Boolean, Map[], Long, String, String, Long, String) may expose internal representation by storing an externally mutable object into GoodsDetail.umpLevel MALICIOUS_CODE EI_EXPOSE_REP2 326 Medium
new org.oxerr.youzan.dto.GoodsDetail(Boolean, Instant, String, BigDecimal, GoodsSku[], GoodsQrcode[], String[], Long, Long, Integer, Long, String, String, Long, String, String, String, Integer, String[], BigDecimal, String, Integer, String[], String, Long, String[], String, Boolean, Long, GoodsTag[], Instant, GoodsImage[], Boolean, Boolean, Long, String, String, String, String, Long, Boolean, Map[], Long, String, String, Long, String) may expose internal representation by storing an externally mutable object into GoodsDetail.umpLevelText MALICIOUS_CODE EI_EXPOSE_REP2 342 Medium
new org.oxerr.youzan.dto.GoodsDetail(Boolean, Instant, String, BigDecimal, GoodsSku[], GoodsQrcode[], String[], Long, Long, Integer, Long, String, String, Long, String, String, String, Integer, String[], BigDecimal, String, Integer, String[], String, Long, String[], String, Boolean, Long, GoodsTag[], Instant, GoodsImage[], Boolean, Boolean, Long, String, String, String, String, Long, Boolean, Map[], Long, String, String, Long, String) may expose internal representation by storing an externally mutable object into GoodsDetail.umpTags MALICIOUS_CODE EI_EXPOSE_REP2 345 Medium
new org.oxerr.youzan.dto.GoodsDetail(Boolean, Instant, String, BigDecimal, GoodsSku[], GoodsQrcode[], String[], Long, Long, Integer, Long, String, String, Long, String, String, String, Integer, String[], BigDecimal, String, Integer, String[], String, Long, String[], String, Boolean, Long, GoodsTag[], Instant, GoodsImage[], Boolean, Boolean, Long, String, String, String, String, Long, Boolean, Map[], Long, String, String, Long, String) may expose internal representation by storing an externally mutable object into GoodsDetail.umpTagsText MALICIOUS_CODE EI_EXPOSE_REP2 338 Medium
org.oxerr.youzan.dto.GoodsDetail.setItemImgs(GoodsImage[]) may expose internal representation by storing an externally mutable object into GoodsDetail.itemImgs MALICIOUS_CODE EI_EXPOSE_REP2 622 Medium
org.oxerr.youzan.dto.GoodsDetail.setItemQrcodes(GoodsQrcode[]) may expose internal representation by storing an externally mutable object into GoodsDetail.itemQrcodes MALICIOUS_CODE EI_EXPOSE_REP2 414 Medium
org.oxerr.youzan.dto.GoodsDetail.setItemTags(GoodsTag[]) may expose internal representation by storing an externally mutable object into GoodsDetail.itemTags MALICIOUS_CODE EI_EXPOSE_REP2 606 Medium
org.oxerr.youzan.dto.GoodsDetail.setMessages(Map[]) may expose internal representation by storing an externally mutable object into GoodsDetail.messages MALICIOUS_CODE EI_EXPOSE_REP2 702 Medium
org.oxerr.youzan.dto.GoodsDetail.setSkus(GoodsSku[]) may expose internal representation by storing an externally mutable object into GoodsDetail.skus MALICIOUS_CODE EI_EXPOSE_REP2 406 Medium
org.oxerr.youzan.dto.GoodsDetail.setUmpLevel(String[]) may expose internal representation by storing an externally mutable object into GoodsDetail.umpLevel MALICIOUS_CODE EI_EXPOSE_REP2 422 Medium
org.oxerr.youzan.dto.GoodsDetail.setUmpLevelText(String[]) may expose internal representation by storing an externally mutable object into GoodsDetail.umpLevelText MALICIOUS_CODE EI_EXPOSE_REP2 550 Medium
org.oxerr.youzan.dto.GoodsDetail.setUmpTags(String[]) may expose internal representation by storing an externally mutable object into GoodsDetail.umpTags MALICIOUS_CODE EI_EXPOSE_REP2 574 Medium
org.oxerr.youzan.dto.GoodsDetail.setUmpTagsText(String[]) may expose internal representation by storing an externally mutable object into GoodsDetail.umpTagsText MALICIOUS_CODE EI_EXPOSE_REP2 518 Medium

org.oxerr.youzan.dto.TradeDetail

Bug Category Details Line Priority
org.oxerr.youzan.dto.TradeDetail.getCouponDetails() may expose internal representation by returning TradeDetail.couponDetails MALICIOUS_CODE EI_EXPOSE_REP 741 Medium
org.oxerr.youzan.dto.TradeDetail.getOrders() may expose internal representation by returning TradeDetail.orders MALICIOUS_CODE EI_EXPOSE_REP 629 Medium
org.oxerr.youzan.dto.TradeDetail.getOutTradeNo() may expose internal representation by returning TradeDetail.outTradeNo MALICIOUS_CODE EI_EXPOSE_REP 621 Medium
org.oxerr.youzan.dto.TradeDetail.getPromotionDetails() may expose internal representation by returning TradeDetail.promotionDetails MALICIOUS_CODE EI_EXPOSE_REP 637 Medium
org.oxerr.youzan.dto.TradeDetail.getRelations() may expose internal representation by returning TradeDetail.relations MALICIOUS_CODE EI_EXPOSE_REP 869 Medium
org.oxerr.youzan.dto.TradeDetail.getSubTrades() may expose internal representation by returning TradeDetail.subTrades MALICIOUS_CODE EI_EXPOSE_REP 589 Medium
new org.oxerr.youzan.dto.TradeDetail(Instant, String, Long, AdjustFee, String, String, Long, String, Integer, Long, BigDecimal, BigDecimal, BigDecimal, Long, TradeDetail[], String, Instant, Instant, String[], TradeOrder[], TradePromotion[], String, String, BigDecimal, String, String, String, BigDecimal, Long, String, BigDecimal, String, Instant, UmpTradeCoupon[], String, String, String, BigDecimal, TradeFetch, Integer, String, String, String, Instant, Integer, String, Integer, String, String, String[], String) may expose internal representation by storing an externally mutable object into TradeDetail.couponDetails MALICIOUS_CODE EI_EXPOSE_REP2 456 Medium
new org.oxerr.youzan.dto.TradeDetail(Instant, String, Long, AdjustFee, String, String, Long, String, Integer, Long, BigDecimal, BigDecimal, BigDecimal, Long, TradeDetail[], String, Instant, Instant, String[], TradeOrder[], TradePromotion[], String, String, BigDecimal, String, String, String, BigDecimal, Long, String, BigDecimal, String, Instant, UmpTradeCoupon[], String, String, String, BigDecimal, TradeFetch, Integer, String, String, String, Instant, Integer, String, Integer, String, String, String[], String) may expose internal representation by storing an externally mutable object into TradeDetail.orders MALICIOUS_CODE EI_EXPOSE_REP2 442 Medium
new org.oxerr.youzan.dto.TradeDetail(Instant, String, Long, AdjustFee, String, String, Long, String, Integer, Long, BigDecimal, BigDecimal, BigDecimal, Long, TradeDetail[], String, Instant, Instant, String[], TradeOrder[], TradePromotion[], String, String, BigDecimal, String, String, String, BigDecimal, Long, String, BigDecimal, String, Instant, UmpTradeCoupon[], String, String, String, BigDecimal, TradeFetch, Integer, String, String, String, Instant, Integer, String, Integer, String, String, String[], String) may expose internal representation by storing an externally mutable object into TradeDetail.outTradeNo MALICIOUS_CODE EI_EXPOSE_REP2 441 Medium
new org.oxerr.youzan.dto.TradeDetail(Instant, String, Long, AdjustFee, String, String, Long, String, Integer, Long, BigDecimal, BigDecimal, BigDecimal, Long, TradeDetail[], String, Instant, Instant, String[], TradeOrder[], TradePromotion[], String, String, BigDecimal, String, String, String, BigDecimal, Long, String, BigDecimal, String, Instant, UmpTradeCoupon[], String, String, String, BigDecimal, TradeFetch, Integer, String, String, String, Instant, Integer, String, Integer, String, String, String[], String) may expose internal representation by storing an externally mutable object into TradeDetail.promotionDetails MALICIOUS_CODE EI_EXPOSE_REP2 443 Medium
new org.oxerr.youzan.dto.TradeDetail(Instant, String, Long, AdjustFee, String, String, Long, String, Integer, Long, BigDecimal, BigDecimal, BigDecimal, Long, TradeDetail[], String, Instant, Instant, String[], TradeOrder[], TradePromotion[], String, String, BigDecimal, String, String, String, BigDecimal, Long, String, BigDecimal, String, Instant, UmpTradeCoupon[], String, String, String, BigDecimal, TradeFetch, Integer, String, String, String, Instant, Integer, String, Integer, String, String, String[], String) may expose internal representation by storing an externally mutable object into TradeDetail.relations MALICIOUS_CODE EI_EXPOSE_REP2 472 Medium
new org.oxerr.youzan.dto.TradeDetail(Instant, String, Long, AdjustFee, String, String, Long, String, Integer, Long, BigDecimal, BigDecimal, BigDecimal, Long, TradeDetail[], String, Instant, Instant, String[], TradeOrder[], TradePromotion[], String, String, BigDecimal, String, String, String, BigDecimal, Long, String, BigDecimal, String, Instant, UmpTradeCoupon[], String, String, String, BigDecimal, TradeFetch, Integer, String, String, String, Instant, Integer, String, Integer, String, String, String[], String) may expose internal representation by storing an externally mutable object into TradeDetail.subTrades MALICIOUS_CODE EI_EXPOSE_REP2 437 Medium
org.oxerr.youzan.dto.TradeDetail.setCouponDetails(UmpTradeCoupon[]) may expose internal representation by storing an externally mutable object into TradeDetail.couponDetails MALICIOUS_CODE EI_EXPOSE_REP2 745 Medium
org.oxerr.youzan.dto.TradeDetail.setOrders(TradeOrder[]) may expose internal representation by storing an externally mutable object into TradeDetail.orders MALICIOUS_CODE EI_EXPOSE_REP2 633 Medium
org.oxerr.youzan.dto.TradeDetail.setOutTradeNo(String[]) may expose internal representation by storing an externally mutable object into TradeDetail.outTradeNo MALICIOUS_CODE EI_EXPOSE_REP2 625 Medium
org.oxerr.youzan.dto.TradeDetail.setPromotionDetails(TradePromotion[]) may expose internal representation by storing an externally mutable object into TradeDetail.promotionDetails MALICIOUS_CODE EI_EXPOSE_REP2 641 Medium
org.oxerr.youzan.dto.TradeDetail.setRelations(String[]) may expose internal representation by storing an externally mutable object into TradeDetail.relations MALICIOUS_CODE EI_EXPOSE_REP2 873 Medium
org.oxerr.youzan.dto.TradeDetail.setSubTrades(TradeDetail[]) may expose internal representation by storing an externally mutable object into TradeDetail.subTrades MALICIOUS_CODE EI_EXPOSE_REP2 593 Medium

org.oxerr.youzan.dto.TradeOrder

Bug Category Details Line Priority
org.oxerr.youzan.dto.TradeOrder.getBuyerMessages() may expose internal representation by returning TradeOrder.buyerMessages MALICIOUS_CODE EI_EXPOSE_REP 305 Medium
org.oxerr.youzan.dto.TradeOrder.getOrderPromotionDetails() may expose internal representation by returning TradeOrder.orderPromotionDetails MALICIOUS_CODE EI_EXPOSE_REP 321 Medium
new org.oxerr.youzan.dto.TradeOrder(String, String, String, String, Integer, Long, Long, Long, String, String, Long, String, BigDecimal, String, BigDecimal, TradeBuyerMessage[], String, TradeOrderPromotion[], BigDecimal, BigDecimal, BigDecimal, BigDecimal, String) may expose internal representation by storing an externally mutable object into TradeOrder.buyerMessages MALICIOUS_CODE EI_EXPOSE_REP2 174 Medium
new org.oxerr.youzan.dto.TradeOrder(String, String, String, String, Integer, Long, Long, Long, String, String, Long, String, BigDecimal, String, BigDecimal, TradeBuyerMessage[], String, TradeOrderPromotion[], BigDecimal, BigDecimal, BigDecimal, BigDecimal, String) may expose internal representation by storing an externally mutable object into TradeOrder.orderPromotionDetails MALICIOUS_CODE EI_EXPOSE_REP2 176 Medium
org.oxerr.youzan.dto.TradeOrder.setBuyerMessages(TradeBuyerMessage[]) may expose internal representation by storing an externally mutable object into TradeOrder.buyerMessages MALICIOUS_CODE EI_EXPOSE_REP2 309 Medium
org.oxerr.youzan.dto.TradeOrder.setOrderPromotionDetails(TradeOrderPromotion[]) may expose internal representation by storing an externally mutable object into TradeOrder.orderPromotionDetails MALICIOUS_CODE EI_EXPOSE_REP2 326 Medium

org.oxerr.youzan.dto.response.ItemsResponse

Bug Category Details Line Priority
org.oxerr.youzan.dto.response.ItemsResponse.getItems() may expose internal representation by returning ItemsResponse.items MALICIOUS_CODE EI_EXPOSE_REP 20 Medium
new org.oxerr.youzan.dto.response.ItemsResponse(GoodsDetail[]) may expose internal representation by storing an externally mutable object into ItemsResponse.items MALICIOUS_CODE EI_EXPOSE_REP2 16 Medium
org.oxerr.youzan.dto.response.ItemsResponse.setItems(GoodsDetail[]) may expose internal representation by storing an externally mutable object into ItemsResponse.items MALICIOUS_CODE EI_EXPOSE_REP2 24 Medium

org.oxerr.youzan.dto.response.SkusResponse

Bug Category Details Line Priority
org.oxerr.youzan.dto.response.SkusResponse.getSkus() may expose internal representation by returning SkusResponse.skus MALICIOUS_CODE EI_EXPOSE_REP 20 Medium
new org.oxerr.youzan.dto.response.SkusResponse(GoodsSku[]) may expose internal representation by storing an externally mutable object into SkusResponse.skus MALICIOUS_CODE EI_EXPOSE_REP2 16 Medium
org.oxerr.youzan.dto.response.SkusResponse.setSkus(GoodsSku[]) may expose internal representation by storing an externally mutable object into SkusResponse.skus MALICIOUS_CODE EI_EXPOSE_REP2 24 Medium

org.oxerr.youzan.dto.response.TradesResponse

Bug Category Details Line Priority
org.oxerr.youzan.dto.response.TradesResponse.getTrades() may expose internal representation by returning TradesResponse.trades MALICIOUS_CODE EI_EXPOSE_REP 28 Medium
new org.oxerr.youzan.dto.response.TradesResponse(TradeDetail[], Integer, Boolean) may expose internal representation by storing an externally mutable object into TradesResponse.trades MALICIOUS_CODE EI_EXPOSE_REP2 22 Medium
org.oxerr.youzan.dto.response.TradesResponse.setTrades(TradeDetail[]) may expose internal representation by storing an externally mutable object into TradesResponse.trades MALICIOUS_CODE EI_EXPOSE_REP2 32 Medium