diff -r 0367d2db2c06 -r 72f198be1c1d crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Stack.java --- a/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Stack.java Tue Aug 24 12:16:27 2010 +0300 +++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Stack.java Tue Aug 24 14:01:48 2010 +0300 @@ -36,6 +36,7 @@ public static final String TAG_ID = "id"; public static final String TAG_RANGE = "range"; public static final String TAG_HASH = "hash"; + public static final String TAG_DETAILED_HASH = "detailed_hash"; public static final String TAG_LINK = "link"; public static final String TAG_STACK_ENTRY = "stack_entry"; public static final String ATTRIBUTE_SEG = "seg"; @@ -48,6 +49,7 @@ private final String stackType; private final String stackRange; private final String stackHash; + private final String stackDetailedHash; private final String stackLinkRegister; private final String stackStackPointer; private final String stackProgramCounter; @@ -68,13 +70,14 @@ * @param data stack entries * @param cpsrStack defines whether this stack contains cpsr register */ - private Stack(int id, String type, String range, String hash, String linkRegister, String stackPointer, + private Stack(int id, String type, String range, String hash, String detailedHash, String linkRegister, String stackPointer, String programCounter, boolean containsAccurateStackEntries, List data, boolean cpsrStack) { stackId = id; stackType = type; stackRange = range; stackHash = hash; + stackDetailedHash = detailedHash; stackLinkRegister = linkRegister; stackStackPointer = stackPointer; stackProgramCounter = programCounter; @@ -118,7 +121,11 @@ public String getHash() { return stackHash; } - + + public String getDetailedHash() { + return stackDetailedHash; + } + /** * Writes stack data into given buffer (i.e. text file) * @param out buffer to write to @@ -132,7 +139,8 @@ writeLine(out, "--------"); writeLine(out, "Stack Type", stackType); writeLine(out, "Stack Range", stackRange); - writeLine(out, "Stack Hash", stackHash); + writeLine(out, "Defect Hash", stackHash); + writeLine(out, "Detailed Defect Hash", stackDetailedHash); if (stackData != null && !stackData.isEmpty()) { writeLine(out, ""); @@ -220,6 +228,11 @@ if (hash == null) hash = ""; + // read detailed defect hash if exists + String detailedHash = XmlUtils.getTextValue(elementThreadStack, TAG_DETAILED_HASH); + if (detailedHash == null) + detailedHash = ""; + // read stack entries List entries = null; NodeList stackEntries = elementThreadStack.getElementsByTagName(TAG_STACK_ENTRY); @@ -246,7 +259,7 @@ } } - return new Stack(id, type, range, hash, linkRegister, stackPointer, programCounter, + return new Stack(id, type, range, hash, detailedHash, linkRegister, stackPointer, programCounter, containsAccurateStackEntries, entries, cpsrStack); } catch (Exception e) { return null;