weaver      2004/06/23 11:34:13

  Modified:    
components/persistence/src/java/org/apache/jetspeed/components/persistence/store/ojb/pb
                        PBStore.java
               components/prefs/src/test/org/apache/jetspeed/prefs
                        TestPreferences.java
               
components/persistence/src/java/org/apache/jetspeed/components/persistence/store/ojb/otm
                        OTMStoreImpl.java
               
components/persistence/src/java/org/apache/jetspeed/components/persistence/store/impl
                        StoreEventInvoker.java
                        PersistenceStoreEventImpl.java
                        TransactionEventInvoker.java
               
components/persistence/src/test/org/apache/jetspeed/components/persistence
                        TestPersistenceContainer.java
  Log:
  imporved and started testing event capabilites of PersistenceStore
  
  Revision  Changes    Path
  1.8       +30 -19    
jakarta-jetspeed-2/components/persistence/src/java/org/apache/jetspeed/components/persistence/store/ojb/pb/PBStore.java
  
  Index: PBStore.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/components/persistence/src/java/org/apache/jetspeed/components/persistence/store/ojb/pb/PBStore.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- PBStore.java      5 Jun 2004 16:49:33 -0000       1.7
  +++ PBStore.java      23 Jun 2004 18:34:13 -0000      1.8
  @@ -57,7 +57,7 @@
   public class PBStore implements PersistenceStore
   {
       private PBKey pbKey;
  -    private List listeners;
  +    private static Set listeners;
       private StoreEventInvoker invoker;
       private PersistenceBroker pb;
      
  @@ -79,7 +79,7 @@
               {
                   pbKey = PersistenceBrokerFactory.getDefaultKey();
               }
  -            this.listeners = new ArrayList();        
  +            listeners = new HashSet();        
               invoker = new StoreEventInvoker(listeners, this);
               pb = PersistenceBrokerFactory.createPersistenceBroker(pbKey);        
               toBeStored = new HashSet();
  @@ -134,9 +134,9 @@
       public void deletePersistent(Object obj) throws LockFailedException
       {
           checkBroker();
  -        invoker.beforeDeletePersistent();        
  +        invoker.beforeDeletePersistent(obj);        
           pb.delete(obj);
  -        invoker.afterDeletePersistent();
  +        invoker.afterDeletePersistent(obj);
   
       }
   
  @@ -150,9 +150,10 @@
           Iterator itr = deletes.iterator();
           while(itr.hasNext())
           {
  -            invoker.beforeDeletePersistent();  
  -            pb.delete(itr.next());
  -            invoker.afterDeletePersistent();
  +            Object obj = itr.next();
  +            invoker.beforeDeletePersistent(obj);  
  +            pb.delete(obj);
  +            invoker.afterDeletePersistent(obj);
           }
   
       }
  @@ -163,14 +164,16 @@
       public Collection getCollectionByQuery(Object query)
       {
           invoker.beforeLookup();
  +        Collection result = null;
           try
           {
               checkBroker();
  -            return pb.getCollectionByQuery((Query) query);
  +            result =  pb.getCollectionByQuery((Query) query);
  +            return result;
           }
           finally
           {
  -            invoker.afterLookup();
  +            invoker.afterLookup(result);
           }
       }
   
  @@ -218,14 +221,16 @@
       public Object getObjectByQuery(Object query)
       {        
           invoker.beforeLookup();
  +        Object result = null;
           try
           {
               checkBroker();
  -            return pb.getObjectByQuery((Query) query);
  +            result = pb.getObjectByQuery((Query) query);
  +            return result;
           }
           finally
           {
  -            invoker.afterLookup();
  +            invoker.afterLookup(result);
           }
       }
   
  @@ -243,14 +248,16 @@
       public Object getObjectByIdentity(Object object) throws LockFailedException
       {
           invoker.beforeLookup();
  +        Object result = null;
           try
           {
               checkBroker();
  -            return pb.getObjectByIdentity(new Identity(object, pb));
  +            result = pb.getObjectByIdentity(new Identity(object, pb));
  +            return result;
           }
           finally
           {
  -            invoker.afterLookup();
  +            invoker.afterLookup(result);
           }
       }
   
  @@ -279,14 +286,16 @@
       public Iterator getIteratorByQuery(Object query)
       {
           invoker.beforeLookup();
  +        Iterator result = null;
           try
           {
               checkBroker();
  -            return pb.getIteratorByQuery((Query) query);
  +            result = pb.getIteratorByQuery((Query) query);
  +            return result;
           }
           finally
           {
  -            invoker.afterLookup();
  +            invoker.afterLookup(result);
           }
       }
   
  @@ -375,10 +384,10 @@
       {
           try
           {
  -            invoker.beforeMakePersistent();
  +            invoker.beforeMakePersistent(obj);
               checkBroker();
               pb.store(obj);
  -            invoker.afterMakePersistent();
  +            invoker.afterMakePersistent(obj);
           }
           finally
           {
  @@ -409,14 +418,16 @@
       public Collection getExtent(Class clazz)
       {
           invoker.beforeLookup();
  +        Collection result = null;
           try
           {
               checkBroker();
  -            return pb.getCollectionByQuery(QueryFactory.newQuery(clazz, new 
Criteria()));
  +            result = pb.getCollectionByQuery(QueryFactory.newQuery(clazz, new 
Criteria()));
  +            return result;
           }
           finally
           {
  -            invoker.afterLookup();
  +            invoker.afterLookup(result);
           }
       }
   
  
  
  
  1.16      +91 -36    
jakarta-jetspeed-2/components/prefs/src/test/org/apache/jetspeed/prefs/TestPreferences.java
  
  Index: TestPreferences.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/components/prefs/src/test/org/apache/jetspeed/prefs/TestPreferences.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- TestPreferences.java      18 Jun 2004 20:40:24 -0000      1.15
  +++ TestPreferences.java      23 Jun 2004 18:34:13 -0000      1.16
  @@ -28,9 +28,11 @@
   import org.apache.jetspeed.prefs.impl.PropertyManagerImpl;
   
   /**
  - * <p>Unit testing for [EMAIL PROTECTED] Preferences}.</p>
  + * <p>
  + * Unit testing for [EMAIL PROTECTED] Preferences}.
  + * </p>
    * 
  - * @author <a href="[EMAIL PROTECTED]">David Le Strat</a>
  + * @author <a href="[EMAIL PROTECTED]">David Le Strat </a>
    */
   public class TestPreferences extends PersistenceSupportedTestCase
   {
  @@ -39,7 +41,9 @@
       private static PropertyManager pms;
   
       /**
  -     * <p>Defines property set types.</p>
  +     * <p>
  +     * Defines property set types.
  +     * </p>
        */
       private final static int USER_PROPERTY_SET_TYPE = 0;
       private final static int SYSTEM_PROPERTY_SET_TYPE = 1;
  @@ -47,10 +51,14 @@
       private PreferencesProvider provider;
   
       /**
  -     * <p>Defines the test case name for junit.</p>
  -     * @param testName The test case name.
  +     * <p>
  +     * Defines the test case name for junit.
  +     * </p>
  +     * 
  +     * @param testName
  +     *            The test case name.
        */
  -    public TestPreferences(String testName)
  +    public TestPreferences( String testName )
       {
           super(testName);
       }
  @@ -62,14 +70,15 @@
       {
           super.setUp();
           pms = new PropertyManagerImpl(persistenceStore);
  -        provider = new PreferencesProviderImpl(persistenceStore, 
"org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl", true);
  +        provider = new PreferencesProviderImpl(persistenceStore,
  +                "org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl", true);
       }
   
       /**
        * @see junit.framework.TestCase#tearDown()
        */
       public void tearDown() throws Exception
  -    {      
  +    {
           clean();
           // super.tearDown();
       }
  @@ -79,14 +88,17 @@
           // All methods starting with "test" will be executed in the test suite.
           return new TestSuite(TestPreferences.class);
       }
  -    
  +
       /**
  -     * <p>Test user root.</p>
  +     * <p>
  +     * Test user root.
  +     * </p>
        */
       public void testUserRoot()
       {
           pms = new PropertyManagerImpl(persistenceStore);
  -        provider = new PreferencesProviderImpl(persistenceStore, 
"org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl", true);
  +        provider = new PreferencesProviderImpl(persistenceStore,
  +                "org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl", true);
           Preferences prefs = Preferences.userRoot();
           if (null != prefs)
           {
  @@ -97,27 +109,31 @@
               assertTrue("expected user root == '/', " + prefs, false);
           }
       }
  -    
  +
       public void testSansPropertyManager()
       {
           pms = new PropertyManagerImpl(persistenceStore);
  -        provider = new PreferencesProviderImpl(persistenceStore, 
"org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl", false);
  +        provider = new PreferencesProviderImpl(persistenceStore,
  +                "org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl", false);
           Preferences pref0 = Preferences.userRoot();
           // Test that the property manager is off
           Preferences pref1 = pref0.node("testOpenNode");
           pref1.put("0", "I am 0 key");
  -        
  +
           assertNotNull(pref1.get("0", null));
  -        
  +
       }
   
       /**
  -     * <p>Test system root.</p>
  +     * <p>
  +     * Test system root.
  +     * </p>
        */
       public void testSystemRoot()
       {
           pms = new PropertyManagerImpl(persistenceStore);
  -        provider = new PreferencesProviderImpl(persistenceStore, 
"org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl", true);
  +        provider = new PreferencesProviderImpl(persistenceStore,
  +                "org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl", true);
           Preferences prefs = Preferences.systemRoot();
           if (null != prefs)
           {
  @@ -130,12 +146,15 @@
       }
   
       /**
  -     * <p>Test node and whether children exist under a given node.</p>
  +     * <p>
  +     * Test node and whether children exist under a given node.
  +     * </p>
        */
       public void testNodeAndChildrenNames()
       {
           pms = new PropertyManagerImpl(persistenceStore);
  -        provider = new PreferencesProviderImpl(persistenceStore, 
"org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl", true);
  +        provider = new PreferencesProviderImpl(persistenceStore,
  +                "org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl", true);
           Preferences prefs = Preferences.userRoot();
           // Test without children.
           try
  @@ -143,7 +162,8 @@
               String[] childrenNames = prefs.childrenNames();
               if (childrenNames.length > 0)
               {
  -                assertTrue("expected no children, " + childrenNames.length + ", " + 
childrenNames[0], childrenNames.length == 0);
  +                assertTrue("expected no children, " + childrenNames.length + ", " + 
childrenNames[0],
  +                        childrenNames.length == 0);
               }
           }
           catch (BackingStoreException bse)
  @@ -166,7 +186,8 @@
           Preferences prefs3 = Preferences.userRoot().node("/an1");
           Preferences prefs4 = prefs3.node("rn1/srn1");
           assertNotNull("should not be null", prefs4);
  -        assertTrue("expected node == /an1/rn1/srn1, " + prefs4.absolutePath(), 
prefs4.absolutePath().equals("/an1/rn1/srn1"));
  +        assertTrue("expected node == /an1/rn1/srn1, " + prefs4.absolutePath(), 
prefs4.absolutePath().equals(
  +                "/an1/rn1/srn1"));
   
           try
           {
  @@ -187,22 +208,23 @@
           {
               assertTrue("backing store exception: " + bse, false);
           }
  -        
  -     
  -        
  +
       }
   
       /**
  -     * <p>Test adding properties to a property set node and get property keys
  -     * for a given node.</p>
  +     * <p>
  +     * Test adding properties to a property set node and get property keys for a
  +     * given node.
  +     * </p>
        */
       public void testPropertyAndPropertyKeys()
       {
           pms = new PropertyManagerImpl(persistenceStore);
  -        provider = new PreferencesProviderImpl(persistenceStore, 
"org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl", true);
  +        provider = new PreferencesProviderImpl(persistenceStore,
  +                "org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl", true);
   
           // 1. Current node does not have any property associated to it.
  -        // No property has been defined nor added to the node.  There should be
  +        // No property has been defined nor added to the node. There should be
           // no property and adding a child should return null.
           Preferences pref0 = Preferences.userRoot();
           try
  @@ -210,7 +232,8 @@
               String[] propertyKeys = pref0.keys();
               if (propertyKeys.length > 0)
               {
  -                assertTrue("expected no children, " + propertyKeys.length + ", " + 
propertyKeys[0], propertyKeys.length == 0);
  +                assertTrue("expected no children, " + propertyKeys.length + ", " + 
propertyKeys[0],
  +                        propertyKeys.length == 0);
               }
           }
           catch (BackingStoreException bse)
  @@ -259,12 +282,41 @@
           {
               assertTrue("backing store exception: " + bse, false);
           }
  +
  +    }
  +
  +    public void testNodeRemoval() throws Exception
  +    {
  +        Preferences prefs = Preferences.userRoot();
  +
  +        final String test_node = "removeTest";
  +
  +        assertFalse(prefs.nodeExists(test_node));
  +
  +        Preferences removeNode = prefs.node(test_node);
  +
  +        assertNotNull(removeNode);
  +
  +        // now remove then re-add and see if a IllegalStateException is thrown
  +
  +        removeNode.removeNode();
  +        assertFalse(prefs.nodeExists(test_node));
           
  -        
  +        try
  +        {
  +           removeNode.childrenNames();
  +           assertFalse("An IllegalStateException should have been thrown by the 
AbtractPreferences class", true);
  +        }
  +        catch (IllegalStateException e)
  +        {
  +            
  +        }
       }
   
       /**
  -     * <p>Init property property keys map.</p>
  +     * <p>
  +     * Init property property keys map.
  +     * </p>
        */
       protected Map initPropertyKeysMap()
       {
  @@ -279,7 +331,9 @@
       }
   
       /**
  -     * <p>Init property property keys.</p>
  +     * <p>
  +     * Init property property keys.
  +     * </p>
        */
       protected void initPropertyKeys()
       {
  @@ -296,7 +350,9 @@
       }
   
       /**
  -     * <p>Clean properties.</p>
  +     * <p>
  +     * Clean properties.
  +     * </p>
        */
       protected void clean()
       {
  @@ -309,6 +365,7 @@
               Preferences.userRoot().node("/an1").removeNode();
               Preferences.userRoot().node("/rn1").removeNode();
               Preferences.userRoot().node("/testOpenNode").removeNode();
  +            Preferences.userRoot().node("/removeTest").removeNode();
           }
           catch (PropertyException pex)
           {
  @@ -319,7 +376,5 @@
               System.out.println("BackingStoreException" + bse);
           }
       }
  -    
  -    
   
  -}
  +}
  \ No newline at end of file
  
  
  
  1.8       +9 -9      
jakarta-jetspeed-2/components/persistence/src/java/org/apache/jetspeed/components/persistence/store/ojb/otm/OTMStoreImpl.java
  
  Index: OTMStoreImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/components/persistence/src/java/org/apache/jetspeed/components/persistence/store/ojb/otm/OTMStoreImpl.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- OTMStoreImpl.java 5 Jun 2004 16:49:22 -0000       1.7
  +++ OTMStoreImpl.java 23 Jun 2004 18:34:13 -0000      1.8
  @@ -156,9 +156,9 @@
       {
           try
           {
  -            invoker.beforeDeletePersistent();
  +            invoker.beforeDeletePersistent(obj);
               OTMConn.deletePersistent(obj);
  -            invoker.afterDeletePersistent();
  +            invoker.afterDeletePersistent(obj);
           }
           catch (LockingException e)
           {
  @@ -232,7 +232,7 @@
   
           invoker.beforeLookup();
           Collection results = OTMConn.getCollectionByQuery((Query) query, lock);
  -        invoker.afterLookup();
  +        invoker.afterLookup(results);
           return results;
       }
   
  @@ -293,7 +293,7 @@
               Identity oid = OTMConn.getIdentity(object);
               invoker.beforeLookup();
               Object obj = OTMConn.getObjectByIdentity(oid);
  -            invoker.afterLookup();
  +            invoker.afterLookup(obj);
               return obj;
           }
           catch (LockingException e)
  @@ -331,7 +331,7 @@
               Identity oid = OTMConn.getIdentity(object);
               invoker.beforeLookup();
               Object obj = OTMConn.getObjectByIdentity(oid, lock);
  -            invoker.afterLookup();
  +            invoker.afterLookup(obj);
               return obj;
           }
           catch (LockingException e)
  @@ -367,7 +367,7 @@
       {
           invoker.beforeLookup();
           Iterator itr = OTMConn.getIteratorByQuery((Query) query);
  -        invoker.afterLookup();
  +        invoker.afterLookup(itr);
           return itr;
       }
   
  @@ -397,7 +397,7 @@
   
           invoker.beforeLookup();
           Iterator itr = OTMConn.getIteratorByQuery((Query) query, lock);
  -        invoker.afterLookup();
  +        invoker.afterLookup(itr);
           return itr;
       }
   
  @@ -506,9 +506,9 @@
       {
           try
           {
  -            invoker.beforeMakePersistent();
  +            invoker.beforeMakePersistent(obj);
               OTMConn.makePersistent(obj);
  -            invoker.afterMakePersistent();
  +            invoker.afterMakePersistent(obj);
           }
           catch (LockingException e)
           {
  
  
  
  1.4       +15 -15    
jakarta-jetspeed-2/components/persistence/src/java/org/apache/jetspeed/components/persistence/store/impl/StoreEventInvoker.java
  
  Index: StoreEventInvoker.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/components/persistence/src/java/org/apache/jetspeed/components/persistence/store/impl/StoreEventInvoker.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StoreEventInvoker.java    25 Mar 2004 21:40:52 -0000      1.3
  +++ StoreEventInvoker.java    23 Jun 2004 18:34:13 -0000      1.4
  @@ -15,8 +15,8 @@
    */
   package org.apache.jetspeed.components.persistence.store.impl;
   
  +import java.util.Collection;
   import java.util.Iterator;
  -import java.util.List;
   
   import org.apache.jetspeed.components.persistence.store.PersistenceStore;
   import 
org.apache.jetspeed.components.persistence.store.PersistenceStoreEventListener;
  @@ -39,7 +39,7 @@
        * @param eventListeners
        * @param store
        */
  -    public StoreEventInvoker(List eventListeners, PersistenceStore store)
  +    public StoreEventInvoker(Collection eventListeners, PersistenceStore store)
       {
           super(eventListeners, store);        
       }
  @@ -52,13 +52,13 @@
        * @see 
org.apache.jetspeed.components.persistence.store.PersistenceStoreEventListener#afterDeletePersistent(org.apache.jetspeed.components.persistence.store.PersistenceStoreEvent)
        * @param event
        */
  -    public void afterDeletePersistent()
  +    public void afterDeletePersistent(Object target)
       {
                Iterator itr = listeners.iterator();
                while(itr.hasNext())
                {
                        PersistenceStoreEventListener psel = 
(PersistenceStoreEventListener) itr.next();
  -                     psel.afterDeletePersistent(new 
PersistenceStoreEventImpl(store));
  +                     psel.afterDeletePersistent(new 
PersistenceStoreEventImpl(store, target));
                }
   
       }
  @@ -71,13 +71,13 @@
        * @see 
org.apache.jetspeed.components.persistence.store.PersistenceStoreEventListener#afterLookup(org.apache.jetspeed.components.persistence.store.PersistenceStoreEvent)
        * @param event
        */
  -    public void afterLookup()
  +    public void afterLookup(Object target)
       {
                Iterator itr = listeners.iterator();
                while(itr.hasNext())
                {
                        PersistenceStoreEventListener psel = 
(PersistenceStoreEventListener) itr.next();
  -                     psel.afterLookup(new PersistenceStoreEventImpl(store));
  +                     psel.afterLookup(new PersistenceStoreEventImpl(store, target));
                }
   
       }
  @@ -90,13 +90,13 @@
        * @see 
org.apache.jetspeed.components.persistence.store.PersistenceStoreEventListener#afterMakePersistent(org.apache.jetspeed.components.persistence.store.PersistenceStoreEvent)
        * @param event
        */
  -    public void afterMakePersistent()
  +    public void afterMakePersistent(Object target)
       {
                Iterator itr = listeners.iterator();
                while(itr.hasNext())
                {
                        PersistenceStoreEventListener psel = 
(PersistenceStoreEventListener) itr.next();
  -                     psel.afterMakePersistent(new PersistenceStoreEventImpl(store));
  +                     psel.afterMakePersistent(new PersistenceStoreEventImpl(store, 
target));
                }
   
       }
  @@ -109,13 +109,13 @@
        * @see 
org.apache.jetspeed.components.persistence.store.PersistenceStoreEventListener#beforeDeletePersistent(org.apache.jetspeed.components.persistence.store.PersistenceStoreEvent)
        * @param event
        */
  -    public void beforeDeletePersistent()
  +    public void beforeDeletePersistent(Object target)
       {
                Iterator itr = listeners.iterator();
                while(itr.hasNext())
                {
                        PersistenceStoreEventListener psel = 
(PersistenceStoreEventListener) itr.next();
  -                     psel.beforeDeletePersistent(new 
PersistenceStoreEventImpl(store));
  +                     psel.beforeDeletePersistent(new 
PersistenceStoreEventImpl(store, target));
                }
   
       }
  @@ -134,7 +134,7 @@
                while(itr.hasNext())
                {
                        PersistenceStoreEventListener psel = 
(PersistenceStoreEventListener) itr.next();
  -                     psel.beforeLookup(new PersistenceStoreEventImpl(store));
  +                     psel.beforeLookup(new PersistenceStoreEventImpl(store, null));
                }
   
       }
  @@ -147,13 +147,13 @@
        * @see 
org.apache.jetspeed.components.persistence.store.PersistenceStoreEventListener#beforeMakePersistent(org.apache.jetspeed.components.persistence.store.PersistenceStoreEvent)
        * @param event
        */
  -    public void beforeMakePersistent()
  +    public void beforeMakePersistent(Object target)
       {
                Iterator itr = listeners.iterator();
                while(itr.hasNext())
                {
                        PersistenceStoreEventListener psel = 
(PersistenceStoreEventListener) itr.next();
  -                     psel.beforeMakePersistent(new 
PersistenceStoreEventImpl(store));
  +                     psel.beforeMakePersistent(new PersistenceStoreEventImpl(store, 
target));
                }
   
       }
  @@ -164,7 +164,7 @@
                while(itr.hasNext())
                {
                        PersistenceStoreEventListener psel = 
(PersistenceStoreEventListener) itr.next();
  -                     psel.beforeClose(new PersistenceStoreEventImpl(store));
  +                     psel.beforeClose(new PersistenceStoreEventImpl(store, null));
                }
   
        }
  @@ -175,7 +175,7 @@
                while(itr.hasNext())
                {
                        PersistenceStoreEventListener psel = 
(PersistenceStoreEventListener) itr.next();
  -                     psel.afterClose(new PersistenceStoreEventImpl(store));
  +                     psel.afterClose(new PersistenceStoreEventImpl(store, null));
                }
   
        }
  
  
  
  1.3       +9 -1      
jakarta-jetspeed-2/components/persistence/src/java/org/apache/jetspeed/components/persistence/store/impl/PersistenceStoreEventImpl.java
  
  Index: PersistenceStoreEventImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/components/persistence/src/java/org/apache/jetspeed/components/persistence/store/impl/PersistenceStoreEventImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PersistenceStoreEventImpl.java    8 Mar 2004 00:46:35 -0000       1.2
  +++ PersistenceStoreEventImpl.java    23 Jun 2004 18:34:13 -0000      1.3
  @@ -34,10 +34,13 @@
   {
        private PersistenceStore store;
        
  +     private Object target;
        
  -     public PersistenceStoreEventImpl(PersistenceStore store)
  +     
  +     public PersistenceStoreEventImpl(PersistenceStore store, Object target)
        {
                this.store = store;
  +             this.target = target;
        }
   
       /** 
  @@ -65,6 +68,11 @@
       {
           
           return store.getTransaction();
  +    }
  +    
  +    public Object getTarget()
  +    {
  +        return this.target;
       }
   
   }
  
  
  
  1.3       +9 -9      
jakarta-jetspeed-2/components/persistence/src/java/org/apache/jetspeed/components/persistence/store/impl/TransactionEventInvoker.java
  
  Index: TransactionEventInvoker.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/components/persistence/src/java/org/apache/jetspeed/components/persistence/store/impl/TransactionEventInvoker.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TransactionEventInvoker.java      8 Mar 2004 00:46:35 -0000       1.2
  +++ TransactionEventInvoker.java      23 Jun 2004 18:34:13 -0000      1.3
  @@ -15,8 +15,8 @@
    */
   package org.apache.jetspeed.components.persistence.store.impl;
   
  +import java.util.Collection;
   import java.util.Iterator;
  -import java.util.List;
   
   import org.apache.jetspeed.components.persistence.store.PersistenceStore;
   import org.apache.jetspeed.components.persistence.store.TransactionEventListener;
  @@ -35,10 +35,10 @@
   public class TransactionEventInvoker
   {
        
  -     protected List listeners;
  +     protected Collection listeners;
        protected PersistenceStore store;
        
  -     public TransactionEventInvoker(List eventListeners, PersistenceStore store)
  +     public TransactionEventInvoker(Collection eventListeners, PersistenceStore 
store)
        {
                this.listeners = eventListeners;
                this.store = store;
  @@ -58,7 +58,7 @@
           while(itr.hasNext())
           {
                TransactionEventListener tel = (TransactionEventListener) itr.next();
  -             tel.afterCommit(new PersistenceStoreEventImpl(store));
  +             tel.afterCommit(new PersistenceStoreEventImpl(store, null));
           }
   
       }
  @@ -77,7 +77,7 @@
                while(itr.hasNext())
                {
                        TransactionEventListener tel = (TransactionEventListener) 
itr.next();
  -                     tel.beforeCommit(new PersistenceStoreEventImpl(store));
  +                     tel.beforeCommit(new PersistenceStoreEventImpl(store, null));
                }
   
       }
  @@ -96,7 +96,7 @@
                while(itr.hasNext())
                {
                        TransactionEventListener tel = (TransactionEventListener) 
itr.next();
  -                     tel.afterRollback(new PersistenceStoreEventImpl(store));
  +                     tel.afterRollback(new PersistenceStoreEventImpl(store, null));
                }
   
       }
  @@ -115,7 +115,7 @@
                while(itr.hasNext())
                {
                        TransactionEventListener tel = (TransactionEventListener) 
itr.next();
  -                     tel.beforeRollback(new PersistenceStoreEventImpl(store));
  +                     tel.beforeRollback(new PersistenceStoreEventImpl(store, null));
                }
   
       }
  @@ -134,7 +134,7 @@
                while(itr.hasNext())
                {
                        TransactionEventListener tel = (TransactionEventListener) 
itr.next();
  -                     tel.afterBegin(new PersistenceStoreEventImpl(store));
  +                     tel.afterBegin(new PersistenceStoreEventImpl(store, null));
                }
   
       }
  @@ -153,7 +153,7 @@
                while(itr.hasNext())
                {
                        TransactionEventListener tel = (TransactionEventListener) 
itr.next();
  -                     tel.beforeBegin(new PersistenceStoreEventImpl(store));
  +                     tel.beforeBegin(new PersistenceStoreEventImpl(store, null));
                }
   
       }
  
  
  
  1.12      +47 -4     
jakarta-jetspeed-2/components/persistence/src/test/org/apache/jetspeed/components/persistence/TestPersistenceContainer.java
  
  Index: TestPersistenceContainer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/components/persistence/src/test/org/apache/jetspeed/components/persistence/TestPersistenceContainer.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- TestPersistenceContainer.java     20 May 2004 21:10:08 -0000      1.11
  +++ TestPersistenceContainer.java     23 Jun 2004 18:34:13 -0000      1.12
  @@ -21,8 +21,13 @@
   
   import org.apache.jetspeed.components.persistence.store.Filter;
   import org.apache.jetspeed.components.persistence.store.PersistenceStore;
  +import 
org.apache.jetspeed.components.persistence.store.PersistenceStoreEventListener;
   import org.apache.jetspeed.components.persistence.store.ojb.pb.PBStore;
   import org.apache.jetspeed.components.util.DatasourceTestCase;
  +import org.jmock.Mock;
  +import org.jmock.core.matcher.InvokeAtLeastOnceMatcher;
  +import org.jmock.core.matcher.InvokeOnceMatcher;
  +import org.jmock.core.stub.ReturnStub;
   
   /**
    * <p>
  @@ -102,12 +107,33 @@
           }
           finally
           {
  -            Filter af = store.newFilter();
  -            store.getTransaction().begin();
  -            store.deleteAll(store.newQuery(A.class, af));
  -            store.getTransaction().commit();
  +          
           }
       }
  +    
  +    public void testEvents() throws Exception
  +    {
  +        Mock mockListener = new Mock(PersistenceStoreEventListener.class);
  +        mockListener.expects(new 
InvokeOnceMatcher()).method("afterMakePersistent").isVoid();
  +        mockListener.expects(new 
InvokeOnceMatcher()).method("beforeMakePersistent").isVoid();
  +        mockListener.expects(new 
InvokeOnceMatcher()).method("afterDeletePersistent").isVoid();
  +        mockListener.expects(new 
InvokeOnceMatcher()).method("beforeDeletePersistent").isVoid();
  +        PersistenceStoreEventListener listener =(PersistenceStoreEventListener) 
mockListener.proxy();
  +        store.addEventListener(listener);
  +        
  +        
  +        store.getTransaction().begin();
  +        A a = new A();
  +        a.setName("a2");
  +        store.makePersistent(a);
  +        store.getTransaction().commit();
  +        
  +        store.getTransaction().begin();
  +        store.deletePersistent(a);
  +        store.getTransaction().commit();
  +        
  +        mockListener.verify();
  +    }
   
       /*
        * (non-Javadoc)
  @@ -118,5 +144,22 @@
       {
           super.setUp();
           store = new PBStore("jetspeed");        
  +    }
  +    /**
  +     * <p>
  +     * tearDown
  +     * </p>
  +     *
  +     * @see junit.framework.TestCase#tearDown()
  +     * @throws Exception
  +     */
  +    protected void tearDown() throws Exception
  +    {
  +        Filter af = store.newFilter();
  +        store.getTransaction().begin();
  +        store.deleteAll(store.newQuery(A.class, af));
  +        store.getTransaction().commit();
  +
  +        super.tearDown();
       }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to