Package com.google.appengine.codelab

Source Code of com.google.appengine.codelab.UserStory08Servlet

package com.google.appengine.codelab;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

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

import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.Query;
import com.google.appengine.api.datastore.Query.CompositeFilterOperator;
import com.google.appengine.api.datastore.Query.Filter;
import com.google.appengine.api.datastore.Query.FilterOperator;
import com.google.appengine.api.datastore.Query.FilterPredicate;

@SuppressWarnings("serial")
public class UserStory08Servlet extends BaseServlet {
 
  public void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    super.doGet(req, resp);
  }
 
  private static List<String> fieldAsList(String kind, String propertyName, boolean distinct) {
    List<String> result = new ArrayList<String>();
    Query query = new Query(kind);
    for (Entity e : Util.getDatastoreServiceInstance().prepare(query).asIterable()) {
      if (distinct) {
        if (!result.contains(e.getProperty(propertyName).toString().toUpperCase())) {
          result.add(e.getProperty(propertyName).toString().toUpperCase());
        }
      } else {
        result.add(e.getProperty(propertyName).toString());
      }
    }
    return result;
  }
 
  public static List<String> getFraudeFormaDeteccao(boolean distinct) {
    return fieldAsList("Fraude", "fraude_forma_deteccao", distinct);
  }
 
  public static List<String> getFraudeType(boolean distinct) {
    return fieldAsList("Fraude", "fraude_type", distinct);
  }
 
  public static List<String> getTransType(boolean distinct) {
    return fieldAsList("Transacao", "trans_type", distinct);
  }
 
  public static List<Entity> getFraudes(String fraude_type, String fraude_forma_deteccao,
      String data_ini, String data_fin, String trans_type) {
    DatastoreService ds = Util.getDatastoreServiceInstance();
    List<Entity> result = new ArrayList<Entity>();
    List<Filter> filter = new ArrayList<Filter>();
    Query query = new Query("Fraude");
    if (fraude_type != "") {
      filter.add(new FilterPredicate("fraude_type", FilterOperator.EQUAL, fraude_type));
    }
    if (fraude_forma_deteccao != "") {
      filter.add(new FilterPredicate("fraude_forma_deteccao", FilterOperator.EQUAL,
          fraude_forma_deteccao));
    }
    if (data_ini != "") {
      filter.add(new FilterPredicate("fraude_data_deteccao",
          FilterOperator.GREATER_THAN_OR_EQUAL, data_ini));
    }
    if (data_fin != "") {
      filter.add(new FilterPredicate("fraude_data_deteccao",
          FilterOperator.LESS_THAN_OR_EQUAL, data_fin));
    }
    if (filter.size() > 0) {
      query.setFilter(filter.size() == 1 ? filter.get(0) : CompositeFilterOperator.and(
          filter));
    }
    for (Entity fraude : ds.prepare(query).asIterable()) {
      if (trans_type != "") {
        filter.clear();
        filter.add(new FilterPredicate("trans_id", FilterOperator.EQUAL,
            fraude.getProperty("trans_id").toString()));
        filter.add(new FilterPredicate("trans_type", FilterOperator.EQUAL,
            trans_type));
        query = new Query("Transacao");
        query.setFilter(CompositeFilterOperator.and(filter));
        Entity trans = ds.prepare(query).asSingleEntity();
        if (trans == null) {
          continue;
        }
      }
      result.add(fraude);
    }
    return result;
  }
 
}
TOP

Related Classes of com.google.appengine.codelab.UserStory08Servlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.