container/profiles/src/main/java/org/mobicents/slee/container/management/jmx/ProfileProvisioningMBeanImpl.java
public ObjectName getProfileTableUsageMBean(String profileTableName) throws NullPointerException, UnrecognizedProfileTableNameException, InvalidArgumentException, ManagementException {
		
		if (logger.isDebugEnabled()) {
			logger.debug("getProfileTableUsageMBean( profileTableName = "
					+ profileTableName +" )");
		}
		
		if (profileTableName == null)
			throw new NullPointerException("Argument[ProfileTableName] must not be null");
		
		boolean b = this.sleeTransactionManagement.requireTransaction();
		try {
			ProfileTableUsageMBean usageMBeanImpl = this.sleeProfileManagement.getProfileTable(profileTableName).getProfileTableUsageMBean();
			if (usageMBeanImpl == null) {
				throw new InvalidArgumentException();
			}
			else {
				// ensure it is open
				usageMBeanImpl.open();
				// return its object name				
				return usageMBeanImpl.getObjectName();
			}			
		} catch (SLEEException e) {
			throw new ManagementException("Failed to obtain ProfileSpecID name for ProfileTable: " + profileTableName, e);
		} catch (UnrecognizedProfileTableNameException e) {
			throw e;
		} catch (InvalidArgumentException e) {
			throw e;
		} catch (Throwable e) {
			throw new ManagementException("Failed to obtain ProfileSpecID name for ProfileTable: " + profileTableName, e);
		} finally {
			// never rollbacks
			try {
				sleeTransactionManagement.requireTransactionEnd(b,false);	
			} catch (Throwable e) {
				throw new ManagementException(e.getMessage(),e);
			}
		}

	}
public ObjectName getProfileTableUsageMBean(String profileTableName) throws NullPointerException, UnrecognizedProfileTableNameException, InvalidArgumentException, ManagementException {
		
		if (logger.isDebugEnabled()) {
			logger.debug("getProfileTableUsageMBean( profileTableName = "
					+ profileTableName +" )");
		}
		
		if (profileTableName == null)
			throw new NullPointerException("Argument[ProfileTableName] must not be null");
		
		boolean b = this.sleeTransactionManagement.requireTransaction();
		try {
			ProfileTableUsageMBean usageMBeanImpl = this.sleeProfileManagement.getProfileTable(profileTableName).getProfileTableUsageMBean();
			if (usageMBeanImpl == null) {
				throw new InvalidArgumentException();
			}
			else {
				// ensure it is open
				usageMBeanImpl.open();
				// return its object name				
				return usageMBeanImpl.getObjectName();
			}			
		} catch (SLEEException e) {
			throw new ManagementException("Failed to obtain ProfileSpecID name for ProfileTable: " + profileTableName, e);
		} catch (UnrecognizedProfileTableNameException e) {
			throw e;
		} catch (InvalidArgumentException e) {
			throw e;
		} catch (Throwable e) {
			throw new ManagementException("Failed to obtain ProfileSpecID name for ProfileTable: " + profileTableName, e);
		} finally {
			// never rollbacks
			try {
				sleeTransactionManagement.requireTransactionEnd(b,false);	
			} catch (Throwable e) {
				throw new ManagementException(e.getMessage(),e);
			}
		}

	}
/*
(non-Javadoc)
@see javax.slee.management.ProfileProvisioningMBean#getProfileTableUsageMBean(java.lang.String)