use of nl.nn.adapterframework.util.XmlBuilder in project iaf by ibissource.
the class Monitor method getStatusXml.
public XmlBuilder getStatusXml() {
XmlBuilder monitor = new XmlBuilder("monitor");
monitor.addAttribute("name", getName());
monitor.addAttribute("raised", isRaised());
if (stateChangeDt != null) {
monitor.addAttribute("changed", getStateChangeDtStr());
}
if (isRaised()) {
monitor.addAttribute("severity", getAlarmSeverity());
EventThrowing source = getAlarmSource();
if (source != null) {
monitor.addAttribute("source", source.getEventSourceName());
}
}
return monitor;
}
use of nl.nn.adapterframework.util.XmlBuilder in project iaf by ibissource.
the class MonitorAdapterBase method toXml.
public XmlBuilder toXml() {
XmlBuilder destinationXml = new XmlBuilder("destination");
destinationXml.addAttribute("name", getName());
destinationXml.addAttribute("className", getClass().getName());
return destinationXml;
}
use of nl.nn.adapterframework.util.XmlBuilder in project iaf by ibissource.
the class MonitorManager method getStatusXml.
public XmlBuilder getStatusXml() {
long freeMem = Runtime.getRuntime().freeMemory();
long totalMem = Runtime.getRuntime().totalMemory();
XmlBuilder statusXml = new XmlBuilder("monitorstatus");
if (lastStateChange != null) {
statusXml.addAttribute("lastStateChange", DateUtils.format(lastStateChange, DateUtils.FORMAT_FULL_GENERIC));
}
statusXml.addAttribute("timestamp", DateUtils.format(new Date()));
statusXml.addAttribute("heapSize", Long.toString(totalMem - freeMem));
statusXml.addAttribute("totalMemory", Long.toString(totalMem));
for (int i = 0; i < monitors.size(); i++) {
Monitor monitor = getMonitor(i);
statusXml.addSubElement(monitor.getStatusXml());
}
return statusXml;
}
use of nl.nn.adapterframework.util.XmlBuilder in project iaf by ibissource.
the class Parameter method getValue.
/**
* determines the raw value
* @param alreadyResolvedParameters
* @return the raw value as object
* @throws IbisException
*/
public Object getValue(ParameterValueList alreadyResolvedParameters, ParameterResolutionContext prc) throws ParameterException {
Object result = null;
log.debug("Calculating value for Parameter [" + getName() + "]");
if (!configured) {
throw new ParameterException("Parameter [" + getName() + "] not configured");
}
String retrievedSessionKey;
if (transformerPoolSessionKey != null) {
try {
retrievedSessionKey = transformerPoolSessionKey.transform(prc.getInput(), null);
} catch (Exception e) {
throw new ParameterException("SessionKey for parameter [" + getName() + "] exception on transformation to get name", e);
}
} else {
retrievedSessionKey = getSessionKey();
}
TransformerPool pool = getTransformerPool();
if (pool != null) {
try {
Object transformResult = null;
Source source = null;
if (StringUtils.isNotEmpty(getValue())) {
source = XmlUtils.stringToSourceForSingleUse(getValue(), prc.isNamespaceAware());
} else if (StringUtils.isNotEmpty(retrievedSessionKey)) {
String sourceString;
Object sourceObject = prc.getSession().get(retrievedSessionKey);
if (TYPE_LIST.equals(getType()) && sourceObject instanceof List) {
List<String> items = (List<String>) sourceObject;
XmlBuilder itemsXml = new XmlBuilder("items");
for (Iterator<String> it = items.iterator(); it.hasNext(); ) {
String item = it.next();
XmlBuilder itemXml = new XmlBuilder("item");
itemXml.setValue(item);
itemsXml.addSubElement(itemXml);
}
sourceString = itemsXml.toXML();
} else if (TYPE_MAP.equals(getType()) && sourceObject instanceof Map) {
Map<String, String> items = (Map<String, String>) sourceObject;
XmlBuilder itemsXml = new XmlBuilder("items");
for (Iterator<String> it = items.keySet().iterator(); it.hasNext(); ) {
String item = it.next();
XmlBuilder itemXml = new XmlBuilder("item");
itemXml.addAttribute("name", item);
itemXml.setValue(items.get(item));
itemsXml.addSubElement(itemXml);
}
sourceString = itemsXml.toXML();
} else {
sourceString = (String) sourceObject;
}
if (StringUtils.isNotEmpty(sourceString)) {
log.debug("Parameter [" + getName() + "] using sessionvariable [" + retrievedSessionKey + "] as source for transformation");
source = XmlUtils.stringToSourceForSingleUse(sourceString, prc.isNamespaceAware());
} else {
log.debug("Parameter [" + getName() + "] sessionvariable [" + retrievedSessionKey + "] empty, no transformation will be performed");
}
} else if (StringUtils.isNotEmpty(getPattern())) {
String sourceString = format(alreadyResolvedParameters, prc);
if (StringUtils.isNotEmpty(sourceString)) {
log.debug("Parameter [" + getName() + "] using pattern [" + getPattern() + "] as source for transformation");
source = XmlUtils.stringToSourceForSingleUse(sourceString, prc.isNamespaceAware());
} else {
log.debug("Parameter [" + getName() + "] pattern [" + getPattern() + "] empty, no transformation will be performed");
}
} else {
source = prc.getInputSource();
}
if (source != null) {
if (transformerPoolRemoveNamespaces != null) {
String rnResult = transformerPoolRemoveNamespaces.transform(source, null);
source = XmlUtils.stringToSource(rnResult);
}
transformResult = transform(source, prc);
}
if (!(transformResult instanceof String) || StringUtils.isNotEmpty((String) transformResult)) {
result = transformResult;
}
} catch (Exception e) {
throw new ParameterException("Parameter [" + getName() + "] exception on transformation to get parametervalue", e);
}
} else {
if (StringUtils.isNotEmpty(retrievedSessionKey)) {
result = prc.getSession().get(retrievedSessionKey);
} else if (StringUtils.isNotEmpty(getPattern())) {
result = format(alreadyResolvedParameters, prc);
} else if (StringUtils.isNotEmpty(getValue())) {
result = getValue();
} else {
result = prc.getInput();
}
}
if (result != null) {
if (log.isDebugEnabled()) {
log.debug("Parameter [" + getName() + "] resolved to [" + (isHidden() ? hide(result.toString()) : result) + "]");
}
} else {
// if value is null then return specified default value
StringTokenizer stringTokenizer = new StringTokenizer(getDefaultValueMethods(), ",");
while (result == null && stringTokenizer.hasMoreElements()) {
String token = stringTokenizer.nextToken();
if ("defaultValue".equals(token)) {
result = getDefaultValue();
} else if ("sessionKey".equals(token)) {
result = prc.getSession().get(retrievedSessionKey);
} else if ("pattern".equals(token)) {
result = format(alreadyResolvedParameters, prc);
} else if ("value".equals(token)) {
result = getValue();
} else if ("input".equals(token)) {
result = prc.getInput();
}
}
log.debug("Parameter [" + getName() + "] resolved to defaultvalue [" + (isHidden() ? hide(result.toString()) : result) + "]");
}
if (result != null && result instanceof String) {
if (getMinLength() >= 0 && !TYPE_NUMBER.equals(getType())) {
if (result.toString().length() < getMinLength()) {
log.debug("Padding parameter [" + getName() + "] because length [" + result.toString().length() + "] deceeds minLength [" + getMinLength() + "]");
result = StringUtils.rightPad(result.toString(), getMinLength());
}
}
if (getMaxLength() >= 0) {
if (result.toString().length() > getMaxLength()) {
log.debug("Trimming parameter [" + getName() + "] because length [" + result.toString().length() + "] exceeds maxLength [" + getMaxLength() + "]");
result = result.toString().substring(0, getMaxLength());
}
}
if (TYPE_NODE.equals(getType())) {
try {
result = XmlUtils.buildNode((String) result, prc.isNamespaceAware());
if (log.isDebugEnabled())
log.debug("final result [" + result.getClass().getName() + "][" + result + "]");
} catch (DomBuilderException e) {
throw new ParameterException("Parameter [" + getName() + "] could not parse result [" + result + "] to XML nodeset", e);
}
}
if (TYPE_DOMDOC.equals(getType())) {
try {
result = XmlUtils.buildDomDocument((String) result, prc.isNamespaceAware(), prc.isXslt2());
if (log.isDebugEnabled())
log.debug("final result [" + result.getClass().getName() + "][" + result + "]");
} catch (DomBuilderException e) {
throw new ParameterException("Parameter [" + getName() + "] could not parse result [" + result + "] to XML document", e);
}
}
if (TYPE_DATE.equals(getType()) || TYPE_DATETIME.equals(getType()) || TYPE_TIMESTAMP.equals(getType()) || TYPE_TIME.equals(getType())) {
log.debug("Parameter [" + getName() + "] converting result [" + result + "] to date using formatString [" + getFormatString() + "]");
DateFormat df = new SimpleDateFormat(getFormatString());
try {
result = df.parseObject((String) result);
} catch (ParseException e) {
throw new ParameterException("Parameter [" + getName() + "] could not parse result [" + result + "] to Date using formatString [" + getFormatString() + "]", e);
}
}
if (TYPE_XMLDATETIME.equals(getType())) {
log.debug("Parameter [" + getName() + "] converting result [" + result + "] from xml dateTime to date");
result = DateUtils.parseXmlDateTime((String) result);
}
if (TYPE_NUMBER.equals(getType())) {
log.debug("Parameter [" + getName() + "] converting result [" + result + "] to number decimalSeparator [" + decimalFormatSymbols.getDecimalSeparator() + "] groupingSeparator [" + decimalFormatSymbols.getGroupingSeparator() + "]");
DecimalFormat df = new DecimalFormat();
df.setDecimalFormatSymbols(decimalFormatSymbols);
try {
Number n = df.parse((String) result);
result = n;
} catch (ParseException e) {
throw new ParameterException("Parameter [" + getName() + "] could not parse result [" + result + "] to number decimalSeparator [" + decimalFormatSymbols.getDecimalSeparator() + "] groupingSeparator [" + decimalFormatSymbols.getGroupingSeparator() + "]", e);
}
if (getMinLength() >= 0 && result.toString().length() < getMinLength()) {
log.debug("Adding leading zeros to parameter [" + getName() + "]");
result = StringUtils.leftPad(result.toString(), getMinLength(), '0');
}
}
if (TYPE_INTEGER.equals(getType())) {
log.debug("Parameter [" + getName() + "] converting result [" + result + "] to integer");
try {
Integer i = Integer.parseInt((String) result);
result = i;
} catch (NumberFormatException e) {
throw new ParameterException("Parameter [" + getName() + "] could not parse result [" + result + "] to integer", e);
}
}
}
if (result != null) {
if (getMinInclusive() != null || getMaxInclusive() != null) {
if (getMinInclusive() != null) {
if (((Number) result).floatValue() < minInclusive.floatValue()) {
log.debug("Replacing parameter [" + getName() + "] because value [" + result + "] exceeds minInclusive [" + getMinInclusive() + "]");
result = minInclusive;
}
}
if (getMaxInclusive() != null) {
if (((Number) result).floatValue() > maxInclusive.floatValue()) {
log.debug("Replacing parameter [" + getName() + "] because value [" + result + "] exceeds maxInclusive [" + getMaxInclusive() + "]");
result = maxInclusive;
}
}
}
}
return result;
}
use of nl.nn.adapterframework.util.XmlBuilder in project iaf by ibissource.
the class LdapSender method searchResultsToXml.
private XmlBuilder searchResultsToXml(NamingEnumeration entries) throws NamingException {
XmlBuilder entriesElem = new XmlBuilder("entries");
int row = 0;
while ((getMaxEntriesReturned() == 0 || row < getMaxEntriesReturned()) && entries.hasMore()) {
SearchResult searchResult = (SearchResult) entries.next();
XmlBuilder entryElem = new XmlBuilder("entry");
entryElem.addAttribute("name", searchResult.getName());
entryElem.addSubElement(attributesToXml(searchResult.getAttributes()));
entriesElem.addSubElement(entryElem);
row++;
}
return entriesElem;
}
Aggregations