public JavaScriptPostProcessor(PlatformConfig platformConfig) { Objects.requireNonNull(platformConfig); Path defaultScript = platformConfig.getConfigDir().resolve(SCRIPT_NAME); printToStdOut = platformConfig.getOptionalModuleConfig("javaScriptPostProcessor") .map(config -> config.getBooleanProperty("printToStdOut", DEFAULT_PRINT_TO_STD_OUT)) .orElse(DEFAULT_PRINT_TO_STD_OUT); script = platformConfig.getOptionalModuleConfig("javaScriptPostProcessor") .map(config -> config.getPathProperty("script", defaultScript)) .orElse(defaultScript); }
private static Path getConfiguredScript(PlatformConfig platformConfig) { Objects.requireNonNull(platformConfig); Path defaultScript = platformConfig.getConfigDir().resolve(DEFAULT_SCRIPT_NAME); return platformConfig.getOptionalModuleConfig("groovy-post-processor") .map(config -> config.getPathProperty("script", defaultScript)) .orElse(defaultScript); }
public static LoadFlowResultsCompletionParameters load(PlatformConfig platformConfig) { Objects.requireNonNull(platformConfig); return platformConfig.getOptionalModuleConfig("loadflow-results-completion-parameters") .map(config -> { float epsilonX = config.getFloatProperty("epsilon-x", LoadFlowResultsCompletionParameters.EPSILON_X_DEFAULT); boolean applyReactanceCorrection = config.getBooleanProperty("apply-reactance-correction", LoadFlowResultsCompletionParameters.APPLY_REACTANCE_CORRECTION_DEFAULT); return new LoadFlowResultsCompletionParameters(epsilonX, applyReactanceCorrection); }) .orElseGet(() -> new LoadFlowResultsCompletionParameters(LoadFlowResultsCompletionParameters.EPSILON_X_DEFAULT, LoadFlowResultsCompletionParameters.APPLY_REACTANCE_CORRECTION_DEFAULT)); }
public static ExternalSecurityAnalysisConfig load(PlatformConfig platformConfig) { return platformConfig.getOptionalModuleConfig("external-security-analysis-config") .map(module -> { boolean debug = module.getBooleanProperty("debug", DEFAULT_DEBUG); String itoolsCommand = module.getStringProperty("itools-command", DEFAULT_COMMAND); return new ExternalSecurityAnalysisConfig(debug, itoolsCommand); }) .orElseGet(() -> new ExternalSecurityAnalysisConfig(DEFAULT_DEBUG, DEFAULT_COMMAND)); } }
public static void setProxy() { try { URLConnection connection = new URL("http://www.google.com").openConnection(); connection.setConnectTimeout(1000); connection.connect(); } catch (IOException e) { // get proxy config PlatformConfig.defaultConfig().getOptionalModuleConfig("proxy") .ifPresent(proxyConfig -> { String host = proxyConfig.getStringProperty("host"); int port = proxyConfig.getIntProperty("port"); String user = proxyConfig.getStringProperty("user"); String password = proxyConfig.getStringProperty("password"); LOGGER.info("Set proxy host={}, port={}, user={}", host, port, user); System.getProperties().put("http.proxyHost", host); System.getProperties().put("http.proxyPort", Integer.toString(port)); Authenticator.setDefault( new Authenticator() { @Override public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(user, password.toCharArray()); } } ); }); } } }
public static SecurityConfig load(PlatformConfig platformConfig) { Objects.requireNonNull(platformConfig); return platformConfig.getOptionalModuleConfig("security") .map(securityConfig -> { long tokenValidity = securityConfig.getOptionalLongProperty("token-validity") .orElse(DEFAULT_TOKEN_VALIDITY); boolean skipTokenValidityCheck = securityConfig.getOptionalBooleanProperty("skip-token-validity-check") .orElse(DEFAULT_SKIP_TOKEN_VALIDITY_CHECK); return new SecurityConfig(tokenValidity, skipTokenValidityCheck); }) .orElseGet(() -> new SecurityConfig(DEFAULT_TOKEN_VALIDITY, DEFAULT_SKIP_TOKEN_VALIDITY_CHECK) ); }
public static List<LocalAppFileSystemConfig> load(PlatformConfig platformConfig) { return platformConfig.getOptionalModuleConfig("local-app-file-system") .map(moduleConfig -> { List<LocalAppFileSystemConfig> configs = new ArrayList<>(); load(moduleConfig, OptionalInt.empty(), configs); int maxAdditionalDriveCount = moduleConfig.getIntProperty("max-additional-drive-count", 0); for (int i = 0; i < maxAdditionalDriveCount; i++) { load(moduleConfig, OptionalInt.of(i), configs); } return configs; }) .orElseGet(() -> { List<LocalAppFileSystemConfig> configs = new ArrayList<>(); for (Path rootDir : FileSystems.getDefault().getRootDirectories()) { if (Files.isDirectory(rootDir)) { configs.add(new LocalAppFileSystemConfig(rootDir.toString(), false, rootDir)); } } return configs; }); }
public static DefaultComputationManagerConfig load(PlatformConfig platformConfig) { Objects.requireNonNull(platformConfig); DefaultComputationManagerConfig config = platformConfig.getOptionalModuleConfig("default-computation-manager") .map(moduleConfig -> { Class<? extends ComputationManagerFactory> shortTimeExecutionComputationManagerFactoryClass = moduleConfig.getClassProperty("short-time-execution-computation-manager-factory", ComputationManagerFactory.class); Class<? extends ComputationManagerFactory> longTimeExecutionComputationManagerFactoryClass = moduleConfig.getClassProperty("long-time-execution-computation-manager-factory", ComputationManagerFactory.class, null); return new DefaultComputationManagerConfig(shortTimeExecutionComputationManagerFactoryClass, longTimeExecutionComputationManagerFactoryClass); }) .orElseGet(() -> { Class<? extends ComputationManagerFactory> shortTimeExecutionComputationManagerFactoryClass; try { shortTimeExecutionComputationManagerFactoryClass = (Class<? extends ComputationManagerFactory>) Class.forName(DEFAULT_SHORT_TIME_EXECUTION_COMPUTATION_MANAGER_FACTORY_CLASS); } catch (ClassNotFoundException e) { throw new UncheckedClassNotFoundException(e); } return new DefaultComputationManagerConfig(shortTimeExecutionComputationManagerFactoryClass, null); }); if (LOGGER.isInfoEnabled()) { LOGGER.info(config.toString()); } return config; }
static LimitViolationFilter load(PlatformConfig platformConfig) { return platformConfig.getOptionalModuleConfig("limit-violation-default-filter") .map(moduleConfig -> { LimitViolationFilter filter = new LimitViolationFilter(); filter.setViolationTypes(moduleConfig.getEnumSetProperty("violationTypes", LimitViolationType.class, DEFAULT_VIOLATION_TYPES)); filter.setMinBaseVoltage(moduleConfig.getDoubleProperty("minBaseVoltage", DEFAULT_MIN_BASE_VOLTAGE)); filter.setCountries(moduleConfig.getEnumSetProperty("countries", Country.class, DEFAULT_COUNTRIES)); return filter; }) .orElseGet(LimitViolationFilter::new); }
protected static void load(LoadFlowParameters parameters, PlatformConfig platformConfig) { Objects.requireNonNull(parameters); Objects.requireNonNull(platformConfig); platformConfig.getOptionalModuleConfig("load-flow-default-parameters") .ifPresent(config -> { parameters.setVoltageInitMode(config.getEnumProperty("voltageInitMode", VoltageInitMode.class, DEFAULT_VOLTAGE_INIT_MODE)); parameters.setTransformerVoltageControlOn(config.getBooleanProperty("transformerVoltageControlOn", DEFAULT_TRANSFORMER_VOLTAGE_CONTROL_ON)); parameters.setNoGeneratorReactiveLimits(config.getBooleanProperty("noGeneratorReactiveLimits", DEFAULT_NO_GENERATOR_REACTIVE_LIMITS)); parameters.setPhaseShifterRegulationOn(config.getBooleanProperty("phaseShifterRegulationOn", DEFAULT_PHASE_SHIFTER_REGULATION_ON)); parameters.setSpecificCompatibility(config.getBooleanProperty("specificCompatibility", DEFAULT_SPECIFIC_COMPATIBILITY)); }); }
public static List<MapDbAppFileSystemConfig> load(PlatformConfig platformConfig) { return platformConfig.getOptionalModuleConfig("mapdb-app-file-system") .map(moduleConfig -> { List<MapDbAppFileSystemConfig> configs = new ArrayList<>(); if (moduleConfig.hasProperty("drive-name") && moduleConfig.hasProperty("db-file")) { String driveName = moduleConfig.getStringProperty("drive-name"); boolean remotelyAccessible = moduleConfig.getBooleanProperty("remotely-accessible", DEFAULT_REMOTELY_ACCESSIBLE); Path rootDir = moduleConfig.getPathProperty("db-file"); configs.add(new MapDbAppFileSystemConfig(driveName, remotelyAccessible, rootDir)); } int maxAdditionalDriveCount = moduleConfig.getIntProperty("max-additional-drive-count", 0); for (int i = 0; i < maxAdditionalDriveCount; i++) { if (moduleConfig.hasProperty("drive-name-" + i) && moduleConfig.hasProperty("db-file-" + i)) { String driveName = moduleConfig.getStringProperty("drive-name-" + i); boolean remotelyAccessible = moduleConfig.getBooleanProperty("remotely-accessible-" + i, DEFAULT_REMOTELY_ACCESSIBLE); Path rootDir = moduleConfig.getPathProperty("db-file-" + i); configs.add(new MapDbAppFileSystemConfig(driveName, remotelyAccessible, rootDir)); } } return configs; }) .orElse(Collections.emptyList()); }
@Test public void testExtensionFromConfig() { Mockito.when(config.getOptionalModuleConfig("load-flow-default-parameters")).thenReturn(Optional.empty()); SecurityAnalysisParameters parameters = SecurityAnalysisParameters.load(config); assertEquals(1, parameters.getExtensions().size()); assertTrue(parameters.getExtensionByName("dummyExtension") instanceof DummyExtension); assertNotNull(parameters.getExtension(DummyExtension.class)); }
assertFalse(config.getOptionalModuleConfig("module2").isPresent()); assertFalse(config.getOptionalModuleConfig("module2").isPresent()); ModuleConfig module1 = config.getModuleConfig("module1"); assertEquals("a", module1.getStringProperty("s"));