20 package org.sleuthkit.autopsy.centralrepository.datamodel;
22 import java.util.List;
23 import java.util.Optional;
24 import org.apache.commons.validator.routines.DomainValidator;
25 import org.apache.commons.validator.routines.EmailValidator;
48 if(attributeType == null){
55 switch(attributeType.getId()){
67 final String errorMessage = String.format(
68 "Validator function not found for attribute type: %s",
69 attributeType.getDisplayName());
88 if(typeOption.isPresent()){
103 final String validMd5Regex =
"^[a-f0-9]{32}$";
104 final String dataLowered = data.toLowerCase();
105 if(dataLowered.matches(validMd5Regex)){
116 DomainValidator validator = DomainValidator.getInstance(
true);
117 if(validator.isValid(data)){
118 return data.toLowerCase();
120 final String validIpAddressRegex =
"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$";
121 if(data.matches(validIpAddressRegex)){
133 EmailValidator validator = EmailValidator.getInstance(
true,
true);
134 if(validator.isValid(data)){
135 return data.toLowerCase();
145 if(data.matches(
"\\+?[0-9()\\-\\s]+")){
146 String phoneNumber = data.replaceAll(
"[^0-9\\+]",
"");
static final int EMAIL_TYPE_ID
static final int USBID_TYPE_ID
static String normalizePhone(String data)
static String normalize(int attributeTypeId, String data)
static List< CorrelationAttributeInstance.Type > getDefaultCorrelationTypes()
static String normalizeMd5(String data)
static String normalize(CorrelationAttributeInstance.Type attributeType, String data)
static final int DOMAIN_TYPE_ID
static String normalizeDomain(String data)
static final int PHONE_TYPE_ID
CorrelationAttributeNormalizer()
static String normalizeEmail(String data)
static String normalizeUsbId(String data)
static final int FILES_TYPE_ID