package com.alibaba.doris.admin.web.configer.module.mock; import java.util.Random; import com.alibaba.doris.admin.service.failover.node.check.NodeAdminStatusWrapper; import com.alibaba.doris.admin.service.failover.node.check.NodeHealth; import com.alibaba.doris.common.MigrateStatusEnum; import com.alibaba.doris.common.NodeRouteStatus; import com.alibaba.doris.common.StoreNodeSequenceEnum; /** * @project : * @author : len.liu * @datetime : 2011-5-26 下午04:21:23 * @version : * @Modification: */ public class NodeAdminStatusWrapperMock { /** * @param sequence * @return */ public static NodeAdminStatusWrapper getNodeAdminStatus(StoreNodeSequenceEnum sequence) { NodeAdminStatusWrapper wrapper = new NodeAdminStatusWrapper(); if (StoreNodeSequenceEnum.NORMAL_SEQUENCE_1.equals(sequence)) { wrapper.setMigrateStatus(MigrateStatusEnum.MIGERATING); wrapper.setMigrateStatusDetail("Befor 10ms, completed 20%"); } else if (StoreNodeSequenceEnum.NORMAL_SEQUENCE_2.equals(sequence)) { wrapper.setMigrateStatus(null); wrapper.setMigrateStatusDetail(null); } wrapper.setNodeHealth(getNodeHealth()); wrapper.setNodeRouteStatus(getNodeRouteStatus()); return wrapper; } public static MigrateStatusEnum getMigrateStatus(int sequence) { if (StoreNodeSequenceEnum.NORMAL_SEQUENCE_1.getValue() == sequence) { return MigrateStatusEnum.MIGERATING; } else { return null; } } public static String getMigrateStatusDetail(int sequence) { if (StoreNodeSequenceEnum.NORMAL_SEQUENCE_1.getValue() == sequence) { return "Befor " + new Random().nextInt(80) + "ms, migrate action is complietd " + new Random().nextInt(100) + "%"; } else { return null; } } public static NodeHealth getNodeHealth() { long now = System.currentTimeMillis(); if (now % 2 == 0) return NodeHealth.OK; else return NodeHealth.NG; } public static NodeRouteStatus getNodeRouteStatus() { long now = System.currentTimeMillis(); if (now % 7 != 0) return NodeRouteStatus.OK; else return NodeRouteStatus.TEMP_FAILED; } }