public java.util.Properties | getJavaBeanProps(ConnectorDescriptor desc, java.lang.String adminObjectInterface, java.lang.String rarName)Parses the ra.xml for the admin object javabean properties.
The admin object to be parsed is identified by the moduleDir
where ra.xml is present and the adminObject interface.
Admin object interface will be unique in a given ra.xml.
It throws ConnectorRuntimeException if either or both the
parameters are null, if corresponding rar is not deployed,
if no adminObjectInterce is found in ra.xml. If rar is deployed
and admin Object interface is present but no properties are
present for the corresponding adminobjectInterface, null is returned.
if(desc == null || adminObjectInterface == null) {
throw new ConnectorRuntimeException("Invalid arguments");
}
Set adminObjectSet = desc.getAdminObjects();
if(adminObjectSet== null || adminObjectSet.size() == 0) {
return null;
}
AdminObject adminObject = null;
Iterator iter = adminObjectSet.iterator();
Properties mergedVals = null;
boolean adminInterfaceFound = false;
while(iter.hasNext()) {
adminObject = (AdminObject)iter.next();
if(adminObjectInterface.equals(
adminObject.getAdminObjectInterface())) {
adminInterfaceFound = true;
break;
}
}
if(adminInterfaceFound == false) {
StringManager localStrings =
StringManager.getManager(AdminObjectConfigParserImpl.class);
String msg = localStrings.getString(
"no_adminobject_interface_found_in_raxml", adminObjectInterface);
_logger.log(Level.FINE, msg);
throw new ConnectorRuntimeException(msg);
}
/* ddVals -> Properties present in ra.xml
* introspectedVals -> All properties with values
* obtained by introspection of resource
* adapter javabean
* mergedVals -> merged props of raConfigPros and
* allraConfigPropsWithDefVals
*/
Set ddVals = adminObject.getConfigProperties();
String className = adminObject.getAdminObjectClass();
if(className != null && className.length() != 0) {
Properties introspectedVals =
configParserUtil.introspectJavaBean(className, ddVals);
mergedVals = configParserUtil.mergeProps(ddVals,introspectedVals);
}
return mergedVals;
|