/**
   * Test case to show the usage of the geo-spatial APIs to lookup people within a given distance of
   * a reference point.
   */
  @Test
  public void exposesGeoSpatialFunctionality() {

    GeospatialIndex indexDefinition = new GeospatialIndex("address.location");
    indexDefinition.getIndexOptions().put("min", -180);
    indexDefinition.getIndexOptions().put("max", 180);

    operations.indexOps(Customer.class).ensureIndex(indexDefinition);

    Customer ollie = new Customer("Oliver", "Gierke");
    ollie.setAddress(new Address(new Point(52.52548, 13.41477)));
    ollie = repository.save(ollie);

    Point referenceLocation = new Point(52.51790, 13.41239);
    Distance oneKilometer = new Distance(1, Metrics.KILOMETERS);

    GeoResults<Customer> result =
        repository.findByAddressLocationNear(referenceLocation, oneKilometer);

    assertThat(result.getContent(), hasSize(1));

    Distance distanceToFirstStore = result.getContent().get(0).getDistance();
    assertThat(distanceToFirstStore.getMetric(), is(Metrics.KILOMETERS));
    assertThat(distanceToFirstStore.getValue(), closeTo(0.862, 0.001));
  }
  @Before
  public void setUp() {

    repository.deleteAll();

    dave = repository.save(new Customer("Dave", "Matthews"));
    oliver = repository.save(new Customer("Oliver August", "Matthews"));
    carter = repository.save(new Customer("Carter", "Beauford"));
  }
 @Override
 public Customer findCustomerById(long customerId) {
   Customer customer = customerRepository.findOne(customerId);
   if (null == customer) throw new CustomerNotFoundException(customerId);
   Hibernate.initialize(customer.getUser());
   return customer;
 }
Exemple #4
0
  public List<License> findAll() throws SQLException {
    try (Connection conn = ds.getConnection()) {
      try (PreparedStatement statement = conn.prepareStatement("SELECT * FROM License")) {
        try (ResultSet resultSet = statement.executeQuery()) {
          List<License> licenses = new ArrayList<>();
          while (resultSet.next()) {
            int productId = resultSet.getInt("productId");
            Product productById = productRepository.getProductById(productId);
            int releaseId = resultSet.getInt("releaseId");
            Release release = null;
            if (releaseId != 0) release = releaseRepository.getReleaseById(releaseId);
            int customerId = resultSet.getInt("customerId");
            Customer customerById = customerRepository.getCustomerById(customerId);
            Integer licenseTypeId = getInteger(resultSet, "licenseTypeId");
            LicenseType licenseType =
                licenseTypeId != null ? getLicenseTypeById(conn, licenseTypeId) : null;

            License license =
                getLicense(resultSet, productById, customerById, release, licenseType);
            licenses.add(license);
          }
          return licenses;
        }
      }
    }
  }
Exemple #5
0
 public License findById(int id) throws SQLException {
   try (Connection connection = ds.getConnection()) {
     try (PreparedStatement statement =
         connection.prepareStatement("SELECT * FROM License WHERE id = ?;")) {
       statement.setInt(1, id);
       try (ResultSet resultSet = statement.executeQuery()) {
         if (!resultSet.next()) {
           throw new SQLException("Ei leitud ühtegi litsentsi, kus rida on id-ga " + id);
         }
         int releaseId = resultSet.getInt("releaseId");
         Release release = null;
         if (releaseId != 0) release = releaseRepository.getReleaseById(releaseId);
         Integer licenseTypeId = getInteger(resultSet, "licenseTypeId");
         LicenseType licenseType =
             licenseTypeId != null ? getLicenseTypeById(connection, licenseTypeId) : null;
         return getLicense(
             resultSet,
             productRepository.getProductById(resultSet.getInt("productId")),
             customerRepository.getCustomerById(resultSet.getInt("customerId")),
             release,
             licenseType);
       }
     }
   }
 }
Exemple #6
0
  public List<License> findExpiringLicenses() throws SQLException {
    try (Connection connection = ds.getConnection()) {
      try (PreparedStatement stmnt =
          connection.prepareStatement(
              "Select *, DATEDIFF('DAY', CURRENT_DATE, validTill),CURRENT_DATE from License where DATEDIFF('DAY', CURRENT_DATE, validTill) < 31 AND DATEDIFF('DAY', CURRENT_DATE, validTill) > 0")) {
        try (ResultSet resultSet = stmnt.executeQuery()) {
          List<License> expiringLicenses = new ArrayList<>();
          while (resultSet.next()) {
            int productId = resultSet.getInt("productId");
            Product productById = productRepository.getProductById(productId);
            int releaseId = resultSet.getInt("releaseId");
            Release release = null;
            if (releaseId != 0) release = releaseRepository.getReleaseById(releaseId);
            int customerId = resultSet.getInt("customerId");
            Customer customerById = customerRepository.getCustomerById(customerId);
            Integer licenseTypeId = getInteger(resultSet, "licenseTypeId");
            LicenseType licenseType =
                licenseTypeId != null ? getLicenseTypeById(connection, licenseTypeId) : null;

            License license =
                getLicense(resultSet, productById, customerById, release, licenseType);
            expiringLicenses.add(license);
          }
          return expiringLicenses;
        }
      }
    }
  }
 @Before
 public void setupMetaData() {
   apartment = apartmentRepository.save(Apartment.builder().capacity(3).name("name").build());
   customer =
       customerRepository.save(
           Customer.builder().firstName("firstName").lastName("lastName").build());
 }
  @Test
  public void findsCustomerById() throws Exception {

    Customer customer = repository.findById(2L);

    assertThat(customer.getFirstname(), is("Carter"));
    assertThat(customer.getLastname(), is("Beauford"));
  }
  @Test
  public void findsAllCustomers() throws Exception {

    List<Customer> result = repository.findAll();

    assertThat(result, is(notNullValue()));
    assertFalse(result.isEmpty());
  }
  @Test
  public void findsFirstPageOfMatthews() throws Exception {

    Page<Customer> customers = repository.findByLastname("Matthews", new PageRequest(0, 2));

    assertThat(customers.getContent().size(), is(2));
    assertFalse(customers.hasPreviousPage());
  }
 @Override
 public Customer removeCustomer(long userId, long customerId) {
   User user = userRepository.findOne(userId);
   Customer customer = customerRepository.findOne(customerId);
   user.getCustomers().remove(customer);
   this.userRepository.save(user);
   customer.setUser(null);
   this.customerRepository.delete(customer);
   return customer;
 }
 @RequestMapping(value = "/customers/{id}", method = RequestMethod.DELETE)
 ResponseEntity<?> delete(@PathVariable Long id) {
   return this.customerRepository
       .findById(id)
       .map(
           c -> {
             customerRepository.delete(c);
             return ResponseEntity.noContent().build();
           })
       .orElseThrow(() -> new CustomerNotFoundException(id));
 }
  /**
   * Test case to show the usage of the Querydsl-specific {@link QSort} to define the sort order in
   * a type-safe way.
   */
  @Test
  public void findCustomersUsingQuerydslSort() {

    QCustomer customer = QCustomer.customer;
    List<Customer> result =
        repository.findByLastname("Matthews", new QSort(customer.firstname.asc()));

    assertThat(result, hasSize(2));
    assertThat(result.get(0), is(dave));
    assertThat(result.get(1), is(oliver));
  }
  @Override
  public void run(String... args) throws Exception {

    repository.deleteAll();

    // save a couple of customers
    repository.save(new Customer("Alice", "Smith"));
    repository.save(new Customer("Bob", "Smith"));

    // fetch all customers
    System.out.println("Customers found with findAll():");
    System.out.println("-------------------------------");
    for (Customer customer : repository.findAll()) {
      System.out.println(customer);
    }
    System.out.println();

    // fetch an individual customer
    System.out.println("Customer found with findByFirstName('Alice'):");
    System.out.println("--------------------------------");
    System.out.println(repository.findByFirstName("Alice"));

    System.out.println("Customers found with findByLastName('Smith'):");
    System.out.println("--------------------------------");
    for (Customer customer : repository.findByLastName("Smith")) {
      System.out.println(customer);
    }
  }
  /**
   * Shows the cart. For employees a list of their connected business customers is shown, so they
   * can buy products for them.
   *
   * @param userAccount currently logged in user
   * @param modelMap if logged in user is employee: list of customers
   * @param model if logged in user is employee: current employee
   * @return cart
   */
  @RequestMapping(value = "/cart", method = RequestMethod.GET)
  public String basket(
      @LoggedIn Optional<UserAccount> userAccount, ModelMap modelMap, Model model) {

    for (Role role : userAccount.get().getRoles()) {
      if (role.getName().equals("ROLE_EMPLOYEE")) {
        model.addAttribute("employee", userAccount.get());
        modelMap.addAttribute("customer_list", customerRepository.findAll());
      }
    }

    return "cart";
  }
Exemple #16
0
  public List<License> findByKeyword(String kword, StateHelper sh) throws SQLException {
    try (Connection conn = ds.getConnection()) {
      try (PreparedStatement statement =
          conn.prepareStatement(
              "SELECT * FROM License LEFT JOIN Customer ON License.customerId = Customer.id LEFT JOIN Release ON License.releaseId = Release.id LEFT JOIN Product ON License.productId = Product.id LEFT JOIN LicenseType ON License.licenseTypeId = LicenseType.id WHERE (License.contractNumber LIKE (LOWER(CONCAT('%',?,'%'))) OR ( License.productId = Product.id AND LOWER(Product.name) LIKE LOWER(CONCAT('%',?,'%'))) OR ( License.releaseId = Release.id AND Release.version LIKE (CONCAT('%',?,'%')) ) OR ( License.customerId = Customer.id AND LOWER(Customer.organizationName) LIKE LOWER(CONCAT('%',?,'%')) ) OR License.validFrom LIKE (CONCAT('%',?,'%')) OR License.validTill LIKE (CONCAT('%',?,'%')) OR ( License.licenseTypeId = LicenseType.id AND LicenseType.name LIKE (CONCAT('%',?,'%')) )) AND ((License.state = 1 AND ?=true) OR (License.state = 2 AND ?=true) OR (License.state = 3 AND ?=true) OR (License.state = 4 AND ?=true) OR (License.state = 5 AND ?=true) OR (License.state = 6 AND ?=true));")) {
        statement.setString(1, kword);
        statement.setString(2, kword);
        statement.setString(3, kword);
        statement.setString(4, kword);
        statement.setString(5, kword);
        statement.setString(6, kword);
        statement.setString(7, kword);
        statement.setBoolean(8, sh.getRejected());
        statement.setBoolean(9, sh.getNegotiated());
        statement.setBoolean(10, sh.getWaiting_for_signature());
        statement.setBoolean(11, sh.getActive());
        statement.setBoolean(12, sh.getExpiration_nearing());
        statement.setBoolean(13, sh.getTerminated());
        System.out.println(statement);
        try (ResultSet resultSet = statement.executeQuery()) {
          List<License> licenses = new ArrayList<>();
          while (resultSet.next()) {
            int productId = resultSet.getInt("productId");
            Product productById = productRepository.getProductById(productId);
            int releaseId = resultSet.getInt("releaseId");
            Release release = null;
            if (releaseId != 0) release = releaseRepository.getReleaseById(releaseId);
            int customerId = resultSet.getInt("customerId");
            Customer customerById = customerRepository.getCustomerById(customerId);
            Integer licenseTypeId = getInteger(resultSet, "licenseTypeId");
            LicenseType licenseType =
                licenseTypeId != null ? getLicenseTypeById(conn, licenseTypeId) : null;

            License license =
                getLicense(resultSet, productById, customerById, release, licenseType);
            licenses.add(license);
          }
          return licenses;
        }
      }
    }
  }
 @Override
 public Customers getCustomers() {
   return new Customers(CustomerRepository.getInstance().getCustomers());
 }
 @Override
 public Customer getCustomer(String id) {
   return CustomerRepository.getInstance().getCustomer(id);
 }
 @Override
 public void removeCustomer(String id) {
   CustomerRepository.getInstance().removeCustomer(id);
 }
 @Override
 public void updateCustomer(Customer customer) {
   CustomerRepository.getInstance().updateCustomer(customer);
 }
 @Override
 public Customer createCustomer(Customer customer) {
   return CustomerRepository.getInstance().createCustomer(customer);
 }
  /** Test case to show that automatically generated ids are assigned to the domain objects. */
  @Test
  public void setsIdOnSave() {

    Customer dave = repository.save(new Customer("Dave", "Matthews"));
    assertThat(dave.getId(), is(notNullValue()));
  }