@SuppressWarnings("unchecked") @Override public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { List<String> errors = new ArrayList<String>(); PersistenceManager pm = getPersistenceManager(); String username = req.getParameter("username"); String password = req.getParameter("password"); if (username.isEmpty()) { errors.add("Username is required."); } if (password.isEmpty()) { errors.add("Password is required."); } try { req.setAttribute("errors", errors); List<Admin> us = (List<Admin>) pm.newQuery(Admin.class).execute(); resp.setContentType("text/html"); DatastoreService ds = DatastoreServiceFactory.getDatastoreService(); Query q = new Query("Admin"); q.setFilter( Query.CompositeFilterOperator.and( new Query.FilterPredicate("username", Query.FilterOperator.EQUAL, username), new Query.FilterPredicate("password", Query.FilterOperator.EQUAL, password))); List<Entity> entities = ds.prepare(q).asList(FetchOptions.Builder.withDefaults()); if (entities.size() == 0) { req.getRequestDispatcher("/login.jsp").forward(req, resp); } // if(entities.size()>0){ if (us.size() > 0) { /*for(int i = 0; i < us.size(); i++){ if(us.get(i).getPassword().equals(password) && us.get(i).getUsername().equals(username) && us.get(i).getUser_type() == 0){ resp.sendRedirect("/AdminHome"); } if(us.get(i).getPassword().equals(password) && us.get(i).getUsername().equals(username) && us.get(i).getUser_type() == 1){ resp.sendRedirect("/login.jsp"); } if(us.get(i).getPassword().equals(password) && us.get(i).getUsername().equals(username) && us.get(i).getUser_type() == 2){ resp.sendRedirect("/login.jsp"); } } //resp.sendRedirect("/login.jsp"); * */ // } } } catch (ServletException e) { e.printStackTrace(); } finally { pm.close(); } }
/** Google issueId:1458158 */ @Test public void testIntFilter() { Query q = new Query(kindName); Query.Filter filter = Query.CompositeFilterOperator.and( new FilterPredicate("intData1", Query.FilterOperator.LESS_THAN, 20), new FilterPredicate("intData1", Query.FilterOperator.GREATER_THAN, 1), new FilterPredicate("intData1", Query.FilterOperator.EQUAL, null)); q.setFilter(filter); q.addSort("intData1", Query.SortDirection.ASCENDING); q.setAncestor(rootKey); assertEquals(1, service.prepare(q).countEntities(fo)); List<Entity> elist = service.prepare(q).asList(fo); assertEquals(Arrays.asList(1L, 10L, null), elist.get(0).getProperty("intData1")); }
@Test public void testStrFilter() { Query q = new Query(kindName); q.setAncestor(rootKey); Query.Filter filter = Query.CompositeFilterOperator.and( new FilterPredicate("stringData", Query.FilterOperator.LESS_THAN, "qqq"), new FilterPredicate("stringData", Query.FilterOperator.GREATER_THAN, "mmm")); q.setFilter(filter); q.addSort("stringData", Query.SortDirection.ASCENDING); assertEquals(2, service.prepare(q).countEntities(fo)); List<Entity> elist = service.prepare(q).asList(fo); assertEquals(Arrays.asList("abc", "xyz", "mno"), elist.get(0).getProperty("stringData")); assertEquals(Arrays.asList("ppp", "iii", "ddd"), elist.get(1).getProperty("stringData")); }
public ArrayList<Training> trainingSearch(String search) { ArrayList<Training> trainings = new ArrayList<>(); Query.Filter titleFilter = new Query.FilterPredicate(DatabaseInfo.TRAINING_TITLE, Query.FilterOperator.EQUAL, search); Query.Filter descriptionFilter = new Query.FilterPredicate( DatabaseInfo.TRAINING_DESCRIPTION, Query.FilterOperator.EQUAL, search); // Use CompositeFilter to combine multiple filters Query.Filter allFilter = Query.CompositeFilterOperator.or(titleFilter, descriptionFilter); Query q = new Query(DatabaseInfo.TRAINING_DATABASE).setFilter(allFilter); PreparedQuery pq = dataStore.prepare(q); for (Entity e : pq.asIterable()) { trainings.add(new Training(e)); } return trainings; }