private void processCategory(TagNode table) throws XPatherException, ParseException { String categoryStr = ((TagNode) table.evaluateXPath("./caption")[0]).getText().toString().trim(); CategoryEntity cat = new CategoryEntity(); cat.setMan(man); cat.setName(categoryStr); cat.getRaces().add(raceVolume); if (categoryStr.contains("39")) { cat.setFromAge(0); cat.setToAge(39); } else if (categoryStr.contains("70")) { cat.setFromAge(70); cat.setToAge(1000); } else if (categoryStr.contains("-")) { int ind = categoryStr.indexOf("-"); String from = categoryStr.substring(ind - 2, ind); String to = categoryStr.substring(ind, ind + 2); cat.setFromAge(Integer.valueOf(from)); cat.setToAge(Integer.valueOf(to)); } else if (categoryStr.contains("34")) { cat.setFromAge(0); cat.setToAge(34); } else if (categoryStr.contains("45")) { cat.setFromAge(45); cat.setToAge(1000); } else { throw new IllegalArgumentException("Category cannot be processed"); } cat = (CategoryEntity) checkPossibleMatches(cat, cat.getClass()); Object[] runners = table.evaluateXPath("/tbody/tr"); for (int i = 0; i < runners.length; i++) { TagNode row = (TagNode) runners[i]; // Person ------------- String name = ((TagNode) row.evaluateXPath("/td[@class='jmeno']")[0]).getText().toString().trim(); int index = name.indexOf(" "); String sn = name.substring(0, index).trim(); String fn = name.substring(index).trim(); String bd = ((TagNode) row.evaluateXPath("/td[@class='rn']")[0]).getText().toString().trim(); PersonEntity person = new PersonEntity(fn, sn, Integer.valueOf(bd), man); person = (PersonEntity) checkPossibleMatches(person, PersonEntity.class); // Club and city ------------- String all = ((TagNode) row.evaluateXPath("/td[@class='klub']")[0]).getText().toString().trim(); int delI = all.indexOf("("); String clubStr; String cityStr; if (delI >= 0) { clubStr = all.substring(0, delI).trim(); cityStr = all.substring(delI); cityStr = cityStr.replace("(", "").replace(")", "").trim(); } else { clubStr = all.trim(); cityStr = ""; } if (clubStr.isEmpty()) { clubStr = "-"; } if (cityStr.isEmpty()) { cityStr = "-"; } ClubEntity club = new ClubEntity(clubStr); club = (ClubEntity) checkPossibleMatches(club, club.getClass()); CityEntity city = new CityEntity(cityStr); city = (CityEntity) checkPossibleMatches(city, city.getClass()); // Number ------------- Integer number = Integer.valueOf( ((TagNode) row.evaluateXPath("/td[@class='stCislo']")[0]) .getText() .toString() .trim()); // Time ------------- String timeStr = ((TagNode) row.evaluateXPath("/td[@class='cas']")[0]).getText().toString().trim(); if (timeStr.equalsIgnoreCase("NF")) { timeStr = "23:59:59"; } Date time = new SimpleDateFormat("H:mm:ss").parse(timeStr); // Runner ------------- RunnerEntity runner = new RunnerEntity(number, person, club, city, time); runner.setCategory(cat); runner.setRace(raceVolume); checkPossibleMatches(runner, runner.getClass()); } }
public Object[] getObjectsThatNotEqualsX() { CategoryEntity i1 = new CategoryEntity(); i1.setKey(new CategoryKey(2)); return new Object[] {i1}; }
public Object getObjectThatEqualsXButNotTheSame2() { CategoryEntity i1 = new CategoryEntity(); i1.setKey(new CategoryKey(1)); return i1; }
public Object getObjectX() { CategoryEntity i1 = new CategoryEntity(); i1.setKey(new CategoryKey(1)); return i1; }