use of com.serotonin.m2m2.web.dwr.emport.importers.PointHierarchyImporter in project ma-core-public by infiniteautomation.
the class ImportTask method processDataPointPaths.
public void processDataPointPaths(PointHierarchyImporter hierarchyImporter, List<DataPointSummaryPathPair> dpPathPairs) {
PointFolder root;
if (hierarchyImporter != null && hierarchyImporter.getHierarchy() != null)
root = hierarchyImporter.getHierarchy().getRoot();
else if (dpPathPairs.size() > 0)
root = DataPointDao.instance.getPointHierarchy(false).getRoot();
else
return;
String pathSeparator = SystemSettingsDao.getValue(SystemSettingsDao.HIERARCHY_PATH_SEPARATOR);
for (DataPointSummaryPathPair dpp : dpPathPairs) {
root.removePointRecursively(dpp.getDataPointSummary().getId());
PointFolder starting = root;
PointFolder previous = root;
String[] pathParts = dpp.getPath().split(pathSeparator);
if (pathParts.length == 1 && StringUtils.isBlank(pathParts[0])) {
// Check if it's in the root
root.getPoints().add(dpp.getDataPointSummary());
continue;
}
for (String s : pathParts) {
if (StringUtils.isBlank(s))
continue;
previous = starting;
starting = starting.getSubfolder(s);
if (starting == null) {
PointFolder newFolder = new PointFolder();
newFolder.setName(s);
previous.addSubfolder(newFolder);
starting = newFolder;
}
}
starting.addDataPoint(dpp.getDataPointSummary());
}
DataPointDao.instance.savePointHierarchy(root);
importContext.addSuccessMessage(false, "emport.pointHierarchy.prefix", "");
}
Aggregations