I've encountered a few errors trying to duplicate mango instances for testing and backup purposes.
1.If a point fails to import, because of an invalid data source XID or bad point event detector, the entire point hierarchy also fails to import if one referenced datapoint is missing. Would it be possible to change this behaviour so the missing point is left out of the point hierarchy but the rest of the point hierarchy is imported?
2.It appears that Multistate points with High Limit Point Event Detectors are exported with a "state" property on the point event detector instead of a "limit", generating this error:
Data point 'DP_728959': Point event detector must have a 'limit'.
```The point import fails in JsonReader.populateObject.
3. I've modified some VOs, such as reports and HttpImagePointLocatorVO. The new properties get exported, but import fails at JsonReader.populateObject.
Data point 'DP_551301': 'JsonException reading property 'overlayPoints' of type java.util.List', caused by: 'List type provided without innerType definition'
4. The SNMP data source fails to import if it is SNMP version 1 but this is an easy fix:
It looks like in SnmpDataSourceVo.validate()
if (snmpVersion < 1 || snmpVersion > 3)
response.addContextualMessage("snmpVersion", "validate.invalidValue");
should be
if (snmpVersion < 0 || snmpVersion > 3)
response.addContextualMessage("snmpVersion", "validate.invalidValue");
since in jsp/datasourceEdit/editSnmp.jsp
<td class="formLabelRequired"><fmt:message key="dsEdit.snmp.version"/></td>
<td class="formField">
<sst:select id="snmpVersion" value="${dataSource.snmpVersion}" onchange="versionChange()">
<sst:option value="<%= Integer.toString(SnmpConstants.version1) %>">1</sst:option>
<sst:option value="<%= Integer.toString(SnmpConstants.version2c) %>">2c</sst:option>
<sst:option value="<%= Integer.toString(SnmpConstants.version3) %>">3</sst:option>
</sst:select>
outputs
<select id="snmpVersion" onchange="versionChange()">
<option value="0" selected="selected">1</option>
<option value="1">2c</option>
<option value="3">3</option>
</select>