You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2004/04/29 08:22:52 UTC
svn commit: rev 10414 - in incubator/directory/rms/trunk/je/src: java/org/apache/rms/je/application test/org/apache/rms/je/application
Author: akarasulu
Date: Wed Apr 28 23:22:51 2004
New Revision: 10414
Added:
incubator/directory/rms/trunk/je/src/java/org/apache/rms/je/application/LoggingApplicationDAOMonitor.java (contents, props changed)
Modified:
incubator/directory/rms/trunk/je/src/java/org/apache/rms/je/application/ApplicationDAOMonitor.java
incubator/directory/rms/trunk/je/src/java/org/apache/rms/je/application/ApplicationDAOMonitorAdapter.java
incubator/directory/rms/trunk/je/src/java/org/apache/rms/je/application/JeApplicationDAO.java
incubator/directory/rms/trunk/je/src/test/org/apache/rms/je/application/JeApplicationDAOTest.java
Log:
Commit changes ...
o found several events in the JeApplicationDAO that we forgot to monitor
o added new methods to the DAO monitor interface
o implemented new methods in no-op monitor adapter for ApplicationDAO
o completed the logging monitor
Modified: incubator/directory/rms/trunk/je/src/java/org/apache/rms/je/application/ApplicationDAOMonitor.java
==============================================================================
--- incubator/directory/rms/trunk/je/src/java/org/apache/rms/je/application/ApplicationDAOMonitor.java (original)
+++ incubator/directory/rms/trunk/je/src/java/org/apache/rms/je/application/ApplicationDAOMonitor.java Wed Apr 28 23:22:51 2004
@@ -16,13 +16,8 @@
*/
package org.apache.rms.je.application ;
-import com.sleepycat.je.Cursor;
-import com.sleepycat.je.DatabaseException;
-import java.io.IOException;
-import java.util.Iterator;
-
-import org.apache.rms.je.role.JeRoleDAO;
+import java.util.Iterator ;
/**
@@ -237,4 +232,51 @@
*/
void iteratorFailure( ApplicationDAO dao, Iterator listing,
Object retVal, Throwable fault ) ;
+
+ /**
+ * Monitors callbacks for events where the dao failed to preform an
+ * operation on an application because some application exists.
+ *
+ * @param dao the data access object that failed
+ * @param op the operation performed on the resource to clean it up
+ * @param appName the name of the application
+ */
+ void applicationExists( ApplicationDAO dao, String op, String appName ) ;
+
+ /**
+ * Monitors callbacked for events where the dao failed to create a
+ * new application.
+ *
+ * @param dao the data access object that failed
+ * @param appName the name of the application
+ * @param fault the fault that caused the failure
+ */
+ void failedOnCreate( ApplicationDAO dao, String appName,
+ Throwable fault ) ;
+
+ /**
+ * Monitors callbacks for events where the dao deleted an application.
+ *
+ * @param dao the data access object
+ * @param appName the name of the application
+ */
+ void applicationDeleted( ApplicationDAO dao, String appName ) ;
+
+ /**
+ * Monitors callbacks for events where the dao looked up an application.
+ *
+ * @param dao the data access object
+ * @param appName the name of the application
+ */
+ void applicationLookedUp( ApplicationDAO dao, String appName ) ;
+
+ /**
+ * Monitors callbacks for events where the dao renames an application.
+ *
+ * @param dao the data access object
+ * @param oldName the original name of the application
+ * @param newName the new name of the application
+ */
+ void applicationRenamed( ApplicationDAO dao, String oldName,
+ String newName ) ;
}
Modified: incubator/directory/rms/trunk/je/src/java/org/apache/rms/je/application/ApplicationDAOMonitorAdapter.java
==============================================================================
--- incubator/directory/rms/trunk/je/src/java/org/apache/rms/je/application/ApplicationDAOMonitorAdapter.java (original)
+++ incubator/directory/rms/trunk/je/src/java/org/apache/rms/je/application/ApplicationDAOMonitorAdapter.java Wed Apr 28 23:22:51 2004
@@ -328,4 +328,70 @@
fault.printStackTrace() ;
}
}
+
+
+ /**
+ * Monitors callbacks for events where the dao failed to preform an
+ * operation on an application because some application exists.
+ *
+ * @param dao the data access object that failed
+ * @param op the operation performed on the resource to clean it up
+ * @param appName the name of the application
+ */
+ public void applicationExists( ApplicationDAO dao, String op, String appName )
+ {
+ }
+
+
+ /**
+ * Monitors callbacked for events where the dao failed to create a
+ * new application.
+ *
+ * @param dao the data access object that failed
+ * @param appName the name of the application
+ * @param fault the fault that caused the failure
+ */
+ public void failedOnCreate( ApplicationDAO dao, String appName,
+ Throwable fault )
+ {
+ if ( fault != null )
+ {
+ fault.printStackTrace() ;
+ }
+ }
+
+
+ /**
+ * Monitors callbacks for events where the dao deleted an application.
+ *
+ * @param dao the data access object
+ * @param appName the name of the application
+ */
+ public void applicationDeleted( ApplicationDAO dao, String appName )
+ {
+ }
+
+
+ /**
+ * Monitors callbacks for events where the dao looked up an application.
+ *
+ * @param dao the data access object
+ * @param appName the name of the application
+ */
+ public void applicationLookedUp( ApplicationDAO dao, String appName )
+ {
+ }
+
+
+ /**
+ * Monitors callbacks for events where the dao renames an application.
+ *
+ * @param dao the data access object
+ * @param oldName the original name of the application
+ * @param newName the new name of the application
+ */
+ public void applicationRenamed( ApplicationDAO dao, String oldName,
+ String newName )
+ {
+ }
}
Modified: incubator/directory/rms/trunk/je/src/java/org/apache/rms/je/application/JeApplicationDAO.java
==============================================================================
--- incubator/directory/rms/trunk/je/src/java/org/apache/rms/je/application/JeApplicationDAO.java (original)
+++ incubator/directory/rms/trunk/je/src/java/org/apache/rms/je/application/JeApplicationDAO.java Wed Apr 28 23:22:51 2004
@@ -120,6 +120,7 @@
if ( has( appName ) )
{
+ monitor.applicationExists( this, "create", appName ) ;
throw new RmsException( "Application " + appName
+ " already exists" ) ;
}
@@ -130,7 +131,7 @@
}
catch ( IOException e )
{
- monitor.failedOnHas( this, appName, e ) ;
+ monitor.failedOnCreate( this, appName, e ) ;
throw new RmsException( e ) ;
}
@@ -143,7 +144,7 @@
}
catch ( DatabaseException e )
{
- monitor.failedOnHas( this, appName, e ) ;
+ monitor.failedOnCreate( this, appName, e ) ;
throw new RmsException( e ) ;
}
@@ -241,6 +242,8 @@
{
monitor.failedOnDelete( this, status, appName ) ;
}
+
+ monitor.applicationDeleted( this, appName ) ;
}
@@ -302,6 +305,8 @@
{
monitor.failedOnRename( this, oldName, newName ) ;
}
+
+ monitor.applicationRenamed( this, oldName, newName ) ;
}
@@ -360,6 +365,7 @@
+ " does not exist" ) ;
}
+ monitor.applicationLookedUp( this, appName ) ;
return rowId ;
}
Added: incubator/directory/rms/trunk/je/src/java/org/apache/rms/je/application/LoggingApplicationDAOMonitor.java
==============================================================================
--- (empty file)
+++ incubator/directory/rms/trunk/je/src/java/org/apache/rms/je/application/LoggingApplicationDAOMonitor.java Wed Apr 28 23:22:51 2004
@@ -0,0 +1,668 @@
+/*
+ * Copyright 2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permission and
+ * limitations under the License.
+ *
+ */
+package org.apache.rms.je.application ;
+
+
+import java.util.Iterator ;
+
+import org.apache.commons.logging.Log ;
+import org.apache.commons.logging.LogFactory ;
+
+import com.sleepycat.je.DatabaseEntry ;
+
+
+/**
+ * A logging monitor for Role data access objects.
+ *
+ * @author <a href="mailto:directory-dev@incubator.apache.org">Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class LoggingApplicationDAOMonitor implements ApplicationDAOMonitor
+{
+ /** the log used by this logging monitor */
+ private Log log = LogFactory.getLog( ApplicationDAO.class ) ;
+
+
+ /**
+ * Monitors events where the DAO fails to create a new Role.
+ *
+ * @param dao the data access object that failed
+ * @param appName the name of the application
+ * @param fault the fault that caused the failure
+ */
+ public void failedOnCreate( ApplicationDAO dao, String appName,
+ Throwable fault )
+ {
+ try
+ {
+ if ( log.isErrorEnabled() )
+ {
+ log.error( "Creation of application with name " + appName
+ + " failed using " + dao, fault ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors events where the DAO fails to create a new Role
+ * because the the application by the name specified
+ * already exists.
+ *
+ * @param dao the data access object that failed
+ * @param op the operation that was attempted
+ * @param appName the name of the application
+ */
+ public void applicationExists( ApplicationDAO dao, String op,
+ String appName )
+ {
+ try {
+ if ( log.isWarnEnabled() )
+ {
+ log.warn( dao + "." + op + "() on application " + appName
+ + " failed because an application by that name "
+ + "already exists" ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors event where the DAO creates a new Role.
+ *
+ * @param dao the data access object that failed
+ * @param appName the name of the application
+ */
+ public void applicationCreated( ApplicationDAO dao, String appName )
+ {
+ try
+ {
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "Creation of application " + appName
+ + " succeeded using " + dao ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors the successful deletion of an application's Role.
+ *
+ * @param dao the data access object that failed
+ * @param appName the name of the application
+ */
+ public void applicationDeleted( ApplicationDAO dao, String appName )
+ {
+ try
+ {
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "Deletion of application " + appName
+ + " succeeded using " + dao ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors failures to delete a Role due to DAO failures.
+ *
+ * @param dao the data access object that failed
+ * @param appName the name of the application
+ * @param fault the fault that caused the failure
+ */
+ public void failedOnDelete( ApplicationDAO dao, String appName,
+ Throwable fault )
+ {
+ try
+ {
+ if ( log.isErrorEnabled() )
+ {
+ log.error( "Deletion of application " + appName
+ + " failed using " + dao, fault ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors events where an operation on an non-existant Role
+ * was attempted.
+ *
+ * @param dao the data access object that failed
+ * @param op the operation that was attempted
+ * @param appName the name of the application
+ */
+ public void applicationDoesNotExist( ApplicationDAO dao, String op,
+ String appName )
+ {
+ try
+ {
+ if ( log.isWarnEnabled() )
+ {
+ log.warn( "Attempt to " + op + " application " + appName
+ + " failed because no such application exists." ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors events where the rename of a application failed.
+ *
+ * @param dao the data access object that failed
+ * @param appName the name of the application
+ * @param newName the new name for the role
+ * @param fault the fault that caused the failure
+ */
+ public void failedOnRename( ApplicationDAO dao, String appName,
+ String newName, Throwable fault )
+ {
+ try
+ {
+ if ( log.isErrorEnabled() )
+ {
+ log.error( "Rename of applciation originally named " + appName
+ + " to " + newName + " failed using " + dao, fault ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors events where the a Role was successfully renamed.
+ *
+ * @param dao the data access object that failed
+ * @param oldName the name of the application
+ * @param newName the new name for the role
+ */
+ public void applicationRenamed( ApplicationDAO dao, String oldName,
+ String newName )
+ {
+ try
+ {
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "Rename of application originally named " + oldName
+ + " to " + newName + " succeeded using " + dao ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors events where a permission fails on lookup.
+ *
+ * @param dao the data access object that failed
+ * @param appName the name of the application
+ * @param fault the fault that caused the failure
+ */
+ public void failedOnHas( ApplicationDAO dao, String appName,
+ Throwable fault )
+ {
+ try
+ {
+ if ( log.isErrorEnabled() )
+ {
+ log.error( "Lookup of application " + appName
+ + " failed using " + dao, fault ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors the successful lookup of an application by name
+ *
+ * @param dao the data access object
+ * @param appName the application looked up
+ */
+ public void applicationLookedUp( ApplicationDAO dao, String appName )
+ {
+ try
+ {
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "Lookup of application " + appName
+ + " succeeded using " + dao ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors events where a cleanup operation on a resource fails.
+ *
+ * @param dao the data access object that failed
+ * @param op the cleanup operation that failed
+ * @param resource the resource being cleanup
+ * @param fault the fault that caused the failure
+ */
+ public void failedOnCleanupOperation( ApplicationDAO dao, String op,
+ Object resource, Throwable fault )
+ {
+ try
+ {
+ if ( log.isWarnEnabled() )
+ {
+ log.warn( dao + " clean up of resource failed while calling "
+ + resource + "." + op + "()", fault ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors events where a cleanup operation occured.
+ *
+ * @param dao the data access object that failed
+ * @param op the cleanup operation that failed
+ * @param resource the resource being cleanup
+ */
+ public void cleanedUp( ApplicationDAO dao, String op, Object resource )
+ {
+ try
+ {
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( dao + " cleaned up resource by calling " + resource
+ + "." + op + "()" ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors events where an empty list is returned on a role [name]
+ * listing.
+ *
+ * @param dao the data access object that failed
+ * @param listing the Iterator created
+ * Iterator perms
+ */
+ public void listingEmpty( ApplicationDAO dao, Iterator listing )
+ {
+ try
+ {
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "Iterator " + listing
+ + " was successfully created over an empty set by "
+ + dao ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors events when an Iterator over the list of role names
+ * is sucessful.
+ *
+ * @param dao the data access object that failed
+ * @param listing the Iterator created
+ */
+ public void listingNames( ApplicationDAO dao, Iterator listing )
+ {
+ try
+ {
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "Iterator " + listing + " was successfully created "
+ + "over the set of application names by " + dao ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * @param dao the data access object that failed
+ * @param listing the Iterator created
+ * the Iterator returns roles
+ * @param fault the fault that caused the failure
+ */
+ public void failedListing( ApplicationDAO dao, Iterator listing,
+ Throwable fault )
+ {
+ try
+ {
+ if ( log.isErrorEnabled() )
+ {
+ log.error( "Iterator " + listing + " created by " + dao
+ + " failed to initialize", fault ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors the successful prefetch of the next role name.
+ *
+ * @param dao the data access object that failed
+ * @param listing the Iterator created
+ * @param retVal the next value to be returned
+ * @param prefetched the prefetched value if this Iterator prefetches
+ * the next value
+ */
+ public void successOnNext( ApplicationDAO dao, Iterator listing,
+ Object retVal, Object prefetched )
+ {
+ try
+ {
+ String name = null ;
+
+ if ( log.isDebugEnabled() )
+ {
+ if ( prefetched instanceof DatabaseEntry )
+ {
+ DatabaseEntry entry = ( DatabaseEntry ) prefetched ;
+ name = new String( entry.getData() ) ;
+ }
+ else if ( prefetched instanceof String )
+ {
+ name = ( String ) prefetched ;
+ }
+ else
+ {
+ throw new IllegalArgumentException( "unknow type "
+ + prefetched.getClass() ) ;
+ }
+
+ log.debug( "Iterator " + listing + " created by " + dao
+ + " successfully prefetch application " + name
+ + " after retrieving the value " + retVal ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors events where the iterator fails to return the next element,
+ * or fails to prefetch an element to return on a subsequent next method
+ * call.
+ *
+ * @param dao the data access object that failed
+ * @param listing the Iterator created
+ * @param retVal the next value to be returned
+ * @param fault the fault that caused the failure
+ */
+ public void iteratorFailure( ApplicationDAO dao, Iterator listing,
+ Object retVal, Throwable fault )
+ {
+ try
+ {
+ if ( log.isErrorEnabled() )
+ {
+ log.error( "Iterator " + listing + " created by " + dao
+ + " failed on prefetch after retrieving the value "
+ + retVal, fault ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors events where the iterator runs out of elements to prefetch.
+ *
+ * @param dao the data access object that failed
+ * @param listing the Iterator created
+ * @param lastVal the last value to be returned on the subsequent
+ * (final) next() call
+ */
+ public void iteratorExhausted( ApplicationDAO dao, Iterator listing,
+ Object lastVal )
+ {
+ try
+ {
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "Iterator " + listing + " created by " + dao
+ + " exhaused. Will return final value of "
+ + lastVal ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitor callback for events where the dao fails to create a new
+ * Application.
+ *
+ * @param dao the data access object that failed
+ * @param info additional implementation specific information
+ * @param appName the name of the application
+ */
+ public void failedOnCreate( ApplicationDAO dao, Object info,
+ String appName )
+ {
+ try
+ {
+ if ( log.isErrorEnabled() )
+ {
+ log.error( "Failed to create application " + appName
+ + " with JE operation status of " + info.toString() ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitor callback for events where the dao failed at some operation on
+ * the application because the application did not exist.
+ *
+ * @param dao the data access object
+ * @param info extra implementation specific information
+ * @param op the operation performed by the dao
+ * @param appName the name of the application
+ */
+ public void applicationDoesNotExist( ApplicationDAO dao, Object info,
+ String op, String appName )
+ {
+ try
+ {
+ if ( log.isErrorEnabled() )
+ {
+ log.error( dao + " failed to perform " + op + " on " + appName
+ + "because it does not exist" ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitor callback for events where the dao failed to delete
+ * an application.
+ *
+ * @param dao the data access object that failed
+ * @param info extra implementation specific information
+ * @param appName the name of the application
+ * @param fault the fault that caused the failure
+ */
+ public void failedOnDelete( ApplicationDAO dao, Object info,
+ String appName, Throwable fault )
+ {
+ try
+ {
+ if ( log.isErrorEnabled() )
+ {
+ log.error( dao + " failed to delete application " + appName,
+ fault ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitor callback for events where the dao failed to delete an application.
+ *
+ * @param dao the data access object that failed
+ * @param info extra implementation specific information
+ * @param appName the name of the application
+ */
+ public void failedOnDelete( ApplicationDAO dao, Object info,
+ String appName )
+ {
+ try
+ {
+ if ( log.isErrorEnabled() )
+ {
+ log.error( dao + " failed to delete application " + appName ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors callbacks for events where the dao failed to rename an application.
+ *
+ * @param dao the data access object that failed
+ * @param info extra implementation specific information
+ * @param oldName the original name of the application
+ * @param newName the new name of the application
+ * @param fault the fault that caused the failure
+ */
+ public void failedOnRename( ApplicationDAO dao, Object info, String oldName,
+ String newName, Throwable fault )
+ {
+ try
+ {
+ if ( log.isErrorEnabled() )
+ {
+ log.error( dao + " failed to rename application " + oldName
+ + " to " + newName + " with JE status of "
+ + info.toString(), fault ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+
+
+ /**
+ * Monitors callbacks for events where the dao failed to rename an application.
+ *
+ * @param dao the data access object that failed
+ * @param oldName the original name of the application
+ * @param newName the new name of the application
+ */
+ public void failedOnRename( ApplicationDAO dao, String oldName,
+ String newName )
+ {
+ try
+ {
+ if ( log.isErrorEnabled() )
+ {
+ log.error( dao + " failed to rename application " + oldName
+ + " to " + newName ) ;
+ }
+ }
+ catch ( Throwable t )
+ {
+ log.warn( "monitor failure", t ) ;
+ }
+ }
+}
Modified: incubator/directory/rms/trunk/je/src/test/org/apache/rms/je/application/JeApplicationDAOTest.java
==============================================================================
--- incubator/directory/rms/trunk/je/src/test/org/apache/rms/je/application/JeApplicationDAOTest.java (original)
+++ incubator/directory/rms/trunk/je/src/test/org/apache/rms/je/application/JeApplicationDAOTest.java Wed Apr 28 23:22:51 2004
@@ -57,7 +57,7 @@
JeSequenceFactory seqFactory = new JeSequenceFactory( seqDAO ) ;
Sequence seq = seqFactory.create( "applicationSeq" ) ;
dao = new JeApplicationDAO( db, seq ) ;
- //dao.setMonitor( new LoggingRoleDAOMonitor() ) ;
+ dao.setMonitor( new LoggingApplicationDAOMonitor() ) ;
}