mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-19 11:07:43 +00:00
Merge branch '6111-cvt-wrong-to-number' into 6081-Use-Helper-For-Artifact-Creation
This commit is contained in:
commit
25bb44b2ec
@ -19,6 +19,7 @@
|
|||||||
package org.sleuthkit.autopsy.communications.relationships;
|
package org.sleuthkit.autopsy.communications.relationships;
|
||||||
|
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.openide.nodes.Sheet;
|
import org.openide.nodes.Sheet;
|
||||||
import org.sleuthkit.autopsy.communications.Utils;
|
import org.sleuthkit.autopsy.communications.Utils;
|
||||||
import static org.sleuthkit.autopsy.communications.relationships.RelationshipsNodeUtilities.getAttributeDisplayString;
|
import static org.sleuthkit.autopsy.communications.relationships.RelationshipsNodeUtilities.getAttributeDisplayString;
|
||||||
@ -67,14 +68,6 @@ final class CallLogNode extends BlackboardArtifactNode {
|
|||||||
return sheet;
|
return sheet;
|
||||||
}
|
}
|
||||||
|
|
||||||
String phoneNumber = getAttributeDisplayString(artifact, TSK_PHONE_NUMBER_FROM);
|
|
||||||
if(phoneNumber == null || phoneNumber.isEmpty()) {
|
|
||||||
phoneNumber = getAttributeDisplayString(artifact, TSK_PHONE_NUMBER_TO);
|
|
||||||
}
|
|
||||||
if(phoneNumber == null || phoneNumber.isEmpty()) {
|
|
||||||
phoneNumber = getAttributeDisplayString(artifact, TSK_PHONE_NUMBER);
|
|
||||||
}
|
|
||||||
|
|
||||||
long duration = -1;
|
long duration = -1;
|
||||||
try{
|
try{
|
||||||
duration = getCallDuration(artifact);
|
duration = getCallDuration(artifact);
|
||||||
@ -84,7 +77,7 @@ final class CallLogNode extends BlackboardArtifactNode {
|
|||||||
|
|
||||||
sheetSet.put(createNode(TSK_DATETIME_START, artifact));
|
sheetSet.put(createNode(TSK_DATETIME_START, artifact));
|
||||||
sheetSet.put(createNode(TSK_DIRECTION, artifact));
|
sheetSet.put(createNode(TSK_DIRECTION, artifact));
|
||||||
sheetSet.put(new NodeProperty<>(TSK_PHONE_NUMBER.getLabel(), TSK_PHONE_NUMBER.getDisplayName(), "", phoneNumber));
|
sheetSet.put(new NodeProperty<>(TSK_PHONE_NUMBER.getLabel(), TSK_PHONE_NUMBER.getDisplayName(), "", getPhoneNumber(artifact)));
|
||||||
if(duration != -1) {
|
if(duration != -1) {
|
||||||
sheetSet.put(new NodeProperty<>("duration", "Duration", "", Long.toString(duration)));
|
sheetSet.put(new NodeProperty<>("duration", "Duration", "", Long.toString(duration)));
|
||||||
}
|
}
|
||||||
@ -107,6 +100,59 @@ final class CallLogNode extends BlackboardArtifactNode {
|
|||||||
return endAttribute.getValueLong() - startAttribute.getValueLong();
|
return endAttribute.getValueLong() - startAttribute.getValueLong();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the phone number to display in the To/From column. The number is
|
||||||
|
* picked from one of the 3 possible phone number attributes, based on the
|
||||||
|
* direction of the call.
|
||||||
|
*
|
||||||
|
* @param artifact Call log artifact.
|
||||||
|
*
|
||||||
|
* @return Phone number to display.
|
||||||
|
*/
|
||||||
|
private String getPhoneNumber(BlackboardArtifact artifact) {
|
||||||
|
String direction = getAttributeDisplayString(artifact, TSK_DIRECTION);
|
||||||
|
|
||||||
|
String phoneNumberToReturn;
|
||||||
|
String fromPhoneNumber = getAttributeDisplayString(artifact, TSK_PHONE_NUMBER_FROM);
|
||||||
|
String toPhoneNumber = getAttributeDisplayString(artifact, TSK_PHONE_NUMBER_TO);
|
||||||
|
String phoneNumber = getAttributeDisplayString(artifact, TSK_PHONE_NUMBER);
|
||||||
|
switch (direction.toLowerCase()) {
|
||||||
|
case "incoming": // NON-NLS
|
||||||
|
phoneNumberToReturn = getFirstNonBlank(fromPhoneNumber, phoneNumber, toPhoneNumber);
|
||||||
|
break;
|
||||||
|
case "outgoing": // NON-NLS
|
||||||
|
phoneNumberToReturn = getFirstNonBlank(toPhoneNumber, phoneNumber, fromPhoneNumber);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
phoneNumberToReturn = getFirstNonBlank(toPhoneNumber, fromPhoneNumber, phoneNumber );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return phoneNumberToReturn;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks the given string arguments in order and returns the first non blank string.
|
||||||
|
* Returns a blank string if all the input strings are blank.
|
||||||
|
*
|
||||||
|
* @param string1 First string to check
|
||||||
|
* @param string2 Second string to check
|
||||||
|
* @param string3 Third string to check
|
||||||
|
*
|
||||||
|
* @retunr first non blank string if there is one, blank string otherwise.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private String getFirstNonBlank(String string1, String string2, String string3 ) {
|
||||||
|
|
||||||
|
if (!StringUtils.isBlank(string1)) {
|
||||||
|
return string1;
|
||||||
|
} else if (!StringUtils.isBlank(string2)) {
|
||||||
|
return string2;
|
||||||
|
} else if (!StringUtils.isBlank(string3)) {
|
||||||
|
return string3;
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Circumvent DataResultFilterNode's slightly odd delegation to
|
* Circumvent DataResultFilterNode's slightly odd delegation to
|
||||||
* BlackboardArtifactNode.getSourceName().
|
* BlackboardArtifactNode.getSourceName().
|
||||||
|
Loading…
x
Reference in New Issue
Block a user