/* * Copyright (c) 2015 EMC Corporation * Copyright 2016 Intel Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package models.datatable; import com.emc.storageos.model.tenant.TenantOrgRestRep; import com.emc.storageos.model.tenant.UserMappingParam; import com.google.common.collect.Lists; import models.TenantSource; import org.apache.commons.lang.StringUtils; import util.datatable.DataTable; import util.datatable.DataTableColumnConfiguration; import java.util.List; public class TenantsDataTable extends DataTable { public TenantsDataTable() { DataTableColumnConfiguration nameColumn = addColumn("name"); nameColumn.setRenderFunction("render.editableLink"); addColumn("description"); addColumn("mappedDomains"); addColumn("source"); sortAll(); setDefaultSortField("name"); } public static class Tenant { public String id; public String name; public String description; public long quota; public String tags; public String mappedDomains; public boolean editable; public String source; public Tenant(TenantOrgRestRep tenant, boolean editable) { id = tenant.getId().toString(); name = tenant.getName(); description = tenant.getDescription(); this.editable = editable; List<String> domains = Lists.newArrayList(); List<UserMappingParam> userMappings = tenant.getUserMappings(); for (UserMappingParam userMapping : userMappings) { domains.add(userMapping.getDomain()); } mappedDomains = StringUtils.join(domains, ", "); tags = StringUtils.join(tenant.getTags(), ", "); source = TenantSource.getTenantSource(userMappings); } } }