@Test public void test_should_split_name_spaced_tenant_code_to_hierarchy_list() { final Tenant tenant = new Tenant("a.b.c.d"); final List<Tenant> tenantHierarchyList = tenant.getTenantHierarchy(); assertEquals(5, tenantHierarchyList.size()); assertEquals(new Tenant("a.b.c.d"), tenantHierarchyList.get(0)); assertEquals(new Tenant("a.b.c"), tenantHierarchyList.get(1)); assertEquals(new Tenant("a.b"), tenantHierarchyList.get(2)); assertEquals(new Tenant("a"), tenantHierarchyList.get(3)); assertEquals(new Tenant("default"), tenantHierarchyList.get(4)); }
public List<Tenant> getTenantHierarchy() { final ArrayList<Tenant> tenantHierarchy = new ArrayList<>(); final int tenantDepth = StringUtils.countMatches(tenantId, NAMESPACE_SEPARATOR); tenantHierarchy.add(new Tenant(tenantId)); for (int index = tenantDepth; index >= 1; index--) { final String tenant = tenantId.substring(0, StringUtils.ordinalIndexOf(tenantId, NAMESPACE_SEPARATOR, index)); tenantHierarchy.add(new Tenant(tenant)); } tenantHierarchy.add(new Tenant(DEFAULT_TENANT)); return tenantHierarchy; }
Tenant { public List<Tenant> getTenantHierarchy() { final ArrayList<Tenant> tenantHierarchy = new ArrayList<>(); final int tenantDepth = StringUtils.countMatches(tenantId, NAMESPACE_SEPARATOR); tenantHierarchy.add(new Tenant(tenantId)); for (int index = tenantDepth; index >= 1; index--) { final String tenant = tenantId.substring(0, StringUtils.ordinalIndexOf(tenantId, NAMESPACE_SEPARATOR, index)); tenantHierarchy.add(new Tenant(tenant)); } tenantHierarchy.add(new Tenant(DEFAULT_TENANT)); return tenantHierarchy; } }
Tenant { public List<Tenant> getTenantHierarchy() { final ArrayList<Tenant> tenantHierarchy = new ArrayList<>(); final int tenantDepth = StringUtils.countMatches(tenantId, NAMESPACE_SEPARATOR); tenantHierarchy.add(new Tenant(tenantId)); for (int index = tenantDepth; index >= 1; index--) { final String tenant = tenantId.substring(0, StringUtils.ordinalIndexOf(tenantId, NAMESPACE_SEPARATOR, index)); tenantHierarchy.add(new Tenant(tenant)); } tenantHierarchy.add(new Tenant(DEFAULT_TENANT)); return tenantHierarchy; }  }
Tenant { public List<Tenant> getTenantHierarchy() { final ArrayList<Tenant> tenantHierarchy = new ArrayList<>(); final int tenantDepth = StringUtils.countMatches(tenantId, NAMESPACE_SEPARATOR); tenantHierarchy.add(new Tenant(tenantId)); for (int index = tenantDepth; index >= 1; index--) { final String tenant = tenantId.substring(0, StringUtils.ordinalIndexOf(tenantId, NAMESPACE_SEPARATOR, index)); tenantHierarchy.add(new Tenant(tenant)); } tenantHierarchy.add(new Tenant(DEFAULT_TENANT)); return tenantHierarchy; }  List<Tenant> getTenantHierarchy(); boolean isDefaultTenant(); boolean isMoreSpecificComparedTo(Tenant otherTenant); }
Tenant { public List<Tenant> getTenantHierarchy() { final ArrayList<Tenant> tenantHierarchy = new ArrayList<>(); final int tenantDepth = StringUtils.countMatches(tenantId, NAMESPACE_SEPARATOR); tenantHierarchy.add(new Tenant(tenantId)); for (int index = tenantDepth; index >= 1; index--) { final String tenant = tenantId.substring(0, StringUtils.ordinalIndexOf(tenantId, NAMESPACE_SEPARATOR, index)); tenantHierarchy.add(new Tenant(tenant)); } tenantHierarchy.add(new Tenant(DEFAULT_TENANT)); return tenantHierarchy; }  List<Tenant> getTenantHierarchy(); boolean isDefaultTenant(); boolean isMoreSpecificComparedTo(Tenant otherTenant); static final String DEFAULT_TENANT; }