Author: [email protected]
Date: Mon Feb  6 19:27:17 2012
New Revision: 2061

Log:
AMDATU-522: Some cleanups; renamed HostnameTenantMappingRegistry to 
TenantRegistry, no need to have such a long name for a private class. 
Simplified the registry itself a bit.

Added:
   
trunk/amdatu-web/tenantresolver-hostname/src/main/java/org/amdatu/web/tenantresolver/hostname/service/TenantRegistry.java
      - copied, changed from r2058, 
/trunk/amdatu-web/tenantresolver-hostname/src/main/java/org/amdatu/web/tenantresolver/hostname/service/HostnameTenantMappingRegistry.java
Modified:
   
trunk/amdatu-web/tenantresolver-hostname/src/main/java/org/amdatu/web/tenantresolver/hostname/osgi/Activator.java
   
trunk/amdatu-web/tenantresolver-hostname/src/main/java/org/amdatu/web/tenantresolver/hostname/service/HostnameTenantMappingRegistry.java
   
trunk/amdatu-web/tenantresolver-hostname/src/main/java/org/amdatu/web/tenantresolver/hostname/service/HostnameTenantResolverExtenderFilter.java

Modified: 
trunk/amdatu-web/tenantresolver-hostname/src/main/java/org/amdatu/web/tenantresolver/hostname/osgi/Activator.java
==============================================================================
--- 
trunk/amdatu-web/tenantresolver-hostname/src/main/java/org/amdatu/web/tenantresolver/hostname/osgi/Activator.java
   (original)
+++ 
trunk/amdatu-web/tenantresolver-hostname/src/main/java/org/amdatu/web/tenantresolver/hostname/osgi/Activator.java
   Mon Feb  6 19:27:17 2012
@@ -21,7 +21,7 @@
 import org.amdatu.tenant.Tenant;
 import org.amdatu.web.dispatcher.DispatchExtenderFilter;
 import org.amdatu.web.dispatcher.DispatcherService;
-import 
org.amdatu.web.tenantresolver.hostname.service.HostnameTenantMappingRegistry;
+import org.amdatu.web.tenantresolver.hostname.service.TenantRegistry;
 import 
org.amdatu.web.tenantresolver.hostname.service.HostnameTenantResolverExtenderFilter;
 import org.apache.felix.dm.DependencyActivatorBase;
 import org.apache.felix.dm.DependencyManager;
@@ -37,7 +37,7 @@
  */
 public final class Activator extends DependencyActivatorBase {
 
-    private final HostnameTenantMappingRegistry m_registry = new 
HostnameTenantMappingRegistry();
+    private final TenantRegistry m_registry = new TenantRegistry();
     private final HostnameTenantResolverExtenderFilter m_filter = new 
HostnameTenantResolverExtenderFilter(m_registry);
 
     @Override

Modified: 
trunk/amdatu-web/tenantresolver-hostname/src/main/java/org/amdatu/web/tenantresolver/hostname/service/HostnameTenantResolverExtenderFilter.java
==============================================================================
--- 
trunk/amdatu-web/tenantresolver-hostname/src/main/java/org/amdatu/web/tenantresolver/hostname/service/HostnameTenantResolverExtenderFilter.java
     (original)
+++ 
trunk/amdatu-web/tenantresolver-hostname/src/main/java/org/amdatu/web/tenantresolver/hostname/service/HostnameTenantResolverExtenderFilter.java
     Mon Feb  6 19:27:17 2012
@@ -38,11 +38,11 @@
  */
 public final class HostnameTenantResolverExtenderFilter implements 
DispatchExtenderFilter {
 
-    private final HostnameTenantMappingRegistry m_registry;
+    private final TenantRegistry m_registry;
 
     private volatile LogService m_logService;
 
-    public HostnameTenantResolverExtenderFilter(HostnameTenantMappingRegistry 
registry) {
+    public HostnameTenantResolverExtenderFilter(TenantRegistry registry) {
         m_registry = registry;
     }
 

Copied: 
trunk/amdatu-web/tenantresolver-hostname/src/main/java/org/amdatu/web/tenantresolver/hostname/service/TenantRegistry.java
 (from r2058, 
/trunk/amdatu-web/tenantresolver-hostname/src/main/java/org/amdatu/web/tenantresolver/hostname/service/HostnameTenantMappingRegistry.java)
==============================================================================
--- 
/trunk/amdatu-web/tenantresolver-hostname/src/main/java/org/amdatu/web/tenantresolver/hostname/service/HostnameTenantMappingRegistry.java
   (original)
+++ 
trunk/amdatu-web/tenantresolver-hostname/src/main/java/org/amdatu/web/tenantresolver/hostname/service/TenantRegistry.java
   Mon Feb  6 19:27:17 2012
@@ -15,11 +15,11 @@
  */
 package org.amdatu.web.tenantresolver.hostname.service;
 
-import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 import org.amdatu.tenant.Tenant;
@@ -34,15 +34,12 @@
  * @author <a href="mailto:[email protected]";>Amdatu Project 
Team</a>
  * 
  */
-public final class HostnameTenantMappingRegistry {
+public final class TenantRegistry {
 
     // maps current mappings
-    private final Map<ServiceReference, HostNameTenantMapping> 
m_referenceToMapping =
-        new HashMap<ServiceReference, HostNameTenantMapping>();
-
+    private final ConcurrentMap<ServiceReference, Tenant> m_referenceToMapping 
= new ConcurrentHashMap<ServiceReference, Tenant>();
     // maps fast hostname lookup
-    private final Map<String, HostNameTenantMapping> m_hostNameToTenantMapping 
=
-        new HashMap<String, HostNameTenantMapping>();
+    private final ConcurrentMap<String, Tenant> m_hostNameToTenantMapping = 
new ConcurrentHashMap<String, Tenant>();
 
     private final ReentrantReadWriteLock m_lock = new ReentrantReadWriteLock();
 
@@ -51,15 +48,11 @@
     public Tenant getTenant(String hostname) {
         m_lock.readLock().lock();
         try {
-            HostNameTenantMapping mapping = 
m_hostNameToTenantMapping.get(hostname);
-            if (mapping != null) {
-                return mapping.getTenant();
-            }
+            return m_hostNameToTenantMapping.get(hostname);
         }
         finally {
             m_lock.readLock().unlock();
         }
-        return null;
     }
 
     public void addTenant(ServiceReference reference, Tenant tenant) {
@@ -98,8 +91,8 @@
         if (hostnames == null || hostnames.length == 0) {
             return;
         }
-        HostNameTenantMapping mapping = new HostNameTenantMapping(tenant, 
hostnames);
-        m_referenceToMapping.put(reference, mapping);
+
+        m_referenceToMapping.put(reference, tenant);
         for (String hostname : hostnames) {
             hostname = hostname.trim();
             if ("".equals(hostname)) {
@@ -107,23 +100,24 @@
                     + " specifies illegal hostname mapping to " + hostname);
                 continue;
             }
-            HostNameTenantMapping oldmapping = 
m_hostNameToTenantMapping.get(hostname);
-            if (oldmapping != null) {
+            
+            Tenant oldTenant = m_hostNameToTenantMapping.put(hostname, tenant);
+            if (oldTenant != null) {
                 m_logService.log(LogService.LOG_WARNING, "Tenant " + 
tenant.getId()
                     + " overwrites hostname mapping for " + hostname + " 
previously mapped to "
-                    + oldmapping.getTenant().getId());
+                    + oldTenant.getId());
             }
-            m_hostNameToTenantMapping.put(hostname, mapping);
         }
     }
 
     private void removeMapping(ServiceReference reference) {
-        HostNameTenantMapping mapping = m_referenceToMapping.remove(reference);
+        Tenant mapping = m_referenceToMapping.remove(reference);
         if (mapping == null) {
             return;
         }
+
         Set<String> removeHostnames = new HashSet<String>();
-        for (Entry<String, HostNameTenantMapping> entry : 
m_hostNameToTenantMapping.entrySet()) {
+        for (Entry<String, Tenant> entry : 
m_hostNameToTenantMapping.entrySet()) {
             if (entry.getValue() == mapping) {
                 removeHostnames.add(entry.getKey());
             }
@@ -136,23 +130,4 @@
     private String[] getHostnames(ServiceReference reference) {
         return (String[]) reference.getProperty(Constants.HOSTNAMES_KEY);
     }
-
-    private final class HostNameTenantMapping {
-
-        private final Tenant m_tenant;
-        private final String[] m_hostnames;
-
-        public HostNameTenantMapping(Tenant tenant, String[] hostnames) {
-            m_tenant = tenant;
-            m_hostnames = hostnames;
-        }
-
-        public Tenant getTenant() {
-            return m_tenant;
-        }
-
-        public String[] getHostNames() {
-            return m_hostnames;
-        }
-    }
 }
\ No newline at end of file
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits

Reply via email to