private EnvironmentInfo getEnvInfo(CallingContext context) { EnvironmentInfo info = EnvironmentInfoStorage.readByFields(); if (info == null) { info = new EnvironmentInfo(); info.setMotd("Welcome to Rapture"); info.setName("Rapture"); info.getProperties().put("BANNER_COLOR", "blue"); } return info; }
/* * This method load information in relation to existing environments. If bits are missing or don't make sense then * an error is logged and false is returned. */ private boolean loadExistingEnvInfo(AdvancedProperties adapterProperties) { environment.setUseExistingEnv(adapterProperties.getPropertyAsBool("env.use.existing", false)); environment.setExistingSessionToken( adapterProperties.getPropertyAsString("env.existing.sessionToken", null)); String envURI = adapterProperties.getPropertyAsString("env.existing.environmentURI", null); boolean allOK = true; if (environment.getUseExistingEnv()) { if (StringUtils.isEmpty(environment.getExistingSessionToken())) { logger.error( "env.use.existing is set to true but no sessionToken has been provided. This is an invalid configuration in " + adapterProperties.getPropFileNameFull()); allOK = false; } if (StringUtils.isEmpty(envURI)) { logger.error( "env.use.existing is set to true but no existing environment URI has been provided. This is an invalid configuration in " + adapterProperties.getPropFileNameFull()); allOK = false; } if (allOK) { environment.setExistingEnvURI(envURI); if (environment.getExistingEnvURI() == null) { logger.error( "The URI given in the property env.existing.environmentURI appears to be invalid in " + adapterProperties.getPropFileNameFull()); allOK = false; } } } else { if (StringUtils.notEmpty(envURI)) { environment.setExistingEnvURI(envURI); } } return allOK; }
@Override public Map<String, String> getEnvironmentProperties(CallingContext context) { EnvironmentInfo info = getEnvInfo(context); return info.getProperties(); }
@Override public String getEnvironmentName(CallingContext context) { EnvironmentInfo info = getEnvInfo(context); return info.getName(); }
@Override public void setEnvironmentProperties(CallingContext context, Map<String, String> properties) { EnvironmentInfo info = getEnvInfo(context); info.getProperties().putAll(properties); putEnvInfo(context, info); }
@Override public void setEnvironmentName(CallingContext context, String name) { EnvironmentInfo info = getEnvInfo(context); info.setName(name); putEnvInfo(context, info); }
@Override public void setMOTD(CallingContext context, String message) { EnvironmentInfo info = getEnvInfo(context); info.setMotd(message); putEnvInfo(context, info); }
/*---------------------*/ private void readConfig(String adapterFileNameWithoutExt) { this.setAdapterFileNameWithoutExt(adapterFileNameWithoutExt); // First load the environments.properies file and store its information in this class if (loadEnvironmentProperties()) { // Load Service Property File adapterProperties = getProperties(adapterFileNameWithoutExt); if (adapterProperties != null) { boolean errors = false; String serviceName = getServiceName(adapterProperties); Boolean isConsumer = getIsConsumer(adapterProperties); if ((serviceName != null) && (isConsumer != null)) // error already logged if one of these is null { environment = (isConsumer) ? new ConsumerEnvironment(serviceName) : new ProviderEnvironment(serviceName); environment.setAdapterType(isConsumer ? AdapterType.CONSUMER : AdapterType.PROVIDER); environment.setCheckACL(adapterProperties.getPropertyAsBool("adapter.checkACL", true)); // // environment.setEventsSupported(adapterProperties.getPropertyAsBool("env.events.supported", false)); environment.setRemoveEnvOnShutdown( adapterProperties.getPropertyAsBool("adapter.deleteEnvironment.onShutdown", false)); environment.setGeneratorID( adapterProperties.getPropertyAsString("adapter.generator.id", null)); environment.setEnvCreateConflictIsError( adapterProperties.getPropertyAsBool("env.create.conflictIsError", true)); environment.setCompressionEnabled( adapterProperties.getPropertyAsBool("adapter.compression.enabled", false)); // This is also set for providers in brokered environment environment.setSecureConnection(getSecureConnectionInfo(adapterProperties)); environment.setEnvironmentType(getEnvironmentType(adapterProperties, isConsumer)); errors = ((!isConsumer) && (environment.getEnvironmentType() == null)); if (!errors) { // Check if required directories exist. Create them if they don't exist. if (!checkAndCreateDir( getFullTemplateDirName(isConsumer, environment.getEnvironmentType()))) { errors = true; } } // Media Type environment.setMediaType( convertMediaType(adapterProperties.getPropertyAsString("env.mediaType", null))); if (!loadExistingEnvInfo(adapterProperties)) { errors = true; } if (!errors) // Read specific info { if (getEnvironment().getAdapterType() == AdapterType.CONSUMER) { errors = loadConsumerInfo(adapterProperties, (ConsumerEnvironment) environment); } else { errors = loadProviderInfo(adapterProperties, (ProviderEnvironment) environment); } } } else // Error already logged. { errors = true; } // If we had any errors then the environment info cannot be relied upon. So we best null it // to avoid confusion. if (errors) { environment = null; } } } }