/** * Project: doris.config.server-1.0-SNAPSHOT File Created at 2011-4-27 $Id$ Copyright 1999-2100 Alibaba.com Corporation * Limited. All rights reserved. This software is the confidential and proprietary information of Alibaba Company. * ("Confidential Information"). You shall not disclose such Confidential Information and shall use it only in * accordance with the terms of the license agreement you entered into with Alibaba.com. */ package com.alibaba.doris.admin.dao; import java.util.List; import com.alibaba.doris.admin.dataobject.PhysicalNodeDO; /** * TODO Comment of PhysicalNodeDao * * @author mianhe */ public interface PhysicalNodeDao { /** * 新增一个节点Node,但此操作不将其加入到集群中去 */ Integer addPhysicalNode(PhysicalNodeDO phsicalNodeDo); /** * @return 所有序列的所有Node节点,含集群中提供服务的Nodes以及未分配到集群中的Nodes. */ List<PhysicalNodeDO> queryAllPhysicalNodes(); /** * @return 所有在集群中可用的Node节点,主要包括在集群中提供服务的节点Nodes; */ List<PhysicalNodeDO> queryAllUsablePhysicalNodes(); /** * @return 根据IP返回Node对象集合; */ List<PhysicalNodeDO> queryNomalPhysicalNodesByIP(String IP); /** * @return 所有新增的但还没有加入到集群中的节点Nodes */ List<PhysicalNodeDO> queryUnUsablePhysicalNodes(); /** * 根据NodeId返回Node对象 * * @param id * @return */ public PhysicalNodeDO queryPhysicalNodeById(Integer id); /** * 根据physicalId返回Node对象 * * @param physicalId * @return */ public PhysicalNodeDO queryPhysicalNodeByPhysicalId(String physicalId); /** * 检查重复性:利用ip+port或physicalId * * @param physicalNodeDO * @return */ public PhysicalNodeDO queryPhysicalNodesByConditions(PhysicalNodeDO physicalNodeDO); /** * 检查重复性:利用ip+port或physicalId, 排除当前编辑ID * * @param physicalNodeDO * @return */ public PhysicalNodeDO queryDuplicateNodesForEdit(PhysicalNodeDO physicalNodeDO); /** * @param serialId 序列ID * @return 包含在某条序列中的Nodes */ List<PhysicalNodeDO> queryPhysicalNodesBySerialId(String serialId); /** * 更新某一个NodeId对应的状态 * * @param physicalId * @param status */ public void updatePhysicalNodeStatus(String physicalId, int status); /** * 更新Node信息 * * @param physicalNodeDO */ public void updatePhysicalNode(PhysicalNodeDO physicalNodeDO); public void updatePhysicalNodeByNodeId(PhysicalNodeDO physicalNodeDO); /** * 更新NodeList的状态 * * @param physicalNodeDoList */ public void updatePhysicalNodeList(List<PhysicalNodeDO> physicalNodeDoList); /** * 删除Node * * @param physicalNodeDO */ public void deletePhysicalNode(String physicalId); }