Package com.casamind.adware.server.servlet.test

Source Code of com.casamind.adware.server.servlet.test.TESTDataBuilder

package com.casamind.adware.server.servlet.test;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;
import java.util.UUID;

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

import com.casamind.adware.server.dao.ObjectifyGenericDAO;
import com.casamind.adware.server.domain.Company;
import com.casamind.adware.server.domain.Product;
import com.casamind.adware.server.domain.Publisher;
import com.casamind.adware.server.domain.Resource;
import com.casamind.adware.server.domain.Slot;
import com.casamind.adware.server.domain.UserAccount;
import com.casamind.adware.shared.AccessLevels;
import com.casamind.adware.shared.AuthTypes;

@SuppressWarnings("serial")
public class TESTDataBuilder extends HttpServlet {

  public static int SLOT_DURATION_IN_MINUTES = 15;

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    SLOT_DURATION_IN_MINUTES = Integer.parseInt(getInitParameter("duration"));
    response.getWriter().println(buildTestData());
  }

  public String buildTestData() {
    String result = "";
    Random rand = new Random();
    Calendar calendar = Calendar.getInstance();
    Date start, end;
    calendar.set(Calendar.HOUR_OF_DAY, 0);
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.SECOND, 0);
    calendar.set(Calendar.MILLISECOND, 0);
    ObjectifyGenericDAO<UserAccount> userAccountDAO = new ObjectifyGenericDAO<UserAccount>(UserAccount.class);
    ObjectifyGenericDAO<Company> companyDAO = new ObjectifyGenericDAO<Company>(Company.class);
    ObjectifyGenericDAO<Publisher> publisherDAO = new ObjectifyGenericDAO<Publisher>(Publisher.class);
    ObjectifyGenericDAO<Product> productDAO = new ObjectifyGenericDAO<Product>(Product.class);
    ObjectifyGenericDAO<Resource> resourceDAO = new ObjectifyGenericDAO<Resource>(Resource.class);
    ObjectifyGenericDAO<Slot> slotDAO = new ObjectifyGenericDAO<Slot>(Slot.class);
    UserAccount admin = new UserAccount("mouncif.faqir@gmail.com", AuthTypes.GOOGLE);
    admin.setFirstname("Mouncif");
    admin.setLastname("FAQIR");
    admin.setPhone("+33607677177");
    admin.setEmail("mouncif.faqir@gmail.com");
    admin.setLastLoginOn(calendar.getTime());
    admin.setReceiveNewsLetter(true);
    admin.setReceiveNotifications(true);
    admin.setAccessLevel(AccessLevels.Administrator);
    userAccountDAO.put(admin);
    for (int i = 0; i < 2; i++) {
      Company company = new Company();
      company.setAccessLevel(AccessLevels.Company);
      company.setLogin("company" + i + "@example.com");
      company.setService(AuthTypes.GOOGLE);
      company.setUniqueId(company.getLogin() + "-" + company.getService());
      company.setLastname("Company " + i);
      company.setFirstname("");
      company.setStreet("Street adress for company " + 1);
      company.setCity("City " + i);
      company.setPhone("+212522" + (100000 + rand.nextInt(999999)));
      company.setFax("+212522" + (100000 + rand.nextInt(999999)));
      company.setMobile("+2126" + (10000000 + rand.nextInt(99999999)));
      company.setEmail("contact@company" + i + ".com");
      company.setWebsite("www.company" + i + ".com");
      company.setReceiveNewsLetter(false);
      company.setReceiveNotifications(false);
      company.setLastLoginOn(calendar.getTime());
      companyDAO.put(company);
      for (int j = 0; j < 2; j++) {
        Publisher publisher = new Publisher();
        publisher.setAccessLevel(AccessLevels.Publisher);
        publisher.setLogin("publisher" + j + "@company" + i + ".com");
        publisher.setService(AuthTypes.GOOGLE);
        publisher.setUniqueId(publisher.getLogin() + "-" + publisher.getService());
        publisher.setFirstname("Publisher");
        publisher.setLastname(j + "-" + i);
        publisher.setPhone("+212522" + (100000 + rand.nextInt(999999)));
        publisher.setEmail("publisher" + j + "@company" + i + ".com");
        ArrayList<Long> products = new ArrayList<Long>();
        ArrayList<Long> slots = new ArrayList<Long>();
        publisherDAO.put(publisher);
        publisher.setCompanyId(company.getId());
        for (int k = 0; k < 5; k++) {
          Product product = new Product();
          product.setName("Product" + k + "-" + j + "-" + i);
          product.setSlogan("Slogan");
          product.setText("Text");
          product.setLink("Link");
          productDAO.put(product);
          product.setPublisherId(publisher.getId());
          products.add(product.getId());
          for (int n = 0; n < 10; n++) {
            Resource resource = new Resource();
            resource.setFilename("resource" + n + ".jpeg");
            resource.setImageURL("https://lh3.googleusercontent.com/-hQtlZHxpmA0/SMv3w4UUqcI/AAAAAAAACAQ/nPEx0-f9L6Y/s912/DSC02207.JPG");
            resource.setUUID((UUID.randomUUID().toString()));
            resource.setProductId(product.getId());
            resourceDAO.put(resource);
          }
          productDAO.put(product);
        }
        for (int n = 0; n < 5; n++) {
          start = calendar.getTime();
          calendar.add(Calendar.HOUR, 12);
          end = calendar.getTime();
          Slot slot = new Slot(1, 10, start, end, publisher.getId());
          for (int p = 0; p < slot.getNbSlots(); p++) {
            slot.getProductIds().add(products.get(rand.nextInt(products.size())));
          }
          slot.setStatus(rand.nextInt(1));
          slotDAO.put(slot);
          slot.setOwnerId(publisher.getId());
          slots.add(slot.getId());
        }
        publisherDAO.put(publisher);
      }
      companyDAO.put(company);
    }
    result += "\n--------------------- UserAccounts ------------------------\n";
    for (UserAccount e : userAccountDAO.listAll()) {
      result += e.toString() + "\n\n";
    }
    result += "\n--------------------- Companies ------------------------\n";
    for (Company e : companyDAO.listAll()) {
      result += e.toString() + "\n\n";
    }
    result += "\n--------------------- Publishers ------------------------\n";
    for (Publisher e : publisherDAO.listAll()) {
      result += e.toString() + "\n\n";
    }
    result += "\n--------------------- Products ------------------------\n";
    for (Product e : productDAO.listAll()) {
      result += e.toString() + "\n\n";
    }
    // result +=
    // "\n--------------------- Commercials ------------------------\n";
    // for (Commercial e : commercialDAO.listAll()) {
    // result += e.toString() + "\n\n";
    // }
    // result += "\n--------------------- Slots ------------------------\n";
    // for (Slot e : slotDAO.listAll()) {
    // result += e.toString() + "\n\n";
    // }
    // result +=
    // "\n--------------------- Resources ------------------------\n";
    // for (Resource e : resourceDAO.listAll()) {
    // result += e.toString() + "\n\n";
    // }
    return result;
  }

}
TOP

Related Classes of com.casamind.adware.server.servlet.test.TESTDataBuilder

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.