public static int compare(ItemRecord o1, ItemRecord o2) { int res = o1.getProperty().getLabel().compareTo(o2.getProperty().getLabel()); if (res == 0) { // item with same name, should compare version return VersionUtils.compareTo(o1.getProperty().getVersion(), o2.getProperty().getVersion()); } else { return res; } }
public void addItem(ItemRecord itemRecord) { sorted = false; ERepositoryObjectType type = itemRecord.getType(); boolean isdelete = itemRecord.getProperty().getItem().getState().isDeleted(); if (isdelete) { type = ERepositoryObjectType.RECYCLE_BIN; } types.add(type); TypeNode folder = typeMap.get(type); if (folder == null) { folder = new TypeNode(type); typeMap.put(type, folder); } folder.add(itemRecord); }
@Override public void add(ItemRecord itemRecord) { String path = itemRecord.getProperty().getItem().getState().getPath(); if (StringUtils.isBlank(path)) { super.add(itemRecord); } else { FolderNode folder = folderMap.get(path.toString()); if (folder == null) { folder = createFolder(new Path(path)); } folder.add(itemRecord); } sorted = false; }