Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*!
  * Copyright 2002 - 2013 Webdetails, a Pentaho company.  All rights reserved.
  
  * This software was developed by Webdetails and is provided under the terms
  * of the Mozilla Public License, Version 2.0, or any later version. You may not use
  * this file except in compliance with the license. If you need a copy of the license,
  * please go to  http://mozilla.org/MPL/2.0/. The Initial Developer is Webdetails.
  *
  * Software distributed under the Mozilla Public License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or  implied. Please refer to
 * the license for the specific language governing your rights and limitations.
 */
 
 package pt.webdetails.cda.cache.scheduler;
 
 import java.util.Date;
 import  org.json.JSONException;
 import  org.json.JSONObject;
 
 import  org.quartz.CronExpression;
 
 import  pt.webdetails.cda.utils.Util;


Author(s):
pdpi
 
 public class CachedQuery extends Query
 {
 
   
   private static final Log logger = LogFactory.getLog(CachedQuery.class);
   private static final long serialVersionUID = 1L;
   private Date lastExecutednextExecution;
   private boolean success = true;
   private long timeElapsed;
   private String cronStringuserName;
 
 
   public CachedQuery(JSONObject jsonthrows JSONException
   {
     super(json);
     this. = PentahoSessionHolder.getSession().getName();
     this. = getJsonString(json"cronString");
     this. = getJsonDate(json"lastExecuted");
 
     updateNext();
   }
 
 
   CachedQuery(Query query)
   {
   }
 
 
   {
     super();
     this. = new Date(0);
   }
 
 
   public boolean isSuccess()
   {
     return ;
   }
 
 
   public void setSuccess(boolean success)
   {
     this. = success;
   }
 
 
   public Date getLastExecuted()
   {
     return ;
   }
 
 
   public Date getNextExecution()
   {
     return ;
   }
 
 
   public void setNextExecution(Date nextExecution)
   {
     this. = nextExecution;
   }
 
 
  public void setLastExecuted(Date lastExecuted)
  {
    this. = lastExecuted;
  }
  public String getCronString()
  {
    return ;
  }
  public void setCronString(String chronString)
  {
    this. = chronString;
  }
  public long getTimeElapsed()
  {
    return ;
  }
  public void setTimeElapsed(long timeElapsed)
  {
    this. = timeElapsed;
  }
  public JSONObject toJSON()
  {
    JSONObject json = super.toJSON();
    try
    {
      json.put("lastExecuted"getLastExecuted().getTime());
      json.put("nextExecution"getNextExecution().getTime());
      json.put("cronString"getCronString());
      json.put("success"isSuccess());
      json.put("timeElapsed"getTimeElapsed());
    }
    catch (JSONException ex)
    {
      .error("Failed to build JSON for query: " + getCdaFile() + "/" + getDataAccessId());
    }
    return json;
  }
  public String toString()
  {
    return getCdaFile() + "/" + getDataAccessId();
  }
  public Date updateNext()
  {
    try
    {
      CronExpression ce = new CronExpression(getCronString());
      setNextExecution(ce.getNextValidTimeAfter(new Date()));
      return getNextExecution();
    }
    catch (ParseException ex)
    {
      Logger.getLogger(CachedQuery.class.getName()).log(.nullex);
      return null;
    }
  }
  public void execute() throws Exception
  {
    try
    {
      executeQuery();
      setSuccess(true);
    }
    catch (Exception e)
    {
      .error("Failed to execute query " + toString() + " " + Util.getExceptionDescription(e));
      setSuccess(false);
    }
    finally
    {
      setLastExecuted(new Date());
      updateNext();
    }
  }


  

Returns:
the userName
  public String getUserName()
  {
    return ;
  }


  

Parameters:
userName the userName to set
  public void setUserName(String userName)
  {
    this. = userName;
  }
New to GrepCode? Check out our FAQ X