use of org.glassfish.web.deployment.runtime.DefaultHelper in project Payara by payara.
the class CacheNode method writeDescriptor.
/**
* write the descriptor class to a DOM tree and return it
*
* @param parent node for the DOM tree
* @param nodeName node name
* @param descriptor the descriptor to write
* @return the DOM tree top node
*/
@Override
public Node writeDescriptor(Node parent, String nodeName, Cache descriptor) {
Element cache = (Element) super.writeDescriptor(parent, nodeName, descriptor);
// cache-helpers*
CacheHelper[] cacheHelpers = descriptor.getCacheHelper();
if (cacheHelpers != null && cacheHelpers.length > 0) {
CacheHelperNode chn = new CacheHelperNode();
for (int i = 0; i < cacheHelpers.length; i++) {
chn.writeDescriptor(cache, RuntimeTagNames.CACHE_HELPER, cacheHelpers[i]);
}
}
WebPropertyNode wpn = new WebPropertyNode();
// default-helper?
DefaultHelper dh = descriptor.getDefaultHelper();
if (dh != null && dh.getWebProperty() != null) {
Node dhn = appendChild(cache, RuntimeTagNames.DEFAULT_HELPER);
wpn.writeDescriptor(dhn, RuntimeTagNames.PROPERTY, dh.getWebProperty());
}
// property*
wpn.writeDescriptor(cache, RuntimeTagNames.PROPERTY, descriptor.getWebProperty());
// cache-mapping
CacheMapping[] mappings = descriptor.getCacheMapping();
if (mappings != null && mappings.length > 0) {
CacheMappingNode cmn = new CacheMappingNode();
for (int i = 0; i < mappings.length; i++) {
cmn.writeDescriptor(cache, RuntimeTagNames.CACHE_MAPPING, mappings[i]);
}
}
// max-entries, timeout-in-seconds, enabled
setAttribute(cache, RuntimeTagNames.MAX_ENTRIES, (String) descriptor.getAttributeValue(Cache.MAX_ENTRIES));
setAttribute(cache, RuntimeTagNames.TIMEOUT_IN_SECONDS, (String) descriptor.getAttributeValue(Cache.TIMEOUT_IN_SECONDS));
setAttribute(cache, RuntimeTagNames.ENABLED, (String) descriptor.getAttributeValue(Cache.ENABLED));
return cache;
}
Aggregations