/* * Copyright 2011 Alibaba.com All right reserved. This software is the * confidential and proprietary information of Alibaba.com ("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.dubbo.governance.web.governance.module.screen; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import com.alibaba.dubbo.governance.service.OwnerService; import com.alibaba.dubbo.governance.service.ProviderService; import com.alibaba.dubbo.governance.web.common.module.screen.Restful; import com.alibaba.dubbo.registry.common.domain.Owner; import com.alibaba.dubbo.registry.common.util.Tool; /** * Providers. URI: /services/$service/owners * * @author william.liangf */ public class Owners extends Restful { @Autowired private OwnerService ownerService; @Autowired private ProviderService providerService; public void index(Map<String, Object> context) { String service = (String) context.get("service"); List<Owner> owners; if (service != null && service.length() > 0) { owners = ownerService.findByService(service); } else { owners = ownerService.findAll(); } context.put("owners", owners); } public void add(Map<String, Object> context) { String service = (String) context.get("service"); if (service == null || service.length() == 0) { List<String> serviceList = Tool.sortSimpleName(new ArrayList<String>(providerService.findServices())); context.put("serviceList", serviceList); } } public boolean create(Owner owner, Map<String, Object> context) { String service = owner.getService(); String username = owner.getUsername(); if (service == null || service.length() == 0 || username == null || username.length() == 0){ context.put("message", getMessage("NoSuchOperationData")); return false; } if (! super.currentUser.hasServicePrivilege(service)) { context.put("message", getMessage("HaveNoServicePrivilege", service)); return false; } ownerService.saveOwner(owner); return true; } public boolean delete(Long[] ids, Map<String, Object> context) { String service = (String) context.get("service"); String username = (String) context.get("username"); Owner owner = new Owner(); owner.setService(service); owner.setUsername(username); if (service == null || service.length() == 0 || username == null || username.length() == 0){ context.put("message", getMessage("NoSuchOperationData")); return false; } if (! super.currentUser.hasServicePrivilege(service)) { context.put("message", getMessage("HaveNoServicePrivilege", service)); return false; } ownerService.deleteOwner(owner); return true; } }