diff options
author | Mürsel Türk | 2020-11-11 15:46:18 +0100 |
---|---|---|
committer | Mürsel Türk | 2020-11-11 15:46:18 +0100 |
commit | 76a3d137b3a75684175b988f85edc502a12e25ce (patch) | |
tree | 39bf429bf42b3c2d1427c21b57a18185edce07b1 | |
parent | [client] Fixed search in description (diff) | |
download | tutor-module-76a3d137b3a75684175b988f85edc502a12e25ce.tar.gz tutor-module-76a3d137b3a75684175b988f85edc502a12e25ce.tar.xz tutor-module-76a3d137b3a75684175b988f85edc502a12e25ce.zip |
[client] Check if description field is set
The helper class for checking whether object has field with the help of
java reflection is removed and replaced by methods of Thrift TBase.
Issue : #3691
3 files changed, 14 insertions, 26 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageListViewer.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageListViewer.java index 4326b525..b1f31220 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageListViewer.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageListViewer.java @@ -24,7 +24,6 @@ import org.openslx.dozmod.permissions.ImagePerms; import org.openslx.dozmod.thrift.Session; import org.openslx.dozmod.thrift.cache.ImageCache; import org.openslx.dozmod.thrift.cache.UserCache; -import org.openslx.dozmod.util.ObjectHelper; import org.openslx.util.QuickTimer; import org.openslx.util.QuickTimer.Task; @@ -77,10 +76,13 @@ public class ImageListViewer extends QLabel { ImageSummaryRead image = imageTable.getModelRow(entry.getIdentifier()); if (searchFieldPattern.matcher(image.imageName).find()) return true; - if (chkSearchInDescription.isSelected() && ObjectHelper.objectHasField(image, "description")) { - String description = image.getFieldValue(image.fieldForId(23)).toString(); - if (searchFieldPattern.matcher(description).find()) - return true; + if (chkSearchInDescription.isSelected()) { + ImageSummaryRead._Fields descriptionField = image.fieldForId(23); + if (descriptionField != null && image.isSet(descriptionField)) { + String description = image.getFieldValue(descriptionField).toString(); + if (searchFieldPattern.matcher(description).find()) + return true; + } } UserInfo user = UserCache.find(image.ownerId); if (user == null) diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java index c288a0aa..f61ac6a3 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java @@ -48,7 +48,6 @@ import org.openslx.dozmod.thrift.ThriftActions; import org.openslx.dozmod.thrift.ThriftActions.DeleteLectureCallback; import org.openslx.dozmod.thrift.cache.LectureCache; import org.openslx.dozmod.thrift.cache.UserCache; -import org.openslx.dozmod.util.ObjectHelper; import org.openslx.util.QuickTimer; import org.openslx.util.QuickTimer.Task; import org.openslx.util.Util; @@ -120,10 +119,13 @@ public class LectureListWindow extends LectureListWindowLayout { LectureSummary lecture = tblLectures.getModelRow(entry.getIdentifier()); if (searchFieldPattern.matcher(lecture.lectureName).find()) return true; - if (chkSearchInDescription.isSelected() && ObjectHelper.objectHasField(lecture, "description")) { - String description = lecture.getFieldValue(lecture.fieldForId(18)).toString(); - if (description != null && searchFieldPattern.matcher(description).find()) - return true; + if (chkSearchInDescription.isSelected()) { + LectureSummary._Fields descriptionField = lecture.fieldForId(18); + if (descriptionField != null && lecture.isSet(descriptionField)) { + String description = lecture.getFieldValue(descriptionField).toString(); + if (description != null && searchFieldPattern.matcher(description).find()) + return true; + } } UserInfo user = UserCache.find(lecture.ownerId); if (user == null) diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ObjectHelper.java b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ObjectHelper.java deleted file mode 100644 index 75f9dcce..00000000 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ObjectHelper.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.openslx.dozmod.util; - -import java.lang.reflect.Field; - -public class ObjectHelper { - - public static Boolean objectHasField(Object object, String fieldName) { - Class<?> clazz = object.getClass(); - for (Field field : clazz.getFields()) { - if (field.getName().equals(fieldName)) { - return true; - } - } - return false; - } -} |