Results 1 to 4 of 4

Thread: Refreshing From CVS

  1. #1
    Join Date
    Aug 2004
    Posts
    18

    Default Refreshing From CVS

    Every time I refresh the richclient from CVS HEAD something breaks in my otherwise working richclient test application.
    Right now my application is looking for:

    org.springframework.richclient.application.config. BeanFactoryApplicationAdvisor

    I cannot find such a file in the richclient source at the indicated location.

    How do those of you who don't experience this problem update your springrich from CVS?

    Thanks.

  2. #2
    Join Date
    Oct 2004
    Location
    Herndon, VA, US
    Posts
    648

    Default

    I usually go to look at how petclinic has been changed accordingly. The dev team has been doing a great job at keeping petclinic updated along with the code refactoring.
    HTH.
    --Jing Xue

  3. #3
    Join Date
    Sep 2004
    Location
    Vancouver, BC, Canada
    Posts
    135

    Default

    Quote Originally Posted by jfcone
    How do those of you who don't experience this problem update your springrich from CVS?
    I DO experience the problem too but, after suffering through it a few times, I can now fix the problems pretty quickly when it happens. BTW, problems like this should be expected to happen fairly frequently because the project is still, I believe, at the "alpha" stage.

    Anyway, here are some tips on how to fix them when they arise:

    1) First, I assume you're probably using a CVS client like WinCVS. Unfortunately, I don't really like the built in differencing tool (except for creating patch files). Therefore, I recommend that get a decent visual differencing tool and hook it up to WinCVS -- see the WinCVS Preferences dialog. The tool I use is Beyond Compare (http://www.scootersoftware.com/). I highly recommend it as it is by far the best I have used. If you get it, I recommend you check out the "Align Manually" and "Ignore Unimportant Differences" features as they are very handy for fixing the type of problems you are experiencing. Beyond Compare is NOT free but it is VERY cheap and WELL worth the small price.

    2) Once you have a build that works, the next time you update from CVS, make sure you keep track of all the files that changed since the last time you updated from CVS. The changed files appear in the WinCVS log window at the bottom of WinCVS. By keeping track of which files changed, you can save a lot of time when looking for the cause of build breakage.

    3) Learn how to use WinCVS' "Graph Selection" feature, which allows you to see a "graph view" of the version history for a particular file.

    4) Use the graph view to see the "check-in" comments attached to each file version. Simply click on a version number to see its comments.

    5) Use the graph view to launch a "diff selected" operation between two versions of a file.

    6) Check out WinCVS' "Query Update" feature, which allows you to see what has changed in CVS without actually copying the files to your local computer. It allows you to see what changes might break your build without actually breaking your build.

    As manifoldronin suggested, I usually look how Petclinic has changed since the last time my build worked (see tip 2 above). Once I figure out which files in Petclinic have changed, I graph the version of each file (see tip 3 above). Next I click on the version nodes of any versions that are newer than my local copy to read the check-in comments to see what they reveal (see tip 4 above). If a comment looks like it might explain the breakage, I do a diff between that version and the version of my local copy (see tip 5, above). By this time, you will usually have an idea of why your build is broken. Usually the fix involves copying the same diff in a Petclinic file to a corresponding file in your application.

    Quote Originally Posted by jfcone
    Right now my application is looking for:

    org.springframework.richclient.application.config. BeanFactoryApplicationAdvisor
    I think I remember having the same problem last week. Using the above tips, I quickly resolved the breakage in my app. First, I figured out that "PetClinicApplicationAdvisor.java" had changed since my last good build (tip 2). Next, I graphed that file (tip 3). From the graph, I clicked on the new version to get its check-in comment (tip 4), which (if memory serves me correctly) revealed that BeanFactoryApplicationAdvisor had been renamed to DefaultApplicationLifecycleAdvisor or something like that. Next, I did a diff between that version and the current version on my local computer to see what the exact change was (tip 5). Finally, I copied the change to the file in my app (i.e. "MyApplicationAdvisor.java") that corresponds to "PetClinicApplicationAdvisor.java".

    When "copying diffs" you can either do it manually (i.e. copy and paste) or you can use Beyond Compare's "Copy to other side" feature. For example, I loaded "MyApplicationAdvisor.java" on one side and "PetClinicApplicationAdvisor.java" on the other side in Beyond Compare. Then I used the "Align Manually" feature to line up corresponding sections of code on both sides (not always necessary). Then I selected the change in "PetClinicApplicationAdvisor.java" and clicked "copy to other side".

    I hope these tips are helpful to you.
    Cheers,
    Joe
    "All your bean are belong to us" - Spring Framework's IOC Container

  4. #4
    Join Date
    Aug 2004
    Location
    Melbourne, FL
    Posts
    2,794

    Default

    Also, you can subscribe to our commit mailing list for commit emails. When we refactor, the cvs commit comments tell the story.

    In general we always
    - update the petclinic sample to reflect refactoring
    - should also email the dev list (though I admit I don't do this sometimes)

    What I do is work off "spring-richclient" as an eclipse project. So my app projects depend on it while I'm in development. I can then hit CTRL-SHIFT-O to organize my imports which often will catch any classes that have been moved to more appropriate packages. From there, I'd go to petclinic to see how it's been changed based on what errors I'm seeing.

    HTH,
    Keith
    Keith Donald
    Core Spring Development Team

Similar Threads

  1. Replies: 6
    Last Post: Oct 14th, 2005, 01:47 PM
  2. Replies: 4
    Last Post: Aug 23rd, 2005, 07:57 AM
  3. Refreshing application context automatically
    By virgo_ct in forum Container
    Replies: 2
    Last Post: Aug 1st, 2005, 05:49 PM
  4. Refreshing a bean
    By falaserioaih in forum Container
    Replies: 1
    Last Post: Jul 19th, 2005, 10:10 AM
  5. Refreshing config data...setCacheSeconds
    By puffybsd in forum Container
    Replies: 0
    Last Post: Oct 1st, 2004, 09:41 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •