Methods Summary |
---|
public static ConnectionDefDescriptor[] | getConnectionDefs(ConnectorDescriptor connectorDesc)Obtain all the ConnectionDefDescriptor(abstracts the
element in ra.xml) objects that are
present in given ra.xml file.
ConnectionDefDescriptor[] connectionDefDescs = null;
OutboundResourceAdapter ora =
connectorDesc.getOutboundResourceAdapter();
if (ora != null) {
Set connectionDefs = ora.getConnectionDefs();
int size = connectionDefs.size();
if(size == 0) {
return null;
}
Iterator iter = connectionDefs.iterator();
connectionDefDescs = new ConnectionDefDescriptor[size];
for (int i=0; i<size; ++i) {
connectionDefDescs[i] =
(ConnectionDefDescriptor)iter.next();
}
}
return connectionDefDescs;
|
public static ConnectorDescriptor | getConnectorDescriptor(java.lang.String moduleDir)Get the ConnectorDescriptor object which represents the ra.xml and
sun-ra.xml from an exploded rar module.
try {
FileArchive fileArchive = new FileArchive();
fileArchive.open(moduleDir); // directory where rar is exploded
ConnectorArchivist connectorArchivist = new ConnectorArchivist();
ConnectorDescriptor connectorDescriptor =
(ConnectorDescriptor) connectorArchivist.open(fileArchive);
return connectorDescriptor;
} catch(IOException ex) {
ConnectorRuntimeException cre = new ConnectorRuntimeException(
"Failed to read the connector deployment descriptors");
cre.initCause(ex);
_logger.log(Level.SEVERE,
"rardeployment.connector_descriptor_read_error",moduleDir);
_logger.log(Level.SEVERE,"",cre);
throw cre;
} catch(SAXParseException ex) {
ConnectorRuntimeException cre = new ConnectorRuntimeException(
"Failed to parse the connector deployment descriptors");
cre.initCause(ex);
_logger.log(Level.SEVERE,
"rardeployment.connector_descriptor_parse_error",moduleDir);
_logger.log(Level.SEVERE,"",cre);
throw cre;
}
|
public static ConnectorDescriptorInfo | getConnectorDescriptorInfo(ConnectionDefDescriptor connectionDefDescriptor)Constructs ConnectorDescriptorInfo object from the
ConnectionDefDescriptor object (deployment descriptor of connector
module)
ConnectorDescriptorInfo connectorDescInfo =
new ConnectorDescriptorInfo();
connectorDescInfo.setConnectionDefinitionName(
connectionDefDescriptor.getConnectionFactoryIntf());
connectorDescInfo.setManagedConnectionFactoryClass(
connectionDefDescriptor.getManagedConnectionFactoryImpl());
connectorDescInfo.setConnectionFactoryClass(
connectionDefDescriptor.getConnectionFactoryImpl());
connectorDescInfo.setConnectionFactoryInterface(
connectionDefDescriptor.getConnectionFactoryIntf());
connectorDescInfo.setConnectionInterface(
connectionDefDescriptor.getConnectionIntf());
connectorDescInfo.setConnectionClass(
connectionDefDescriptor.getConnectionImpl());
connectorDescInfo.setMCFConfigProperties(
connectionDefDescriptor.getConfigProperties());
return connectorDescInfo;
|
public MessageListener[] | getMessageListeners(ConnectorDescriptor desc)Returns all the message listeners present in the connectorDescriptor
which abstracts the ra.xml
InboundResourceAdapter inboundRA = null;
Set messageListenerSet = null;
if(desc != null &&
(inboundRA = desc.getInboundResourceAdapter()) != null) {
messageListenerSet = inboundRA.getMessageListeners();
}
if(messageListenerSet == null) {
return null;
}
int size = messageListenerSet.size();
MessageListener[] messageListeners =
new MessageListener[size];
Iterator iter = messageListenerSet.iterator();
for(int i=0;i<size;++i){
messageListeners[i] = (MessageListener)iter.next();
}
return messageListeners;
|
public static java.lang.String | getResourceAdapterClassName(java.lang.String rarLocation)
//Use the deployment APIs to get the name of the resourceadapter
//class through the connector descriptor
try {
FileInputStream fis = new FileInputStream(rarLocation);
MemoryMappedArchive mma = new MemoryMappedArchive(fis);
ConnectorArchivist ca = new ConnectorArchivist();
ConnectorDescriptor cd = (ConnectorDescriptor)ca.open(mma);
return cd.getResourceAdapterClass();
} catch (IOException e) {
_logger.info(e.getMessage());
_logger.log(Level.FINE, "Error while trying to read connector" +
"descriptor to get resource-adapter properties", e);
} catch (SAXParseException e) {
_logger.info(e.getMessage());
_logger.log(Level.FINE, "Error while trying to read connector" +
"descriptor to get resource-adapter properties", e);
}
return null;
|
public static java.util.Set | mergeProps(com.sun.enterprise.config.serverbeans.ElementProperty[] props, java.util.Set defaultMCFProps)merges the properties mentioned in first parameter with the Set of
properties mentioned in second parameter.
Values of first parameter takes precedence over second.
First parameter represents properties present in domain.xml
Second parameter contains values mentioned in deployment descriptors.
HashSet mergedSet = new HashSet();
if(defaultMCFProps != null) {
Object[] defaultProps = defaultMCFProps.toArray();
for (int i = 0; i < defaultProps.length; i++) {
mergedSet.add(defaultProps[i]);
}
}
for (int i =0; props!= null && i< props.length; i++) {
EnvironmentProperty ep = new EnvironmentProperty(
props[i].getName(),props[i].getValue(),null);
if (defaultMCFProps.contains(ep)) {
//get the environment property in the mergedset
Iterator iter = defaultMCFProps.iterator();
while(iter.hasNext()){
EnvironmentProperty envProp =
(EnvironmentProperty)iter.next();
//and if they are equal, set ep's type to envProp's type
//This set is important because envProp has the ra.xml
//specified property-Type. When the ra-bean-class does
//not have any getter method for a property, the property
//Type specified in ra.xml should be used.
if (envProp.equals(ep)) {
if (envProp.getType() != null) {
ep.setType(envProp.getType());
}
}
}
_logger.log(Level.FINER,
"After merging props with defaultMCFProps: envPropName: "
+ ep.getName() + " envPropValue : " + ep.getValue());
mergedSet.remove(ep);
}
mergedSet.add(ep);
}
return mergedSet;
|