protected MutableRepositoryItem createDummyItem(GSARepository pGSARepository,
String descName,
String pID)
throws RepositoryException {
GSAItemDescriptor descriptor = (GSAItemDescriptor) pGSARepository.getItemDescriptor(descName);
MutableRepositoryItem item = null;
boolean compoundPrimaryKey = descriptor.getPrimaryTable().getIdColumnCount() > 1;
if ( pID == null || pID.trim().length() == 0 ) {
if ( compoundPrimaryKey ) {
item = pGSARepository.createItem(
getNewCompoundId(pGSARepository, descriptor), descName
);
} else {
item = pGSARepository.createItem(descName);
}
} else {
item = pGSARepository.createItem(pID, descName);
}
RepositoryPropertyDescriptor[] propDescriptors = (RepositoryPropertyDescriptor[]) descriptor
.getPropertyDescriptors();
for ( RepositoryPropertyDescriptor propertyDescriptor : propDescriptors ) {
if ( propertyDescriptor.isWritable()
&& !propertyDescriptor.isIdProperty()
&& propertyDescriptor.isRequired() ) {
if (!propertyDescriptor.isCollectionOrMap()) {
Object dummyPropertyValue = generateDummyValue(propertyDescriptor);
if ( dummyPropertyValue != null ) {
item.setPropertyValue(
propertyDescriptor.getName(), dummyPropertyValue
);
}
}
}