/** * @param dTypes * @return */ List<String> filterDirectTypes(List<String> dTypes) { List<String> filteredList = new ArrayList(); List<String> toRemove = new ArrayList(); if (dTypes != null && dTypes.size() > 1) { // Map<String, Set<String>> subClasses = ontology2Map.getSubClasses(); List<String> copyOfDtypes = new ArrayList(); copyOfDtypes.addAll(dTypes); for (String classUri : dTypes) { Set<String> subClassesOfThis = luceneAnnotator.findSubClasses(classUri); // subClasses.get(classUri); for (String uri : copyOfDtypes) { if (subClassesOfThis.contains(uri) && !classUri.equals(uri)) { // remove this toRemove.add(uri); } } // classUri subclass DTypes[i]; ostaje // classUri superclass DTypes[i]; remove classUri // OVO NE TREBA DA BUDE OVDE; PROBAJ DA TO UBACIS TAMO KAD TRAZIS // SUGGESTIONS ILI RAZMISLI GDE JE VEC NAJBOLJE } } filteredList.addAll(dTypes); filteredList.removeAll(toRemove); return filteredList; }