private void compareSignPostInfos(final Collection<feature<? extends="" geometry="">> allSignpost,
final Collection<feature<? extends="" geometry="">> allSignpostFromRE, final Attribute<nonspatialobject> baseSignInfo,
NameType nameType, Attribute<nonspatialobject> name, Attribute<nonspatialobject> exitNumber,
DictionaryRangeItem pictogram) {
boolean matchFound = false;
final StringBuilder destinationInfo = new StringBuilder();
Attribute<nonspatialobject> comparedSignInfo = null;
List<feature<? extends="" geometry="">> listOfComparedSignposts = GenericFactory.newList();
for (final Feature currentSignpost : allSignpost) {
final List<attribute<nonspatialobject>> compareSignInfoList = new ArrayList<>();
if (allSignpostFromRE.contains(currentSignpost)) {
compareSignInfoList.addAll(getSingpostInfoList(currentSignpost));
for (final Attribute<nonspatialobject> currSignInfo : compareSignInfoList) {
if (isIdenticalExitNumber(exitNumber, destinationInfo, currSignInfo)
|| isIdenticalNames(name, nameType, destinationInfo, currSignInfo)) {
comparedSignInfo = currSignInfo;
if (isAmbigous(currSignInfo)) {
matchFound = true;
}
} else if (isIdenticalPictogram(nameType, pictogram, destinationInfo, currSignInfo)) {
comparedSignInfo = currSignInfo;
matchFound = checkForException(compareSignInfoList, baseSignInfo, matchFound, currSignInfo);
}
}
if (!matchFound) {
listOfComparedSignposts.add(currentSignpost);
} else {
break;
}
}
}
getVivaMsgAndLogViolations(baseSignInfo, exitNumber, name, nameType,matchFound, pictogram, destinationInfo,
comparedSignInfo, listOfComparedSignposts);
}
What I have tried:
I have tried creating a method. but unable to do that cause i need to return
variable comparedSignInfo and mathfound.