List<DataPointVO> allPoints = new DataPointDao().getDataPoints(DataPointExtendedNameComparator.instance, false);
List<IntStringPair> sourcePoints = new ArrayList<IntStringPair>();
List<IntStringPair> targetPoints = new ArrayList<IntStringPair>();
for (DataPointVO point : allPoints) {
if (Permissions.hasDataPointReadPermission(user, point))
sourcePoints.add(new IntStringPair(point.getId(), point.getExtendedName()));
if (point.getPointLocator().isSettable() && Permissions.hasDataPointSetPermission(user, point))
targetPoints.add(new IntStringPair(point.getId(), point.getExtendedName()));
}
data.put("sourcePoints", sourcePoints);
data.put("targetPoints", targetPoints);