mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-12 16:06:15 +00:00
Added handling of NSArray data.
This commit is contained in:
parent
99cef00b52
commit
559a963a0b
@ -74,7 +74,7 @@ class PListViewer extends javax.swing.JPanel implements FileTypeViewer, Explorer
|
|||||||
private final Outline outline;
|
private final Outline outline;
|
||||||
private ExplorerManager explorerManager;
|
private ExplorerManager explorerManager;
|
||||||
|
|
||||||
private NSDictionary rootDict;
|
private NSObject rootDict;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates new form PListViewer
|
* Creates new form PListViewer
|
||||||
@ -415,22 +415,35 @@ class PListViewer extends javax.swing.JPanel implements FileTypeViewer, Explorer
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses given binary stream and extracts Plist key/value
|
* Parses given binary stream and extracts Plist key/value.
|
||||||
*
|
*
|
||||||
* @param plistbytes
|
* @param plistbytes The byte array containing the Plist data.
|
||||||
*
|
*
|
||||||
* @return list of PropKeyValue
|
* @return list of PropKeyValue
|
||||||
*/
|
*/
|
||||||
private List<PropKeyValue> parsePList(final byte[] plistbytes) throws IOException, PropertyListFormatException, ParseException, ParserConfigurationException, SAXException {
|
private List<PropKeyValue> parsePList(final byte[] plistbytes) throws IOException, PropertyListFormatException, ParseException, ParserConfigurationException, SAXException {
|
||||||
|
|
||||||
final List<PropKeyValue> plist = new ArrayList<>();
|
final List<PropKeyValue> plist = new ArrayList<>();
|
||||||
rootDict = (NSDictionary) PropertyListParser.parse(plistbytes);
|
rootDict = PropertyListParser.parse(plistbytes);
|
||||||
|
|
||||||
final String[] keys = rootDict.allKeys();
|
/*
|
||||||
for (final String key : keys) {
|
* Parse the data if the root is an NSArray or NSDictionary. Anything
|
||||||
final PropKeyValue pkv = parseProperty(key, rootDict.objectForKey(key));
|
* else is unexpected and will be ignored.
|
||||||
if (null != pkv) {
|
*/
|
||||||
plist.add(pkv);
|
if (rootDict instanceof NSArray) {
|
||||||
|
for (int i=0; i < ((NSArray)rootDict).count(); i++) {
|
||||||
|
final PropKeyValue pkv = parseProperty("", ((NSArray)rootDict).objectAtIndex(i));
|
||||||
|
if (null != pkv) {
|
||||||
|
plist.add(pkv);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (rootDict instanceof NSDictionary) {
|
||||||
|
final String[] keys = ((NSDictionary)rootDict).allKeys();
|
||||||
|
for (final String key : keys) {
|
||||||
|
final PropKeyValue pkv = parseProperty(key, ((NSDictionary)rootDict).objectForKey(key));
|
||||||
|
if (null != pkv) {
|
||||||
|
plist.add(pkv);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user