MapElementNodepublic class MapElementNode extends com.sun.enterprise.deployment.node.runtime.RuntimeDescriptorNode This node handles the role-map runtime deployment descriptors |
Constructors Summary |
---|
public MapElementNode()
registerElementHandler(new XMLElement(RuntimeTagNames.PRINCIPAL),
PrincipalNode.class);
registerElementHandler(new XMLElement(RuntimeTagNames.BACKEND_PRINCIPAL),
PrincipalNode.class);
|
Methods Summary |
---|
public void | addDescriptor(java.lang.Object newDescriptor)Adds a new DOL descriptor instance to the descriptor instance associated with
this XMLNode
MapElement descriptor = (MapElement) getDescriptor();
if (descriptor==null) {
throw new RuntimeException("Cannot set info on null descriptor");
}
if (newDescriptor instanceof Principal) {
Principal principal = (Principal) newDescriptor;
if (principal.getValue(Principal.CREDENTIAL)==null) {
descriptor.addPrincipal(principal);
} else {
descriptor.setBackendPrincipal(true);
descriptor.setAttributeValue(MapElement.BACKEND_PRINCIPAL, Principal.USER_NAME, principal.getValue(Principal.USER_NAME));
descriptor.setAttributeValue(MapElement.BACKEND_PRINCIPAL, Principal.PASSWORD, principal.getValue(Principal.PASSWORD));
descriptor.setAttributeValue(MapElement.BACKEND_PRINCIPAL, Principal.CREDENTIAL, principal.getValue(Principal.CREDENTIAL));
}
}
| public org.w3c.dom.Node | writeDescriptor(org.w3c.dom.Node parent, java.lang.String nodeName, com.sun.enterprise.deployment.runtime.connector.MapElement descriptor)write the descriptor class to a DOM tree and return it
Node mapElementNode = super.writeDescriptor(parent, nodeName, descriptor);
PrincipalNode pn = new PrincipalNode();
Principal[] principals = descriptor.getPrincipal();
for (int i=0;i<principals.length;i++) {
pn.writeDescriptor(mapElementNode, RuntimeTagNames.PRINCIPAL, principals[i]);
}
// backend-principal
if (descriptor.isBackendPrincipal()) {
Element backend = (Element) appendChild(mapElementNode, RuntimeTagNames.BACKEND_PRINCIPAL);
setAttribute(backend, RuntimeTagNames.USER_NAME,
(String) descriptor.getAttributeValue(MapElement.BACKEND_PRINCIPAL, Principal.USER_NAME));
setAttribute(backend, RuntimeTagNames.PASSWORD,
(String) descriptor.getAttributeValue(MapElement.BACKEND_PRINCIPAL, Principal.PASSWORD));
setAttribute(backend, RuntimeTagNames.CREDENTIAL,
(String) descriptor.getAttributeValue(MapElement.BACKEND_PRINCIPAL, Principal.CREDENTIAL));
}
return mapElementNode;
|
|