Skip to content

Commit 556e954

Browse files
committed
Split groupType checking and groupFields checking into 2 different functions
1 parent ba4e486 commit 556e954

File tree

1 file changed

+15
-18
lines changed

1 file changed

+15
-18
lines changed

src/main/java/org/jabref/gui/groups/GroupTreeViewModel.java

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -186,10 +186,10 @@ private void writeGroupChangesToMetaData() {
186186
}
187187

188188
private boolean compareGroupType(AbstractGroup oldGroup, AbstractGroup newGroup) {
189-
if (!oldGroup.getClass().equals(newGroup.getClass())) {
190-
return false;
191-
}
189+
return oldGroup.getClass().equals(newGroup.getClass());
190+
}
192191

192+
private boolean compareGroupFields(AbstractGroup oldGroup, AbstractGroup newGroup) {
193193
if (oldGroup.getClass() == WordKeywordGroup.class) {
194194
WordKeywordGroup oldWordKeywordGroup = (WordKeywordGroup) oldGroup;
195195
WordKeywordGroup newWordKeywordGroup = (WordKeywordGroup) newGroup;
@@ -198,8 +198,8 @@ private boolean compareGroupType(AbstractGroup oldGroup, AbstractGroup newGroup)
198198
return false;
199199
} else if (!oldWordKeywordGroup.getSearchExpression().equals(newWordKeywordGroup.getSearchExpression())) {
200200
return false;
201-
} else if (oldWordKeywordGroup.isCaseSensitive() != newWordKeywordGroup.isCaseSensitive()) {
202-
return false;
201+
} else {
202+
return oldWordKeywordGroup.isCaseSensitive() == newWordKeywordGroup.isCaseSensitive();
203203
}
204204
} else if (oldGroup.getClass() == RegexKeywordGroup.class) {
205205
RegexKeywordGroup oldRegexKeywordGroup = (RegexKeywordGroup) oldGroup;
@@ -209,17 +209,17 @@ private boolean compareGroupType(AbstractGroup oldGroup, AbstractGroup newGroup)
209209
return false;
210210
} else if (!oldRegexKeywordGroup.getSearchExpression().equals(newRegexKeywordGroup.getSearchExpression())) {
211211
return false;
212-
} else if (oldRegexKeywordGroup.isCaseSensitive() != newRegexKeywordGroup.isCaseSensitive()) {
213-
return false;
212+
} else {
213+
return oldRegexKeywordGroup.isCaseSensitive() == newRegexKeywordGroup.isCaseSensitive();
214214
}
215215
} else if (oldGroup.getClass() == SearchGroup.class) {
216216
SearchGroup oldSearchGroup = (SearchGroup) oldGroup;
217217
SearchGroup newSearchGroup = (SearchGroup) newGroup;
218218

219219
if (!oldSearchGroup.getSearchExpression().equals(newSearchGroup.getSearchExpression())) {
220220
return false;
221-
} else if (!oldSearchGroup.getSearchFlags().equals(newSearchGroup.getSearchFlags())) {
222-
return false;
221+
} else {
222+
return oldSearchGroup.getSearchFlags().equals(newSearchGroup.getSearchFlags());
223223
}
224224
} else if (oldGroup.getClass() == ExplicitGroup.class) {
225225
return true;
@@ -232,24 +232,20 @@ private boolean compareGroupType(AbstractGroup oldGroup, AbstractGroup newGroup)
232232
return false;
233233
} else if (!oldAutomaticKeywordGroup.getKeywordHierarchicalDelimiter().toString().equals(newAutomaticKeywordGroup.getKeywordHierarchicalDelimiter().toString())) {
234234
return false;
235-
} else if (!oldAutomaticKeywordGroup.getField().getName().equals(newAutomaticKeywordGroup.getField().getName())) {
236-
return false;
235+
} else {
236+
return oldAutomaticKeywordGroup.getField().getName().equals(newAutomaticKeywordGroup.getField().getName());
237237
}
238238
} else if (oldGroup.getClass() == AutomaticPersonsGroup.class) {
239239
AutomaticPersonsGroup oldAutomaticPersonsGroup = (AutomaticPersonsGroup) oldGroup;
240240
AutomaticPersonsGroup newAutomaticPersonsGroup = (AutomaticPersonsGroup) newGroup;
241241

242-
if (!oldAutomaticPersonsGroup.getField().getName().equals(newAutomaticPersonsGroup.getField().getName())) {
243-
return false;
244-
}
242+
return oldAutomaticPersonsGroup.getField().getName().equals(newAutomaticPersonsGroup.getField().getName());
245243
}
246244
} else if (oldGroup.getClass() == TexGroup.class) {
247245
TexGroup oldTexGroup = (TexGroup) oldGroup;
248246
TexGroup newTexGroup = (TexGroup) newGroup;
249247

250-
if (!oldTexGroup.getFilePath().toString().equals(newTexGroup.getFilePath().toString())) {
251-
return false;
252-
}
248+
return oldTexGroup.getFilePath().toString().equals(newTexGroup.getFilePath().toString());
253249
}
254250
return true;
255251
}
@@ -269,7 +265,8 @@ public void editGroup(GroupNodeViewModel oldGroup) {
269265
newGroup.ifPresent(group -> {
270266
// TODO: Keep assignments
271267
boolean keepPreviousAssignments = true;
272-
if (!compareGroupType(oldGroup.getGroupNode().getGroup(), newGroup.get())) {
268+
if (!compareGroupType(oldGroup.getGroupNode().getGroup(), newGroup.get())
269+
|| !compareGroupFields(oldGroup.getGroupNode().getGroup(), newGroup.get())) {
273270
keepPreviousAssignments = dialogService.showConfirmationDialogAndWait(
274271
Localization.lang("Change of Grouping Method"),
275272
Localization.lang("Assign the original group's entries to this group?"));

0 commit comments

Comments
 (0)