Package com.google.appengine.codelab

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

/**
* Copyright 2011 Google
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.appengine.codelab;

import java.util.ArrayList;
import java.util.List;

import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.PropertyProjection;
import com.google.appengine.api.datastore.Query;

/**
* This class defines the methods for basic operations of create, update & retrieve
* for the midia entity
*
* @author
*
*/
public class Midia {

  /**
   * Update or create the midia
   *
   * @param midia_name
   *          : name of the midia
   * @param midia_description
   *          : description of the Midia
   * @param midia_number
   *          : number card of the Midia
   * @param midia_bandeira
   *          : bandeira of the Midia
   * @return updated midia
   */
  public static void createOrUpdateMidia(String midia_id, String midia_name, String midia_description,String midia_number, String midia_bandeira, String cliente_id) {
    Entity midia = getSingleMidia(midia_name);
    Entity cliente = Cliente.getSingleCliente(cliente_id);
    if (midia == null) {
      midia = new Entity("Midia", midia_id);
      midia.setProperty("midia_id", midia_id);
      midia.setProperty("midia_name", midia_name);
      midia.setProperty("midia_description", midia_description);
      midia.setProperty("midia_number", midia_number);
      midia.setProperty("midia_bandeira", midia_bandeira);
      midia.setProperty("cliente_id", cliente.getProperty("cliente_id").toString());
    } else {
      if (midia_name != null && !"".equals(midia_name)) {
          midia.setProperty("midia_name", midia_name);
          }
          if (midia_description != null && !"".equals(midia_description)) {
            midia.setProperty("midia_description", midia_description);
          }
          if (midia_number != null && !"".equals(midia_number)) {
            midia.setProperty("midia_number", midia_number);
          }
          if (midia_bandeira != null && !"".equals(midia_bandeira)) {
            midia.setProperty("midia_bandeira", midia_bandeira);
          }
    }
    Util.persistEntity(midia);
  }

  public static List<String> listarBandeiras()
  {
      Query query = new Query("Midia");
      query.addProjection(new PropertyProjection("midia_bandeira", String.class));
      query.setDistinct(true);

      Iterable<Entity> iterable = DatastoreServiceFactory.getDatastoreService().prepare(query).asIterable();
      List<String> bandeiras = new ArrayList<String>();
     
      for( Entity entity : iterable ){
        bandeiras.add( (String) entity.getProperty("midia_bandeira"));
      }
     
      return bandeiras;
  }
 
  /**
   * Return all the midias
   *
   * @param kind
   *          : of kind midia
   * @return midias
   */
  public static Iterable<Entity> getAllMidia() {
      Iterable<Entity> entities = Util.listEntities("Midia", null, null);
      return entities;
      }

  /**
   * Get midia entity
   *
   * @param midia_number
   *          : number of the midia
   * @return: midia entity
   */
  public static Iterable<Entity> getMidia(String midia_id) {
      Iterable<Entity> entities = Util.listEntities("Midia", "midia_id", midia_id);
      return entities;
    }
 
  /**
   * Searches for a cliente and returns the entity as an iterable The search is
   * key based instead of query
   *
   * @param clienteName
   *          : username of the cliente
   * @return the entity with the username as key
   */
  public static Entity getSingleMidia(String midia_id) {
      Iterable<Entity> results = Util.listEntities("Midia", "midia_id", midia_id);
      List<Entity> entity = new ArrayList<Entity>();
      for(Entity e : results)
        if(e!=null)
          entity.add(e);
        if (!entity.isEmpty()) {
          return (Entity)entity.remove(0);
        }
      return null;
    }
}
TOP

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

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.