checkout obj

检出Workable对象

/**
     * 检出workable对象
     * @param workable 实现workable接口的实例
     * @throws WTException
     * @throws WTPropertyVetoException
     */
    public static Workable checkoutObj(Workable workable) throws WTException,
            WTPropertyVetoException {
        if (WorkInProgressHelper.isWorkingCopy(workable)
                || WorkInProgressHelper.isCheckedOut(workable) || LockHelper.isLocked(workable)) {
            Object obj[] = { IdentityFactory.getDisplayIdentifier(workable).toString(),
                    LockHelper.getLocker(workable).toString() };
            throw new WTException("wt.clients.doc.DocRB", "10", obj);
        }
        CheckoutLink checkoutLink = WorkInProgressHelper.service.checkout(workable,
                WorkInProgressHelper.service.getCheckoutFolder(), null);
        Workable workableCopy = checkoutLink.getWorkingCopy();
        return workableCopy;
    }

@Slf4j @Component public class PassengerFlowStatisticsHandler implements AbstractSmartDataHandler { @Autowired private PassengerCacheService passengerCacheService; @Autowired private AiSwitchConfig aiSwitchConfig; @Qualifier(AiCustomThreadPoolNameConstant.AI_MANAGER_CUSTOM_PASSENGER_FLOW_STATISTICS_EXEC_POOL) @Autowired private AiCustomThreadPool aiCustomThreadPool; /*@PostConstruct public void init() { log.info("passenger flow stat handler init, module {}, enabled {}.", getModule(), aiSwitchConfig.isAiModuleEnabled(getModule())); if (aiSwitchConfig.isAiModuleEnabled(getModule())) { AiSmartDataProcessor.registerHandler(getModule(), this); } }*/ public void printLog(Long deviceId, Object... messages) { if (!log.isDebugEnabled()) { Collection<Long> detailLogDevices = passengerCacheService.getDetailLogDevices(); if (CollectionUtil.isEmpty(detailLogDevices) || !detailLogDevices.contains(deviceId)) { return; } } StringBuilder message = new StringBuilder("deviceId = ").append(deviceId); for (Object object : messages) { message.append(" , ").append(object); } log.info(message.toString()); } @Trace @Override public void handleSmartData(DeviceInfoContext deviceInfo, SmartDataFrame frame) { Integer threadPoolIndex = deviceInfo.getPassengerFlowStatisticsThreadPoolIndex(); if (Objects.isNull(threadPoolIndex)) { int execute = aiCustomThreadPool.execute(deviceInfo.getKey(), () -> doHandleSmartData(deviceInfo, frame)); log.info("ai thread pool index [passenger flow stat] {}, device id {}, dev id {}, channel {}.", execute, deviceInfo.getDeviceId(), CustomPIIMaskUtil.encrypt(deviceInfo.getDevId()), deviceInfo.getChannel()); deviceInfo.setPassengerFlowStatisticsThreadPoolIndex(execute); } else { aiCustomThreadPool.execute(threadPoolIndex, () -> doHandleSmartData(deviceInfo, frame)); } } @Override public AiModule getModule() { return AiModule.PASSENGER_FLOW_STATISTICS; } private void doHandleSmartData(DeviceInfoContext deviceInfo, SmartDataFrame frame) { // 根据设备ID查询客流统计配置 Long deviceId = deviceInfo.getDeviceId(); printLog(deviceId, "Receive intelligent streaming data, deviceInfo = ", deviceInfo, ", frame = ", frame); DeviceDTO deviceConfigDTO = passengerCacheService.getDeviceDTO(deviceInfo); if (deviceConfigDTO == null || !deviceConfigDTO.isEnabled()) { // 设备没有配置或者关闭了客流统计配置 printLog(deviceId, "The device is not configured or the passenger flow statistics configuration is disabled", deviceInfo); return; } // 处理各个目标 List<SmartDataObj> frameObjs = frame.getObjs(); if (CollectionUtil.isEmpty(frameObjs)) { printLog(deviceId, "frameObjs is empty", deviceInfo); return; } int passBy = 0; int enter = 0; int checkOut = 0; for (SmartDataObj obj : frameObjs) { Point point = getPoint(obj); if (point == null) { printLog(deviceId, "point is empty", obj); continue; } PassengerDTO passengerDTO = passengerCacheService.getPassengerDTO(deviceId, obj.getObjectId()); CrossAreaWayEnum crossAreaWayEnum = passengerDTO.processPoint(point, (int) obj.getAttrTarget().getConfidence(), (double) obj.getAttrTarget().getBoxW() / 2); printLog(deviceId, "processPoint result", "crossAreaWayEnum = " + crossAreaWayEnum, "passengerDTO = " + passengerDTO, "Point = " + point, "confidence = " + (int) obj.getAttrTarget().getConfidence(), "halfWidth = " + (double) obj.getAttrTarget().getBoxW() / 2); switch (crossAreaWayEnum) { case PASS_BY_STORE: passBy++; break; case ENTER_STORE: enter++; break; case LEAVE_STORE: checkOut++; break; default: log.debug("useless cross area way: {}", crossAreaWayEnum); } } BasePassengerFlowDTO passengerFlowDTO = new BasePassengerFlowDTO(); passengerFlowDTO.setPassBy(passBy); passengerFlowDTO.setEnter(enter); passengerFlowDTO.setCheckOut(checkOut); passengerCacheService.addBasePassengerFlowDTO(passengerFlowDTO, deviceInfo); } public static Point getPoint(SmartDataObj obj) { SmartDataAttrTarget attrTarget = obj.getAttrTarget(); if (Objects.isNull(attrTarget) || attrTarget.getType() != SmartDataProtocolConstants.TARGET_TYPE_HEAD || attrTarget.getFgRatio() < ClientCountConstant.G_FOREGROUND_POINT_THR) { return null; } return new Point(attrTarget.getBoxTlX() + (double) attrTarget.getBoxW() / 2, attrTarget.getBoxTlY() + (double) attrTarget.getBoxH() / 2); } } 添加行级注释
09-13
# SPDX-License-Identifier: GPL-2.0 ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/mt-plat obj-$(CONFIG_DRM_PANEL_ARM_VERSATILE) += panel-arm-versatile.o obj-$(CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596) += panel-asus-z00t-tm5p5-n35596.o obj-$(CONFIG_DRM_PANEL_BOE_HIMAX8279D) += panel-boe-himax8279d.o obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_NL6) += panel-boe-tv101wum-nl6.o obj-$(CONFIG_DRM_PANEL_LVDS) += panel-lvds.o obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o obj-$(CONFIG_DRM_PANEL_ELIDA_KD35T133) += panel-elida-kd35t133.o obj-$(CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02) += panel-feixin-k101-im2ba02.o obj-$(CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D) += panel-feiyang-fy07024di26a30d.o obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9881C) += panel-ilitek-ili9881c.o obj-$(CONFIG_DRM_PANEL_INNOLUX_P079ZCA) += panel-innolux-p079zca.o obj-$(CONFIG_DRM_PANEL_JDI_LT070ME05000) += panel-jdi-lt070me05000.o obj-$(CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04) += panel-kingdisplay-kd097d04.o obj-$(CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W) += panel-leadtek-ltk050h3146w.o obj-$(CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829) += panel-leadtek-ltk500hd1829.o obj-$(CONFIG_DRM_PANEL_LG_LB035Q02) += panel-lg-lb035q02.o obj-$(CONFIG_DRM_PANEL_LG_LG4573) += panel-lg-lg4573.o obj-$(CONFIG_DRM_PANEL_NEC_NL8048HL11) += panel-nec-nl8048hl11.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT35510) += panel-novatek-nt35510.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT35695B_VDO) += panel-nt35695b-auo-vdo.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT35695B_CMD) += panel-nt35695b-auo-cmd.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36672A_VDO) += panel-nt36672a-rt4801-vdo.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36672_VDO_LANESWAP) += panel-nt36672-auo-vdo-laneswap.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT39016) += panel-novatek-nt39016.o obj-$(CONFIG_DRM_PANEL_MANTIX_MLAF057WE51) += panel-mantix-mlaf057we51.o obj-$(CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO) += panel-olimex-lcd-olinuxino.o obj-$(CONFIG_DRM_PANEL_ORISETECH_OTM8009A) += panel-orisetech-otm8009a.o obj-$(CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS) += panel-osd-osd101t2587-53ts.o obj-$(CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00) += panel-panasonic-vvx10f034n00.o obj-$(CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN) += panel-raspberrypi-touchscreen.o obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM67191) += panel-raydium-rm67191.o obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM68200) += panel-raydium-rm68200.o obj-$(CONFIG_DRM_PANEL_RONBO_RB070D30) += panel-ronbo-rb070d30.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_LD9040) += panel-samsung-ld9040.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6D16D0) += panel-samsung-s6d16d0.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2) += panel-samsung-s6e3ha2.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03) += panel-samsung-s6e63j0x03.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63M0) += panel-samsung-s6e63m0.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_SPI) += panel-samsung-s6e63m0-spi.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_DSI) += panel-samsung-s6e63m0-dsi.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01) += panel-samsung-s6e88a0-ams452ef01.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0) += panel-samsung-s6e8aa0.o obj-$(CONFIG_DRM_PANEL_SEIKO_43WVF1G) += panel-seiko-43wvf1g.o obj-$(CONFIG_DRM_PANEL_SHARP_LQ101R1SX01) += panel-sharp-lq101r1sx01.o obj-$(CONFIG_DRM_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o obj-$(CONFIG_DRM_PANEL_SHARP_LS043T1LE01) += panel-sharp-ls043t1le01.o obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7701) += panel-sitronix-st7701.o obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7703) += panel-sitronix-st7703.o obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7789V) += panel-sitronix-st7789v.o obj-$(CONFIG_DRM_PANEL_SONY_ACX424AKP) += panel-sony-acx424akp.o obj-$(CONFIG_DRM_PANEL_SONY_ACX565AKM) += panel-sony-acx565akm.o obj-$(CONFIG_DRM_PANEL_TPO_TD028TTEC1) += panel-tpo-td028ttec1.o obj-$(CONFIG_DRM_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o obj-$(CONFIG_DRM_PANEL_TPO_TPG110) += panel-tpo-tpg110.o obj-$(CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA) += panel-truly-nt35597.o obj-$(CONFIG_DRM_PANEL_TRULY_ILI9882N_VDO_90HZ) += panel-truly-ili9882n-rt4801-vdo-90hz.o obj-$(CONFIG_DRM_PANEL_VISIONOX_RM69299) += panel-visionox-rm69299.o obj-$(CONFIG_DRM_PANEL_XINPENG_XPP055C272) += panel-xinpeng-xpp055c272.o ifneq ($(wildcard $(srctree)/$(src)/k6983v1_64_ref),) obj-$(CONFIG_DRM_PANEL_K6983V1_64_REF_FHD_CMD) += k6983v1_64_ref/panel-k6983v1-64-ref-fhd-cmd.o obj-$(CONFIG_DRM_PANEL_K6983V1_64_REF_WQHD_CMD) += k6983v1_64_ref/panel-k6983v1-64-ref-wqhd-cmd.o endif obj-$(CONFIG_DRM_PANEL_SAMSUNG_ANA6705_CMD) += panel-samsung-ana6705-cmd.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_ANA6705_CMD_FHDP) += panel-samsung-ana6705-cmd-fhdp.o obj-$(CONFIG_DRM_PANEL_HX_NT37701_DPHY_CMD) += panel-hx-nt37701-dphy-cmd.o obj-$(CONFIG_DRM_PANEL_HX_NT37701_DPHY_CMD_120HZ) += panel-hx-nt37701-dphy-cmd-120hz.o obj-$(CONFIG_DRM_PANEL_TIANMA_NT37701A_DPHY_CMD_144HZ) += panel-tianma-nt37701a-dphy-cmd-144hz.o obj-$(CONFIG_DRM_PANEL_TRULY_TD4330_VDO) += panel-truly-td4330-vdo.o obj-$(CONFIG_DRM_PANEL_TRULY_TD4330_CMD) += panel-truly-td4330-cmd.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_OP_CMD) += panel-samsung-op-cmd.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_OP_CMD_MSYNC2) += panel-samsung-op-cmd-msync2.o ifneq ($(wildcard $(srctree)/$(src)/k6895v1_64_95t_alpha),) obj-$(CONFIG_DRM_PANEL_K6895V1_64_95T_ALPHA_CMD) += k6895v1_64_95t_alpha/panel-k6895v1-64-95t-alpha-cmd.o endif obj-$(CONFIG_DRM_PANEL_TRULY_FT8756_VDO) += panel-truly-ft8756-vdo.o obj-$(CONFIG_DRM_PANEL_ALPHA_JDI_NT36672C_CPHY_VDO) += panel-alpha-jdi-nt36672c-cphy-vdo.o obj-$(CONFIG_DRM_PANEL_SC_NT36672C_VDO_120HZ) += panel-sc-nt36672c-vdo-120hz.o obj-$(CONFIG_DRM_PANEL_SC_NT36672C_VDO_90HZ_6382) += panel-sc-nt36672c-vdo-90hz-6382.o obj-$(CONFIG_DRM_PANEL_TIANMA_R66451_CMD_120HZ) += panel-tianma-r66451-cmd-120hz.o obj-$(CONFIG_DRM_PANEL_TIANMA_R66451_CMD_120HZ_WA) += panel-tianma-r66451-cmd-120hz-wa.o obj-$(CONFIG_DRM_PANEL_TIANMA_NT36672E_VDO_120HZ_HFP) += panel-tianma-nt36672e-vdo-120hz-hfp.o obj-$(CONFIG_DRM_PANEL_TIANMA_NT36672E_VDO_120HZ_VFP_6382) += panel-tianma-nt36672e-vdo-120hz-vfp-6382.o obj-$(CONFIG_DRM_PANEL_TIANMA_NT36672C_VDO_144HZ) += panel-tianma-nt36672c-vdo-144hz.o obj-$(CONFIG_DRM_PANEL_ALPHA_JDI_NT36672E_CPHY_VDO) += panel-alpha-jdi-nt36672e-cphy-vdo.o obj-$(CONFIG_DRM_PANEL_ALPHA_JDI_NT36672E_VDO_120HZ) += panel-alpha-jdi-nt36672e-vdo-120hz.o obj-$(CONFIG_DRM_PANEL_ALPHA_JDI_NT36672E_VDO_144HZ) += panel-alpha-jdi-nt36672e-vdo-144hz.o obj-$(CONFIG_DRM_PANEL_ALPHA_JDI_NT36672E_VDO_60HZ) += panel-alpha-jdi-nt36672e-vdo-60hz.o obj-$(CONFIG_DRM_PANEL_ALPHA_JDI_NT36672E_VDO_120HZ_HFP) += panel-alpha-jdi-nt36672e-vdo-120hz-hfp.o obj-$(CONFIG_DRM_PANEL_ALPHA_JDI_NT36672E_VDO_144HZ_HFP) += panel-alpha-jdi-nt36672e-vdo-144hz-hfp.o obj-$(CONFIG_DRM_PANEL_TRULY_NT35595_CMD) += panel-truly-nt35595-cmd.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S68FC01_VDO_AOD) += panel-samsung-s68fc01-vdo-aod.o obj-$(CONFIG_DRM_PANEL_ALPHA_SAMSUNG_S6E3HAE_CMD_120HZ) += panel-alpha-samsung-s6e3hae-wqhd-dphy-cmd-120hz.o obj-$(CONFIG_DRM_PANEL_TIANMA_NT36672C_CPHY_VDO_90HZ_RT4801) += panel-tianma-nt36672c-cphy-vdo-90hz-rt4801.o obj-$(CONFIG_DRM_PANEL_NT37801_MSYNC2_RTE) += panel-nt37801-msync2-rte.o obj-$(CONFIG_DRM_PANEL_HX83112B_AUO_CMD_RT5081) += panel-hx83112b-auo-cmd-60hz-rt5081.o obj-$(CONFIG_DRM_PANEL_HX83112B_AUO_VDO_RT5081) += panel-hx83112b-auo-vdo-60hz-rt5081.o obj-$(CONFIG_DRM_PANEL_TD4320_FHDP__AUO_VDO_RT5081) += panel-td4320-fhdp-dsi-vdo-auo-rt5081.o obj-$(CONFIG_DRM_PANEL_NT35521_HD_VDO_TRULY_RT5081) += panel-nt35521_hd_dsi_vdo_truly_rt5081.o obj-$(CONFIG_DRM_PANEL_NT35521_HD_VDO_TRULY_RT50358) += panel-tps65132-i2c.o obj-$(CONFIG_DRM_PANEL_NT35521_HD_VDO_TRULY_RT50358) += panel-nt35521_hd_dsi_vdo_truly_rt50358.o obj-$(CONFIG_DRM_PANEL_NT35695_FHD_VDO_AUO_RT5081_HDP) += panel-nt35695_fhd_dsi_vdo_auo_rt5081_hdp.o obj-$(CONFIG_DRM_PANEL_BOE_HX83102J_VDO) += panel-boe-hx83102j-vdo.o obj-$(CONFIG_DRM_PANEL_TIANMA_HX83102J_VDO) += panel-tianma-hx83102j-vdo.o obj-$(CONFIG_DRM_PANEL_NT36523_S31_WUXGA_VDO) += panel-nt36523-s31-wuxga-vdo.o obj-$(CONFIG_FL7705N_IPS_720_1280) += fl7705n_ips_720_1280.o obj-$(CONFIG_FL7705N_IPS_720_1280_SHIANTONG) += fl7705n_ips_720_1280_shiantong.o obj-$(CONFIG_FL7705N_IPS_720_1280_SHUANGWEI101) += fl7705n_ips_720_1280_shuangwei101.o obj-$(CONFIG_DRM_PANEL_JD9365_HD_DSI_VDO_JYL) += panel-jd9365_hd_dsi_vdo_jyl.o obj-$(CONFIG_BACKLIGHT_KTZ8866) += ktz8866.o obj-$(CONFIG_DRM_PANEL_EDO_HX5329_CMD_120) += panel-edo-hx5329-cmd-120hz.o obj-$(CONFIG_DRM_MTK_GENERAL_PANEL_DRV) += mtk-drm-general-panel-driver.o obj-$(CONFIG_DRM_PANEL_ILITEK9882U_800_1340_DSI_VDO) += panel-ilitek9882u-800-1340-dsi-vdo.o mediatek-drm-gateic-y := mtk_drm_panel_i2c.o \ mtk_drm_gateic_rt4801h.o\ mtk_drm_gateic_rt4831a.o\ mtk_drm_gateic.o mediatek-drm-panel-drv-y := \ mtk_round_corner/mtk_drm_rc.o \ mtk_drm_panel_helper.o\ mtk_drm_panel_helper_dbi.o\ mtk_drm_panel_helper_dpi.o\ mtk_drm_panel_helper_dsi.o\ mtk_drm_panel_drv_dbi.o\ mtk_drm_panel_drv_dpi.o\ mtk_drm_panel_drv_dsi.o\ mtk_drm_panel_drv.o obj-$(CONFIG_DRM_MEDIATEK_PANEL) += mediatek-drm-gateic.o obj-$(CONFIG_DRM_MEDIATEK_PANEL) += mediatek-drm-panel-drv.o ccflags-$(CONFIG_DRM_MEDIATEK_PANEL) += -I$(srctree)/drivers/leds/ ccflags-y += -I$(srctree)/drivers/misc/mediatek/mtk-interconnect/ ccflags-y += -I$(srctree)/drivers/misc/mediatek/slbc/
10-18
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值