/*
 * Copyright 2000-2012 JetBrains s.r.o.
 *
 * 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.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package jetbrains.buildServer.clouds.vmware.web;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jetbrains.buildServer.controllers.BaseController;
import jetbrains.buildServer.web.openapi.*;
import org.jetbrains.annotations.NotNull;
import org.springframework.web.servlet.ModelAndView;

/**
 * @author Eugene Petrenko
 */
public class VMWareToolDownloadController extends BaseController {
  private final PluginDescriptor myDescriptor;

  public VMWareToolDownloadController(final PluginDescriptor descriptor, final PagePlaces places, WebControllerManager web) {
    myDescriptor = descriptor;

    final String path = descriptor.getPluginResourcesPath("vmWareTool.html");
    new SimplePageExtension(places, PlaceId.MY_TOOLS_SECTION, descriptor.getPluginName() + "_tools", path).register();
    web.registerController(path, this);
  }

  @Override
  protected ModelAndView doHandle(@NotNull final HttpServletRequest request, @NotNull final HttpServletResponse response) throws Exception {
    ModelAndView mv = new ModelAndView(myDescriptor.getPluginResourcesPath("vmware-tool.jsp"));
    //noinspection unchecked
    mv.getModel().put("downloadUrl", myDescriptor.getPluginResourcesPath("client/cloud-vmware-client.zip"));
    return mv;
  }
}
