private PropertyMap readClasspathDefaults() { PropertyMap newProperties = new PropertyMap(); newProperties.readAllPropertiesFileFromClassPath(DEFAULT_PROPERTIES_FILENAME); if (newProperties.getSize() != 0) { newProperties = new PropertyMap(newProperties); } for (String name : PROPERTIES_FILES_NAME) { newProperties.readAllPropertiesFileFromClassPath(name); } return newProperties; }
/** * Generates a new map with the equivalent values of this map and it's parent (if the parent exists). The new map * won't have a parent map. */ @Nonnull public PropertyMap consolidateAndFrozen() { PropertyMap map2 = new PropertyMap(); copyEntries(map2.entries); map2.frozen(); return map2; }
private PropertyMap readPropertiesFilesOverrides(PropertyMap newProperties) { File confDir = findConfDir(); if (confDir == null) { return newProperties; } PropertyMap props = new PropertyMap(newProperties); for (String name : PROPERTIES_FILES_NAME) { props.readProperties(new File(confDir, name)); } return props; }
public static Object saveState() { SingularPropertiesImpl impl = SingularPropertiesImpl.get(); State state = new State(); state.propertiesBackup = impl.propertyMap; state.systemBackup.put(SYSTEM_PROPERTY_SINGULAR_SERVER_HOME, System.getProperty(SYSTEM_PROPERTY_SINGULAR_SERVER_HOME)); impl.propertyMap = new PropertyMap(impl.getProperties().consolidateAndFrozen()); return state; } }
/** * Copia as propriedades do arquivo para as properties internas. As propriedades previamente existentes serão * sobrepostas. Esse método é utilizado para testes unitários com difererentes contextos. */ @VisibleForTesting public synchronized void reloadAndOverrideWith(URL propertiesURL) { reload(); PropertyMap p = new PropertyMap(getProperties()); p.readProperties(propertiesURL); propertyMap = p; }
@VisibleForTesting public void setProperty(@Nonnull String key, @Nonnull String value) { if (getProperties().isFrozen()) { propertyMap = new PropertyMap(getProperties()); } propertyMap.add(key, value); }