Example #1
0
  public static void populateSystemPropertiesFromDefaults(final String initialProperties)
      throws IOException {
    URL initialPropertiesLocation;
    if (initialProperties == null) {
      initialPropertiesLocation = Broker.class.getClassLoader().getResource("system.properties");
    } else {
      initialPropertiesLocation = (new File(initialProperties)).toURI().toURL();
    }

    Properties props = new Properties(CommonProperties.asProperties());
    if (initialPropertiesLocation != null) {

      try (InputStream inStream = initialPropertiesLocation.openStream()) {
        props.load(inStream);
      }
    }

    Set<String> propertyNames = new HashSet<>(props.stringPropertyNames());
    propertyNames.removeAll(System.getProperties().stringPropertyNames());
    for (String propName : propertyNames) {
      System.setProperty(propName, props.getProperty(propName));
    }
  }