Refactor theme files comparision rule

pull/146/head
johnniang 2019-04-11 21:38:00 +08:00
parent 0e208448e6
commit 6a37a9ae01
2 changed files with 16 additions and 2 deletions

View File

@ -3,6 +3,7 @@ package run.halo.app.model.support;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
import java.util.Comparator;
import java.util.List; import java.util.List;
/** /**
@ -13,7 +14,7 @@ import java.util.List;
*/ */
@Data @Data
@ToString @ToString
public class ThemeFile { public class ThemeFile implements Comparator<ThemeFile> {
private String name; private String name;
@ -24,4 +25,17 @@ public class ThemeFile {
private Boolean editable; private Boolean editable;
private List<ThemeFile> node; private List<ThemeFile> node;
@Override
public int compare(ThemeFile leftFile, ThemeFile rightFile) {
if (leftFile.isFile && !rightFile.isFile) {
return 1;
}
if (!leftFile.isFile && rightFile.isFile) {
return -1;
}
return leftFile.getName().compareTo(rightFile.getName());
}
} }

View File

@ -343,7 +343,7 @@ public class ThemeServiceImpl implements ThemeService {
}); });
// Sort with isFile param // Sort with isFile param
themeFiles.sort(Comparator.comparing(ThemeFile::getIsFile)); themeFiles.sort(new ThemeFile());
return themeFiles; return themeFiles;
} catch (IOException e) { } catch (IOException e) {