...
Expand |
---|
title | Click here to Java examples |
---|
|
Code Block |
---|
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
import edu.internet2.middleware.grouper.GrouperSession;
import edu.internet2.middleware.grouper.app.loader.GrouperLoaderConfig;
import edu.internet2.middleware.grouper.cfg.GrouperConfig;
import edu.internet2.middleware.grouper.cfg.GrouperHibernateConfig;
import edu.internet2.middleware.grouper.cfg.text.GrouperTextContainer;
import edu.internet2.middleware.grouper.ui.util.GrouperUiConfigInApi;
import edu.internet2.middleware.grouper.ws.GrouperWsConfigInApi;
import edu.internet2.middleware.grouperClient.config.GrouperUiApiTextConfig;
public class Test63main {
public static void main(String[] args) {
GrouperSession.startRootSession();
boolean defaultBoolean = false;
GrouperConfig.retrieveConfig().propertyValueBoolean("key", defaultBoolean);
GrouperConfig.retrieveConfig().propertyValueBooleanRequired("key");
GrouperConfig.retrieveConfig().propertyValueString("stringKey");
GrouperConfig.retrieveConfig().propertyValueStringRequired("stringKey");
GrouperConfig.retrieveConfig().propertyValueString("stringKey2", "defaultValue");
int defaultInt = 999;
GrouperConfig.retrieveConfig().propertyValueInt("intKey", defaultInt);
GrouperConfig.retrieveConfig().propertyValueInt("intKey");
GrouperConfig.retrieveConfig().propertyValueIntRequired("intKey");
Map<String, String> propertiesMap = GrouperHibernateConfig.retrieveConfig().propertiesMap(Pattern.compile("^something\\.([^.]+)\\..*$"));
Set<String> propertyConfigIds = GrouperLoaderConfig.retrieveConfig().propertyConfigIds(Pattern.compile("^something\\.([^.]+)\\..*$"));
GrouperUiConfigInApi.retrieveConfig().propertyValueString("key");
GrouperWsConfigInApi.retrieveConfig().propertyValueString("key");
// this will eval all jexl scripts. if you want the jexl script to show on screen use HTML for dollar: $
GrouperTextContainer.textOrNull("someUiKey");
// dont eval jexl scripts, just get the raw value
GrouperUiApiTextConfig.retrieveTextConfig().propertyValueString("someKey");
}
}
|
|
Escape chars
You can escape chars, when they are read by the property config framework, they will be unescaped
Unicode | Value |
---|
U+0024 | $ |
U+0020 | space |
U+007B | { |
U+007D | } |
U+000A | newline \n |
U+002B | + |
How it works
Each of the properties files has a base file, and a config file. For example, there is a grouper.base.properties, and a grouper.properties. Both of these are located on the classpath in the default package. e.g. WEB-INF/classes/grouper.base.properties and WEB-INF/classes/grouper.properties. Generally all the default settings will be located in the base file, and only the things that are overridden are in the grouper.properties. This is a change in Grouper v2.2+ since before that all properties are in the grouper.properties file, and the example file was used just to show what configs are possible.
...