package com.vst.webapp.action;
import com.vst.model.BuildingObject;
import com.vst.service.BuildingObjectManager;
import com.vst.util.FileHelper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.Blob;
/**
* Created by IntelliJ IDEA.
* User: ALEXEI
* Date: 03.11.2017
* Time: 14:53:17
* To change this template use File | Settings | File Templates.
*/
public class WatchTechnicalTaskController implements Controller {
private transient final Log log = LogFactory.getLog(UserController.class);
private BuildingObjectManager buildingObjectManager = null;
public void setBuildingObjectManager(BuildingObjectManager buildingObjectManager) {
this.buildingObjectManager = buildingObjectManager;
}
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response)
throws Exception {
String objectId = request.getParameter("objectId");
BuildingObject buildingObject = buildingObjectManager.getBuildingObject(objectId);
if (buildingObject.getWayToTechnicalTask() != null) {
File file = new File(FileHelper.getCurrentPath(request) + buildingObject.getWayToTechnicalTask());
if (file.exists()) {
file.delete();
}
file.createNewFile();
FileOutputStream fileOutputStream = new FileOutputStream(FileHelper.getCurrentPath(request) + buildingObject.getWayToTechnicalTask());
Blob blob = buildingObject.getTechnicalTask();
byte[] bufer = new byte[62000];
InputStream inputStream = blob.getBinaryStream();
while (inputStream.read(bufer) != -1) {
fileOutputStream.write(bufer);
}
inputStream.close();
fileOutputStream.close();
return new ModelAndView("redirect:" + buildingObject.getWayToTechnicalTask());
}
return new ModelAndView("redirect:noTZ.doc");
}
}