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