{
Vector properties=_getPropertiesOfClass(cimClass ,classPath );
for(int i=0;i<properties.size();i++)
{
CIMProperty cimproperty=(CIMProperty) properties.get(i);
String qualifiedPropertyName= cimproperty.getName();
if(logger.isLoggable(Level.FINE))
logger.fine(Thread.currentThread().getName()+" PropertyName "+cimproperty.getName().toLowerCase());
if(logger.isLoggable(Level.FINE))
logger.fine(Thread.currentThread().getName()+" qualifiedPropertyName "+qualifiedPropertyName);
// //add the property to the HashMap as(class.propertyName, PropertySymbol)
if( ! symbols.containsKey(qualifiedPropertyName))
{
int type=CIMSPLTypeConstants.convertCIMTypeToInternalType(cimproperty.getType().getType());
String referenceTypeName="";
if(type == TypeConstants.referenceType)
{
String path=(String)cimproperty.getValue().getValue();
//the property is a CIMObjectPath
referenceTypeName=CIMSPLTypeConstants.getReferenceTypeName(path);
}
boolean isArray = CIMSPLTypeConstants.getIsArray(cimproperty.getType().getType());
if(logger.isLoggable(Level.FINE))
logger.fine(Thread.currentThread().getName()+" symboltable does not currently contain the given property, so creating property symbol");
Symbol symbol = new PropertySymbol(qualifiedPropertyName,type,referenceTypeName,isArray,_isKey(cimproperty),true);
//add property to properties list
if(logger.isLoggable(Level.FINE))
logger.fine(Thread.currentThread().getName()+" adding property to Map in datacollector : "+qualifiedPropertyName);
symbols.put(qualifiedPropertyName, symbol);
}
else
{
if(logger.isLoggable(Level.FINE))
logger.fine(Thread.currentThread().getName()+" symboltable already contains the given symbol "+cimproperty.getName().toLowerCase());
logger.severe(qualifiedPropertyName+" symbol Already exists in SymbolTable");
throw new SPLException("symbol Already exists in SymbolTable");
}
}