Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @SuppressWarnings("unchecked")
- @Override
- public List<VideoSubmission> getSubmissions(String sortBy, String sortOrder, String statusFilter, String countryFilter, String genreFilter) {
- PersistenceManager pm = pmf.getPersistenceManager();
- List<VideoSubmission> submissions = null;
- try {
- Query query = pm.newQuery(VideoSubmission.class);
- query.declareImports("import java.util.Date");
- query.setOrdering(sortBy + " " + sortOrder);
- String filters = "";
- if(!statusFilter.toUpperCase().equals("ALL")){
- if(filters.equals(null) || filters.equals("")){
- filters += " && ";
- }
- query.declareParameters("String statusFilter");
- filters += "status == statusFilter";
- }
- if(!countryFilter.toUpperCase().equals("ALL")){
- if(filters.equals(null) || filters.equals("")){
- filters += " && ";
- }
- query.declareParameters("String countryFilter");
- filters += "country == countryFilter";
- }
- if(!genreFilter.toUpperCase().equals("ALL")){
- if(filters.equals(null) || filters.equals("")){
- filters += " && ";
- }
- query.declareParameters("String genreFilter");
- filters += "genre == genreFilter";
- }
- if(!filters.equals(null) || !filters.equals("")){
- query.setFilter(filters);
- }
- if(statusFilter.toUpperCase().equals("ALL") &&
- countryFilter.toUpperCase().equals("ALL") &&
- genreFilter.toUpperCase().equals("ALL")) {
- LOG.log(Level.INFO,"none");
- submissions = (List<VideoSubmission>) query.execute();
- } else if (statusFilter.toUpperCase().equals("ALL") &&
- countryFilter.toUpperCase().equals("ALL") &&
- !genreFilter.toUpperCase().equals("ALL")){
- LOG.log(Level.INFO,"Only genre");
- submissions = (List<VideoSubmission>) query.execute(genreFilter);
- } else if(statusFilter.toUpperCase().equals("ALL") &&
- !countryFilter.toUpperCase().equals("ALL") &&
- genreFilter.toUpperCase().equals("ALL")){
- LOG.log(Level.INFO,"Only country");
- submissions = (List<VideoSubmission>) query.execute(countryFilter);
- } else if(!statusFilter.toUpperCase().equals("ALL") &&
- countryFilter.toUpperCase().equals("ALL") &&
- genreFilter.toUpperCase().equals("ALL")){
- LOG.log(Level.INFO,"Only status");
- submissions = (List<VideoSubmission>) query.execute(statusFilter);
- } else if(!statusFilter.toUpperCase().equals("ALL") &&
- !countryFilter.toUpperCase().equals("ALL") &&
- genreFilter.toUpperCase().equals("ALL")){
- submissions = (List<VideoSubmission>) query.execute(statusFilter, countryFilter);
- } else if(!statusFilter.toUpperCase().equals("ALL") &&
- countryFilter.toUpperCase().equals("ALL") &&
- !genreFilter.toUpperCase().equals("ALL")){
- submissions = (List<VideoSubmission>) query.execute(statusFilter, genreFilter);
- } else if(statusFilter.toUpperCase().equals("ALL") &&
- !countryFilter.toUpperCase().equals("ALL") &&
- !genreFilter.toUpperCase().equals("ALL")){
- submissions = (List<VideoSubmission>) query.execute(countryFilter, genreFilter);
- } else if (!statusFilter.toUpperCase().equals("ALL") &&
- !countryFilter.toUpperCase().equals("ALL") &&
- !genreFilter.toUpperCase().equals("ALL")){
- submissions = (List<VideoSubmission>) query.execute(statusFilter, countryFilter, genreFilter);
- }
- submissions = (List<VideoSubmission>) pm.detachCopyAll(submissions);
- } finally {
- pm.close();
- }
- return submissions;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement