Fixed categories compare.

This commit is contained in:
Christian P. MOMON 2022-11-10 10:55:48 +01:00
parent a1e9949ca5
commit 003fb306a0
4 changed files with 48 additions and 4 deletions

View file

@ -54,7 +54,7 @@ public class Categories extends ArrayList<Category>
for (Category category : this)
{
if (category.getSoftwares().containsAnyIgnoreCase(softwareName))
if (category.matchesSoftware(softwareName))
{
result.add(category);
}
@ -84,7 +84,7 @@ public class Categories extends ArrayList<Category>
{
Category category = iterator.next();
if (category.getSoftwares().containsIgnoreCase(softwareName))
if (category.matchesSoftware(softwareName))
{
ended = true;
result = true;

View file

@ -18,6 +18,8 @@
*/
package fr.devinsy.statoolinfos.core;
import java.util.Iterator;
import org.apache.commons.lang3.StringUtils;
import fr.devinsy.strings.StringList;
@ -139,6 +141,48 @@ public class Category
return result;
}
/**
* Matches.
*
* @param softwareName
* the software name
* @return true, if successful
*/
public boolean matchesSoftware(final String softwareName)
{
boolean result;
String target = StringUtils.stripAccents(softwareName).replaceAll("[\\W\\s]", "");
boolean ended = false;
Iterator<String> iterator = this.softwares.iterator();
result = false;
while (!ended)
{
if (iterator.hasNext())
{
String source1 = iterator.next();
String source2 = StringUtils.stripAccents(source1).replaceAll("[\\W\\s]", "");
System.out.println("<" + source1 + "/" + source2 + "><" + softwareName + "/" + target + "> " + StringUtils.equalsIgnoreCase(target, source1));
if (StringUtils.equalsIgnoreCase(target, source2))
{
ended = true;
result = true;
}
}
else
{
ended = true;
result = false;
}
}
//
return result;
}
public void setDescription(final String description)
{
this.description = description;

View file

@ -92,7 +92,7 @@ public class StatAgent
for (Service service : federation.getServices())
{
String softwareName = service.getSoftwareName();
if (category.getSoftwares().containsIgnoreCase(softwareName))
if (category.matchesSoftware(softwareName))
{
stat.incServiceCount();
YearMonth month = YearMonth.now().minusMonths(1);

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2020-2022 Christian Pierre MOMON <christian@momon.org>
* Copyright (C) 2020 Christian Pierre MOMON <christian@momon.org>
*
* This file is part of StatoolInfos, simple service statistics tool.
*