public Map<String,Object> getDomainProperties(String strDomain)
    {
        if (m_systemRecordOwner != null)
        	if (strDomain != null)
        {   // Always
        	if (mapDomainPropertyCache != null)
        		if (mapDomainPropertyCache.get(strDomain) != null)
        			return mapDomainPropertyCache.get(strDomain);
            if (mapDomainPropertyCache == null)
                mapDomainPropertyCache = new HashMap<String,Map<String,Object>>();
	        Record recMenus = (Record)m_systemRecordOwner.getRecord(MenusModel.MENUS_FILE);
	        if (recMenus == null)
	            if (this.getProperty(DBConstants.SYSTEM_NAME) == null)
	                if (this.getProperty(DBConstants.DEFAULT_SYSTEM_NAME) == null)
	                    if (m_systemRecordOwner != null)
	                            if (m_systemRecordOwner.getProperty(DBConstants.SYSTEM_NAME) == null)    // Note: This is where the user properties are.
	                                m_systemRecordOwner.setProperty(DBConstants.SYSTEM_NAME, this.getDefaultSystemName());  // Very first time, need to see if there is a system name default
	        
	        Map<String,Object> mapDomainProperties = null;
            if (recMenus == null)
            {
                recMenus = Record.makeRecordFromClassName(MenusModel.THICK_CLASS, m_systemRecordOwner);
                BaseTable table = recMenus.getTable();
                table = new SyncTable(table.getDatabase(), recMenus);	// Fix concurrency issues
                recMenus.setTable(table);     // This is necessary to link-up ResourceTable
            }
            recMenus.setKeyArea(MenusModel.CODE_KEY);

            String strSubDomain = strDomain;
            while (strSubDomain.length() > 0)
            {
                mapDomainProperties = this.addMenuProperties(strSubDomain, recMenus, mapDomainProperties);
                if (strSubDomain.indexOf('.') == strSubDomain.lastIndexOf('.'))
                    break;  // xyz.com = stop looking
                strSubDomain = strSubDomain.substring(strSubDomain.indexOf('.') + 1);  // Remove the next top level domain (ie., www)
            }

            if (mapDomainProperties != null)
                if ((mapDomainProperties.size() > 0) || (mapDomainPropertyCache.get(strDomain) == null))
                    mapDomainPropertyCache.put(strDomain, mapDomainProperties); // Add this domain to the cache
	        return mapDomainProperties;
        }
        return null;
    }
public Map < String , Object > getDomainProperties ( String strDomain ) { if ( m_systemRecordOwner != null ) if ( strDomain != null ) { if ( mapDomainPropertyCache != null ) if ( mapDomainPropertyCache . get ( strDomain ) != null ) return mapDomainPropertyCache . get ( strDomain ) ; if ( mapDomainPropertyCache == null ) mapDomainPropertyCache = new HashMap < String , Map < String , Object > > ( ) ; Record recMenus = ( Record ) m_systemRecordOwner . getRecord ( MenusModel . MENUS_FILE ) ; if ( recMenus == null ) if ( this . getProperty ( DBConstants . SYSTEM_NAME ) == null ) if ( this . getProperty ( DBConstants . DEFAULT_SYSTEM_NAME ) == null ) if ( m_systemRecordOwner != null ) if ( m_systemRecordOwner . getProperty ( DBConstants . SYSTEM_NAME ) == null ) m_systemRecordOwner . setProperty ( DBConstants . SYSTEM_NAME , this . getDefaultSystemName ( ) ) ; Map < String , Object > mapDomainProperties = null ; if ( recMenus == null ) { recMenus = Record . makeRecordFromClassName ( MenusModel . THICK_CLASS , m_systemRecordOwner ) ; BaseTable table = recMenus . getTable ( ) ; table = new SyncTable ( table . getDatabase ( ) , recMenus ) ; recMenus . setTable ( table ) ; } recMenus . setKeyArea ( MenusModel . CODE_KEY ) ; String strSubDomain = strDomain ; while ( strSubDomain . length ( ) > 0 ) { mapDomainProperties = this . addMenuProperties ( strSubDomain , recMenus , mapDomainProperties ) ; if ( strSubDomain . indexOf ( '.' ) == strSubDomain . lastIndexOf ( '.' ) ) break ; strSubDomain = strSubDomain . substring ( strSubDomain . indexOf ( '.' ) + 1 ) ; } if ( mapDomainProperties != null ) if ( ( mapDomainProperties . size ( ) > 0 ) || ( mapDomainPropertyCache . get ( strDomain ) == null ) ) mapDomainPropertyCache . put ( strDomain , mapDomainProperties ) ; return mapDomainProperties ; } return null ; }
Get the domain properties for this domain.
Note: This method caches all calls to speed up access
@param strDomain
@return The domain properties.