container/profiles/src/main/java/org/mobicents/slee/container/profile/ProfileTableImpl.java
private Collection<ProfileEntity> getProfileEntitiesByAttribute(
			String attributeName, Object attributeValue, boolean isSlee11)
			throws UnrecognizedAttributeException,
			AttributeNotIndexedException, AttributeTypeMismatchException,
			SLEEException {
    
		if (logger.isDebugEnabled()) {
			logger.debug("getProfileEntitiesByAttribute( attributeName = "+attributeName+" , attributeValue = "+attributeValue+" , isSlee11 = "+isSlee11+" )");
		}
		
		ProfileAttribute profileAttribute = getProfileAttribute(attributeName, attributeValue);
		
		if (isSlee11)  {
			// validate attr value type
			if (!ProfileTableImpl.PROFILE_ATTR_ALLOWED_TYPES.contains(attributeValue.getClass().getName())) {
				throw new AttributeTypeMismatchException(attributeValue.getClass()+" is not a valid profile attribute value type");
			}
		}
		else {
			if (!profileAttribute.isIndex()) {
				throw new AttributeNotIndexedException(component.toString()+" defines an attribute named "+attributeName+" but not indexed");
			}
		}
		
		return component.getProfileEntityFramework().findProfilesByAttribute(this.getProfileTableName(), profileAttribute, attributeValue);
	}
private Collection<ProfileEntity> getProfileEntitiesByAttribute(
			String attributeName, Object attributeValue, boolean isSlee11)
			throws UnrecognizedAttributeException,
			AttributeNotIndexedException, AttributeTypeMismatchException,
			SLEEException {
    
		if (logger.isDebugEnabled()) {
			logger.debug("getProfileEntitiesByAttribute( attributeName = "+attributeName+" , attributeValue = "+attributeValue+" , isSlee11 = "+isSlee11+" )");
		}
		
		ProfileAttribute profileAttribute = getProfileAttribute(attributeName, attributeValue);
		
		if (isSlee11)  {
			// validate attr value type
			if (!ProfileTableImpl.PROFILE_ATTR_ALLOWED_TYPES.contains(attributeValue.getClass().getName())) {
				throw new AttributeTypeMismatchException(attributeValue.getClass()+" is not a valid profile attribute value type");
			}
		}
		else {
			if (!profileAttribute.isIndex()) {
				throw new AttributeNotIndexedException(component.toString()+" defines an attribute named "+attributeName+" but not indexed");
			}
		}
		
		return component.getProfileEntityFramework().findProfilesByAttribute(this.getProfileTableName(), profileAttribute, attributeValue);
	}
private Collection < ProfileEntity > getProfileEntitiesByAttribute ( String attributeName , Object attributeValue , boolean isSlee11 ) throws UnrecognizedAttributeException , AttributeNotIndexedException , AttributeTypeMismatchException , SLEEException { if ( logger . isDebugEnabled ( ) ) { logger . debug ( "getProfileEntitiesByAttribute( attributeName = " + attributeName + " , attributeValue = " + attributeValue + " , isSlee11 = " + isSlee11 + " )" ) ; } ProfileAttribute profileAttribute = getProfileAttribute ( attributeName , attributeValue ) ; if ( isSlee11 ) { // validate attr value type if ( ! ProfileTableImpl . PROFILE_ATTR_ALLOWED_TYPES . contains ( attributeValue . getClass ( ) . getName ( ) ) ) { throw new AttributeTypeMismatchException ( attributeValue . getClass ( ) + " is not a valid profile attribute value type" ) ; } } else { if ( ! profileAttribute . isIndex ( ) ) { throw new AttributeNotIndexedException ( component . toString ( ) + " defines an attribute named " + attributeName + " but not indexed" ) ; } } return component . getProfileEntityFramework ( ) . findProfilesByAttribute ( this . getProfileTableName ( ) , profileAttribute , attributeValue ) ; }
Retrieves the {@link ProfileEntity}s from the persistent store, matching specified attribute name and value type
@param attributeName
@param attributeValue
@param isSlee11
@return
@throws UnrecognizedAttributeException
@throws AttributeNotIndexedException
@throws AttributeTypeMismatchException
@throws SLEEException
Retrieves the {