File tree Expand file tree Collapse file tree 2 files changed +18
-7
lines changed
codepulse/src/main/scala/com/secdec/codepulse Expand file tree Collapse file tree 2 files changed +18
-7
lines changed Original file line number Diff line number Diff line change @@ -100,12 +100,23 @@ class CodeForestBuilder(defaultTracedGroups: List[String]) {
100100 recurse(addRootGroup(JSPGroupName ), path)
101101 }
102102
103- protected def addRootGroup (name : String ) = roots.find { node =>
104- node.name == name && node.kind == CodeTreeNodeKind .Grp
105- } getOrElse {
106- val node = nodeFactory.createGroupNode(name)
107- roots.add(node)
108- node
103+ protected def addRootGroup (name : String ) = {
104+ val path = (name split '/' ).toList
105+
106+ val startRoot = roots.find { node =>
107+ node.name == path.head && node.kind == CodeTreeNodeKind .Grp
108+ } getOrElse {
109+ val node = nodeFactory.createGroupNode(path.head)
110+ roots.add(node)
111+ node
112+ }
113+
114+ def recurse (parent : CodeTreeNode , path : List [String ]): CodeTreeNode = path match {
115+ case Nil => parent
116+ case node :: rest => recurse(addFolder(parent, node), rest)
117+ }
118+
119+ recurse(startRoot, path.tail)
109120 }
110121
111122 protected def addFolder (parent : CodeTreeNode , name : String ) = {
Original file line number Diff line number Diff line change @@ -112,7 +112,7 @@ object TraceUploadData {
112112 val jspAdapter = new JasperJspAdapter
113113
114114 ZipEntryChecker .forEachEntry(file) { (filename, entry, contents) =>
115- val groupName = if (filename == file.getName) RootGroupName else new File ( filename).getName
115+ val groupName = if (filename == file.getName) RootGroupName else s " JARs/ $ filename"
116116 if (! entry.isDirectory) {
117117 FilenameUtils .getExtension(entry.getName) match {
118118 case " class" =>
You can’t perform that action at this time.
0 commit comments