This commit is contained in:
Greg DiCristofaro 2022-02-22 21:00:05 -05:00
parent 316b214924
commit c06184ee7c
17 changed files with 68 additions and 76 deletions

View File

@ -111,7 +111,7 @@ import org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository;
} catch (CentralRepoException ex) {
logger.log(Level.SEVERE, "Unable to connect to the Central Repository database.", ex);
} catch (CorrelationAttributeNormalizationException ex) {
logger.log(Level.WARNING, "Unable to retrieve data from the Central Repository: ", ex.getMessage());
logger.log(Level.WARNING, "Unable to retrieve data from the Central Repository.", ex);
}
}

View File

@ -139,7 +139,7 @@ public final class OtherOccurrences {
} catch (CentralRepoException ex) {
logger.log(Level.SEVERE, "Error getting artifact instances from database.", ex); // NON-NLS
} catch (CorrelationAttributeNormalizationException ex) {
logger.log(Level.INFO, "Error getting artifact instances from database: " + ex.getMessage()); // NON-NLS
logger.log(Level.INFO, "Error getting artifact instances from database.", ex); // NON-NLS
} catch (NoCurrentCaseException ex) {
logger.log(Level.SEVERE, "Exception while getting open case.", ex); // NON-NLS
}

View File

@ -196,7 +196,7 @@ public final class OtherOccurrencesPanel extends javax.swing.JPanel {
eamArtifact.getCorrelationType().getDisplayName(),
eamArtifact.getCorrelationValue()));
} catch (CorrelationAttributeNormalizationException ex) {
logger.log(Level.WARNING, String.format("Error getting commonality details for artifact with ID: %s: %s", eamArtifact.getID(), ex.getMessage()));
logger.log(Level.WARNING, String.format("Error getting commonality details for artifact with ID: %s.", eamArtifact.getID()), ex);
}
}
this.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));

View File

@ -114,7 +114,7 @@ public class CentralRepoFileInstance {
/**
* @param MD5Hash the MD5Hash to set
*/
public void setMD5Hash(String MD5Hash) throws CorrelationAttributeNormalizationException {
public void setMD5Hash(String MD5Hash) throws CorrelationAttributeNormalizationException, CentralRepoException {
this.MD5Hash = CorrelationAttributeNormalizer.normalize(CorrelationAttributeInstance.FILES_TYPE_ID, MD5Hash);
}

View File

@ -47,13 +47,13 @@ final public class CorrelationAttributeNormalizer {
*
* @return normalized data
*/
public static String normalize(CorrelationAttributeInstance.Type attributeType, String data) throws CorrelationAttributeNormalizationException {
public static String normalize(CorrelationAttributeInstance.Type attributeType, String data) throws CorrelationAttributeNormalizationException, CentralRepoException {
if (attributeType == null) {
throw new CorrelationAttributeNormalizationException("Attribute type was null.");
throw new CentralRepoException("Attribute type was null.");
}
if (data == null) {
throw new CorrelationAttributeNormalizationException("Correlation value was null.");
throw new CentralRepoException("Correlation value was null.");
}
String trimmedData = data.trim();
@ -81,7 +81,6 @@ final public class CorrelationAttributeNormalizer {
return normalizeIccid(trimmedData);
default:
try {
// If the atttribute is not one of the above
// but is one of the other default correlation types, then let the data go as is
List<CorrelationAttributeInstance.Type> defaultCorrelationTypes = CorrelationAttributeInstance.getDefaultCorrelationTypes();
@ -93,10 +92,7 @@ final public class CorrelationAttributeNormalizer {
final String errorMessage = String.format(
"Validator function not found for attribute type: %s",
attributeType.getDisplayName());
throw new CorrelationAttributeNormalizationException(errorMessage);
} catch (CentralRepoException ex) {
throw new CorrelationAttributeNormalizationException("Failed to get default correlation types.", ex);
}
throw new CentralRepoException(errorMessage);
}
}
@ -109,8 +105,7 @@ final public class CorrelationAttributeNormalizer {
*
* @return normalized data
*/
public static String normalize(int attributeTypeId, String data) throws CorrelationAttributeNormalizationException {
try {
public static String normalize(int attributeTypeId, String data) throws CorrelationAttributeNormalizationException, CentralRepoException {
List<CorrelationAttributeInstance.Type> defaultTypes = CorrelationAttributeInstance.getDefaultCorrelationTypes();
Optional<CorrelationAttributeInstance.Type> typeOption = defaultTypes.stream().filter(attributeType -> attributeType.getId() == attributeTypeId).findAny();
@ -120,9 +115,6 @@ final public class CorrelationAttributeNormalizer {
} else {
throw new CorrelationAttributeNormalizationException(String.format("Given attributeTypeId did not correspond to any known Attribute: %s", attributeTypeId));
}
} catch (CentralRepoException ex) {
throw new CorrelationAttributeNormalizationException(ex);
}
}
/**

View File

@ -1276,7 +1276,7 @@ abstract class RdbmsCentralRepo implements CentralRepository {
@Override
public List<CorrelationAttributeInstance> getArtifactInstancesByTypeValue(CorrelationAttributeInstance.Type aType, String value) throws CentralRepoException, CorrelationAttributeNormalizationException {
if (value == null) {
throw new CorrelationAttributeNormalizationException("Cannot get artifact instances for null value");
throw new CentralRepoException("Cannot get artifact instances for null value");
}
return getArtifactInstancesByTypeValues(aType, Arrays.asList(value));
}
@ -1284,10 +1284,10 @@ abstract class RdbmsCentralRepo implements CentralRepository {
@Override
public List<CorrelationAttributeInstance> getArtifactInstancesByTypeValues(CorrelationAttributeInstance.Type aType, List<String> values) throws CentralRepoException, CorrelationAttributeNormalizationException {
if (aType == null) {
throw new CorrelationAttributeNormalizationException("Cannot get artifact instances for null type");
throw new CentralRepoException("Cannot get artifact instances for null type");
}
if (values == null || values.isEmpty()) {
throw new CorrelationAttributeNormalizationException("Cannot get artifact instances without specified values");
throw new CentralRepoException("Cannot get artifact instances without specified values");
}
return getCorrAttrInstances(prepareGetInstancesSql(aType, values), aType);
}
@ -1295,13 +1295,13 @@ abstract class RdbmsCentralRepo implements CentralRepository {
@Override
public List<CorrelationAttributeInstance> getArtifactInstancesByTypeValuesAndCases(CorrelationAttributeInstance.Type aType, List<String> values, List<Integer> caseIds) throws CentralRepoException, CorrelationAttributeNormalizationException {
if (aType == null) {
throw new CorrelationAttributeNormalizationException("Cannot get artifact instances for null type");
throw new CentralRepoException("Cannot get artifact instances for null type");
}
if (values == null || values.isEmpty()) {
throw new CorrelationAttributeNormalizationException("Cannot get artifact instances without specified values");
throw new CentralRepoException("Cannot get artifact instances without specified values");
}
if (caseIds == null || caseIds.isEmpty()) {
throw new CorrelationAttributeNormalizationException("Cannot get artifact instances without specified cases");
throw new CentralRepoException("Cannot get artifact instances without specified cases");
}
String tableName = CentralRepoDbUtil.correlationTypeToInstanceTableName(aType);
String sql
@ -1327,7 +1327,7 @@ abstract class RdbmsCentralRepo implements CentralRepository {
*
* @throws CorrelationAttributeNormalizationException
*/
private String prepareGetInstancesSql(CorrelationAttributeInstance.Type aType, List<String> values) throws CorrelationAttributeNormalizationException {
private String prepareGetInstancesSql(CorrelationAttributeInstance.Type aType, List<String> values) throws CorrelationAttributeNormalizationException, CentralRepoException {
String tableName = CentralRepoDbUtil.correlationTypeToInstanceTableName(aType);
String sql
= "SELECT "

View File

@ -81,7 +81,7 @@ class CentralRepoIngestModuleUtils {
}
}
} catch (CorrelationAttributeNormalizationException ex) {
LOGGER.log(Level.WARNING, String.format("Error normalizing correlation attribute value for 's' (job ID=%d): %s", corrAttr, ingestJobId, ex.getMessage())); // NON-NLS
LOGGER.log(Level.WARNING, String.format("Error normalizing correlation attribute value for 's' (job ID=%d)", corrAttr, ingestJobId), ex); // NON-NLS
} catch (CentralRepoException ex) {
LOGGER.log(Level.SEVERE, String.format("Error getting previous occurences of correlation attribute 's' (job ID=%d)", corrAttr, ingestJobId), ex); // NON-NLS
}

View File

@ -240,7 +240,7 @@ final public class CommonAttributeCaseSearchResults {
return true;
}
} catch (CorrelationAttributeNormalizationException ex) {
LOGGER.log(Level.WARNING, "Unable to determine frequency percentage attribute - frequency filter may not be accurate for these results: " + ex.getMessage());
LOGGER.log(Level.WARNING, "Unable to determine frequency percentage attribute - frequency filter may not be accurate for these results.", ex);
}
}
return false;

View File

@ -162,7 +162,7 @@ final public class CommonAttributeCountSearchResults {
}
}
} catch (CorrelationAttributeNormalizationException ex) {
LOGGER.log(Level.WARNING, "Unable to determine frequency percentage attribute - frequency filter may not be accurate for these results: " + ex.getMessage());
LOGGER.log(Level.WARNING, "Unable to determine frequency percentage attribute - frequency filter may not be accurate for these results.", ex);
}
}
}

View File

@ -308,7 +308,7 @@ final class InterCaseSearchResultsProcessor {
}
}
} catch (SQLException | CentralRepoException | CorrelationAttributeNormalizationException ex) {
LOGGER.log(Level.WARNING, "Error getting artifact instances from database: " + ex.getMessage()); // NON-NLS
LOGGER.log(Level.WARNING, "Error getting artifact instances from database.", ex); // NON-NLS
}
}
@ -386,7 +386,7 @@ final class InterCaseSearchResultsProcessor {
}
}
} catch (CentralRepoException | SQLException | CorrelationAttributeNormalizationException ex) {
LOGGER.log(Level.WARNING, "Error getting artifact instances from database: " + ex.getMessage()); // NON-NLS
LOGGER.log(Level.WARNING, "Error getting artifact instances from database.", ex); // NON-NLS
}
}
@ -424,7 +424,7 @@ final class InterCaseSearchResultsProcessor {
InstanceTableCallback.getFilePath(resultSet));
}
} catch (CorrelationAttributeNormalizationException ex) {
LOGGER.log(Level.INFO, "Unable to get CorrelationAttributeInstance: " + ex.getMessage()); // NON-NLS
LOGGER.log(Level.INFO, "Unable to get CorrelationAttributeInstance.", ex); // NON-NLS
}
}

View File

@ -90,7 +90,7 @@ final class CorrelationCaseChildNodeFactory extends ChildFactory<CorrelationCase
});
}
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
logger.log(Level.WARNING, String.format("Unable to getArtifactInstance for accountID, %d: %s", account.getAccountID(), ex.getMessage())); //NON-NLS
logger.log(Level.WARNING, String.format("Unable to getArtifactInstance for accountID: %d", account.getAccountID()), ex); //NON-NLS
}
});

View File

@ -489,7 +489,7 @@ public class AnnotationUtils {
} catch (CentralRepoException ex) {
logger.log(Level.SEVERE, "Error connecting to the Central Repository database.", ex); // NON-NLS
} catch (CorrelationAttributeNormalizationException ex) {
logger.log(Level.WARNING, "Error normalizing instance from Central Repository database: " + ex.getMessage()); // NON-NLS
logger.log(Level.WARNING, "Error normalizing instance from Central Repository database.", ex); // NON-NLS
}
return instancesToRet;

View File

@ -449,7 +449,7 @@ public abstract class AbstractAbstractFileNode<T extends AbstractFile> extends A
} catch (CentralRepoException ex) {
logger.log(Level.SEVERE, "Error getting count of datasources with correlation attribute", ex);
} catch (CorrelationAttributeNormalizationException ex) {
logger.log(Level.WARNING, "Unable to normalize data to get count of datasources with correlation attribute: " + ex.getMessage());
logger.log(Level.WARNING, "Unable to normalize data to get count of datasources with correlation attribute", ex);
}
return Pair.of(count, description);
}

View File

@ -1232,7 +1232,7 @@ public class BlackboardArtifactNode extends AbstractContentNode<BlackboardArtifa
} catch (CentralRepoException ex) {
logger.log(Level.SEVERE, MessageFormat.format("Error querying central repository for other occurences count (artifact objID={0}, corrAttrType={1}, corrAttrValue={2})", artifact.getId(), attribute.getCorrelationType(), attribute.getCorrelationValue()), ex);
} catch (CorrelationAttributeNormalizationException ex) {
logger.log(Level.WARNING, MessageFormat.format("Error normalizing correlation attribute for central repository query (artifact objID={0}, corrAttrType={2}, corrAttrValue={3} message={4})", artifact.getId(), attribute.getCorrelationType(), attribute.getCorrelationValue(), ex.getMessage()));
logger.log(Level.WARNING, MessageFormat.format("Error normalizing correlation attribute for central repository query (artifact objID={0}, corrAttrType={2}, corrAttrValue={3})", artifact.getId(), attribute.getCorrelationType(), attribute.getCorrelationValue()), ex);
}
return Pair.of(count, description);
}

View File

@ -535,7 +535,7 @@ public final class OsAccounts implements AutopsyVisitableItem {
} catch (CentralRepoException ex) {
logger.log(Level.SEVERE, String.format("Error getting count of data sources with %s correlation attribute %s", attributeInstance.getCorrelationType().getDisplayName(), attributeInstance.getCorrelationValue()), ex);
} catch (CorrelationAttributeNormalizationException ex) {
logger.log(Level.WARNING, String.format("Unable to normalize %s correlation attribute %s: %s", attributeInstance.getCorrelationType().getDisplayName(), attributeInstance.getCorrelationValue(), ex.getMessage()));
logger.log(Level.WARNING, String.format("Unable to normalize %s correlation attribute %s", attributeInstance.getCorrelationType().getDisplayName(), attributeInstance.getCorrelationValue()), ex);
}
return Pair.of(count, description);
}

View File

@ -327,7 +327,7 @@ public class DiscoveryAttributes {
if (context.searchIsCancelled()) {
throw new SearchCancellationException("Search was cancelled while orgainizing domains by their normalized value.");
}
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
logger.log(Level.INFO, String.format("Domain [%s] failed normalization, skipping...", domainInstance.getDomain()));
}
}

View File

@ -54,32 +54,32 @@ public class CorrelationAttributeNormalizerTest extends NbTestCase {
try {
assertTrue("This hash should just work", CorrelationAttributeNormalizer.normalize(FILES_TYPE_ID, aValidHash).equals(aValidHash));
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
Exceptions.printStackTrace(ex);
fail(ex.getMessage());
}
try {
assertTrue("This hash just needs to be converted to lower case", CorrelationAttributeNormalizer.normalize(CorrelationAttributeInstance.FILES_TYPE_ID, aValidHashWithCaps).equals(aValidHash));
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
Exceptions.printStackTrace(ex);
fail(ex.getMessage());
}
try {
CorrelationAttributeNormalizer.normalize(FILES_TYPE_ID, anInValidHash);
fail(THIS_SHOULD_HAVE_THROWN_AN_EXCEPTION);
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
}
try {
CorrelationAttributeNormalizer.normalize(FILES_TYPE_ID, emptyHash);
fail(THIS_SHOULD_HAVE_THROWN_AN_EXCEPTION);
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
}
try {
CorrelationAttributeNormalizer.normalize(FILES_TYPE_ID, nullHash);
fail(THIS_SHOULD_HAVE_THROWN_AN_EXCEPTION);
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
}
}
@ -149,7 +149,7 @@ public class CorrelationAttributeNormalizerTest extends NbTestCase {
String normalizedDomain = CorrelationAttributeNormalizer.normalize(DOMAIN_TYPE_ID, input);
assertTrue(String.format("Expected domain '%s' to be normalized, but was null.", item.getOriginalString()), normalizedDomain != null);
assertTrue(String.format("Was unable to normalize domain '%s' to '%s' but received %s instead.", input, expected, normalizedDomain), normalizedDomain.equals(expected));
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
Exceptions.printStackTrace(ex);
fail(String.format("Unable to properly parse %s to %s. Received: %s", input, expected, ex.getMessage()));
}
@ -158,7 +158,7 @@ public class CorrelationAttributeNormalizerTest extends NbTestCase {
try {
CorrelationAttributeNormalizer.normalize(DOMAIN_TYPE_ID, item.getOriginalString());
fail(String.format("Original string: '%s' should have failed to parse.", item.getOriginalString()));
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
}
}
@ -178,43 +178,43 @@ public class CorrelationAttributeNormalizerTest extends NbTestCase {
try {
assertTrue("This email should pass.", CorrelationAttributeNormalizer.normalize(EMAIL_TYPE_ID, goodEmailOne).equals(goodEmailOne));
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
Exceptions.printStackTrace(ex);
fail(ex.getMessage());
}
try {
assertTrue("This email should pass.", CorrelationAttributeNormalizer.normalize(EMAIL_TYPE_ID, goodEmailTwo).equals(goodEmailTwo.toLowerCase()));
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
Exceptions.printStackTrace(ex);
fail(ex.getMessage());
}
try {
CorrelationAttributeNormalizer.normalize(EMAIL_TYPE_ID, badEmailThree);
fail(THIS_SHOULD_HAVE_THROWN_AN_EXCEPTION);
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
}
try {
CorrelationAttributeNormalizer.normalize(EMAIL_TYPE_ID, badEmailFour);
fail(THIS_SHOULD_HAVE_THROWN_AN_EXCEPTION);
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
}
try {
CorrelationAttributeNormalizer.normalize(EMAIL_TYPE_ID, badEmailFive);
fail(THIS_SHOULD_HAVE_THROWN_AN_EXCEPTION);
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
}
try { //TODO consider a better library?
assertTrue("This email should pass", CorrelationAttributeNormalizer.normalize(EMAIL_TYPE_ID, goodEmailSix).equals(goodEmailSix));
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
fail(ex.getMessage());
}
try {
CorrelationAttributeNormalizer.normalize(EMAIL_TYPE_ID, badEmailSeven);
fail(THIS_SHOULD_HAVE_THROWN_AN_EXCEPTION);
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
}
}
@ -234,56 +234,56 @@ public class CorrelationAttributeNormalizerTest extends NbTestCase {
try {
assertTrue(THIS_PHONE_NUMBER_SHOULD_PASS, CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, goodPnOne).equals(goodPnOne));
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
Exceptions.printStackTrace(ex);
fail(ex.getMessage());
}
try {
assertTrue(THIS_PHONE_NUMBER_SHOULD_PASS, CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, goodPnTwo).equals(goodPnOne));
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
Exceptions.printStackTrace(ex);
fail(ex.getMessage());
}
try {
assertTrue(THIS_PHONE_NUMBER_SHOULD_PASS, CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, goodPnThree).equals(goodPnThree));
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
Exceptions.printStackTrace(ex);
fail(ex.getMessage());
}
try {
assertTrue(THIS_PHONE_NUMBER_SHOULD_PASS, CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, goodPnFour).equals(goodPnOne));
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
Exceptions.printStackTrace(ex);
fail(ex.getMessage());
}
try {
CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, badPnFive);
//fail("This should have thrown an exception."); //this will eventually pass when we do a better job at this
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
}
try {
assertTrue(THIS_PHONE_NUMBER_SHOULD_PASS, CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, goodPnSix).equals(goodPnThree));
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
Exceptions.printStackTrace(ex);
fail(ex.getMessage());
}
try {
assertTrue(THIS_PHONE_NUMBER_SHOULD_PASS, CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, goodPnSeven).equals(goodPnThree));
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
Exceptions.printStackTrace(ex);
fail(ex.getMessage());
}
try {
CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, badPnEight);
fail("This should have thrown an exception.");
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
}
try {
CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, badPnNine);
fail("This should have thrown an exception.");
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
}
}
@ -304,7 +304,7 @@ public class CorrelationAttributeNormalizerTest extends NbTestCase {
try {
assertTrue(THIS_USB_ID_SHOULD_PASS, CorrelationAttributeNormalizer.normalize(USBID_TYPE_ID, goodIdOne).equals(goodIdOne));
} catch (CorrelationAttributeNormalizationException ex) {
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
Assert.fail(ex.getMessage());
}
}