@Override public String toString() { return this.getDisplayString(); }
@Override public void copyFieldsFrom(Environment<MongoDbPlatform> baseEnv) { MongoDbEnvironment env = (MongoDbEnvironment) baseEnv; super.copyFieldsFrom(baseEnv); this.connectionURI = env.connectionURI; }
@Override public DbDeployerAppContext getAppContextBuilder() { return (DbDeployerAppContext) super.getAppContextBuilder(); }
private void checkIfCleanBuildShouldProceed(Environment env, boolean noPrompt) { LOG.info("Request was made to clean the environment..."); Validate.isTrue(env.isCleanBuildAllowed(), "Clean build not allowed for this environment [" + env.getName() + "] ! Exiting..."); if (!noPrompt) { LOG.info("WARNING - This will wipe the whole environment!!! Are you sure you want to proceed? (Y/N)"); String input = this.userInputReader.readLine(null); Validate.isTrue(input.trim().equalsIgnoreCase("Y"), "User did not enter Y. Hence, we will exit from here."); } } }
private void enrichSchemas(Environment dbEnv, ImmutableHierarchicalConfiguration envCfg, final Platform systemDbPlatform) { dbEnv.setName(envCfg.getString("name")); dbEnv.setDefaultUserId(envCfg.getString("defaultUserId")); dbEnv.setDefaultPassword(envCfg.getString("defaultPassword")); throw new IllegalArgumentException("Environment " + dbEnv.getName() + " has includeSchemas [" + schemasToInclude + "] and excludeSchemas [" + schemasToExclude + "] defined; please only specify one of them"); } else { throw new IllegalArgumentException("Schema override definition value " + schema + " is not defined in the schema list " + schemaNames + " for environment " + dbEnv.getName()); dbEnv.setSchemaNameOverrides(schemaNameOverrides.toImmutable()); dbEnv.setSchemas(HashingStrategySets.mutable.ofAll(HashingStrategies.fromFunction(new Function<Schema, String>() { @Override public String valueOf(Schema schema) {
protected FileSourceParams getFileSourceParams(boolean baseline) { return FileSourceParams.newBuilder() .setSchemaNames(env.getSchemaNames()) .setFiles(env.getSourceDirs()) .setBaseline(baseline) .setAcceptedExtensions(env.getAcceptedExtensions()) .setChangeTypes(env.getPlatform().getChangeTypes()) .setDefaultSourceEncoding(env.getSourceEncoding()) .setLegacyDirectoryStructureEnabled(env.isLegacyDirectoryStructureEnabled()) .build(); }
@Override public String valueOf(EnvType envType) { return envType.getName(); } })
private DeployerAppContext createRuntimeContext(EnvType env, DeployerArgs args) { final File workDir; if (args.getWorkDir() == null) { workDir = FileUtilsCobra.createTempDir("deploy-" + env.getName()); } else { workDir = args.getWorkDir(); } LOG.info("Using working directory for env {} as: {}", env.getName(), workDir); Credential credential = this.credentialReader.getCredential(args.getDeployUserId(), args.getPassword(), args.isUseKerberosAuth(), args.getKeytabPath(), env.getDefaultUserId(), env.getDefaultPassword()); LOG.info("Running deployment as user {}", credential.getUsername()); return createRuntimeContext(env, workDir, credential); }
public void start(DeployerAppContext ctxt, DeployerArgs args) { Environment env = ctxt.getEnvironment(); LOG.info("Setting up the the environment infrastructure for {}; will {} on setup exception", env.getName(), args.isStrictSetupEnvInfra() ? "fail" : "warn"); if (args.getForceEnvSetup() != null && args.getForceEnvSetup().booleanValue()) { ctxt.setupEnvInfra(args.isStrictSetupEnvInfra(), args.getForceEnvSetup().booleanValue()); LOG.info("Now cleaning the environment " + env.getName() + ", as specified at the command line"); ctxt.cleanEnvironment(); LOG.info("Starting deployment for [" + env.getDisplayString() + "] at time [" + new Date() + "]"); MainDeployerArgs dbArgs = new MainDeployerArgs();
public PhysicalSchema getPhysicalSchema(String schema) { // do not append the suffix from the getDeployer metadata if an override is specified String prefix = Environment.this.schemaNameOverrides.containsKey(schema) ? "" : getDbSchemaPrefix(); String suffix = Environment.this.schemaNameOverrides.containsKey(schema) ? "" : getDbSchemaSuffix(); PhysicalSchema physicalSchemaTemp = PhysicalSchema.parseFromString(getPhysicalSchemaPrefixInternal(schema)); return new PhysicalSchema(prefix + physicalSchemaTemp.getPhysicalName() + suffix, physicalSchemaTemp.getSubschema()); }
private void assertTest(boolean result, String envName, final MutableSet<String> includes, final MutableSet<String> excludes) { Environment env = new Environment(); env.setName(envName); Restrictable restrictable = new Restrictable() { @Override public ImmutableList<ArtifactRestrictions> getRestrictions() { return Lists.immutable.<ArtifactRestrictions>of(new ArtifactEnvironmentRestrictions(includes, excludes)); } }; Assert.assertEquals(result, ArtifactRestrictions.apply().accept(restrictable, env)); } }
public String getPhysicalSchemaPrefixInternal(String schema) { Validate.isTrue(getAllSchemas().collect(new Function<Schema, String>() { @Override public String valueOf(Schema schema1) { return schema1.getName(); } }).contains(schema), "Schema does not exist in the environment. Requested schema: " + schema + "; available schemas: " + getSchemaNames().makeString(",")); return ObjectUtils.defaultIfNull(this.schemaNameOverrides.get(schema), schema); }
private void assertTest(boolean result, final String platformName, final MutableSet<String> includes, final MutableSet<String> excludes) { Environment env = new Environment(); Platform platform = mock(Platform.class); when(platform.getName()).thenReturn(platformName); env.setPlatform(platform); Restrictable restrictable = new Restrictable() { @Override public ImmutableList<ArtifactRestrictions> getRestrictions() { return Lists.immutable.<ArtifactRestrictions>of(new ArtifactPlatformRestrictions(includes, excludes)); } }; Assert.assertEquals(result, ArtifactRestrictions.apply().accept(restrictable, env)); } }
public ImmutableSet<PhysicalSchema> getAllPhysicalSchemas() { return this.getAllSchemas().collect(new Function<Schema, String>() { @Override public String valueOf(Schema schema1) { return schema1.getName(); } }).collect(new Function<String, PhysicalSchema>() { @Override public PhysicalSchema valueOf(String schema) { return Environment.this.getPhysicalSchema(schema); } }); }
private void enrichSchemas(Environment dbEnv, ImmutableHierarchicalConfiguration envCfg, final Platform systemDbPlatform) { dbEnv.setName(envCfg.getString("name")); dbEnv.setDefaultUserId(envCfg.getString("defaultUserId")); dbEnv.setDefaultPassword(envCfg.getString("defaultPassword")); throw new IllegalArgumentException("Environment " + dbEnv.getName() + " has includeSchemas [" + schemasToInclude + "] and excludeSchemas [" + schemasToExclude + "] defined; please only specify one of them"); } else { throw new IllegalArgumentException("Schema override definition value " + schema + " is not defined in the schema list " + schemaNames + " for environment " + dbEnv.getName()); dbEnv.setSchemaNameOverrides(schemaNameOverrides.toImmutable()); dbEnv.setSchemas(HashingStrategySets.mutable.ofAll(HashingStrategies.fromFunction(new Function<Schema, String>() { @Override public String valueOf(Schema schema) {
protected FileSourceParams getFileSourceParams(boolean baseline) { return FileSourceParams.newBuilder() .setSchemaNames(env.getSchemaNames()) .setFiles(env.getSourceDirs()) .setBaseline(baseline) .setAcceptedExtensions(env.getAcceptedExtensions()) .setChangeTypes(env.getPlatform().getChangeTypes()) .setDefaultSourceEncoding(env.getSourceEncoding()) .setLegacyDirectoryStructureEnabled(env.isLegacyDirectoryStructureEnabled()) .build(); }
@Override protected String getRestrictedValue(Environment env) { return env.getName(); } }
private DeployerAppContext createRuntimeContext(EnvType env, DeployerArgs args) { final File workDir; if (args.getWorkDir() == null) { workDir = FileUtilsCobra.createTempDir("deploy-" + env.getName()); } else { workDir = args.getWorkDir(); } LOG.info("Using working directory for env {} as: {}", env.getName(), workDir); Credential credential = this.credentialReader.getCredential(args.getDeployUserId(), args.getPassword(), args.isUseKerberosAuth(), args.getKeytabPath(), env.getDefaultUserId(), env.getDefaultPassword()); LOG.info("Running deployment as user {}", credential.getUsername()); return createRuntimeContext(env, workDir, credential); }
public PhysicalSchema getPhysicalSchema(String schema) { // do not append the suffix from the getDeployer metadata if an override is specified String prefix = Environment.this.schemaNameOverrides.containsKey(schema) ? "" : getDbSchemaPrefix(); String suffix = Environment.this.schemaNameOverrides.containsKey(schema) ? "" : getDbSchemaSuffix(); PhysicalSchema physicalSchemaTemp = PhysicalSchema.parseFromString(getPhysicalSchemaPrefixInternal(schema)); return new PhysicalSchema(prefix + physicalSchemaTemp.getPhysicalName() + suffix, physicalSchemaTemp.getSubschema()); }
public String getPhysicalSchemaPrefixInternal(String schema) { Validate.isTrue(getAllSchemas().collect(new Function<Schema, String>() { @Override public String valueOf(Schema schema1) { return schema1.getName(); } }).contains(schema), "Schema does not exist in the environment. Requested schema: " + schema + "; available schemas: " + getSchemaNames().makeString(",")); return ObjectUtils.defaultIfNull(this.schemaNameOverrides.get(schema), schema); }