Jon Cox b80c73be52 Point checkin for virt server notifiction.
Now the virt server can react properly when a file in WEB-INF
 (such as a jar or web.xml file) is submitted to staging.


 Details
 -------
 
 More testing is needed, but the basic stuff looks ok.
 Here's a list of the events within the webapp that
 the virt server is now able to receive & handle properly:

     o  Invite user to web project
     o  Create web project
     o  Delete sandbox
     o  Delete web project 
     o  Submission of files to WEB-INF  


 The virt server does not yet get: 
     o  Revert events
     o  Out-of-band changes from CIFS (and probably never will).
  
 The plan to deal with changes made to critical files in WEB-INF
 is to have an exlicit control available within the webapp. 
 

 It does not yet handle "approved with changes" very gracefully.
 That can probably be fixed over the next few days.



 Gory details
 -----------

   projects/core/source/java/org/alfresco/util/VirtServerUtils.java
        Moved pattern that detects whether virt server needs
        updating in from AVMConstants, due to build dependencies;
        now this function is needed by workflow, which is in the
        repository package.

   projects/repository/config/alfresco/avm-services-context.xml
        Added AVMSubmitTransactionListener bean to allow virt
        server notification to hapen immediately after the
        submit transaction has been committed sucessfully.


   projects/repository/source/java/org/alfresco/repo/avm/wf/AVMSubmitPackageHandler.java
        Added transaction listner that does the virt server update,
        and added the list of staging diffs to AlfrescoTransactionSupport
        as a bound resource.


   projects/repository/source/java/org/alfresco/repo/avm/wf/AVMSubmitTransactionListener.java
        Does the actual notification of the virt server.
        The logic in this class still needs some work to handle
        "approved with changes" gracefully, but it does do
        the right thing when it comes to recursively reloading
        staging when a jar or web.xml file is modified.
        Light testing so far, but looks ok.  Consider this
        a point checkin only.  A singleton of this class is
        instantiated via the Spring config avm-services-context.xml,
        and used by AVMSubmitPackageHandler.


   projects/web-client/source/java/org/alfresco/web/bean/wcm/AVMConstants.java
        Removed the utility function that tests whether or not
        updating a file would require the virt server to be notified.
        This class would benifit from a major cleanup when time permits.

   projects/web-client/source/java/org/alfresco/web/bean/wcm/SubmitDialog.java
        Using the function that was moved/renamed from AVMConstants
        to VirtServerUtils that tests if a given file update requires
        a virt server notification message.




git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4990 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-02-01 02:18:54 +00:00
..