Hey Guys,

I just finished what i thought was going to be a minor fix, but it turned out to be a long and confusing fix, to the Workspace Dependency Analysis (HACK-732). Here is what I was having trouble with.

1) It took me a pretty long time to track bug in the DailyProjectDependency2 implementation noted in HACK-779. It turns out that that the FilePattern wasn't matching against the Workspace (or WorkspaceFile) object. Instead it was just matching against the filePath in the Dependency data. This has since been fixed by Cedric. So, here is my point. Wouldn't it be nice if the individual DailyProjectData implementations did not have to worry about that sort of detail. Maybe after we convert some more DPD implementations to the new design we can start to think about abstracting some of the common code out.

2) It also took me a while to find HACK-781. The problem is that some users have workspaces have file extensions. For some reason, I never thought to check that and was left scratching my head for a while why I was getting workspaces with file extensions. to get rid of these, i deleted the user.workspace.xml file and the WorkspaceSeal. but this isn't a long term solution. why are these workspaces being created. i know that i raised this issue before. what was the solution back then?

3) I had some minor issues with the creation of test projects. Our test framework does not allow use to set the workspace root. I'm not sure why that is. I vote to change that. Anyway, one obvious reason why we should do this is that the first issue was not detected until I set up a real project with a workspace root.

4) I've come to realize that our test data isn't very organized at all. What would happen if moduleA had FileMetric data on 2006-06-01.xml and moduleB had a totally different set of FileMetric data on the same day?

5) I think that the DailyProjectDependency2 implementation can replace the old DailyProjectDependency implementation. However, in the longer term I think we would want to redo the DPD to use the new design. Oh... By the way, can we make a better DrillDown section in the DailyProjectDetails for the dependency data? What should go in there?


Anyway, HACK-732 is completed. The only problem that I see right now is that it is pretty slow. It calculates the 4 dependency metrics for every workspace that has Java code in a project. Well it takes a while on my comp because I don't have enough RAM (anyone want to donate? I have a Dell Dimension 8400. hahaha).

thanks, Aaron

Reply via email to