Compare commits

...

1 Commits

Author SHA1 Message Date
RZR-UA
60e1e83999
Try use String as key for acceptedTypes 2024-08-19 14:28:06 +02:00
6 changed files with 24 additions and 24 deletions

View File

@ -168,7 +168,7 @@ public abstract class AbstractPoiType {
Collections.addAll(this.excludedPoiAdditionalCategories, excludedPoiAdditionalCategories);
}
public abstract Map<PoiCategory, LinkedHashSet<String>> putTypes(Map<PoiCategory, LinkedHashSet<String>> acceptedTypes);
public abstract Map<String, LinkedHashSet<String>> putTypes(Map<String, LinkedHashSet<String>> acceptedTypes);
@Override
public String toString() {

View File

@ -807,8 +807,8 @@ public class MapPoiTypes {
for (AbstractPoiType l : lf) {
System.out.println("----------------- " + l.getKeyName());
// print("", l);
Map<PoiCategory, LinkedHashSet<String>> m =
l.putTypes(new LinkedHashMap<PoiCategory, LinkedHashSet<String>>());
Map<String, LinkedHashSet<String>> m =
l.putTypes(new LinkedHashMap<String, LinkedHashSet<String>>());
// System.out.println(m);
}

View File

@ -48,9 +48,9 @@ public class PoiCategory extends PoiFilter {
this.defaultTag = defaultTag;
}
public Map<PoiCategory, LinkedHashSet<String>> putTypes(
Map<PoiCategory, LinkedHashSet<String>> acceptedTypes) {
acceptedTypes.put(this, null);
public Map<String, LinkedHashSet<String>> putTypes(
Map<String, LinkedHashSet<String>> acceptedTypes) {
acceptedTypes.put(this.getKeyName(), null);
addReferenceTypes(acceptedTypes);
return acceptedTypes;
}

View File

@ -65,11 +65,11 @@ public class PoiFilter extends AbstractPoiType {
}
}
public Map<PoiCategory, LinkedHashSet<String>> putTypes(Map<PoiCategory, LinkedHashSet<String>> acceptedTypes) {
if (!acceptedTypes.containsKey(pc)) {
acceptedTypes.put(pc, new LinkedHashSet<String>());
public Map<String, LinkedHashSet<String>> putTypes(Map<String, LinkedHashSet<String>> acceptedTypes) {
if (!acceptedTypes.containsKey(pc.getKeyName())) {
acceptedTypes.put(pc.getKeyName(), new LinkedHashSet<String>());
}
LinkedHashSet<String> set = acceptedTypes.get(pc);
LinkedHashSet<String> set = acceptedTypes.get(pc.getKeyName());
for (PoiType pt : poiTypes) {
set.add(pt.getKeyName());
}
@ -77,14 +77,14 @@ public class PoiFilter extends AbstractPoiType {
return acceptedTypes;
}
protected void addReferenceTypes(Map<PoiCategory, LinkedHashSet<String>> acceptedTypes) {
protected void addReferenceTypes(Map<String, LinkedHashSet<String>> acceptedTypes) {
for (PoiType pt : getPoiTypes()) {
if (pt.isReference()) {
PoiCategory refCat = pt.getReferenceType().getCategory();
if (!acceptedTypes.containsKey(refCat)) {
acceptedTypes.put(refCat, new LinkedHashSet<String>());
if (!acceptedTypes.containsKey(refCat.getKeyName())) {
acceptedTypes.put(refCat.getKeyName(), new LinkedHashSet<String>());
}
LinkedHashSet<String> ls = acceptedTypes.get(refCat);
LinkedHashSet<String> ls = acceptedTypes.get(refCat.getKeyName());
if (ls != null) {
ls.add(pt.getKeyName());
}

View File

@ -170,11 +170,11 @@ public class PoiType extends AbstractPoiType {
return filter;
}
public Map<PoiCategory, LinkedHashSet<String>> putTypes(Map<PoiCategory, LinkedHashSet<String>> acceptedTypes) {
public Map<String, LinkedHashSet<String>> putTypes(Map<String, LinkedHashSet<String>> acceptedTypes) {
if (isAdditional()) {
parentType.putTypes(acceptedTypes);
if (filterOnly) {
LinkedHashSet<String> set = acceptedTypes.get(category);
LinkedHashSet<String> set = acceptedTypes.get(category.getKeyName());
for (PoiType pt : category.getPoiTypes()) {
List<PoiType> poiAdditionals = pt.getPoiAdditionals();
if (poiAdditionals == null) {
@ -191,10 +191,10 @@ public class PoiType extends AbstractPoiType {
}
PoiType rt = getReferenceType();
PoiType poiType = rt != null ? rt : this;
if (!acceptedTypes.containsKey(poiType.category)) {
acceptedTypes.put(poiType.category, new LinkedHashSet<String>());
if (!acceptedTypes.containsKey(poiType.category.getKeyName())) {
acceptedTypes.put(poiType.category.getKeyName(), new LinkedHashSet<String>());
}
LinkedHashSet<String> set = acceptedTypes.get(poiType.category);
LinkedHashSet<String> set = acceptedTypes.get(poiType.category.getKeyName());
if(set != null) {
set.add(poiType.getKeyName());
}

View File

@ -1343,7 +1343,7 @@ public class SearchCoreFactory {
}
private SearchPoiTypeFilter getPoiTypeFilter(AbstractPoiType pt, Set<String> poiAdditionals ) {
final Map<PoiCategory, LinkedHashSet<String>> acceptedTypes = new LinkedHashMap<PoiCategory,
final Map<String, LinkedHashSet<String>> acceptedTypes = new LinkedHashMap<String,
LinkedHashSet<String>>();
pt.putTypes(acceptedTypes);
poiAdditionals.clear();
@ -1365,11 +1365,11 @@ public class SearchCoreFactory {
if (!types.isRegisteredType(type)) {
type = types.getOtherPoiCategory();
}
PoiCategory currentCategory = types.getPoiCategoryByName(type.getKeyName());
if (!acceptedTypes.containsKey(currentCategory)) {
// PoiCategory currentCategory = types.getPoiCategoryByName(type.getKeyName()); // redundant
if (!acceptedTypes.containsKey(type.getKeyName())) {
return false;
}
LinkedHashSet<String> set = acceptedTypes.get(currentCategory);
LinkedHashSet<String> set = acceptedTypes.get(type.getKeyName());
if (set == null) {
return true;
}
@ -1624,7 +1624,7 @@ public class SearchCoreFactory {
return true;
}
public Map<PoiCategory, LinkedHashSet<String>> putTypes(Map<PoiCategory, LinkedHashSet<String>> acceptedTypes) {
public Map<String, LinkedHashSet<String>> putTypes(Map<String, LinkedHashSet<String>> acceptedTypes) {
for (PoiType p : additionalPoiTypes) {
if (p.getParentType() == registry.getOtherMapCategory()) {
for (PoiCategory c : registry.getCategories(false)) {