Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /* This Source Code Form is subject to the terms of the Mozilla Public
   * License, v. 2.0. If a copy of the MPL was not distributed with this file,
   * You can obtain one at http://mozilla.org/MPL/2.0/. */
  
  package pt.webdetails.cda.cache;
  
  import java.util.Date;
 import  org.json.JSONException;
 import  org.json.JSONObject;
 import  org.pentaho.platform.engine.core.system.PentahoSessionHolder;
 import  org.quartz.CronExpression;

Author(s):
pdpi
 
 public class CachedQuery extends Query
 {
 
   private static final long serialVersionUID = 1L;
   
   private Date lastExecutednextExecution;
   private boolean success = true;
   private long timeElapsed;
   private String cronStringuserName;
 
 
   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));
      Logger.getLogger(CachedQuery.class.getName()).log(.nulle);
      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