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 java.util.List;
 
 import  org.json.JSONArray;
 import  org.json.JSONException;
 import  org.json.JSONObject;
 
 import  pt.webdetails.cda.CdaEngine;
 import  pt.webdetails.cda.query.QueryOptions;
 import  pt.webdetails.cda.settings.CdaSettings;
 import  pt.webdetails.cda.settings.SettingsManager;
 //import pt.webdetails.cda.PluginHibernateException;
 //import pt.webdetails.cda.cache.CacheScheduleManager;
 

Author(s):
pdpi
 
 public abstract class Query implements Serializable
 {
 
   private static final long serialVersionUID = 1L;
 
   private static Log logger = LogFactory.getLog(Query.class);
   private long id;
   private String cdaFile;
   private String dataAccessId;
   private List<CachedParamparameters;
   private int hitCountmissCount;
 
   public Query()
   {
   }
 
 
   public Query(JSONObject jsonthrows JSONException
   {
     this();
     this. = getJsonString(json"cdaFile");
     this. = getJsonString(json"dataAccessId");
 
     this. = getJsonInt(json"hitCount");
     this. = getJsonInt(json"missCount");
 
     if (json.has("parameters"))
     {
       this. = new ArrayList<CachedParam>();
       Object params = json.get("parameters");
 
       if (params instanceof JSONArray)
       {
         for (int i = 0; i < ((JSONArray) params).length(); i++)
         {
           this..add(new CachedParam(((JSONArray) params).getJSONObject(i)));
         }
       }
       else
       {
         String[] names = JSONObject.getNames((JSONObject) params);
         if (names != null)
         {
           for (String name : names)
           {
             this..add(new CachedParam(name, ((JSONObject) params).getString(name)));
           }
         }
       }
 
     }
   }
 
 
   public long getId()
   {
     return ;
   }
 
 
   public void setId(long id)
  {
    this. = id;
  }
  public String getCdaFile()
  {
    return ;
  }
  public void setCdaFile(String cdaFile)
  {
    this. = cdaFile;
  }
  public String getDataAccessId()
  {
    return ;
  }
  public void setDataAccessId(String dataAccessId)
  {
    this. = dataAccessId;
  }
  public int getHitCount()
  {
    return ;
  }
  public void setHitCount(int hitCount)
  {
    this. = hitCount;
  }
  public int getMissCount()
  {
    return ;
  }
  public void setMissCount(int missCount)
  {
    this. = missCount;
  }
  {
    return ;
  }
  public void setParameters(List<CachedParamparameters)
  {
    this. = parameters;
  }
  public void addParameter(CachedParam p)
  {
    if ( == null)
    {
      this. = new ArrayList<CachedParam>();
    }
    this..add(p);
  }
  public void registerRequest(boolean hit)
  {
    if (hit)
    {
      setHitCount(getHitCount() + 1);
    }
    else
    {
      setMissCount(getMissCount() + 1);
    }
  }
  public JSONObject toJSON()
  {
    JSONObject output = new JSONObject();
    JSONObject params = new JSONObject();
    try
    {
      for (CachedParam param : getParameters())
      {
        params.put(param.getName(), param.getValue());
      }
    }
    catch (JSONException jse)
    {
      //CacheScheduleManager.logger.error("Failed to build parameters for query: " + getCdaFile() + "/" + getDataAccessId());
        .error("Failed to build parameters for query: " + getCdaFile() + "/" + getDataAccessId());
      return null;
    }
    try
    {
      output.put("id"getId());
      output.put("cdaFile"getCdaFile());
      output.put("dataAccessId"getDataAccessId());
      output.put("parameters"params);
      output.put("hitCount"getHitCount());
      output.put("missCount"getMissCount());
    }
    catch (JSONException jse)
    {
      //CacheScheduleManager.logger.error("Failed to build JSON for query: " + getCdaFile() + "/" + getDataAccessId());
        .error("Failed to build JSON for query: " + getCdaFile() + "/" + getDataAccessId());
      return null;
    }
    return output;
  }
  public void execute() throws Exception
  {
    try
    {
      executeQuery();
    }
    catch (Exception e)
    {
      //CacheScheduleManager.logger.error("Failed to execute query " + toString());
      .error("Failed to execute query " + toString());
    }
  }
  protected void executeQuery() throws Exception
  {
    final CdaSettings cdaSettings = CdaEngine.getInstance().getSettingsManager().parseSettingsFile(getCdaFile());
    final QueryOptions queryOptions = new QueryOptions();
    queryOptions.setDataAccessId(getDataAccessId());
    // force query to be refreshed
    queryOptions.setCacheBypass(true);
    for (Object o : getParameters())
    {
      CachedParam param = (CachedParamo;
      queryOptions.addParameter(param.getName(), param.getValue());
    }
    long start = System.currentTimeMillis();
    CdaEngine.getInstance().doQuery( cdaSettingsqueryOptions );
    long elapsed = System.currentTimeMillis() - start;
    setTimeElapsedelapsed );
    .debug"Time elapsed: " + ..formatelapsed / 1000d ) );
  }
  public abstract void setTimeElapsed(long timeElapsed);
  public abstract long getTimeElapsed();
  //XXX
  public void save() throws Exception//PluginHibernateException 
  {
    if (getId() == 0)
    {
      
//      Session s = PluginHibernateUtil.getSession();
      
//      s.save(this);
    }
  }
  protected static String getJsonString(JSONObject jsonString expr)
  {
    try
    {
      return json.getString(expr);
    }
    catch (Exception e)
    {
      return "";
    }
  }
  protected static int getJsonInt(JSONObject jsonString expr)
  {
    try
    {
      return json.getInt(expr);
    }
    catch (Exception e)
    {
      return 0;
    }
  }
  protected static Date getJsonDate(JSONObject jsonString expr)
  {
    try
    {
      return new Date(json.getLong(expr));
    }
    catch (Exception e)
    {
      return new Date(0);
    }
  }
  protected static boolean getJsonBoolean(JSONObject jsonString expr)
  {
    try
    {
      return json.getBoolean(expr);
    }
    catch (Exception e)
    {
      return false;
    }
  }
New to GrepCode? Check out our FAQ X