tdraier     2005/11/09 12:14:16 CET

  Added files:
    core/src/java/org/jahia/services/importexport 
                                                  BackgroundJob.java 
                                                  ImportJob.java 
  Log:
  new files for processing server
  
  Revision  Changes    Path
  1.1       +63 -0     
jahia/core/src/java/org/jahia/services/importexport/BackgroundJob.java (new)
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/importexport/BackgroundJob.java?rev=1.1&content-type=text/plain
  1.1       +44 -0     
jahia/core/src/java/org/jahia/services/importexport/ImportJob.java (new)
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/importexport/ImportJob.java?rev=1.1&content-type=text/plain
  
  
  
  Index: BackgroundJob.java
  ====================================================================
  package org.jahia.services.importexport;
  
  import org.quartz.*;
  import org.jahia.params.ProcessingContext;
  import org.jahia.bin.Jahia;
  import org.jahia.registries.ServicesRegistry;
  import org.jahia.services.sites.JahiaSite;
  import org.jahia.services.usermanager.JahiaUser;
  import org.jahia.services.pages.ContentPage;
  import org.jahia.exceptions.JahiaException;
  import org.apache.log4j.Logger;
  
  import java.util.Locale;
  
  /**
   * Created by IntelliJ IDEA.
   * Date: 25 oct. 2005 - 16:34:07
   *
   * @author toto
   * @version $Id: BackgroundJob.java,v 1.1 2005/11/09 11:14:16 tdraier Exp $
   */
  public abstract class BackgroundJob implements StatefulJob {
      private final static Logger logger = 
Logger.getLogger(BackgroundJob.class);
  
      public static JobDetail createJahiaJob(Class jobClass, ProcessingContext 
jParams) {
          JobDetail jobDetail = new 
JobDetail("Background"+System.currentTimeMillis(), Scheduler.DEFAULT_GROUP, 
jobClass);
          JobDataMap jobDataMap = new JobDataMap();
          jobDataMap.put("sitekey", jParams.getSiteKey());
          jobDataMap.put("userkey", jParams.getUser().getUserKey());
          jobDataMap.put("pid", Integer.toString(jParams.getPageID()));
          jobDataMap.put("currentLocale", jParams.getCurrentLocale());
          jobDetail.setJobDataMap(jobDataMap);
          return jobDetail;
      }
  
      public void execute(JobExecutionContext jobExecutionContext) throws 
JobExecutionException {
          logger.info("Background job started");
  
          JobDataMap data = jobExecutionContext.getJobDetail().getJobDataMap();
  
          try {
              JahiaSite site = 
ServicesRegistry.getInstance().getJahiaSitesService().getSiteByKey((String) 
data.get("sitekey"));
              JahiaUser user = 
ServicesRegistry.getInstance().getJahiaUserManagerService().lookupUser((String) 
data.get("userkey"));
              ContentPage page = ContentPage.getPage(Integer.parseInt((String) 
data.get("pid")));
  
              ProcessingContext context = new 
ProcessingContext(Jahia.getSettings(), System.currentTimeMillis(), site, user, 
page);
              context.setCurrentLocale((Locale) data.get("currentLocale"));
  
              Jahia.setThreadParamBean(context);
              executeJahiaJob(jobExecutionContext, context);
          } catch (Exception e) {
              logger.error("Cannot execute job", e);
              throw new JobExecutionException(e);
          }
          logger.info("Background job ended");
      }
  
      public abstract void executeJahiaJob(JobExecutionContext 
jobExecutionContext, ProcessingContext processingContext)
          throws Exception;
  }
  /**
   *$Log $
   */
  
  
  Index: ImportJob.java
  ====================================================================
  package org.jahia.services.importexport;
  
  import org.quartz.StatefulJob;
  import org.quartz.JobExecutionContext;
  import org.quartz.JobExecutionException;
  import org.quartz.JobDataMap;
  import org.jahia.params.ProcessingContext;
  import org.jahia.params.ParamBean;
  import org.jahia.bin.Jahia;
  import org.jahia.registries.ServicesRegistry;
  import org.jahia.tools.files.FileUpload;
  import org.jahia.content.ContentObject;
  import org.jahia.content.ObjectKey;
  import org.jahia.exceptions.JahiaException;
  
  import java.io.FileInputStream;
  import java.io.IOException;
  import java.io.File;
  import java.util.Vector;
  import java.util.Enumeration;
  
  /**
   * Created by IntelliJ IDEA.
   * Date: 25 oct. 2005 - 16:34:07
   *
   * @author toto
   * @version $Id: ImportJob.java,v 1.1 2005/11/09 11:14:16 tdraier Exp $
   */
  public class ImportJob extends BackgroundJob {
      public void executeJahiaJob(JobExecutionContext jobExecutionContext, 
ProcessingContext context) throws Exception {
          JobDataMap jobDataMap = 
jobExecutionContext.getJobDetail().getJobDataMap();
          File file = (File) jobDataMap.get("file");
          String contentType = (String) jobDataMap.get("contentType");
          ContentObject target = 
ContentObject.getContentObjectInstance(ObjectKey.getInstance((String) 
jobDataMap.get("target")));
          if (contentType.indexOf("zip")>0) {
              
ServicesRegistry.getInstance().getImportExportService().importFile(target, 
context, new FileInputStream(file));
          } else if ("text/xml".equals(contentType) || 
"application/xml".equals(contentType)) {
              
ServicesRegistry.getInstance().getImportExportService().importDocument(target, 
context.getLocale().toString(), context, new FileInputStream(file), false);
          }
      }
  }
  /**
   *$Log $
   */

Reply via email to