Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/roller/business/castor/BookmarkManagerImpl.java


1   
2   package org.roller.business.castor;
3   
4   import org.roller.RollerException;
5   import org.roller.business.BookmarkManagerBase;
6   import org.roller.business.persistence.PersistenceStrategy;
7   import org.roller.business.persistence.castor.*;
8   import org.roller.model.BookmarkManager;
9   import org.roller.model.UserManager;
10  import org.roller.pojos.BookmarkData;
11  import org.roller.pojos.FolderData;
12  import org.roller.pojos.UserData;
13  import org.roller.pojos.WebsiteData;
14  
15  import java.io.Serializable;
16  
17  
18  /**
19   * BookmarkManager implementation based on Castor JDO.<br />
20   * 
21   * <b>Implementation Notes</b><br/>
22   * 
23   * Connections returned by getDatabase() and releases by releaseDatabase().<br/>
24   * Public methods create connection and use transaction.<br/>
25   * Private methods need connection and expect existing transaction.<br/>
26   */
27  public class BookmarkManagerImpl extends BookmarkManagerBase
28      implements BookmarkManager, Serializable
29  {    
30      //---------------------------------------------------- Startup and Shutdown
31  
32      public BookmarkManagerImpl( PersistenceStrategy support, UserManager umgr)
33          throws RollerException
34      {
35          super(umgr);
36          mSupport = (CastorStrategy)support;
37      }
38  
39      // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
40      public void storeBookmark( BookmarkData data ) throws RollerException 
41      {
42          try 
43          {            
44              data.setFolder( (FolderData)
45                  mSupport.retrievePersistentObject( 
46                      data.getFolder().getId(), FolderData.class) );
47                      
48              data.getFolder().setWebsite( (WebsiteData)
49                  mSupport.retrievePersistentObject(
50                     data.getFolder().getWebsite().getId(), WebsiteData.class) );
51                  
52              data.getFolder().getWebsite().setUser((UserData)
53                  mSupport.retrievePersistentObject(
54                      data.getFolder().getWebsite().getUser().getId(), UserData.class) );
55                  
56              mSupport.storePersistentObject(  data );
57          }
58          catch (Throwable t) 
59          {
60              throw new RollerException(t);
61          }
62      }
63  
64      // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
65      
66      public void storeFolder( FolderData data ) throws RollerException 
67      {
68          data.setWebsite( (WebsiteData)
69              mSupport.retrievePersistentObject(
70                  data.getWebsite().getId(), WebsiteData.class) );
71              
72          data.getWebsite().setUser((UserData)
73              mSupport.retrievePersistentObject(
74                  data.getWebsite().getUser().getId(), UserData.class) );
75                  
76          mSupport.storePersistentObject(  data );
77      }
78  
79      //---------------------------------------------------------------- Privates
80  
81  
82  }
83