Search in sources :

Example 1 with PointHierarchyImporter

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", "");
}
Also used : PointFolder(com.serotonin.m2m2.vo.hierarchy.PointFolder) DataPointSummaryPathPair(com.serotonin.m2m2.web.dwr.emport.importers.DataPointSummaryPathPair)

Aggregations

PointFolder (com.serotonin.m2m2.vo.hierarchy.PointFolder)1 DataPointSummaryPathPair (com.serotonin.m2m2.web.dwr.emport.importers.DataPointSummaryPathPair)1