From 88b7c82bc99976d31fa0d0b70b886f69ccc86643 Mon Sep 17 00:00:00 2001 From: Tyler Ouyang Date: Thu, 29 Feb 2024 18:09:21 -0800 Subject: [PATCH 1/4] Add spr config --- .spr.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .spr.yml diff --git a/.spr.yml b/.spr.yml new file mode 100644 index 0000000000..61aaa7ff34 --- /dev/null +++ b/.spr.yml @@ -0,0 +1,10 @@ +requireChecks: true +requireApproval: true +githubHost: github.com +githubRepoOwner: pinterest +githubRepoName: teletraan +githubRemote: origin +githubBranch: master +mergeMethod: squash +mergeQueue: false +forceFetchTags: false \ No newline at end of file From e1108a08b72d29b195fa2faf30b73c86d82066e8 Mon Sep 17 00:00:00 2001 From: Tyler Ouyang Date: Thu, 29 Feb 2024 17:52:06 -0800 Subject: [PATCH 2/4] Improve docker workflow for local development --- deploy-service/.dockerignore | 1 + deploy-service/Dockerfile.dev | 12 +++++------- deploy-service/teletraanservice/Dockerfile | 6 ------ deploy-service/teletraanservice/bin/run.sh | 2 ++ 4 files changed, 8 insertions(+), 13 deletions(-) create mode 100644 deploy-service/.dockerignore delete mode 100644 deploy-service/teletraanservice/Dockerfile diff --git a/deploy-service/.dockerignore b/deploy-service/.dockerignore new file mode 100644 index 0000000000..f2a4093411 --- /dev/null +++ b/deploy-service/.dockerignore @@ -0,0 +1 @@ +**/target \ No newline at end of file diff --git a/deploy-service/Dockerfile.dev b/deploy-service/Dockerfile.dev index a6ae2b6960..a04473c59b 100644 --- a/deploy-service/Dockerfile.dev +++ b/deploy-service/Dockerfile.dev @@ -2,7 +2,8 @@ FROM maven:3.8-openjdk-8-slim AS builder COPY . /deploy-service -RUN cd /deploy-service && mvn clean package -DskipTests +RUN --mount=type=cache,target=/m2 \ + cd /deploy-service && mvn package -DskipTests -Dmaven.repo.local=/m2 -Dassembly.skipAssembly=true FROM openjdk:8 @@ -11,10 +12,7 @@ ENV PROJECT_DIR=/opt/deploy-service RUN mkdir $PROJECT_DIR WORKDIR $PROJECT_DIR -COPY --from=builder /deploy-service/teletraanservice/target/teletraan-service-0.1-SNAPSHOT-bin.tar.gz $PROJECT_DIR -RUN tar zxf teletraan-service-0.1-SNAPSHOT-bin.tar.gz -COPY ./teletraanservice $PROJECT_DIR/teletraanservice +COPY --from=builder /deploy-service/teletraanservice/target $PROJECT_DIR/teletraanservice +COPY teletraanservice/bin $PROJECT_DIR/teletraanservice/bin -# Default command to run service, do not override it unless for staging run. -# Use "docker logs ID" to view stdout and stderr -CMD ["scripts/run_in_container.sh"] +CMD ["teletraanservice/bin/run.sh", "-c", "teletraanservice/bin/server.yaml"] \ No newline at end of file diff --git a/deploy-service/teletraanservice/Dockerfile b/deploy-service/teletraanservice/Dockerfile deleted file mode 100644 index 68a5f83de4..0000000000 --- a/deploy-service/teletraanservice/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM openjdk:8 - -ENV PROJECT_DIR=/opt/deploy-service - -RUN mkdir $PROJECT_DIR -WORKDIR $PROJECT_DIR diff --git a/deploy-service/teletraanservice/bin/run.sh b/deploy-service/teletraanservice/bin/run.sh index e3decc4486..f6313eb0cf 100755 --- a/deploy-service/teletraanservice/bin/run.sh +++ b/deploy-service/teletraanservice/bin/run.sh @@ -48,6 +48,8 @@ function server_start { com.pinterest.teletraan.TeletraanService \ server ${CONFIG_FILE}" + echo $OPTS + if [ "$1" == "FOREGROUND" ] then ${JAVA_CMD} ${OPTS} From 06290b842ebf1894e0c0cf7160e50e26c1447da6 Mon Sep 17 00:00:00 2001 From: Tyler Ouyang Date: Thu, 29 Feb 2024 17:58:50 -0800 Subject: [PATCH 3/4] Dropwizard migration --- deploy-service/common/pom.xml | 88 +---------- deploy-service/pom.xml | 44 +++++- deploy-service/teletraanservice/pom.xml | 37 +---- .../com/pinterest/teletraan/ConfigHelper.java | 2 +- .../teletraan/TeletraanAgentService.java | 14 +- .../pinterest/teletraan/TeletraanService.java | 149 +++++------------- .../TeletraanServiceConfiguration.java | 12 -- .../pinterest/teletraan/TeletraanWorker.java | 12 +- .../pinterest/teletraan/resource/Agents.java | 2 +- .../pinterest/teletraan/resource/Builds.java | 6 +- .../pinterest/teletraan/resource/Commits.java | 3 +- .../teletraan/resource/DeployCandidates.java | 2 +- .../teletraan/resource/DeployConstraints.java | 2 +- .../pinterest/teletraan/resource/Deploys.java | 2 +- .../teletraan/resource/EnvAgentConfigs.java | 6 +- .../teletraan/resource/EnvAgents.java | 2 +- .../teletraan/resource/EnvAlarms.java | 6 +- .../teletraan/resource/EnvAlerts.java | 5 +- .../teletraan/resource/EnvCapacities.java | 6 +- .../teletraan/resource/EnvDeploys.java | 7 +- .../teletraan/resource/EnvGroupRoles.java | 10 +- .../teletraan/resource/EnvHistory.java | 3 +- .../teletraan/resource/EnvHostTags.java | 2 +- .../teletraan/resource/EnvHosts.java | 2 +- .../teletraan/resource/EnvMetrics.java | 2 +- .../teletraan/resource/EnvPromotes.java | 5 +- .../teletraan/resource/EnvScriptConfigs.java | 6 +- .../teletraan/resource/EnvStages.java | 2 +- .../teletraan/resource/EnvTokenRoles.java | 8 +- .../teletraan/resource/EnvUserRoles.java | 10 +- .../teletraan/resource/EnvWebHooks.java | 6 +- .../teletraan/resource/Environs.java | 6 +- .../teletraan/resource/GroupRoles.java | 8 +- .../pinterest/teletraan/resource/Groups.java | 3 +- .../pinterest/teletraan/resource/Hosts.java | 2 +- .../pinterest/teletraan/resource/Hotfixs.java | 9 +- .../pinterest/teletraan/resource/Pings.java | 2 +- .../pinterest/teletraan/resource/Ratings.java | 9 +- .../teletraan/resource/Schedules.java | 2 +- .../teletraan/resource/SystemGroupRoles.java | 7 +- .../teletraan/resource/SystemTokenRoles.java | 6 +- .../teletraan/resource/SystemUserRoles.java | 8 +- .../pinterest/teletraan/resource/Systems.java | 3 +- .../pinterest/teletraan/resource/Tags.java | 6 +- .../teletraan/resource/TokenRoles.java | 7 +- .../teletraan/resource/UserRoles.java | 8 +- .../teletraan/resource/EnvPromotesTest.java | 4 +- deploy-service/universal/pom.xml | 30 +--- 48 files changed, 174 insertions(+), 409 deletions(-) diff --git a/deploy-service/common/pom.xml b/deploy-service/common/pom.xml index 056c8261b2..7bfc60789b 100644 --- a/deploy-service/common/pom.xml +++ b/deploy-service/common/pom.xml @@ -51,56 +51,8 @@ 1.6.9 - com.fasterxml.jackson.dataformat - jackson-dataformat-yaml - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider - - - org.apache.commons - commons-lang3 - - - org.javassist - javassist - - - com.fasterxml.jackson.core - jackson-annotations - - - com.google.guava - guava - - - org.slf4j - slf4j-api - - - com.fasterxml.jackson.module - jackson-module-jaxb-annotations - - - com.fasterxml.jackson.datatype - jackson-datatype-joda - - - com.fasterxml.jackson.core - jackson-annotations - - - com.fasterxml.jackson.core - jackson-core - - - com.fasterxml.jackson.core - jackson-databind - - - org.glassfish.jersey.containers - jersey-container-servlet-core + javax.validation + validation-api @@ -199,40 +151,13 @@ slack-api-client 1.11.0 - - org.hibernate - hibernate-validator - 5.3.6.Final - com.fasterxml.jackson.module jackson-module-afterburner - 2.9.9 com.fasterxml.jackson.core jackson-databind - 2.10.0 - - - com.fasterxml.jackson.core - jackson-core - - - com.fasterxml.jackson.core - jackson-annotations - - - - - com.fasterxml.jackson.core - jackson-core - 2.10.0 - - - com.fasterxml.jackson.core - jackson-annotations - 2.10.0 org.mockito @@ -279,6 +204,10 @@ metrics-core ${dropwizard.metrics.version} + + io.dropwizard + dropwizard-validation + io.jsonwebtoken jjwt-jackson @@ -289,10 +218,5 @@ org.quartz-scheduler quartz - - io.dropwizard - dropwizard-validation - ${dropwizard.version} - \ No newline at end of file diff --git a/deploy-service/pom.xml b/deploy-service/pom.xml index 12284f2a01..b89cb21f2e 100644 --- a/deploy-service/pom.xml +++ b/deploy-service/pom.xml @@ -1,5 +1,7 @@ - + 4.0.0 com.pinterest.teletraan teletraan @@ -14,7 +16,7 @@ UTF-8 UTF-8 1.11.3 - 1.3.29 + 2.1.11 5.10.1 @@ -43,6 +45,13 @@ quartz 2.3.2 + + io.dropwizard + dropwizard-dependencies + ${dropwizard.version} + pom + import + @@ -76,26 +85,51 @@ jacoco-maven-plugin 0.8.9 + + org.apache.maven.plugins + maven-compiler-plugin + 3.12.1 + org.apache.maven.plugins maven-dependency-plugin - 3.5.0 + 3.6.1 org.apache.maven.plugins maven-assembly-plugin - 3.4.2 + 3.6.0 org.apache.maven.plugins maven-source-plugin - 2.1.2 + 3.3.0 + + + org.apache.maven.plugins + maven-jar-plugin + 3.3.0 + + + org.apache.maven.plugins + maven-resources-plugin + 3.3.1 + + + org.apache.maven.plugins + maven-clean-plugin + 3.3.2 org.apache.maven.plugins maven-surefire-plugin 3.2.5 + + org.apache.maven.plugins + maven-install-plugin + 3.1.1 + diff --git a/deploy-service/teletraanservice/pom.xml b/deploy-service/teletraanservice/pom.xml index f0e36115bb..577ab5072d 100644 --- a/deploy-service/teletraanservice/pom.xml +++ b/deploy-service/teletraanservice/pom.xml @@ -1,7 +1,7 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 teletraan-service @@ -19,45 +19,20 @@ UTF-8 UTF-8 true - 1.7.3 io.dropwizard - dropwizard-auth - ${dropwizard.version} - - - io.dropwizard - dropwizard-json-logging - ${dropwizard.version} + dropwizard-core io.dropwizard - dropwizard-jackson - ${dropwizard.version} + dropwizard-auth io.dropwizard - dropwizard-core - - - org.hibernate.validator - hibernate-validator - - - ${dropwizard.version} - - - io.dropwizard.modules - dropwizard-health - ${dropwizard.health.version} - - - org.hibernate - hibernate-validator - 5.4.1.Final + dropwizard-json-logging com.pinterest.teletraan @@ -199,4 +174,4 @@ - + \ No newline at end of file diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/ConfigHelper.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/ConfigHelper.java index 57a6c2f753..59f35c0d03 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/ConfigHelper.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/ConfigHelper.java @@ -201,7 +201,7 @@ public static TeletraanServiceContext setupContext(TeletraanServiceConfiguration if (configuration.getAwsFactory() != null) { context.setBuildEventPublisher(new EventBridgePublisher(configuration.getAwsFactory().buildEventBridgeClient(), configuration.getAwsFactory().getEventBridgeEventBusName())); - + } if (configuration.getAccountAllowList() != null) { diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanAgentService.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanAgentService.java index 23a90911dd..57e1c25a4e 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanAgentService.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanAgentService.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -21,8 +21,6 @@ import io.dropwizard.setup.Environment; import io.dropwizard.configuration.EnvironmentVariableSubstitutor; import io.dropwizard.configuration.SubstitutingSourceProvider; -import io.dropwizard.health.conf.HealthConfiguration; -import io.dropwizard.health.core.HealthCheckBundle; import io.dropwizard.setup.Bootstrap; public class TeletraanAgentService extends Application { @@ -39,13 +37,7 @@ public void initialize(Bootstrap bootstrap) { new EnvironmentVariableSubstitutor(false) ) ); - bootstrap.addBundle(new HealthCheckBundle() { - @Override - protected HealthConfiguration getHealthConfiguration(final TeletraanServiceConfiguration configuration) { - return configuration.getHealthConfiguration(); - } - }); - } + } @Override public void run(TeletraanServiceConfiguration configuration, Environment environment) throws Exception { diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanService.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanService.java index 892d6e65b9..d3007f425c 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanService.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanService.java @@ -22,8 +22,6 @@ import io.dropwizard.Application; import io.dropwizard.configuration.EnvironmentVariableSubstitutor; import io.dropwizard.configuration.SubstitutingSourceProvider; -import io.dropwizard.health.conf.HealthConfiguration; -import io.dropwizard.health.core.HealthCheckBundle; import io.dropwizard.jersey.jackson.JsonProcessingExceptionMapper; import io.dropwizard.jersey.validation.JerseyViolationExceptionMapper; import io.dropwizard.setup.Bootstrap; @@ -32,16 +30,12 @@ import io.swagger.jaxrs.listing.ApiListingResource; import io.swagger.jaxrs.listing.SwaggerSerializers; import org.eclipse.jetty.servlets.CrossOriginFilter; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.util.EnumSet; import javax.servlet.DispatcherType; import javax.servlet.FilterRegistration; public class TeletraanService extends Application { - private static final Logger LOG = LoggerFactory.getLogger(TeletraanService.class); - @Override public String getName() { return "teletraan-service"; @@ -55,12 +49,6 @@ public void initialize(Bootstrap bootstrap) { new EnvironmentVariableSubstitutor(false) ) ); - bootstrap.addBundle(new HealthCheckBundle() { - @Override - protected HealthConfiguration getHealthConfiguration(final TeletraanServiceConfiguration configuration) { - return configuration.getHealthConfiguration(); - } - }); } @Override @@ -68,105 +56,44 @@ public void run(TeletraanServiceConfiguration configuration, Environment environ TeletraanServiceContext context = ConfigHelper.setupContext(configuration); environment.jersey().register(configuration.getAuthenticationFactory().create(context)); - - Builds builds = new Builds(context); - environment.jersey().register(builds); - - Commits commits = new Commits(context); - environment.jersey().register(commits); - - Deploys deploys = new Deploys(context); - environment.jersey().register(deploys); - - Agents agents = new Agents(context); - environment.jersey().register(agents); - - EnvAgentConfigs envAdvancedConfigs = new EnvAgentConfigs(context); - environment.jersey().register(envAdvancedConfigs); - - EnvAgents envAgents = new EnvAgents(context); - environment.jersey().register(envAgents); - - EnvAlarms envAlarms = new EnvAlarms(context); - environment.jersey().register(envAlarms); - - EnvDeploys envDeploys = new EnvDeploys(context); - environment.jersey().register(envDeploys); - - EnvCapacities envCapacitys = new EnvCapacities(context); - environment.jersey().register(envCapacitys); - - Environs envs = new Environs(context); - environment.jersey().register(envs); - - EnvStages envStages = new EnvStages(context); - environment.jersey().register(envStages); - - EnvMetrics envMetrics = new EnvMetrics(context); - environment.jersey().register(envMetrics); - - EnvHistory envHistory = new EnvHistory(context); - environment.jersey().register(envHistory); - - EnvPromotes envPromotes = new EnvPromotes(context); - environment.jersey().register(envPromotes); - - EnvScriptConfigs envScriptConfigs = new EnvScriptConfigs(context); - environment.jersey().register(envScriptConfigs); - - EnvTokenRoles envTokenRoles = new EnvTokenRoles(context); - environment.jersey().register(envTokenRoles); - - EnvUserRoles envUserRoles = new EnvUserRoles(context); - environment.jersey().register(envUserRoles); - - EnvWebHooks envWebHooks = new EnvWebHooks(context); - environment.jersey().register(envWebHooks); - - EnvHosts envHosts = new EnvHosts(context); - environment.jersey().register(envHosts); - - EnvHostTags envHostTags = new EnvHostTags(context); - environment.jersey().register(envHostTags); - - DeployConstraints deployConstraints = new DeployConstraints(context); - environment.jersey().register(deployConstraints); - - Hotfixs hotfixes = new Hotfixs(context); - environment.jersey().register(hotfixes); - - Ratings ratings = new Ratings(context); - environment.jersey().register(ratings); - - SystemGroupRoles systemGroups = new SystemGroupRoles(context); - environment.jersey().register(systemGroups); - - EnvGroupRoles envGroups = new EnvGroupRoles(context); - environment.jersey().register(envGroups); - - Hosts hosts = new Hosts(context); - environment.jersey().register(hosts); - - Systems systems = new Systems(context); - environment.jersey().register(systems); + environment.jersey().register(context); + + environment.jersey().register(Builds.class); + environment.jersey().register(Commits.class); + environment.jersey().register(Deploys.class); + environment.jersey().register(Agents.class); + environment.jersey().register(EnvAgentConfigs.class); + environment.jersey().register(EnvAgents.class); + environment.jersey().register(EnvAlarms.class); + environment.jersey().register(EnvDeploys.class); + environment.jersey().register(EnvCapacities.class); + environment.jersey().register(Environs.class); + environment.jersey().register(EnvStages.class); + environment.jersey().register(EnvMetrics.class); + environment.jersey().register(EnvHistory.class); + environment.jersey().register(EnvPromotes.class); + environment.jersey().register(EnvScriptConfigs.class); + environment.jersey().register(EnvTokenRoles.class); + environment.jersey().register(EnvUserRoles.class); + environment.jersey().register(EnvWebHooks.class); + environment.jersey().register(EnvHosts.class); + environment.jersey().register(EnvHostTags.class); + environment.jersey().register(DeployConstraints.class); + environment.jersey().register(Hotfixs.class); + environment.jersey().register(Ratings.class); + environment.jersey().register(SystemGroupRoles.class); + environment.jersey().register(EnvGroupRoles.class); + environment.jersey().register(Hosts.class); + environment.jersey().register(Systems.class); // Support pings as well - Pings pings = new Pings(context); - environment.jersey().register(pings); - - DeployCandidates buildCandidates = new DeployCandidates(context); - environment.jersey().register(buildCandidates); - - Schedules schedules = new Schedules(context); - environment.jersey().register(schedules); - - environment.jersey().register(new Tags(context)); - - Groups groups = new Groups(context); - environment.jersey().register(groups); + environment.jersey().register(Pings.class); - EnvAlerts envAlerts = new EnvAlerts(context); - environment.jersey().register(envAlerts); + environment.jersey().register(DeployCandidates.class); + environment.jersey().register(Schedules.class); + environment.jersey().register(Tags.class); + environment.jersey().register(Groups.class); + environment.jersey().register(EnvAlerts.class); // Schedule workers if configured ConfigHelper.scheduleWorkers(configuration, context); @@ -175,14 +102,14 @@ public void run(TeletraanServiceConfiguration configuration, Environment environ // Exception handlers // Constrains validation exceptions, returns 4xx - environment.jersey().register(new JerseyViolationExceptionMapper()); + environment.jersey().register(JerseyViolationExceptionMapper.class); // Jackson Json parsing exceptions environment.jersey().register(new JsonProcessingExceptionMapper(true)); environment.jersey().register(new GenericExceptionMapper(configuration.getSystemFactory().getClientError())); // Swagger API docs generation related - environment.jersey().register(new ApiListingResource()); - environment.jersey().register(new SwaggerSerializers()); + environment.jersey().register(ApiListingResource.class); + environment.jersey().register(SwaggerSerializers.class); BeanConfig config = new BeanConfig(); config.setTitle("Teletraan API Docs"); config.setVersion("1.0.0"); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanServiceConfiguration.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanServiceConfiguration.java index 44999d831f..8343b085d2 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanServiceConfiguration.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanServiceConfiguration.java @@ -45,7 +45,6 @@ import com.pinterest.teletraan.config.WorkerConfig; import io.dropwizard.Configuration; -import io.dropwizard.health.conf.HealthConfiguration; public class TeletraanServiceConfiguration extends Configuration { @Valid @@ -117,9 +116,6 @@ public class TeletraanServiceConfiguration extends Configuration { @JsonProperty("pingrequestvalidators") private List pingRequestValidators; - @JsonProperty("health") - private HealthConfiguration healthConfiguration = new HealthConfiguration(); - @Valid private MicrometerMetricsFactory metricsFactory = new MicrometerMetricsFactory(); @@ -290,14 +286,6 @@ public void setDefaultScmTypeName(String defaultScmTypeName) { this.defaultScmTypeName = defaultScmTypeName; } - public HealthConfiguration getHealthConfiguration() { - return healthConfiguration; - } - - public void setHealthConfiguration(final HealthConfiguration healthConfiguration) { - this.healthConfiguration = healthConfiguration; - } - public AwsFactory getAwsFactory() { return awsFactory; } diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanWorker.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanWorker.java index ab3c5ab16b..10bc8dbccb 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanWorker.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/TeletraanWorker.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -20,8 +20,6 @@ import io.dropwizard.setup.Environment; import io.dropwizard.configuration.EnvironmentVariableSubstitutor; import io.dropwizard.configuration.SubstitutingSourceProvider; -import io.dropwizard.health.conf.HealthConfiguration; -import io.dropwizard.health.core.HealthCheckBundle; import io.dropwizard.setup.Bootstrap; public class TeletraanWorker extends Application { @@ -38,12 +36,6 @@ public void initialize(Bootstrap bootstrap) { new EnvironmentVariableSubstitutor(false) ) ); - bootstrap.addBundle(new HealthCheckBundle() { - @Override - protected HealthConfiguration getHealthConfiguration(final TeletraanServiceConfiguration configuration) { - return configuration.getHealthConfiguration(); - } - }); } @Override diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Agents.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Agents.java index 2e5b8ed1d2..23b32606af 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Agents.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Agents.java @@ -46,7 +46,7 @@ public class Agents { private static final Logger LOG = LoggerFactory.getLogger(Agents.class); private AgentDAO agentDAO; - public Agents(TeletraanServiceContext context) { + public Agents(@Context TeletraanServiceContext context) { agentDAO = context.getAgentDAO(); } diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Builds.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Builds.java index 0804e40f56..854512b745 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Builds.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Builds.java @@ -60,10 +60,7 @@ public class Builds { private final Authorizer authorizer; private final BuildEventPublisher buildEventPublisher; - @Context - UriInfo uriInfo; - - public Builds(TeletraanServiceContext context) { + public Builds(@Context TeletraanServiceContext context) { buildDAO = context.getBuildDAO(); tagDAO = context.getTagDAO(); sourceControlManagerProxy = context.getSourceControlManagerProxy(); @@ -182,6 +179,7 @@ public List getBuildsWithTags(@QueryParam("commit") String scmComm response = Response.class) public Response publish( @Context SecurityContext sc, + @Context UriInfo uriInfo, @ApiParam(value = "BUILD object", required = true)@Valid BuildBean buildBean) throws Exception { if (StringUtils.isEmpty(buildBean.getScm())) { buildBean.setScm(sourceControlManagerProxy.getDefaultTypeName()); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Commits.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Commits.java index 90f153089b..ec3070e71d 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Commits.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Commits.java @@ -25,6 +25,7 @@ import io.swagger.annotations.*; import javax.ws.rs.*; +import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import java.util.List; @@ -42,7 +43,7 @@ public class Commits { private final static int DEFAULT_SIZE = 100; private final SourceControlManagerProxy sourceControlManagerProxy; - public Commits(TeletraanServiceContext context) throws Exception { + public Commits(@Context TeletraanServiceContext context) throws Exception { sourceControlManagerProxy = context.getSourceControlManagerProxy(); } diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/DeployCandidates.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/DeployCandidates.java index bcf7ea3bc3..eb6a97debb 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/DeployCandidates.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/DeployCandidates.java @@ -36,7 +36,7 @@ public class DeployCandidates { private PingHandler pingHandler; private final Authorizer authorizer; - public DeployCandidates(TeletraanServiceContext context) { + public DeployCandidates(@Context TeletraanServiceContext context) { pingHandler = new PingHandler(context); authorizer = context.getAuthorizer(); } diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/DeployConstraints.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/DeployConstraints.java index eb93f2543c..e2ad2bc50a 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/DeployConstraints.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/DeployConstraints.java @@ -40,7 +40,7 @@ public class DeployConstraints { private BasicDataSource dataSource; private TeletraanServiceContext serviceContext; - public DeployConstraints(TeletraanServiceContext context) { + public DeployConstraints(@Context TeletraanServiceContext context) { serviceContext = context; deployConstraintDAO = context.getDeployConstraintDAO(); environDAO = context.getEnvironDAO(); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Deploys.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Deploys.java index d3da463c42..a907e45393 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Deploys.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Deploys.java @@ -78,7 +78,7 @@ public class Deploys { private DeployHandler deployHandler; private final Authorizer authorizer; - public Deploys(TeletraanServiceContext context) { + public Deploys(@Context TeletraanServiceContext context) { environDAO = context.getEnvironDAO(); deployDAO = context.getDeployDAO(); deployHandler = new DeployHandler(context); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAgentConfigs.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAgentConfigs.java index 8d66edb196..8737117096 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAgentConfigs.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAgentConfigs.java @@ -35,7 +35,6 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.SecurityContext; -import javax.ws.rs.core.UriInfo; import java.util.Map; @Path("/v1/envs/{envName : [a-zA-Z0-9\\-_]+}/{stageName : [a-zA-Z0-9\\-_]+}/agent_configs") @@ -49,10 +48,7 @@ public class EnvAgentConfigs { private ConfigHistoryHandler configHistoryHandler; private Authorizer authorizer; - @Context - UriInfo uriInfo; - - public EnvAgentConfigs(TeletraanServiceContext context) { + public EnvAgentConfigs(@Context TeletraanServiceContext context) { environDAO = context.getEnvironDAO(); environHandler = new EnvironHandler(context); configHistoryHandler = new ConfigHistoryHandler(context); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAgents.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAgents.java index 3806632154..c7ba89a9e1 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAgents.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAgents.java @@ -53,7 +53,7 @@ public enum CountActionType { FAILED_FIRST_DEPLOY } - public EnvAgents(TeletraanServiceContext context) { + public EnvAgents(@Context TeletraanServiceContext context) { environDAO = context.getEnvironDAO(); authorizer = context.getAuthorizer(); agentDAO = context.getAgentDAO(); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAlarms.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAlarms.java index 6553531ca4..62727a854a 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAlarms.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAlarms.java @@ -40,7 +40,6 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.SecurityContext; -import javax.ws.rs.core.UriInfo; @Path("/v1/envs/{envName : [a-zA-Z0-9\\-_]+}/{stageName : [a-zA-Z0-9\\-_]+}/alarms") @Produces(MediaType.APPLICATION_JSON) @@ -52,10 +51,7 @@ public class EnvAlarms { private ConfigHistoryHandler configHistoryHandler; private Authorizer authorizer; - @Context - UriInfo uriInfo; - - public EnvAlarms(TeletraanServiceContext context) { + public EnvAlarms(@Context TeletraanServiceContext context) { environHandler = new EnvironHandler(context); configHistoryHandler = new ConfigHistoryHandler(context); environDAO = context.getEnvironDAO(); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAlerts.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAlerts.java index 4b4662c12b..9d25b2ba16 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAlerts.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvAlerts.java @@ -57,7 +57,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.SecurityContext; -import javax.ws.rs.core.UriInfo; @Path("/v1/envs/{envName : [a-zA-Z0-9\\-_]+}/{stageName : [a-zA-Z0-9\\-_]+}/alerts") @Api("ExternalAlerts") @@ -66,8 +65,6 @@ public class EnvAlerts { private static final Logger LOG = LoggerFactory.getLogger(EnvWebHooks.class); - @Context - UriInfo uriInfo; private EnvironDAO environDAO; private DeployHandler deployHandler; @@ -77,7 +74,7 @@ public class EnvAlerts { private Map supportActions; private AlertContextBuilder alertContextBuilder; - public EnvAlerts(TeletraanServiceContext context) { + public EnvAlerts(@Context TeletraanServiceContext context) { environDAO = context.getEnvironDAO(); authorizer = context.getAuthorizer(); externalAlertFactory = context.getExternalAlertsFactory(); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvCapacities.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvCapacities.java index 0779eecb36..a07629fd53 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvCapacities.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvCapacities.java @@ -48,7 +48,6 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.SecurityContext; -import javax.ws.rs.core.UriInfo; @Path("/v1/envs/{envName : [a-zA-Z0-9\\-_]+}/{stageName : [a-zA-Z0-9\\-_]+}/capacity") @Api(tags = "Environments") @@ -57,15 +56,14 @@ public class EnvCapacities { private static final Logger LOG = LoggerFactory.getLogger(EnvCapacities.class); - @Context - UriInfo uriInfo; + private EnvironHandler environHandler; private ConfigHistoryHandler configHistoryHandler; private EnvironDAO environDAO; private GroupDAO groupDAO; private Authorizer authorizer; - public EnvCapacities(TeletraanServiceContext context) { + public EnvCapacities(@Context TeletraanServiceContext context) { environHandler = new EnvironHandler(context); configHistoryHandler = new ConfigHistoryHandler(context); environDAO = context.getEnvironDAO(); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvDeploys.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvDeploys.java index 0e0d822317..a0eb098afd 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvDeploys.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvDeploys.java @@ -69,10 +69,7 @@ public enum HostActions { private DeployHandler deployHandler; private ConfigHistoryHandler configHistoryHandler; - @Context - UriInfo uriInfo; - - public EnvDeploys(TeletraanServiceContext context) throws Exception { + public EnvDeploys(@Context TeletraanServiceContext context) throws Exception { environDAO = context.getEnvironDAO(); buildDAO = context.getBuildDAO(); deployDAO = context.getDeployDAO(); @@ -108,6 +105,7 @@ public DeployBean get( response = Response.class) public Response action( @Context SecurityContext sc, + @Context UriInfo uriInfo, @ApiParam(value = "Environment name", required = true)@PathParam("envName") String envName, @ApiParam(value = "Stage name", required = true)@PathParam("stageName") String stageName, @ApiParam(value = "ActionType enum selection", required = true)@NotNull @QueryParam("actionType") ActionType actionType, @@ -197,6 +195,7 @@ public void update( response = Response.class) public Response create( @Context SecurityContext sc, + @Context UriInfo uriInfo, @ApiParam(value = "Environment name", required = true)@PathParam("envName") String envName, @ApiParam(value = "Stage name", required = true)@PathParam("stageName") String stageName, @ApiParam(value = "Build id", required = true)@NotEmpty @QueryParam("buildId") String buildId, diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvGroupRoles.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvGroupRoles.java index 1b022fd2fd..41515d4dd8 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvGroupRoles.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvGroupRoles.java @@ -22,10 +22,7 @@ import javax.validation.Valid; import javax.ws.rs.*; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.SecurityContext; +import javax.ws.rs.core.*; import java.util.List; @@ -41,7 +38,7 @@ public class EnvGroupRoles extends GroupRoles { private static final Resource.Type RESOURCE_TYPE = Resource.Type.ENV; - public EnvGroupRoles(TeletraanServiceContext context) { + public EnvGroupRoles(@Context TeletraanServiceContext context) { super(context); } @@ -84,9 +81,10 @@ public void update(@Context SecurityContext sc, @PathParam("envName") String env notes = "Creates a new GroupRoles object for a given environment name.", response = Response.class) public Response create(@Context SecurityContext sc, + @Context UriInfo uriInfo, @ApiParam(value = "Environment name.", required = true)@PathParam("envName") String envName, @ApiParam(value = "GroupRolesBean object.", required = true)@Valid GroupRolesBean bean) throws Exception { - return super.create(sc, bean, envName, RESOURCE_TYPE); + return super.create(sc, uriInfo, bean, envName, RESOURCE_TYPE); } @DELETE diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvHistory.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvHistory.java index 8aa34ae73f..674825c8c7 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvHistory.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvHistory.java @@ -32,6 +32,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; +import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; @Path("/v1/envs/{envName : [a-zA-Z0-9\\-_]+}/{stageName : [a-zA-Z0-9\\-_]+}/history") @@ -43,7 +44,7 @@ public class EnvHistory { private final EnvironDAO environDAO; private final ConfigHistoryDAO configHistoryDAO; - public EnvHistory(TeletraanServiceContext context) { + public EnvHistory(@Context TeletraanServiceContext context) { environDAO = context.getEnvironDAO(); configHistoryDAO = context.getConfigHistoryDAO(); } diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvHostTags.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvHostTags.java index 07d493ea8b..00e64f427e 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvHostTags.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvHostTags.java @@ -40,7 +40,7 @@ public class EnvHostTags { private Authorizer authorizer; - public EnvHostTags(TeletraanServiceContext context) { + public EnvHostTags(@Context TeletraanServiceContext context) { hostDAO = context.getHostDAO(); hostTagDAO = context.getHostTagDAO(); environDAO = context.getEnvironDAO(); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvHosts.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvHosts.java index 65f427fb67..f9f6463d1f 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvHosts.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvHosts.java @@ -61,7 +61,7 @@ public class EnvHosts { private final EnvironHandler environHandler; private final ConfigHistoryHandler configHistoryHandler; - public EnvHosts(TeletraanServiceContext context) { + public EnvHosts(@Context TeletraanServiceContext context) { authorizer = context.getAuthorizer(); environDAO = context.getEnvironDAO(); hostDAO = context.getHostDAO(); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvMetrics.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvMetrics.java index f56b535f5d..f7cc961ef1 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvMetrics.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvMetrics.java @@ -49,7 +49,7 @@ public class EnvMetrics { private EnvironDAO environDAO; private Authorizer authorizer; - public EnvMetrics(TeletraanServiceContext context) { + public EnvMetrics(@Context TeletraanServiceContext context) { environDAO = context.getEnvironDAO(); environHandler = new EnvironHandler(context); configHistoryHandler = new ConfigHistoryHandler(context); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvPromotes.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvPromotes.java index 1dfdf7c889..8887ae8549 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvPromotes.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvPromotes.java @@ -36,7 +36,6 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.SecurityContext; -import javax.ws.rs.core.UriInfo; @Path("/v1/envs/{envName : [a-zA-Z0-9\\-_]+}/{stageName : [a-zA-Z0-9\\-_]+}/promotes") @Api(tags = "Environments") @@ -49,9 +48,7 @@ public class EnvPromotes { private EnvironDAO environDAO; private Authorizer authorizer; - @Context - UriInfo uriInfo; - public EnvPromotes(TeletraanServiceContext context) { + public EnvPromotes(@Context TeletraanServiceContext context) { environDAO = context.getEnvironDAO(); environHandler = new EnvironHandler(context); configHistoryHandler = new ConfigHistoryHandler(context); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvScriptConfigs.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvScriptConfigs.java index 1d8c324055..7c48f67f07 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvScriptConfigs.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvScriptConfigs.java @@ -35,7 +35,6 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.SecurityContext; -import javax.ws.rs.core.UriInfo; import java.util.Map; @Path("/v1/envs/{envName : [a-zA-Z0-9\\-_]+}/{stageName : [a-zA-Z0-9\\-_]+}/script_configs") @@ -49,10 +48,7 @@ public class EnvScriptConfigs { private ConfigHistoryHandler configHistoryHandler; private Authorizer authorizer; - @Context - UriInfo uriInfo; - - public EnvScriptConfigs(TeletraanServiceContext context) { + public EnvScriptConfigs(@Context TeletraanServiceContext context) { environDAO = context.getEnvironDAO(); environHandler = new EnvironHandler(context); configHistoryHandler = new ConfigHistoryHandler(context); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvStages.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvStages.java index 5ffaea434a..87a568b2e3 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvStages.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvStages.java @@ -65,7 +65,7 @@ public enum ActionType { private TagHandler tagHandler; private Authorizer authorizer; - public EnvStages(TeletraanServiceContext context) throws Exception { + public EnvStages(@Context TeletraanServiceContext context) throws Exception { environDAO = context.getEnvironDAO(); environHandler = new EnvironHandler(context); configHistoryHandler = new ConfigHistoryHandler(context); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvTokenRoles.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvTokenRoles.java index 352df760ba..5f02b2bec1 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvTokenRoles.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvTokenRoles.java @@ -34,10 +34,7 @@ public class EnvTokenRoles extends TokenRoles { private static final Resource.Type RESOURCE_TYPE = Resource.Type.ENV; - @Context - UriInfo uriInfo; - - public EnvTokenRoles(TeletraanServiceContext context) { + public EnvTokenRoles(@Context TeletraanServiceContext context) { super(context); } @@ -80,9 +77,10 @@ public void update(@Context SecurityContext sc, notes = "Creates an environment script token with given environment name and TokenRoles object.", response = Response.class) public Response create(@Context SecurityContext sc, + @Context UriInfo uriInfo, @ApiParam(value = "Environment name.", required = true)@PathParam("envName") String envName, @ApiParam(value = "TokenRolesBean object.", required = true)@Valid TokenRolesBean bean) throws Exception { - return super.create(sc, bean, envName, RESOURCE_TYPE); + return super.create(sc, uriInfo, bean, envName, RESOURCE_TYPE); } @DELETE diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvUserRoles.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvUserRoles.java index 0223dfec4c..c78c1441ec 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvUserRoles.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvUserRoles.java @@ -16,10 +16,8 @@ package com.pinterest.teletraan.resource; import com.pinterest.deployservice.bean.Resource; -import com.pinterest.deployservice.bean.Role; import com.pinterest.deployservice.bean.UserRolesBean; import com.pinterest.teletraan.TeletraanServiceContext; -import com.pinterest.teletraan.security.Authorizer; import io.swagger.annotations.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,10 +40,7 @@ public class EnvUserRoles extends UserRoles { private static final Resource.Type RESOURCE_TYPE = Resource.Type.ENV; private static final Logger LOG = LoggerFactory.getLogger(EnvUserRoles.class); - @Context - UriInfo uriInfo; - - public EnvUserRoles(TeletraanServiceContext context) throws Exception { + public EnvUserRoles(@Context TeletraanServiceContext context) throws Exception { super(context); } @@ -89,9 +84,10 @@ public void update(@Context SecurityContext sc, notes = "Creates a new UserRoles object for a given environment name.", response = Response.class) public Response create(@Context SecurityContext sc, + @Context UriInfo uriInfo, @ApiParam(value = "Environment name.", required = true)@PathParam("envName") String envName, @ApiParam(value = "UserRolesBean object.", required = true)@Valid UserRolesBean bean) throws Exception { - return super.create(sc, bean, envName, RESOURCE_TYPE); + return super.create(sc, uriInfo, bean, envName, RESOURCE_TYPE); } @DELETE diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvWebHooks.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvWebHooks.java index 4e04b1d4e3..805af8d566 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvWebHooks.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvWebHooks.java @@ -32,7 +32,6 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.SecurityContext; -import javax.ws.rs.core.UriInfo; @Path("/v1/envs/{envName : [a-zA-Z0-9\\-_]+}/{stageName : [a-zA-Z0-9\\-_]+}/web_hooks") @Api(tags = "Environments") @@ -45,10 +44,7 @@ public class EnvWebHooks { private ConfigHistoryHandler configHistoryHandler; private Authorizer authorizer; - @Context - UriInfo uriInfo; - - public EnvWebHooks(TeletraanServiceContext context) { + public EnvWebHooks(@Context TeletraanServiceContext context) { environDAO = context.getEnvironDAO(); environHandler = new EnvironHandler(context); configHistoryHandler = new ConfigHistoryHandler(context); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Environs.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Environs.java index 217fbb6620..8941ea2faa 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Environs.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Environs.java @@ -72,10 +72,7 @@ public enum ActionType { private UserRolesDAO userRolesDAO; private final Authorizer authorizer; - @Context - UriInfo uriInfo; - - public Environs(TeletraanServiceContext context) throws Exception { + public Environs(@Context TeletraanServiceContext context) throws Exception { environDAO = context.getEnvironDAO(); environHandler = new EnvironHandler(context); tagHandler = new EnvTagHandler(context); @@ -149,6 +146,7 @@ public List getAll( response = Response.class) public Response create( @Context SecurityContext sc, + @Context UriInfo uriInfo, @ApiParam(value = "Environemnt object to create in database", required = true)@Valid EnvironBean environBean) throws Exception { String operator = sc.getUserPrincipal().getName(); String envName = environBean.getEnv_name(); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/GroupRoles.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/GroupRoles.java index 8e3ef4757f..20f484b3dc 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/GroupRoles.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/GroupRoles.java @@ -30,9 +30,6 @@ public abstract class GroupRoles { private final GroupRolesDAO groupRolesDAO; private final Authorizer authorizer; - @Context - UriInfo uriInfo; - public GroupRoles(TeletraanServiceContext context) { groupRolesDAO = context.getGroupRolesDAO(); authorizer = context.getAuthorizer(); @@ -54,7 +51,10 @@ public void update(SecurityContext sc, GroupRolesBean bean, String groupName, groupRolesDAO.update(bean, groupName, resourceId, resourceType); } - public Response create(SecurityContext sc, GroupRolesBean bean, String resourceId, + public Response create(SecurityContext sc, + UriInfo uriInfo, + GroupRolesBean bean, + String resourceId, Resource.Type resourceType) throws Exception { authorizer.authorize(sc, new Resource(resourceId, resourceType), Role.ADMIN); bean.setResource_id(resourceId); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Groups.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Groups.java index 71254db508..c75d412e02 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Groups.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Groups.java @@ -26,6 +26,7 @@ import javax.validation.constraints.NotNull; import javax.ws.rs.*; +import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @@ -52,7 +53,7 @@ public enum HostInfoActionType { private EnvironDAO environDAO; private HostDAO hostDAO; - public Groups(TeletraanServiceContext context) { + public Groups(@Context TeletraanServiceContext context) { environDAO = context.getEnvironDAO(); hostDAO = context.getHostDAO(); } diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Hosts.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Hosts.java index a1e6b54932..90e328f645 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Hosts.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Hosts.java @@ -50,7 +50,7 @@ public class Hosts { private HostDAO hostDAO; private EnvironHandler environHandler; - public Hosts(TeletraanServiceContext context) { + public Hosts(@Context TeletraanServiceContext context) { hostDAO = context.getHostDAO(); environHandler = new EnvironHandler(context); } diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Hotfixs.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Hotfixs.java index 5efd9d8eef..00624bca84 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Hotfixs.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Hotfixs.java @@ -45,10 +45,7 @@ public class Hotfixs { private HotfixDAO hotfixDAO; private final Authorizer authorizer; - @Context - UriInfo uriInfo; - - public Hotfixs(TeletraanServiceContext context) { + public Hotfixs(@Context TeletraanServiceContext context) { deployDAO = context.getDeployDAO(); buildDAO = context.getBuildDAO(); hotfixDAO = context.getHotfixDAO(); @@ -95,7 +92,9 @@ private String generateJobName(String repo) { } @POST - public Response create(@Context SecurityContext sc, @Valid HotfixBean hotfixBean) throws Exception { + public Response create(@Context SecurityContext sc, + @Context UriInfo uriInfo, + @Valid HotfixBean hotfixBean) throws Exception { authorizer.authorize(sc, new Resource(hotfixBean.getEnv_name(), Resource.Type.ENV), Role.OPERATOR); String hotfixId = CommonUtils.getBase64UUID(); hotfixBean.setId(hotfixId); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Pings.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Pings.java index 68f6153d1d..3d746c9c73 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Pings.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Pings.java @@ -49,7 +49,7 @@ public class Pings { private PingHandler pingHandler; private final Authorizer authorizer; - public Pings(TeletraanServiceContext context) { + public Pings(@Context TeletraanServiceContext context) { pingHandler = new PingHandler(context); authorizer = context.getAuthorizer(); } diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Ratings.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Ratings.java index 0b79d1dfaa..9e17d9cd7d 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Ratings.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Ratings.java @@ -34,10 +34,7 @@ public class Ratings { private final static int DEFAULT_SIZE = 30; private RatingsHandler ratingsHandler; - @Context - UriInfo uriInfo; - - public Ratings(TeletraanServiceContext context) { + public Ratings(@Context TeletraanServiceContext context) { ratingsHandler = new RatingsHandler(context); } @@ -48,7 +45,9 @@ public List getAll(@QueryParam("pageIndex") Optional pageIn } @POST - public Response create(@Valid RatingBean bean, @Context SecurityContext sc) throws Exception { + public Response create(@Valid RatingBean bean, + @Context SecurityContext sc, + @Context UriInfo uriInfo) throws Exception { bean.setAuthor(sc.getUserPrincipal().getName()); bean.setTimestamp(System.currentTimeMillis()); String id = ratingsHandler.createRating(bean); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Schedules.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Schedules.java index e734ec7434..70416fc123 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Schedules.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Schedules.java @@ -43,7 +43,7 @@ public class Schedules { private EnvironDAO environDAO; - public Schedules(TeletraanServiceContext context) { + public Schedules(@Context TeletraanServiceContext context) { scheduleDAO = context.getScheduleDAO(); environDAO = context.getEnvironDAO(); } diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/SystemGroupRoles.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/SystemGroupRoles.java index 25f7602132..c5596b37a2 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/SystemGroupRoles.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/SystemGroupRoles.java @@ -24,6 +24,7 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.SecurityContext; +import javax.ws.rs.core.UriInfo; import java.util.List; @Path("/v1/system/group_roles") @@ -33,7 +34,7 @@ public class SystemGroupRoles extends GroupRoles { private final static Resource.Type RESOURCE_TYPE = Resource.Type.SYSTEM; private final static String RESOURCE_ID = Resource.ALL; - public SystemGroupRoles(TeletraanServiceContext context) { + public SystemGroupRoles(@Context TeletraanServiceContext context) { super(context); } @@ -56,8 +57,8 @@ public void update(@Context SecurityContext sc, @PathParam("groupName") String g } @POST - public void create(@Context SecurityContext sc, @Valid GroupRolesBean bean) throws Exception { - super.create(sc, bean, RESOURCE_ID, RESOURCE_TYPE); + public void create(@Context SecurityContext sc, @Context UriInfo uriInfo, @Valid GroupRolesBean bean) throws Exception { + super.create(sc, uriInfo, bean, RESOURCE_ID, RESOURCE_TYPE); } @DELETE diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/SystemTokenRoles.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/SystemTokenRoles.java index 12b7654a6f..f80bf6b703 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/SystemTokenRoles.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/SystemTokenRoles.java @@ -38,9 +38,6 @@ public class SystemTokenRoles extends TokenRoles { private static final Resource.Type RESOURCE_TYPE = Resource.Type.SYSTEM; private final static String RESOURCE_ID = Resource.ALL; - @Context - UriInfo uriInfo; - public SystemTokenRoles(TeletraanServiceContext context) { super(context); } @@ -82,8 +79,9 @@ public void update(@Context SecurityContext sc, notes = "Creates a specified system wide TokenRole and returns a Response object", response = Response.class) public Response create(@Context SecurityContext sc, + @Context UriInfo uriInfo, @ApiParam(value = "TokenRolesBean object.", required = true)@Valid TokenRolesBean bean) throws Exception { - return super.create(sc, bean, RESOURCE_ID, RESOURCE_TYPE); + return super.create(sc, uriInfo, bean, RESOURCE_ID, RESOURCE_TYPE); } @DELETE diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/SystemUserRoles.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/SystemUserRoles.java index f34d721416..6707dd616e 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/SystemUserRoles.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/SystemUserRoles.java @@ -24,10 +24,7 @@ import javax.validation.Valid; import javax.ws.rs.*; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; +import javax.ws.rs.core.*; import java.util.List; @Path("/v1/system/user_roles") @@ -80,9 +77,10 @@ public void update(@Context SecurityContext sc, notes = "Creates a system level user for given UserRoles object", response = Response.class) public Response create(@Context SecurityContext sc, + @Context UriInfo uriInfo, @ApiParam(value = "UserRolesBean object.", required = true) @Valid UserRolesBean bean) throws Exception { - return super.create(sc, bean, RESOURCE_ID, RESOURCE_TYPE); + return super.create(sc, uriInfo, bean, RESOURCE_ID, RESOURCE_TYPE); } @DELETE diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Systems.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Systems.java index d2836219b5..99ffc42fb0 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Systems.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Systems.java @@ -36,6 +36,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.QueryParam; @@ -56,7 +57,7 @@ public class Systems { private HostDAO hostDAO; private ChatManager chatManager; - public Systems(TeletraanServiceContext context) { + public Systems(@Context TeletraanServiceContext context) { sourceControlManagerProxy = context.getSourceControlManagerProxy(); chatManager = context.getChatManager(); hostDAO = context.getHostDAO(); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Tags.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Tags.java index a306701d60..6f88b92ac5 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Tags.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Tags.java @@ -67,15 +67,12 @@ public class Tags { private final TagDAO tagDAO; private final HashMap handlers = new HashMap<>(); - public Tags(TeletraanServiceContext context) + public Tags(@Context TeletraanServiceContext context) { this.tagDAO = context.getTagDAO(); this.handlers.put(TagTargetType.BUILD, new BuildTagHandler(context)); } - @Context - UriInfo uriInfo; - @GET @Path("/{id : [a-zA-Z0-9\\-_]+}") @ApiOperation( @@ -153,6 +150,7 @@ public List getByValue(@PathParam("value") String value) notes = "Create a tag on an object", response = Response.class) public Response create(@Context SecurityContext sc, + @Context UriInfo uriInfo, @ApiParam(value = "Tag object", required = true) @Valid TagBean tag) throws Exception { String operator = sc.getUserPrincipal().getName(); TagBean retEntity = new TagBean(); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/TokenRoles.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/TokenRoles.java index 15a6d2ad5b..c5b981ef49 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/TokenRoles.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/TokenRoles.java @@ -35,9 +35,6 @@ public abstract class TokenRoles { private final TokenRolesDAO tokenRolesDAO; private final Authorizer authorizer; - @Context - UriInfo uriInfo; - public TokenRoles(TeletraanServiceContext context) { tokenRolesDAO = context.getTokenRolesDAO(); authorizer = context.getAuthorizer(); @@ -63,7 +60,9 @@ public void update(SecurityContext sc, TokenRolesBean bean, String scriptName, scriptName, resourceId, bean); } - public Response create(SecurityContext sc, TokenRolesBean bean, String resourceId, + public Response create(SecurityContext sc, + UriInfo uriInfo, + TokenRolesBean bean, String resourceId, Resource.Type resourceType) throws Exception { authorizer.authorize(sc, new Resource(resourceId, resourceType), Role.ADMIN); String token = CommonUtils.getBase64UUID(); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/UserRoles.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/UserRoles.java index 24326fb0f2..527f84391f 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/UserRoles.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/UserRoles.java @@ -33,9 +33,6 @@ public abstract class UserRoles { private final UserRolesDAO userRolesDAO; private final Authorizer authorizer; - @Context - UriInfo uriInfo; - public UserRoles(TeletraanServiceContext context) { userRolesDAO = context.getUserRolesDAO(); authorizer = context.getAuthorizer(); @@ -59,7 +56,10 @@ public void update(SecurityContext sc, UserRolesBean bean, String userName, userName, resourceId, bean); } - public Response create(SecurityContext sc, UserRolesBean bean, String resourceId, + public Response create(SecurityContext sc, + UriInfo uriInfo, + UserRolesBean bean, + String resourceId, Resource.Type resourceType) throws Exception { authorizer.authorize(sc, new Resource(resourceId, resourceType), Role.ADMIN); bean.setResource_id(resourceId); diff --git a/deploy-service/teletraanservice/src/test/java/com/pinterest/teletraan/resource/EnvPromotesTest.java b/deploy-service/teletraanservice/src/test/java/com/pinterest/teletraan/resource/EnvPromotesTest.java index 5622a9efcc..bcf73dd2c2 100644 --- a/deploy-service/teletraanservice/src/test/java/com/pinterest/teletraan/resource/EnvPromotesTest.java +++ b/deploy-service/teletraanservice/src/test/java/com/pinterest/teletraan/resource/EnvPromotesTest.java @@ -2,12 +2,14 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; +import static org.mockito.Mockito.mock; import java.util.stream.Stream; import javax.ws.rs.client.Entity; import javax.ws.rs.core.Response; +import com.pinterest.deployservice.dao.EnvironDAO; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -29,7 +31,7 @@ public class EnvPromotesTest { static { TeletraanServiceContext context = new TeletraanServiceContext(); - + context.setEnvironDAO(mock(EnvironDAO.class)); EXT = ResourceExtension.builder() .addResource(new EnvPromotes(context)) .build(); diff --git a/deploy-service/universal/pom.xml b/deploy-service/universal/pom.xml index ff15487d85..adfd33161d 100644 --- a/deploy-service/universal/pom.xml +++ b/deploy-service/universal/pom.xml @@ -80,7 +80,7 @@ org.junit.jupiter junit-jupiter-api - 5.9.1 + 5.10.1 test @@ -113,34 +113,6 @@ - - - maven-clean-plugin - 3.1.0 - - - - maven-resources-plugin - 3.0.2 - - - maven-compiler-plugin - 3.8.0 - - - maven-surefire-plugin - 2.22.1 - - - maven-jar-plugin - 3.0.2 - - - maven-install-plugin - 2.5.2 - maven-deploy-plugin 2.8.2 From b7bf0b98fb9a07575f1cb78904c051624600cd02 Mon Sep 17 00:00:00 2001 From: Tyler Ouyang Date: Thu, 29 Feb 2024 18:07:20 -0800 Subject: [PATCH 4/4] Remove deprecated org.hibernate.validator.constraints.NotEmpty --- .../pinterest/deployservice/bean/BuildBean.java | 10 ++++++---- .../deployservice/bean/ChatMessageBean.java | 6 +++--- .../pinterest/deployservice/bean/EnvironBean.java | 2 +- .../deployservice/bean/GroupRolesBean.java | 6 +++--- .../pinterest/deployservice/bean/HotfixBean.java | 10 ++++++---- .../deployservice/bean/PingRequestBean.java | 14 +++++++------- .../deployservice/bean/TokenRolesBean.java | 6 +++--- .../deployservice/bean/UserRolesBean.java | 6 +++--- .../pinterest/deployservice/bean/WebHookBean.java | 7 ++++--- .../pinterest/teletraan/config/HipchatFactory.java | 7 ++++--- .../pinterest/teletraan/config/SlackFactory.java | 9 +++++---- .../config/TokenAuthenticationFactory.java | 4 +++- .../pinterest/teletraan/config/WorkerConfig.java | 6 +++--- .../teletraan/config/ZKMysqlDataSourceFactory.java | 8 ++++---- .../teletraan/resource/EnvCapacities.java | 6 +++--- .../pinterest/teletraan/resource/EnvDeploys.java | 10 +++++----- .../pinterest/teletraan/resource/EnvStages.java | 2 +- .../com/pinterest/teletraan/resource/Environs.java | 2 +- 18 files changed, 65 insertions(+), 56 deletions(-) diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/BuildBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/BuildBean.java index fefc37b0d1..3f74174181 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/BuildBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/BuildBean.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -15,9 +15,11 @@ */ package com.pinterest.deployservice.bean; -import com.fasterxml.jackson.annotation.JsonProperty; +import javax.validation.constraints.NotEmpty; + import org.apache.commons.lang.builder.ReflectionToStringBuilder; -import org.hibernate.validator.constraints.NotEmpty; + +import com.fasterxml.jackson.annotation.JsonProperty; /** * Keep the bean and table in sync diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/ChatMessageBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/ChatMessageBean.java index def4a09082..f02bc22933 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/ChatMessageBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/ChatMessageBean.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -15,7 +15,7 @@ */ package com.pinterest.deployservice.bean; -import org.hibernate.validator.constraints.NotEmpty; +import javax.validation.constraints.NotEmpty; public class ChatMessageBean { diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/EnvironBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/EnvironBean.java index fa29bca053..84eda76cd5 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/EnvironBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/EnvironBean.java @@ -19,10 +19,10 @@ import org.apache.commons.lang.builder.ReflectionToStringBuilder; import org.apache.commons.lang.StringEscapeUtils; -import org.hibernate.validator.constraints.NotEmpty; import org.hibernate.validator.constraints.Range; import java.io.Serializable; +import javax.validation.constraints.NotEmpty; /** * Keep the bean and table in sync diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/GroupRolesBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/GroupRolesBean.java index dd132b8fc7..d79da30410 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/GroupRolesBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/GroupRolesBean.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -17,8 +17,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.commons.lang.builder.ReflectionToStringBuilder; -import org.hibernate.validator.constraints.NotEmpty; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; /** diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/HotfixBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/HotfixBean.java index 78ebc379a3..f46f147a82 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/HotfixBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/HotfixBean.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -15,9 +15,11 @@ */ package com.pinterest.deployservice.bean; -import com.fasterxml.jackson.annotation.JsonProperty; +import javax.validation.constraints.NotEmpty; + import org.apache.commons.lang.builder.ReflectionToStringBuilder; -import org.hibernate.validator.constraints.NotEmpty; + +import com.fasterxml.jackson.annotation.JsonProperty; /** * Keep the bean and table in sync diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/PingRequestBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/PingRequestBean.java index c9da46c6cc..4c78350e6b 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/PingRequestBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/PingRequestBean.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -15,13 +15,13 @@ */ package com.pinterest.deployservice.bean; -import org.apache.commons.lang.builder.ReflectionToStringBuilder; -import org.hibernate.validator.constraints.NotEmpty; - import java.util.List; -import java.util.Map; import java.util.Set; +import javax.validation.constraints.NotEmpty; + +import org.apache.commons.lang.builder.ReflectionToStringBuilder; + public class PingRequestBean { @NotEmpty private String hostId; @@ -109,7 +109,7 @@ public EnvType getStageType() { public void setStageType(EnvType stageType) { this.stageType = stageType; } - + public Set getGroups() { return groups; } diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/TokenRolesBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/TokenRolesBean.java index db7b362e20..8ddc65a8fc 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/TokenRolesBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/TokenRolesBean.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -17,8 +17,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.commons.lang.builder.ReflectionToStringBuilder; -import org.hibernate.validator.constraints.NotEmpty; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; /** diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/UserRolesBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/UserRolesBean.java index 01c9a99c32..2a7055584a 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/UserRolesBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/UserRolesBean.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -17,8 +17,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.commons.lang.builder.ReflectionToStringBuilder; -import org.hibernate.validator.constraints.NotEmpty; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; /** diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/WebHookBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/WebHookBean.java index d8c9be4889..83bc83c801 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/WebHookBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/WebHookBean.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -15,8 +15,9 @@ */ package com.pinterest.deployservice.bean; +import javax.validation.constraints.NotEmpty; + import org.apache.commons.lang.builder.ReflectionToStringBuilder; -import org.hibernate.validator.constraints.NotEmpty; public class WebHookBean { @NotEmpty diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/HipchatFactory.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/HipchatFactory.java index 7438cc76bf..48ad02966a 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/HipchatFactory.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/HipchatFactory.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -15,11 +15,12 @@ */ package com.pinterest.teletraan.config; +import javax.validation.constraints.NotEmpty; + import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeName; import com.pinterest.deployservice.chat.ChatManager; import com.pinterest.deployservice.chat.HipChatManager; -import org.hibernate.validator.constraints.NotEmpty; @JsonTypeName("hipchat") public class HipchatFactory implements ChatFactory { diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/SlackFactory.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/SlackFactory.java index eb2c296c52..f60515871b 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/SlackFactory.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/SlackFactory.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -15,13 +15,14 @@ */ package com.pinterest.teletraan.config; +import javax.validation.constraints.NotEmpty; + import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeName; import com.pinterest.deployservice.chat.ChatManager; import com.pinterest.deployservice.chat.SlackChatManager; -import org.hibernate.validator.constraints.NotEmpty; -import com.pinterest.deployservice.common.KeyReaderFactory; import com.pinterest.deployservice.common.KeyReader; +import com.pinterest.deployservice.common.KeyReaderFactory; @JsonTypeName("slack") public class SlackFactory implements ChatFactory { diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/TokenAuthenticationFactory.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/TokenAuthenticationFactory.java index 149d56b1e8..b2296c1635 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/TokenAuthenticationFactory.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/TokenAuthenticationFactory.java @@ -15,12 +15,14 @@ */ package com.pinterest.teletraan.config; + + import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeName; import com.pinterest.teletraan.TeletraanServiceContext; import com.pinterest.teletraan.security.TokenAuthFilter; -import org.hibernate.validator.constraints.NotEmpty; +import javax.validation.constraints.NotEmpty; import javax.ws.rs.container.ContainerRequestFilter; @JsonTypeName("token") diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/WorkerConfig.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/WorkerConfig.java index 6bf8389bef..2858616c8c 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/WorkerConfig.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/WorkerConfig.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -16,7 +16,7 @@ package com.pinterest.teletraan.config; import com.fasterxml.jackson.annotation.JsonProperty; -import org.hibernate.validator.constraints.NotEmpty; +import javax.validation.constraints.NotEmpty; import java.util.Map; diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/ZKMysqlDataSourceFactory.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/ZKMysqlDataSourceFactory.java index 5062db438a..d416a1a0f2 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/ZKMysqlDataSourceFactory.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/config/ZKMysqlDataSourceFactory.java @@ -22,7 +22,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeName; import org.apache.commons.dbcp.BasicDataSource; -import org.hibernate.validator.constraints.NotEmpty; +import javax.validation.constraints.NotEmpty; import org.apache.commons.codec.digest.DigestUtils; import com.google.common.collect.ImmutableMap; import java.util.Map; @@ -133,17 +133,17 @@ public BasicDataSource build() throws Exception { .put("clientCertificateKeyStorePassword", this.clientPasswd ) .build(); host = this.replicaSet; - // we don't need the replica number in the host; + // we don't need the replica number in the host; // if in the configuration we input the number in the replica, we have to remove it. if (host.length() > 3) { replicaSetNumber = replicaSet.substring(replicaSet.length() - 3); if (StringUtils.isNumeric(replicaSetNumber)) { host = replicaSet.substring(0, replicaSet.length() - 3); - } + } } else { throw new Exception(String.format("ReplicaSet is: %s which is not correct. It should be the replicaset name and replicaset number.", host)); } - host += this.domainSuffix; + host += this.domainSuffix; String userName = getUserNameFromSpiffeId(replicaSetNumber); return DatabaseUtil.createMysqlDataSource(host, port, userName, password, pool, proxyConnectionProps); } else { diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvCapacities.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvCapacities.java index a07629fd53..32bb54efae 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvCapacities.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvCapacities.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -30,7 +30,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; -import org.hibernate.validator.constraints.NotEmpty; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvDeploys.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvDeploys.java index a0eb098afd..16bce6bde2 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvDeploys.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvDeploys.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -34,7 +34,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import org.hibernate.validator.constraints.NotEmpty; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -155,7 +155,7 @@ public Response action( response = Response.class) public void update( @Context SecurityContext sc, - @ApiParam(value = "Environment name", required = true)@PathParam("envName") String envName, + @ApiParam(value = "Environment name", required = true)@PathParam("envName") String envName, @ApiParam(value = "Stage name", required = true)@PathParam("stageName") String stageName, @ApiParam(value = "Agent object to update with", required = true)@NotNull @QueryParam("actionType") HostActions actionType, @NotNull List hostIds) throws Exception { @@ -169,7 +169,7 @@ public void update( agentDAO.updateMultiple(hostIds, envBean.getEnv_id(), agentBean); LOG.info("Succesfully paused hosts in environment {} and stage {}", envName, stageName); break; - case RESET: + case RESET: agentBean.setState(AgentState.RESET); agentBean.setLast_update(System.currentTimeMillis()); agentDAO.updateMultiple(hostIds, envBean.getEnv_id(), agentBean); diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvStages.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvStages.java index 87a568b2e3..44cbe8ff8e 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvStages.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvStages.java @@ -35,7 +35,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import org.hibernate.validator.constraints.NotEmpty; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Environs.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Environs.java index 8941ea2faa..6750a83067 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Environs.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/Environs.java @@ -35,7 +35,7 @@ import io.swagger.annotations.*; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.hibernate.validator.constraints.NotEmpty; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory;