This is an automated email from the ASF dual-hosted git repository. solomax pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/openmeetings.git
commit 83d0ea33f697f7bef00ee637249b40aee86f349c Author: Maxim Solodovnik <[email protected]> AuthorDate: Thu Dec 5 16:24:21 2024 +0700 [OPENMEETINGS-2783] some issues are addressed --- .../openmeetings/core/data/file/FileProcessor.java | 2 +- .../apache/openmeetings/db/dao/user/UserDao.java | 2 +- .../openmeetings/db/entity/file/BaseFileItem.java | 25 +++++++++------------- .../openmeetings/backup/converter/WbConverter.java | 2 +- .../openmeetings/mediaserver/BaseMockedTest.java | 2 +- .../openmeetings/util/OMContextListener.java | 2 +- .../org/apache/openmeetings/util/OmFileHelper.java | 14 +++++++++++- .../apache/openmeetings/util/mail/IcalHandler.java | 3 +-- .../common/datetime/AbstractOmDateTimePicker.java | 2 +- .../web/room/RoomResourceReference.java | 2 +- .../apache/openmeetings/web/room/wb/WbPanel.java | 2 +- .../openmeetings/core/file/TestFileProcessor.java | 4 ++-- .../openmeetings/web/AbstractOmServerTest.java | 2 +- .../org/apache/openmeetings/web/TestCalendar.java | 2 +- .../openmeetings/web/pages/auth/TestLoginUI.java | 4 ++-- .../webservice/AbstractWebServiceTest.java | 2 +- .../webservice/TestCalendarService.java | 4 ++-- 17 files changed, 41 insertions(+), 35 deletions(-) diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java index 8358993d6..bf7867eb6 100644 --- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java +++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java @@ -68,7 +68,7 @@ public class FileProcessor { File temp = null; try { - temp = File.createTempFile(String.format("upload_%s", hash), ".tmp"); + temp = File.createTempFile("upload_" + hash, ".tmp"); copyInputStreamToFile(is, temp); String ext = getFileExt(f.getName()); diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java index 8341562a4..085a85cab 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java @@ -358,7 +358,7 @@ public class UserDao implements IGroupAdminDataProviderDao<User> { u.setAddress(new Address()); u.setAge(LocalDate.now()); u.setExternalId(null); - final String purged = String.format("Purged %s", randomUUID()); + final String purged = "Purged " + randomUUID(); u.setFirstname(purged); u.setLastname(purged); u.setLogin(purged); diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/BaseFileItem.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/BaseFileItem.java index a03d09ca7..49afd8d85 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/BaseFileItem.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/BaseFileItem.java @@ -25,7 +25,7 @@ import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_MP4; import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_PDF; import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_PNG; import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_WML; -import static org.apache.openmeetings.util.OmFileHelper.FILE_NAME_FMT; +import static org.apache.openmeetings.util.OmFileHelper.getFileSafe; import static org.apache.openmeetings.util.OmFileHelper.getStreamsHibernateDir; import static org.apache.openmeetings.util.OmFileHelper.getUploadFilesDir; import static org.apache.openmeetings.util.OmFileHelper.getUploadWmlDir; @@ -259,7 +259,7 @@ public abstract class BaseFileItem extends HistoricalEntity { } public String getFileName(String ext) { - return ext == null ? name : String.format(FILE_NAME_FMT, name, ext); + return ext == null ? name : OmFileHelper.getName(name, ext); } public File getFile() { @@ -304,35 +304,30 @@ public abstract class BaseFileItem extends HistoricalEntity { File d = new File(getUploadFilesDir(), getHash()); switch (getType()) { case WML_FILE: - f = new File(getUploadWmlDir(), String.format(FILE_NAME_FMT, getHash(), ext == null ? EXTENSION_WML : ext)); + f = getFileSafe(getUploadWmlDir(), getHash(), ext, EXTENSION_WML); break; case IMAGE: if (ext == null) { - f = new File(d, String.format(FILE_NAME_FMT, getHash(), EXTENSION_PNG)); + f = getFileSafe(d, getHash(), EXTENSION_PNG); if (!f.exists()) { - f = new File(d, String.format(FILE_NAME_FMT, getHash(), EXTENSION_JPG)); // backward compatibility + f = getFileSafe(d, getHash(), EXTENSION_JPG); // backward compatibility } } else { - f = new File(d, String.format(FILE_NAME_FMT, getHash(), ext)); + f = getFileSafe(d, getHash(), ext); } break; case RECORDING: - f = new File(getStreamsHibernateDir(), String.format(FILE_NAME_FMT, getHash(), ext == null ? EXTENSION_MP4 : ext)); + f = getFileSafe(getStreamsHibernateDir(), getHash(), ext, EXTENSION_MP4); break; case VIDEO: - f = new File(d, String.format(FILE_NAME_FMT, getHash(), ext == null ? EXTENSION_MP4 : ext)); + f = getFileSafe(d, getHash(), ext, EXTENSION_MP4); break; case PRESENTATION: - int slide; - if (ext == null) { - slide = 0; - } else { - slide = toInt(ext, -1); - } + int slide = ext == null ? 0 : toInt(ext, -1); if (slide > -1) { f = new File(d, String.format("%1$s-%2$04d.%3$s", DOC_PAGE_PREFIX, slide, EXTENSION_PNG)); } else { - f = new File(d, String.format(FILE_NAME_FMT, getHash(), ext == null ? EXTENSION_PDF : ext)); + f = getFileSafe(d, getHash(), ext, EXTENSION_PDF); } break; case POLL_CHART, FOLDER: diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/converter/WbConverter.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/converter/WbConverter.java index e5decb667..cbff787a5 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/converter/WbConverter.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/converter/WbConverter.java @@ -197,7 +197,7 @@ public class WbConverter { String src = (String)props.get(2); int idx = src.indexOf("cliparts"); if (idx > -1) { - src = String.format("./public/%s", src.substring(idx)); + src = "./public/" + src.substring(idx); } add(wb, init(wb, props) .put(ATTR_TYPE, TYPE_IMAGE) diff --git a/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/BaseMockedTest.java b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/BaseMockedTest.java index ca7a77633..0c1dd10bf 100644 --- a/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/BaseMockedTest.java +++ b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/BaseMockedTest.java @@ -136,7 +136,7 @@ public class BaseMockedTest { return null; } }).when(injector).inject(any()); - injectMock.when(() -> Injector.get()).thenReturn(injector); + injectMock.when(Injector::get).thenReturn(injector); task.run(); } } diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OMContextListener.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OMContextListener.java index 8d0f84eac..9122f2f75 100644 --- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OMContextListener.java +++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OMContextListener.java @@ -42,7 +42,7 @@ public class OMContextListener implements ServletContextListener { if (Strings.isEmpty(System.getProperty(LOG_DIR_PROP))) { System.setProperty(LOG_DIR_PROP, "logs"); } - System.setProperty("webapp.contextPath", String.format("/%s", ctx)); + System.setProperty("webapp.contextPath", "/" + ctx); try { LoggerContext context = (LoggerContext)LoggerFactory.getILoggerFactory(); JoranConfigurator configurator = new JoranConfigurator(); diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java index 2b82d394a..a28291157 100644 --- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java +++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java @@ -26,6 +26,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; +import java.nio.file.Path; import java.text.DecimalFormat; import java.util.Locale; import java.util.Properties; @@ -232,7 +233,7 @@ public class OmFileHelper { } catch (IOException e) { log.error("Unexpected error while getting canonical path", e); } - String uri = String.format("file://%s", furi); + String uri = "file://" + furi; log.info("Configured to record to {}", uri); return uri; } @@ -323,6 +324,17 @@ public class OmFileHelper { return new File(parent, name + suffix + ext); } + public static File getFileSafe(File inDir, String inName, String inExt, String defaultExt) { + return getFileSafe(inDir, inName, inExt == null ? defaultExt : inExt); + } + + public static File getFileSafe(File inDir, String inName, String ext) { + final String name = getName(inName, ext); + Path base = inDir.toPath(); + Path file = base.resolve(name); + return file.startsWith(base) ? file.toFile() : new File(inDir, inName); + } + public static File getNewFile(File dir, String name, String ext) throws IOException { File f = new File(dir, getName(name, ext)); int recursiveNumber = 0; diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java index 0bd234f34..83c0214d6 100644 --- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java +++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java @@ -192,8 +192,7 @@ public class IcalHandler { * - in case of error during writing to the file */ public void toFile(String inFilerPath) throws Exception { - String filerPath = inFilerPath.endsWith(".ics") ? inFilerPath - : String.format("%s.ics", inFilerPath); + String filerPath = inFilerPath.endsWith(".ics") ? inFilerPath : inFilerPath + ".ics"; try (FileOutputStream fout = new FileOutputStream(filerPath)) { CalendarOutputter outputter = new CalendarOutputter(); diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/datetime/AbstractOmDateTimePicker.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/datetime/AbstractOmDateTimePicker.java index 1a99992eb..cd57c82ca 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/datetime/AbstractOmDateTimePicker.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/datetime/AbstractOmDateTimePicker.java @@ -67,7 +67,7 @@ public abstract class AbstractOmDateTimePicker<T extends Serializable> extends F .withTodayIcon(FontAwesome6IconType.calendar_check_s) .withClearIcon(FontAwesome6IconType.eraser_s) .withCloseIcon(FontAwesome6IconType.xmark_s)); - picker = new AbstractTempusDominusWithIcon<>("picker", new Model<T>(), patch(config)) { + picker = new AbstractTempusDominusWithIcon<>("picker", new Model<>(), patch(config)) { private static final long serialVersionUID = 1L; @Override diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java index 44d4a06bc..38f1381c2 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java @@ -119,7 +119,7 @@ public class RoomResourceReference extends FileItemResourceReference<FileItem> { protected File getFile(FileItem f, String ext) { File file = f.getFile(ext); if (file == null || !file.exists()) { - file = new File(getImagesDir(), String.format("deleted.%s", EXTENSION_PNG)); + file = new File(getImagesDir(), "deleted." + EXTENSION_PNG); } return file; } diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java index be6765205..d95aed277 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java @@ -156,7 +156,7 @@ public class WbPanel extends AbstractWbPanel { @Override protected void populateItem(ListItem<String> item) { - String cls = String.format("clipart-%s", item.getIndex()); + String cls = "clipart-" + item.getIndex(); item.add(append(ATTR_CLASS, cls), append("data-mode", cls) , append("data-image", item.getModelObject()).setSeparator("")); } diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/core/file/TestFileProcessor.java b/openmeetings-web/src/test/java/org/apache/openmeetings/core/file/TestFileProcessor.java index b25ee254c..d6a72d580 100644 --- a/openmeetings-web/src/test/java/org/apache/openmeetings/core/file/TestFileProcessor.java +++ b/openmeetings-web/src/test/java/org/apache/openmeetings/core/file/TestFileProcessor.java @@ -19,7 +19,7 @@ package org.apache.openmeetings.core.file; import static java.util.UUID.randomUUID; -import static org.apache.openmeetings.util.OmFileHelper.FILE_NAME_FMT; +import static org.apache.openmeetings.util.OmFileHelper.getName; import static org.apache.openmeetings.util.OmFileHelper.getDefaultProfilePicture; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -49,7 +49,7 @@ class TestFileProcessor extends AbstractOmServerTest { void testProcessPng() throws Exception { for (String ext : new String[] {null, "txt", "jpg"}) { FileItem f = new FileItemDTO() - .setName(String.format(FILE_NAME_FMT, FILE_NAME, ext)) + .setName(getName(FILE_NAME, ext)) .setHash(randomUUID().toString()) .setType(BaseFileItem.Type.RECORDING).get(); try (InputStream is = new FileInputStream(getDefaultProfilePicture())) { diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/web/AbstractOmServerTest.java b/openmeetings-web/src/test/java/org/apache/openmeetings/web/AbstractOmServerTest.java index fbe47be24..155fa6ef0 100644 --- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/AbstractOmServerTest.java +++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/AbstractOmServerTest.java @@ -188,7 +188,7 @@ public abstract class AbstractOmServerTest { } protected static String getLogin(String uid) { - return String.format("login%s", uid); + return "login" + uid; } protected static String getEmail(String uid) { diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestCalendar.java b/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestCalendar.java index a3c852e4d..9145c2e5d 100644 --- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestCalendar.java +++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestCalendar.java @@ -63,7 +63,7 @@ class TestCalendar extends AbstractWicketTesterTest { tester.executeBehavior((AbstractAjaxBehavior)cal.get("form:calendar").getBehaviorById(0)); //select-event FormTester appTester = tester.newFormTester(PATH_APPOINTMENT_DLG_FRM); //check inviteeType:groupContainer:groups is invisible for regular user - String title = String.format("title%s", randomUUID()); + String title = "title" + randomUUID(); appTester.setValue("title", title); AbstractAjaxBehavior save = getButtonBehavior(PATH_APPOINTMENT_DLG, 0); tester.executeBehavior(save); diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/auth/TestLoginUI.java b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/auth/TestLoginUI.java index fc9400a61..23e0b149e 100644 --- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/auth/TestLoginUI.java +++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/auth/TestLoginUI.java @@ -158,8 +158,8 @@ class TestLoginUI extends AbstractWicketTesterTest { FormTester formTester = tester.newFormTester(PATH_REGISTER); formTester.setValue("login", getLogin(uid)); formTester.setValue("email", getEmail(uid)); - formTester.setValue("firstName", String.format("first%s", uid)); - formTester.setValue("lastName", String.format("last%s", uid)); + formTester.setValue("firstName", "first" + uid); + formTester.setValue("lastName", "last" + uid); formTester.setValue("password", userpass); formTester.setValue("confirmPassword", userpass); formTester.setValue("captcha:captchaText", getCaptcha("register:form:captcha:captcha")); diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java index a05a69f92..802c7a58b 100644 --- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java +++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java @@ -127,7 +127,7 @@ public abstract class AbstractWebServiceTest { assertNotNull(room, "Valid room should be returned"); assertNotNull(room.getId(), "Room ID should be not empty"); - RoomDTO room1 = getClient(getRoomUrl()).path(String.format("/%s", room.getId())) + RoomDTO room1 = getClient(getRoomUrl()).path("/" + room.getId()) .query("sid", sid) .get(RoomDTO.class); assertNotNull(room1, "Valid room should be returned"); diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestCalendarService.java b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestCalendarService.java index 515460c4c..2fd15d9ee 100644 --- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestCalendarService.java +++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestCalendarService.java @@ -280,7 +280,7 @@ class TestCalendarService extends AbstractWebServiceTest { String sid = createApp(title); @SuppressWarnings("unchecked") List<AppointmentDTO> list = (List<AppointmentDTO>)getClient(getCalendarUrl()) - .path(String.format("/title/%s", title)) + .path("/title/" + title) .query("sid", sid) .getCollection(AppointmentDTO.class); @@ -290,7 +290,7 @@ class TestCalendarService extends AbstractWebServiceTest { title = randomUUID().toString(); @SuppressWarnings("unchecked") List<AppointmentDTO> list1 = (List<AppointmentDTO>)getClient(getCalendarUrl()) - .path(String.format("/title/%s", title)) + .path("/title/" + title) .query("sid", sid) .getCollection(AppointmentDTO.class); assertEquals(0, list1.size(), "None items should be returned");
