private boolean isCriteriaMatching(NotificationSubscriber notifSubscriber, ProductItem item) { List<Configuration> configurations = notifSubscriber.getCriteria(); for (int i = 0; i < configurations.size(); i++) { Configuration config = configurations.get(i); String condition = config.getCondition(); String attributeName = config.getAttributeName(); String atrributeValue = config.getAttributeValue(); if (attributeName.equalsIgnoreCase("listPrice")) { String itemListPrice = item.getList_price(); if (itemListPrice == null) return false; if (condition.equals("=")) { return (Integer.parseInt(itemListPrice) == Integer.parseInt(atrributeValue)); } else if (condition.equals(">=")) { return (Integer.parseInt(itemListPrice) >= Integer.parseInt(atrributeValue)); } else if (condition.equals("<=")) { return (Integer.parseInt(itemListPrice) <= Integer.parseInt(atrributeValue)); } } else if (attributeName.equalsIgnoreCase("releaseDate")) { String itemReleaseDate = item.getRelease_date(); if (itemReleaseDate == null) return false; DateFormat formatter = new SimpleDateFormat("dd-MM-yy"); } else if (attributeName.equalsIgnoreCase("title")) { String itemTitle = item.getTitle(); if (itemTitle == null) return false; if (condition.equals("=") && !itemTitle.equals(atrributeValue)) { return false; } else if (condition.equals("!=") && itemTitle.equals(atrributeValue)) { return false; } } else if (attributeName.equalsIgnoreCase("authors")) { String itemAuthor = item.getAuthor(); if (itemAuthor == null) return false; if (condition.equals("=") && !itemAuthor.equals(atrributeValue)) { return false; } else if (condition.equals("!=") && itemAuthor.equals(atrributeValue)) { return false; } } else if (attributeName.equalsIgnoreCase("publisher")) { String itemPublisher = item.getPublisher(); if (itemPublisher == null) return false; if (condition.equals("=") && !itemPublisher.equals(atrributeValue)) { return false; } else if (condition.equals("!=") && itemPublisher.equals(atrributeValue)) { return false; } } } return true; }