package com.alibaba.doris.admin.service.common.namespace; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.commons.lang.StringUtils; import com.alibaba.doris.admin.core.AdminServiceLocator; import com.alibaba.doris.admin.dataobject.NamespaceDO; import com.alibaba.doris.admin.service.NamespaceService; import com.alibaba.doris.admin.service.common.AdminServiceAction; import com.alibaba.doris.common.AdminServiceConstants; import com.alibaba.doris.common.Namespace; import com.alibaba.fastjson.JSON; public class AdminNameSpaceAction implements AdminServiceAction { private static final AdminNameSpaceAction instance = new AdminNameSpaceAction(); private AdminNameSpaceAction(){} public static AdminNameSpaceAction getInstance() { return instance; } NamespaceService namespaceservice = AdminServiceLocator.getNamespaceService(); public String execute(Map<String, String> params) { String nsName = params.get(AdminServiceConstants.NAME_SPACE_NAME); List<NamespaceDO> nsList = new ArrayList<NamespaceDO>(); if (StringUtils.isEmpty(nsName)) { List<NamespaceDO> nsdList = namespaceservice.queryAllNamespaces(); for (NamespaceDO nsd : nsdList) { nsList.add(nsd); } } else { NamespaceDO nsd = namespaceservice.queryNamespaceByName(nsName); if (nsd != null) { nsList.add(nsd); } } return JSON.toJSONString(nsList);//service 用NamespaceDO 序列化,client用Namespace反序列化 } private Namespace convert(NamespaceDO nsd) { Namespace ns = new Namespace(); ns.setClassName(nsd.getClassName()); ns.setCompressMode(nsd.getCompressMode()); ns.setCompressThreshold(nsd.getCompressThreshold()); ns.setCopyCount(nsd.getCopyCount()); ns.setFirstOwner(nsd.getFirstOwner()); ns.setName(nsd.getName()); ns.setRemark(nsd.getRemark()); ns.setSecondOwner(nsd.getSecondOwner()); ns.setSerializeMode(nsd.getSerializeMode()); ns.setStatus(nsd.getStatus()); return ns; } }