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
- [HACKYSTAT-DEV-L] Memoirs of Working on the Workspace D... Aaron Kagawa
-