package com.airlock.iam.application.webserver.infrastructure.deploy;

import com.airlock.iam.application.parameters.domain.model.ApiPolicyServiceParameters;
import com.airlock.iam.application.resources.infrastructure.ResourceLocator;
import com.airlock.iam.application.webserver.infrastructure.deploy.util.inlined.LegacyCookieProcessor;
import org.apache.catalina.Context;
import org.apache.catalina.startup.Tomcat;

public final class ApiPolicyServiceDeployer implements Deployer {
   private final ApiPolicyServiceParameters parameters;
   private final ResourceLocator resourceLocator;

   public ApiPolicyServiceDeployer(ApiPolicyServiceParameters parameters, ResourceLocator resourceLocator) {
      this.parameters = parameters;
      this.resourceLocator = resourceLocator;
   }

   @Override
   public Context deploy(Tomcat tomcat) {
      Context context = new IamWebAppModuleDeployer(this.parameters, this.resourceLocator).deploy(tomcat);
      ContextConfigurator.setDefaultValues(context, new LegacyCookieProcessor());
      return context;
   }
}
