JobController.java :  » Media » projectopenfarm » openfarmmanager » manager » web » controller » job » Java Open Source

Java Open Source » Media » projectopenfarm 
projectopenfarm » openfarmmanager » manager » web » controller » job » JobController.java
/**
 * Copyright (c) 2009 - 2010 - OpenFARM
 * Licence: MIT
 *
 * @Author Filipe Martins
 * @Date 11-May-2010 
 */
package openfarmmanager.manager.web.controller.job;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import openfarmmanager.manager.jobmonitoring.ManagerJobMonitor;
import openfarmmanager.manager.web.controller.SpringSubManager;
import openfarmmanager.manager.web.controller.job.jobs.JobMode;
import openfarmmanager.manager.web.controller.job.jobs.JobModeFactory;
import openfarmmanager.manager.web.processor.XmlInputProcessor;
import openfarmmanager.metadata.handling.IGResultSet;
import openfarmmanager.util.logging.LogManagerUtil;
import openfarmtools.interpreter.exceptions.OpenFarmException;

import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.springframework.web.servlet.ModelAndView;

public class JobController extends SpringSubManager
{
  private static final Logger log = LogManagerUtil.getLogger(JobController.class);
  
  @Override
  public ModelAndView doStuff(HttpServletRequest request,  HttpServletResponse response) throws OpenFarmException
  {    
    ModelAndView mv = new ModelAndView("job");  
    
    Document doc = (Document)this.getProcessedObjectMap().get(XmlInputProcessor.class);    
    
    JobMode jobMode = JobModeFactory.getJobMode(doc, ManagerJobMonitor.getMonitor());
          
    //now parse the action and check what is it supposed to do
    jobMode.writeToFile();
              
    if(jobMode instanceof IGResultSet && !((IGResultSet)jobMode).isJobFinished())    
    {
      log.info("Job Controller received result for job file: " + ((IGResultSet)jobMode).getResultSet().getMetaBean().getVideoFile());
      this.getMemHandler().incomingResultsHandler((IGResultSet)jobMode);        
    }
    else if(jobMode instanceof IGResultSet && ((IGResultSet)jobMode).isJobFinished())          
    {      
      try
      {
        this.getMemHandler().saveAllMemory();
        log.info("Saved job file:"+((IGResultSet)jobMode).getResultSet().getMetaBean().getVideoFile()+" to cache.");
      } catch (IOException e)
      {
        e.printStackTrace();
        throw new OpenFarmException(e.getMessage());
      }      
    }    
    
  
    if(doc == null)
      request.setAttribute("success", new Boolean(false));
    else              
      request.setAttribute("success", new Boolean(true));      
      
    return mv;
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.