1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.rundeck.api.parser;
17
18 import java.util.Arrays;
19
20 import org.apache.commons.lang.StringUtils;
21 import org.dom4j.Node;
22 import org.rundeck.api.domain.RundeckNode;
23
24
25
26
27
28
29 public class NodeParser extends BaseXpathParser<RundeckNode> {
30
31
32 public NodeParser(final String xpath) {
33 super(xpath);
34 }
35
36 public NodeParser() {
37
38 }
39
40 @Override
41 public RundeckNode parse(Node rundeckNodeNode) {
42
43 RundeckNode rundeckNode = new RundeckNode();
44
45 rundeckNode.setName(StringUtils.trimToNull(rundeckNodeNode.valueOf("@name")));
46 rundeckNode.setType(StringUtils.trimToNull(rundeckNodeNode.valueOf("@type")));
47 rundeckNode.setDescription(StringUtils.trimToNull(rundeckNodeNode.valueOf("@description")));
48 rundeckNode.setHostname(StringUtils.trimToNull(rundeckNodeNode.valueOf("@hostname")));
49 rundeckNode.setOsArch(StringUtils.trimToNull(rundeckNodeNode.valueOf("@osArch")));
50 rundeckNode.setOsFamily(StringUtils.trimToNull(rundeckNodeNode.valueOf("@osFamily")));
51 rundeckNode.setOsName(StringUtils.trimToNull(rundeckNodeNode.valueOf("@osName")));
52 rundeckNode.setOsVersion(StringUtils.trimToNull(rundeckNodeNode.valueOf("@osVersion")));
53 rundeckNode.setUsername(StringUtils.trimToNull(rundeckNodeNode.valueOf("@username")));
54 rundeckNode.setEditUrl(StringUtils.trimToNull(rundeckNodeNode.valueOf("@editUrl")));
55 rundeckNode.setRemoteUrl(StringUtils.trimToNull(rundeckNodeNode.valueOf("@remoteUrl")));
56
57 String tags = StringUtils.trimToEmpty(rundeckNodeNode.valueOf("@tags"));
58 rundeckNode.setTags(Arrays.asList(StringUtils.split(tags, ",")));
59
60 return rundeckNode;
61 }
62
63 }