use of org.opennms.netmgt.config.groups.Header in project opennms by OpenNMS.
the class GroupManager method saveGroups.
/**
* <p>saveGroups</p>
*
* @throws java.lang.Exception if any.
*/
public synchronized void saveGroups() throws Exception {
Header header = m_oldHeader;
if (header != null)
header.setCreated(EventConstants.formatToString(new Date()));
final List<Group> groups = new ArrayList<>();
for (final Group grp : m_groups.values()) {
groups.add(grp);
}
final List<Role> roles = new ArrayList<>();
for (final Role role : m_roles.values()) {
roles.add(role);
}
Groupinfo groupinfo = new Groupinfo();
groupinfo.setGroups(groups);
groupinfo.setRoles(roles);
groupinfo.setHeader(header);
m_oldHeader = header;
// marshal to a string first, then write the string to the file. This
// way the original configuration
// isn't lost if the XML from the marshal is hosed.
StringWriter stringWriter = new StringWriter();
JaxbUtils.marshal(groupinfo, stringWriter);
String data = stringWriter.toString();
saveXml(data);
}
Aggregations