container/profiles/src/main/java/org/mobicents/slee/runtime/facilities/profile/ProfileFacilityImpl.java
public ProfileTableActivity getProfileTableActivity(String profileTableName)
			throws NullPointerException, UnrecognizedProfileTableNameException,
			TransactionRolledbackLocalException, FacilityException {

		if (logger.isTraceEnabled()) {
			logger.trace("getProfileTableActivity( profileTableName = "
					+ profileTableName + " )");
		}
				
		final SleeTransactionManager sleeTransactionManager = profileManagement.getSleeContainer()
				.getTransactionManager();		
		boolean terminateTx = sleeTransactionManager.requireTransaction();
		try {
			return profileManagement.getProfileTable(profileTableName).getActivity();
		} catch (NullPointerException e) {
			throw e;
		} catch (UnrecognizedProfileTableNameException e) {
			throw e;
		} catch (Throwable e) {
			throw new FacilityException("Failed to obtain profile table.", e);
		} finally {
			// never rollback
			try {
				sleeTransactionManager.requireTransactionEnd(terminateTx,false);	
			} catch (Throwable e) {
				throw new FacilityException(e.getMessage(),e);
			}
		}		
	}
public ProfileTableActivity getProfileTableActivity(String profileTableName)
			throws NullPointerException, UnrecognizedProfileTableNameException,
			TransactionRolledbackLocalException, FacilityException {

		if (logger.isTraceEnabled()) {
			logger.trace("getProfileTableActivity( profileTableName = "
					+ profileTableName + " )");
		}
				
		final SleeTransactionManager sleeTransactionManager = profileManagement.getSleeContainer()
				.getTransactionManager();		
		boolean terminateTx = sleeTransactionManager.requireTransaction();
		try {
			return profileManagement.getProfileTable(profileTableName).getActivity();
		} catch (NullPointerException e) {
			throw e;
		} catch (UnrecognizedProfileTableNameException e) {
			throw e;
		} catch (Throwable e) {
			throw new FacilityException("Failed to obtain profile table.", e);
		} finally {
			// never rollback
			try {
				sleeTransactionManager.requireTransactionEnd(terminateTx,false);	
			} catch (Throwable e) {
				throw new FacilityException(e.getMessage(),e);
			}
		}		
	}
Get a ProfileTableActivity object for a profile table.

This method is a required transactional method.

@param profileTableName
- the name of the profile table.
@return a ProfileTableActivity object for the profile table.
@throws java.lang.NullPointerException
- if profileTableName is null.
@throws UnrecognizedProfileTableNameException
- if a profile table with the specified name does not exist.
@throws TransactionRolledbackLocalException
- if this method was invoked without a valid transaction
context and the transaction started by this method failed to
commit.
@throws FacilityException
- if the activity could not be obtained due to a system-level
failure. This exception is also thrown if the method is
invoked on a ProfileFacility object provided to a resource
adaptor via its ResourceAdaptorContext.