setObjectManager(arguments.objectManager);
setUtility(arguments.utility);
return this;
var object = getObjectManager().getObject(arguments.class);
var primaryKey = object.getPrimaryKey();
if(primaryKey.getIsComposite())
{
if(isStruct(arguments.key))
{
return buildCompositeKey(object, key);
}
else
{
createObject("component", "transfer.com.dynamic.exception.IllegalKeyTypeException").init("struct", arguments.class);
}
}
else
{
if(isSimpleValue(arguments.key))
{
return cleanKey(primaryKey, arguments.key);
}
else
{
createObject("component", "transfer.com.dynamic.exception.IllegalKeyTypeException").init("simple", arguments.class);
}
}
var iterator = arguments.compositeKey.getPropertyIterator();
var property = 0;
var manytoone = 0;
var parentOneToMany = 0;
var key = StructNew();
var value = 0;
while(iterator.hasNext())
{
property = iterator.next();
value = arguments.query[property.getColumn()];
if(Len(value))
{
key[property.getName()] = cleanKey(property, value);
}
}
iterator = arguments.compositeKey.getManyToOneIterator();
while(iterator.hasNext())
{
manytoone = iterator.next();
value = arguments.query[manytoone.getLink().getColumn()];
if(Len(value))
{
key[manytoone.getName()] = cleanKey(manytoone.getLink().getToObject().getPrimaryKey(), value);
}
}
iterator = arguments.compositeKey.getParentOneToManyIterator();
while(iterator.hasNext())
{
parentOneToMany = iterator.next();
value = arguments.query[parentOneToMany.getLink().getColumn()];
if(Len(value))
{
key["parent" & parentOneToMany.getLink().getToObject().getObjectName()] = cleanKey(parentOneToMany.getLink().getToObject().getPrimaryKey(), value);
}
}
return key;
var buffer = createObject("java", "java.lang.StringBuffer").init();
var compositeKey = arguments.object.getPrimaryKey();
var iterator = compositeKey.getPropertyIterator();
var property = 0;
var manytoone = 0;
var parentOneToMany = 0;
var composite = 0;
var pipe = "|";
var singleKey = 0;
var name = 0;
while(iterator.hasNext())
{
property = iterator.next();
name = property.getName();
if(StructKeyExists(arguments.key, name))
{
buffer.append(cleanKey(property, arguments.key[property.getName()]));
}
buffer.append(pipe);
}
iterator = compositeKey.getManyToOneIterator();
while(iterator.hasNext())
{
manytoone = iterator.next();
singleKey = manytoone.getName();
if(StructKeyExists(arguments.key, singleKey))
{
composite = getObjectManager().getObject(manytoone.getLink().getTo());
buffer.append(cleanKey(composite.getPrimaryKey(), arguments.key[singleKey]));
}
buffer.append(pipe);
}
iterator = compositeKey.getParentOneToManyIterator();
while(iterator.hasNext())
{
parentOneToMany = iterator.next();
composite = getObjectManager().getObject(parentOneToMany.getLink().getTo());
singleKey = "parent" & composite.getObjectName();
if(StructKeyExists(arguments.key, singleKey))
{
buffer.append(cleanKey(composite.getPrimaryKey(), arguments.key[singleKey]));
}
buffer.append(pipe);
}
return buffer.toString();
var type = arguments.property.getType();
if(ListFindNoCase("guid,uuid", type))
{
arguments.key = UCase(arguments.key);
}
else if(type eq "numeric")
{
if(isNumeric(arguments.key))
{
//could be 'null' so, check
arguments.key = getUtility().trimZero(arguments.key);
}
}
return JavaCast("string", arguments.key);