/** * 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; }
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; } } } }
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); } } } }
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"; }
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())); }