private Properties getNamespaceProperties(IComponent component, Locale locale) { INamespace namespace = component.getNamespace(); Resource namespaceLocation = namespace.getSpecificationLocation(); Map propertiesMap = findPropertiesMapForResource(namespaceLocation); Properties result = (Properties) propertiesMap.get(locale); if (result == null) { result = new Properties(); // recurse through parent properties List spaceList = new ArrayList(); spaceList.add(namespace); INamespace parent = namespace; while (parent.getParentNamespace() != null) { parent = parent.getParentNamespace(); spaceList.add(parent); } // reverse it so top most namespace comes first for (int i=spaceList.size() - 1; i > -1; i--) { INamespace space = (INamespace)spaceList.get(i); result.putAll(assembleNamespaceProperties(space, findPropertiesMapForResource(space.getSpecificationLocation()), locale)); } propertiesMap.put(locale, result); } return result; }
private Properties getNamespaceProperties(IComponent component, Locale locale) { INamespace namespace = component.getNamespace(); Resource namespaceLocation = namespace.getSpecificationLocation(); Map propertiesMap = findPropertiesMapForResource(namespaceLocation); Properties result = (Properties) propertiesMap.get(locale); if (result == null) { result = new Properties(); // recurse through parent properties List spaceList = new ArrayList(); spaceList.add(namespace); INamespace parent = namespace; while (parent.getParentNamespace() != null) { parent = parent.getParentNamespace(); spaceList.add(parent); } // reverse it so top most namespace comes first for (int i=spaceList.size() - 1; i > -1; i--) { INamespace space = (INamespace)spaceList.get(i); result.putAll(assembleNamespaceProperties(space, findPropertiesMapForResource(space.getSpecificationLocation()), locale)); } propertiesMap.put(locale, result); } return result; }