From 529f4cca197614dd82efd952a42e466067f51fd8 Mon Sep 17 00:00:00 2001 From: krankkk <59603675+krankkkk@users.noreply.github.com> Date: Sat, 16 Oct 2021 00:52:44 +0200 Subject: [PATCH 1/9] Add log severity highlighting to Logviewer #186 --- logviewer/frontend/index.html | 29 ++++++++ .../frontend/themes/logviewer/main-layout.css | 36 ++++++++++ .../frontend/themes/logviewer/styles.css | 4 ++ .../themes/{myapp => logviewer}/theme.json | 2 +- .../themes/logviewer/views/logs-view.css | 31 ++++++++ .../frontend/themes/myapp/main-layout.css | 36 ---------- logviewer/frontend/themes/myapp/styles.css | 3 - .../themes/myapp/views/hello-world-view.css | 4 -- .../togetherjava/logwatcher/Application.java | 2 +- .../logwatcher/logs/LogRepository.java | 8 +++ .../logwatcher/logs/LogRepositoryImpl.java | 11 +++ .../logwatcher/views/logs/LogsView.java | 71 ++++++++++++++++--- .../logwatcher/views/logs/StreamedView.java | 60 +++++++++++++--- logviewer/src/main/resources/log4j2.xml | 1 + 14 files changed, 231 insertions(+), 67 deletions(-) create mode 100644 logviewer/frontend/index.html create mode 100644 logviewer/frontend/themes/logviewer/main-layout.css create mode 100644 logviewer/frontend/themes/logviewer/styles.css rename logviewer/frontend/themes/{myapp => logviewer}/theme.json (95%) create mode 100644 logviewer/frontend/themes/logviewer/views/logs-view.css delete mode 100644 logviewer/frontend/themes/myapp/main-layout.css delete mode 100644 logviewer/frontend/themes/myapp/styles.css delete mode 100644 logviewer/frontend/themes/myapp/views/hello-world-view.css diff --git a/logviewer/frontend/index.html b/logviewer/frontend/index.html new file mode 100644 index 0000000000..627308e8d4 --- /dev/null +++ b/logviewer/frontend/index.html @@ -0,0 +1,29 @@ + + + + + + + + + + + + +
+ + diff --git a/logviewer/frontend/themes/logviewer/main-layout.css b/logviewer/frontend/themes/logviewer/main-layout.css new file mode 100644 index 0000000000..3477da5822 --- /dev/null +++ b/logviewer/frontend/themes/logviewer/main-layout.css @@ -0,0 +1,36 @@ +[slot='drawer'] { + background-image: linear-gradient(0deg, var(--lumo-shade-5pct), var(--lumo-shade-5pct)); +} + +[slot='drawer'] nav a { + text-decoration: none; + transition: color 140ms; +} + +[slot='drawer'] nav a .la { + margin-top: calc(var(--lumo-space-xs) * 0.5); +} + +[slot='drawer'] nav a::before { + border-radius: var(--lumo-border-radius); + bottom: calc(var(--lumo-space-xs) * 0.5); + content: ''; + left: 0; + position: absolute; + right: 0; + top: calc(var(--lumo-space-xs) * 0.5); + transition: background-color 140ms; +} + +[slot='drawer'] nav a[highlight] { + color: var(--lumo-primary-text-color); +} + +[slot='drawer'] nav a[highlight]::before { + background-color: var(--lumo-primary-color-10pct); +} + +[slot='drawer'] footer vaadin-context-menu { + align-items: center; + display: flex; +} diff --git a/logviewer/frontend/themes/logviewer/styles.css b/logviewer/frontend/themes/logviewer/styles.css new file mode 100644 index 0000000000..f7dfadb7ed --- /dev/null +++ b/logviewer/frontend/themes/logviewer/styles.css @@ -0,0 +1,4 @@ +/* Import your application global css files here or add the styles directly to this file */ +@import url('./main-layout.css'); +@import url('./views/logs-view.css'); +@import url('line-awesome/dist/line-awesome/css/line-awesome.min.css'); diff --git a/logviewer/frontend/themes/myapp/theme.json b/logviewer/frontend/themes/logviewer/theme.json similarity index 95% rename from logviewer/frontend/themes/myapp/theme.json rename to logviewer/frontend/themes/logviewer/theme.json index 88c4f9aae2..7ccf9d1c46 100644 --- a/logviewer/frontend/themes/myapp/theme.json +++ b/logviewer/frontend/themes/logviewer/theme.json @@ -1 +1 @@ -{"lumoImports":["typography","color","spacing","badge","utility"]} \ No newline at end of file +{"lumoImports":["typography","color","spacing","badge","utility"]} diff --git a/logviewer/frontend/themes/logviewer/views/logs-view.css b/logviewer/frontend/themes/logviewer/views/logs-view.css new file mode 100644 index 0000000000..04b84ca0e9 --- /dev/null +++ b/logviewer/frontend/themes/logviewer/views/logs-view.css @@ -0,0 +1,31 @@ +.logs-view { + display: block; + padding: 1em; +} + +p { + + line-height: normal; + margin-top: 0.1em; + margin-bottom: 0.1em; +} + +.error { + background-color: rgba(255, 75, 75, 0.5); +} + +.warn { + background-color: rgba(170, 187, 97, 0.5); +} + +.info { + background-color: rgba(120, 107, 213, 0.5); +} + +.debug { + background-color: rgba(127, 255, 212, 0.5); +} + +.trace { + background-color: rgba(58, 118, 58, 0.5); +} diff --git a/logviewer/frontend/themes/myapp/main-layout.css b/logviewer/frontend/themes/myapp/main-layout.css deleted file mode 100644 index c69ed2c859..0000000000 --- a/logviewer/frontend/themes/myapp/main-layout.css +++ /dev/null @@ -1,36 +0,0 @@ -[slot='drawer'] { - background-image: linear-gradient(0deg, var(--lumo-shade-5pct), var(--lumo-shade-5pct)); -} - -[slot='drawer'] nav a { - text-decoration: none; - transition: color 140ms; -} - -[slot='drawer'] nav a .la { - margin-top: calc(var(--lumo-space-xs) * 0.5); -} - -[slot='drawer'] nav a::before { - border-radius: var(--lumo-border-radius); - bottom: calc(var(--lumo-space-xs) * 0.5); - content: ''; - left: 0; - position: absolute; - right: 0; - top: calc(var(--lumo-space-xs) * 0.5); - transition: background-color 140ms; -} - -[slot='drawer'] nav a[highlight] { - color: var(--lumo-primary-text-color); -} - -[slot='drawer'] nav a[highlight]::before { - background-color: var(--lumo-primary-color-10pct); -} - -[slot='drawer'] footer vaadin-context-menu { - align-items: center; - display: flex; -} diff --git a/logviewer/frontend/themes/myapp/styles.css b/logviewer/frontend/themes/myapp/styles.css deleted file mode 100644 index 9d00368c7b..0000000000 --- a/logviewer/frontend/themes/myapp/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -@import url('./main-layout.css'); -@import url('./views/hello-world-view.css'); -@import url('line-awesome/dist/line-awesome/css/line-awesome.min.css'); \ No newline at end of file diff --git a/logviewer/frontend/themes/myapp/views/hello-world-view.css b/logviewer/frontend/themes/myapp/views/hello-world-view.css deleted file mode 100644 index c61de2b2ef..0000000000 --- a/logviewer/frontend/themes/myapp/views/hello-world-view.css +++ /dev/null @@ -1,4 +0,0 @@ -.hello-world-view { - display: block; - padding: 1em; -} diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/Application.java b/logviewer/src/main/java/org/togetherjava/logwatcher/Application.java index 81f34b1bc0..bee99739e8 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/Application.java +++ b/logviewer/src/main/java/org/togetherjava/logwatcher/Application.java @@ -26,7 +26,7 @@ * And the initial Config at {@link org.togetherjava.logwatcher.config.Config} */ @SpringBootApplication(exclude = {R2dbcAutoConfiguration.class}) -@Theme(value = "myapp") +@Theme(value = "logviewer") @PWA(name = "LogViewer", shortName = "Logs", offlineResources = {"images/logo.png"}) @NpmPackage(value = "line-awesome", version = "1.3.0") @Push diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogRepository.java b/logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogRepository.java index ad1a88a7e6..8af2b71d2c 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogRepository.java +++ b/logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogRepository.java @@ -2,6 +2,7 @@ import org.togetherjava.tjbot.db.generated.tables.pojos.Logevents; +import java.util.Collection; import java.util.List; public interface LogRepository { @@ -19,4 +20,11 @@ public interface LogRepository { * @return List of LogEvents */ List findAll(); + + /** + * Fetches all Events, which LogLevel matches the given Collection, from the DB + * + * @return List of LogEvents + */ + List findWithLevelMatching(Collection logLevels); } diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogRepositoryImpl.java b/logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogRepositoryImpl.java index 340266cd25..d100a328ff 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogRepositoryImpl.java +++ b/logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogRepositoryImpl.java @@ -5,6 +5,7 @@ import org.togetherjava.tjbot.db.generated.tables.pojos.Logevents; import org.togetherjava.tjbot.db.generated.tables.records.LogeventsRecord; +import java.util.Collection; import java.util.List; import static org.togetherjava.tjbot.db.generated.tables.Logevents.LOGEVENTS; @@ -50,6 +51,16 @@ public List findAll() { }); } + @Override + @SuppressWarnings("java:S1602") // Curly Braces are necessary here + public List findWithLevelMatching(Collection logLevels) { + return this.db.read(ctx -> { + return ctx.selectFrom(LOGEVENTS) + .where(LOGEVENTS.LEVEL.in(logLevels)) + .fetch(this::recordToPojo); + }); + } + private Logevents recordToPojo(final LogeventsRecord logRecord) { return new Logevents(logRecord.getId(), logRecord.getTime(), logRecord.getThread(), logRecord.getLevel(), logRecord.getLoggername(), logRecord.getMessage(), diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/LogsView.java b/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/LogsView.java index f9931bcd8a..0a54c29440 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/LogsView.java +++ b/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/LogsView.java @@ -1,9 +1,13 @@ package org.togetherjava.logwatcher.views.logs; +import com.vaadin.flow.component.AbstractField; import com.vaadin.flow.component.HasValue; +import com.vaadin.flow.component.checkbox.Checkbox; import com.vaadin.flow.component.combobox.ComboBox; +import com.vaadin.flow.component.html.Paragraph; import com.vaadin.flow.component.orderedlayout.HorizontalLayout; -import com.vaadin.flow.component.textfield.TextArea; +import com.vaadin.flow.component.orderedlayout.Scroller; +import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.data.provider.DataProvider; import com.vaadin.flow.data.renderer.TextRenderer; import com.vaadin.flow.router.PageTitle; @@ -19,9 +23,9 @@ import javax.annotation.security.PermitAll; import java.io.UncheckedIOException; import java.nio.file.Path; -import java.util.Collections; -import java.util.List; -import java.util.Objects; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * The Logs View in the Browser @@ -32,24 +36,53 @@ @RouteAlias(value = "", layout = MainLayout.class) @AllowedRoles(roles = {Role.USER}) @PermitAll -public class LogsView extends HorizontalLayout { +public class LogsView extends VerticalLayout { /** * Field where the events are displayed */ - private final TextArea text = new TextArea(); + private final VerticalLayout events = new VerticalLayout(); + + private static final Pattern LOGLEVEL_MATCHER = + Pattern.compile("(ERROR|WARN|INFO|DEBUG|TRACE)"); private final transient LogReader watcher; public LogsView(LogReader watcher) { this.watcher = watcher; - addClassName("hello-world-view"); + this.events.setWidthFull(); + + addClassName("logs-view"); + + HorizontalLayout options = new HorizontalLayout(); + options.setAlignItems(Alignment.START); + + final Set levels = Set.of("ERROR", "WARN", "INFO", "DEBUG", "TRACE"); + for (final String level : levels) { + final Checkbox ch = new Checkbox(level); + ch.setValue(true); + ch.addValueChangeListener(this::onValueChange); + options.add(ch); + } - final ComboBox logs = createComboBox(); + ComboBox logs = createComboBox(); logs.getOptionalValue().ifPresent(this::fillTextField); - this.text.setWidthFull(); - add(logs, this.text); + add(logs, options, new Scroller(this.events, Scroller.ScrollDirection.VERTICAL)); + } + + private void onValueChange(AbstractField.ComponentValueChangeEvent event) { + if (!event.isFromClient()) { + return; + } + + final String level = event.getSource().getLabel().toLowerCase(Locale.ENGLISH); + + this.events.getChildren() + .filter(Paragraph.class::isInstance) + .map(Paragraph.class::cast) + .filter(c -> c.getClassName().equals(level)) + .forEach(c -> c.setVisible(event.getValue())); } /** @@ -89,7 +122,23 @@ private void onValueChange(HasValue.ValueChangeEvent event) { * @param logFileName Name of the Logfile */ private void fillTextField(final Path logFileName) { - this.text.setValue(String.join("\n", getLogEntries(logFileName))); + this.events.removeAll(); + + final List logEntries = getLogEntries(logFileName); + + String previousGroup = "unknown"; + for (final String event : logEntries) { + final String trimmed = event.trim(); + final Paragraph text = new Paragraph(trimmed); + + final Matcher matcher = LOGLEVEL_MATCHER.matcher(trimmed); + if (matcher.find()) { + previousGroup = matcher.group().toLowerCase(Locale.ENGLISH); + } + + text.addClassName(previousGroup); + this.events.add(text); + } } /** diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/StreamedView.java b/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/StreamedView.java index cbba4409e2..711b8a1508 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/StreamedView.java +++ b/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/StreamedView.java @@ -4,8 +4,10 @@ import com.vaadin.flow.component.*; import com.vaadin.flow.component.button.Button; import com.vaadin.flow.component.checkbox.Checkbox; +import com.vaadin.flow.component.dependency.CssImport; import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.orderedlayout.HorizontalLayout; +import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.data.renderer.LocalDateTimeRenderer; import com.vaadin.flow.router.PageTitle; import com.vaadin.flow.router.Route; @@ -33,36 +35,72 @@ @Route(value = "streamed", layout = MainLayout.class) @AllowedRoles(roles = {Role.USER}) @PermitAll -public class StreamedView extends HorizontalLayout { +@CssImport(themeFor = "vaadin-grid", value = "./themes/logviewer/views/logs-view.css") +public class StreamedView extends VerticalLayout { private final GridCrud grid = new GridCrud<>(Logevents.class); private final UUID uuid = UUID.randomUUID(); + private final Set enabledLogLevel = + new HashSet<>(Set.of("ERROR", "WARN", "INFO", "DEBUG", "TRACE")); + public StreamedView(LogRepository logs) { - addClassName("hello-world-view"); + addClassName("logs-view"); + + final HorizontalLayout buttonpanel = + new HorizontalLayout(new Button("Change Columns", this::onChangeColumns)); + + for (final String level : this.enabledLogLevel) { + final Checkbox ch = new Checkbox(level); + ch.setValue(true); + ch.addValueChangeListener(this::onValueChange); + buttonpanel.add(ch); + } - add(new Button("Change Columns", this::onChangeColumns), this.grid); + add(buttonpanel, this.grid); - this.grid.setOperations(logs::findAll, null, null, null); + this.grid.setOperations(() -> logs.findWithLevelMatching(this.enabledLogLevel), null, null, + null); this.grid.setAddOperationVisible(false); this.grid.setDeleteOperationVisible(false); this.grid.setUpdateOperationVisible(false); - this.grid.getGrid() - .setColumns(LogEventsConstants.FIELD_INSTANT, LogEventsConstants.FIELD_LOGGER_NAME, - LogEventsConstants.FIELD_MESSAGE); + final Grid baseGrid = this.grid.getGrid(); + baseGrid.setColumns(LogEventsConstants.FIELD_INSTANT, LogEventsConstants.FIELD_LOGGER_NAME, + LogEventsConstants.FIELD_MESSAGE); setInstantFormatter(); - this.grid.getGrid().getColumns().forEach(c -> c.setAutoWidth(true)); - this.grid.getGrid().getColumns().forEach(c -> c.setResizable(true)); - this.grid.getGrid().recalculateColumnWidths(); - this.grid.getGrid().setColumnReorderingAllowed(true); + baseGrid.getColumns().forEach(c -> c.setAutoWidth(true)); + baseGrid.getColumns().forEach(c -> c.setResizable(true)); + baseGrid.setClassNameGenerator(StreamedView::setBackgroundColor); + baseGrid.recalculateColumnWidths(); + baseGrid.setColumnReorderingAllowed(true); VaadinService.getCurrent().addSessionDestroyListener(this::onDestroy); final UI ui = UI.getCurrent(); StreamWatcher.addSubscription(this.uuid, () -> ui.access(this.grid::refreshGrid)); } + private void onValueChange(AbstractField.ComponentValueChangeEvent event) { + if (!event.isFromClient()) { + return; + } + + final String logLevel = event.getSource().getLabel(); + + + final boolean isChecked = event.getValue();//don't inline this, else SonarLint is crying + if (isChecked) { + this.enabledLogLevel.add(logLevel); + } else { + this.enabledLogLevel.remove(logLevel); + } + this.grid.refreshGrid(); + } + + private static String setBackgroundColor(final Logevents ev) { + return ev.getLevel().toLowerCase(Locale.ENGLISH); + } private void onDestroy(SessionDestroyEvent event) { removeHook(); diff --git a/logviewer/src/main/resources/log4j2.xml b/logviewer/src/main/resources/log4j2.xml index 4659cb8b17..1fad34eb33 100644 --- a/logviewer/src/main/resources/log4j2.xml +++ b/logviewer/src/main/resources/log4j2.xml @@ -19,5 +19,6 @@ + From 6bfea43d166be706311ce0d3b362691d325eca4e Mon Sep 17 00:00:00 2001 From: krankkk <59603675+krankkkk@users.noreply.github.com> Date: Sat, 16 Oct 2021 01:04:07 +0200 Subject: [PATCH 2/9] Spotless wants this single space --- .../org/togetherjava/logwatcher/views/logs/StreamedView.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/StreamedView.java b/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/StreamedView.java index 711b8a1508..e88c9f0302 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/StreamedView.java +++ b/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/StreamedView.java @@ -89,7 +89,7 @@ private void onValueChange(AbstractField.ComponentValueChangeEvent Date: Sat, 16 Oct 2021 00:31:14 +0200 Subject: [PATCH 3/9] Change org.togetherjava.formatter to org.togetherjava.tjbot.formatter and org.togetherjava.logwatcher to org.togetherjava.tjbot.logwatcher to keep consistency --- .../formatter/CodeSectionFormatter.java | 13 +++++++------ .../{ => tjbot}/formatter/Formatter.java | 8 ++++---- .../{ => tjbot}/formatter/tokenizer/Lexer.java | 2 +- .../{ => tjbot}/formatter/tokenizer/Token.java | 2 +- .../{ => tjbot}/formatter/tokenizer/TokenType.java | 2 +- .../formatter/tokenizer/TokenizationException.java | 2 +- .../formatter/util/LookaheadArrayDeque.java | 2 +- .../{ => tjbot}/formatter/util/LookaheadQueue.java | 2 +- .../util/SkippableLookaheadArrayDeque.java | 2 +- .../formatter/util/SkippableLookaheadQueue.java | 2 +- .../{ => tjbot}/formatter/FormatterTest.java | 4 ++-- .../{ => tjbot}/formatter/tokenizer/LexerTest.java | 2 +- .../{ => tjbot}/logwatcher/Application.java | 12 +++++++----- .../{ => tjbot}/logwatcher/DatabaseProvider.java | 4 ++-- .../logwatcher/accesscontrol/AllowedRoles.java | 2 +- .../{ => tjbot}/logwatcher/accesscontrol/Role.java | 2 +- .../{ => tjbot}/logwatcher/config/Config.java | 2 +- .../logwatcher/constants/LogEventsConstants.java | 2 +- .../logwatcher/constants/UserConstants.java | 2 +- .../logwatcher/entities/InstantWrapper.java | 2 +- .../{ => tjbot}/logwatcher/entities/LogEvent.java | 2 +- .../logwatcher/entities/UserWrapper.java | 4 ++-- .../{ => tjbot}/logwatcher/logs/LogREST.java | 6 +++--- .../{ => tjbot}/logwatcher/logs/LogRepository.java | 2 +- .../logwatcher/logs/LogRepositoryImpl.java | 2 +- .../logwatcher/oauth/OAuth2LoginConfig.java | 4 ++-- .../logwatcher/users/AuthenticatedUser.java | 4 ++-- .../logwatcher/users/UserDetailsServiceImpl.java | 6 +++--- .../logwatcher/users/UserRepository.java | 4 ++-- .../logwatcher/users/UserRepositoryImpl.java | 4 ++-- .../{ => tjbot}/logwatcher/util/LogReader.java | 4 ++-- .../logwatcher/util/NotificationUtils.java | 2 +- .../{ => tjbot}/logwatcher/views/MainLayout.java | 14 +++++++------- .../logwatcher/views/logs/LogsView.java | 12 ++++++------ .../logwatcher/views/logs/StreamedView.java | 14 +++++++------- .../views/usermanagement/UserManagement.java | 14 +++++++------- .../logwatcher/watcher/StreamWatcher.java | 2 +- 37 files changed, 87 insertions(+), 84 deletions(-) rename formatter/src/main/java/org/togetherjava/{ => tjbot}/formatter/CodeSectionFormatter.java (96%) rename formatter/src/main/java/org/togetherjava/{ => tjbot}/formatter/Formatter.java (95%) rename formatter/src/main/java/org/togetherjava/{ => tjbot}/formatter/tokenizer/Lexer.java (98%) rename formatter/src/main/java/org/togetherjava/{ => tjbot}/formatter/tokenizer/Token.java (93%) rename formatter/src/main/java/org/togetherjava/{ => tjbot}/formatter/tokenizer/TokenType.java (98%) rename formatter/src/main/java/org/togetherjava/{ => tjbot}/formatter/tokenizer/TokenizationException.java (80%) rename formatter/src/main/java/org/togetherjava/{ => tjbot}/formatter/util/LookaheadArrayDeque.java (94%) rename formatter/src/main/java/org/togetherjava/{ => tjbot}/formatter/util/LookaheadQueue.java (82%) rename formatter/src/main/java/org/togetherjava/{ => tjbot}/formatter/util/SkippableLookaheadArrayDeque.java (95%) rename formatter/src/main/java/org/togetherjava/{ => tjbot}/formatter/util/SkippableLookaheadQueue.java (76%) rename formatter/src/test/java/org/togetherjava/{ => tjbot}/formatter/FormatterTest.java (98%) rename formatter/src/test/java/org/togetherjava/{ => tjbot}/formatter/tokenizer/LexerTest.java (97%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/Application.java (80%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/DatabaseProvider.java (94%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/accesscontrol/AllowedRoles.java (87%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/accesscontrol/Role.java (94%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/config/Config.java (98%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/constants/LogEventsConstants.java (93%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/constants/UserConstants.java (82%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/entities/InstantWrapper.java (97%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/entities/LogEvent.java (98%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/entities/UserWrapper.java (93%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/logs/LogREST.java (87%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/logs/LogRepository.java (93%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/logs/LogRepositoryImpl.java (98%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/oauth/OAuth2LoginConfig.java (97%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/users/AuthenticatedUser.java (97%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/users/UserDetailsServiceImpl.java (93%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/users/UserRepository.java (93%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/users/UserRepositoryImpl.java (96%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/util/LogReader.java (92%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/util/NotificationUtils.java (95%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/views/MainLayout.java (92%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/views/logs/LogsView.java (93%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/views/logs/StreamedView.java (94%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/views/usermanagement/UserManagement.java (94%) rename logviewer/src/main/java/org/togetherjava/{ => tjbot}/logwatcher/watcher/StreamWatcher.java (96%) diff --git a/formatter/src/main/java/org/togetherjava/formatter/CodeSectionFormatter.java b/formatter/src/main/java/org/togetherjava/tjbot/formatter/CodeSectionFormatter.java similarity index 96% rename from formatter/src/main/java/org/togetherjava/formatter/CodeSectionFormatter.java rename to formatter/src/main/java/org/togetherjava/tjbot/formatter/CodeSectionFormatter.java index 635aca8161..801bcf4f00 100644 --- a/formatter/src/main/java/org/togetherjava/formatter/CodeSectionFormatter.java +++ b/formatter/src/main/java/org/togetherjava/tjbot/formatter/CodeSectionFormatter.java @@ -1,9 +1,10 @@ -package org.togetherjava.formatter; +package org.togetherjava.tjbot.formatter; -import org.togetherjava.formatter.tokenizer.Token; -import org.togetherjava.formatter.tokenizer.TokenType; -import org.togetherjava.formatter.util.SkippableLookaheadArrayDeque; -import org.togetherjava.formatter.util.SkippableLookaheadQueue; +import org.togetherjava.tjbot.formatter.tokenizer.Token; +import org.togetherjava.tjbot.formatter.tokenizer.TokenType; +import org.togetherjava.tjbot.formatter.util.LookaheadQueue; +import org.togetherjava.tjbot.formatter.util.SkippableLookaheadArrayDeque; +import org.togetherjava.tjbot.formatter.util.SkippableLookaheadQueue; import java.util.*; import java.util.function.Predicate; @@ -183,7 +184,7 @@ private void handleGeneric(Token token) { /** * Checks if a given token type belongs to a generic type declaration (uses - * {@link org.togetherjava.formatter.util.LookaheadQueue#peek(int)} + * {@link LookaheadQueue#peek(int)} * * @param type current token type * @return whether the token type belongs to a generic type declaration diff --git a/formatter/src/main/java/org/togetherjava/formatter/Formatter.java b/formatter/src/main/java/org/togetherjava/tjbot/formatter/Formatter.java similarity index 95% rename from formatter/src/main/java/org/togetherjava/formatter/Formatter.java rename to formatter/src/main/java/org/togetherjava/tjbot/formatter/Formatter.java index 4085b88dc8..624aec1b7f 100644 --- a/formatter/src/main/java/org/togetherjava/formatter/Formatter.java +++ b/formatter/src/main/java/org/togetherjava/tjbot/formatter/Formatter.java @@ -1,8 +1,8 @@ -package org.togetherjava.formatter; +package org.togetherjava.tjbot.formatter; -import org.togetherjava.formatter.tokenizer.Lexer; -import org.togetherjava.formatter.tokenizer.Token; -import org.togetherjava.formatter.tokenizer.TokenType; +import org.togetherjava.tjbot.formatter.tokenizer.Lexer; +import org.togetherjava.tjbot.formatter.tokenizer.Token; +import org.togetherjava.tjbot.formatter.tokenizer.TokenType; import java.util.ArrayList; import java.util.List; diff --git a/formatter/src/main/java/org/togetherjava/formatter/tokenizer/Lexer.java b/formatter/src/main/java/org/togetherjava/tjbot/formatter/tokenizer/Lexer.java similarity index 98% rename from formatter/src/main/java/org/togetherjava/formatter/tokenizer/Lexer.java rename to formatter/src/main/java/org/togetherjava/tjbot/formatter/tokenizer/Lexer.java index b066924481..cbea6a7f38 100644 --- a/formatter/src/main/java/org/togetherjava/formatter/tokenizer/Lexer.java +++ b/formatter/src/main/java/org/togetherjava/tjbot/formatter/tokenizer/Lexer.java @@ -1,4 +1,4 @@ -package org.togetherjava.formatter.tokenizer; +package org.togetherjava.tjbot.formatter.tokenizer; import java.util.ArrayList; import java.util.Arrays; diff --git a/formatter/src/main/java/org/togetherjava/formatter/tokenizer/Token.java b/formatter/src/main/java/org/togetherjava/tjbot/formatter/tokenizer/Token.java similarity index 93% rename from formatter/src/main/java/org/togetherjava/formatter/tokenizer/Token.java rename to formatter/src/main/java/org/togetherjava/tjbot/formatter/tokenizer/Token.java index e924af3985..9d4d751256 100644 --- a/formatter/src/main/java/org/togetherjava/formatter/tokenizer/Token.java +++ b/formatter/src/main/java/org/togetherjava/tjbot/formatter/tokenizer/Token.java @@ -1,4 +1,4 @@ -package org.togetherjava.formatter.tokenizer; +package org.togetherjava.tjbot.formatter.tokenizer; import java.util.Set; diff --git a/formatter/src/main/java/org/togetherjava/formatter/tokenizer/TokenType.java b/formatter/src/main/java/org/togetherjava/tjbot/formatter/tokenizer/TokenType.java similarity index 98% rename from formatter/src/main/java/org/togetherjava/formatter/tokenizer/TokenType.java rename to formatter/src/main/java/org/togetherjava/tjbot/formatter/tokenizer/TokenType.java index d24e2b9d72..3a125fea74 100644 --- a/formatter/src/main/java/org/togetherjava/formatter/tokenizer/TokenType.java +++ b/formatter/src/main/java/org/togetherjava/tjbot/formatter/tokenizer/TokenType.java @@ -1,4 +1,4 @@ -package org.togetherjava.formatter.tokenizer; +package org.togetherjava.tjbot.formatter.tokenizer; import java.util.regex.Pattern; diff --git a/formatter/src/main/java/org/togetherjava/formatter/tokenizer/TokenizationException.java b/formatter/src/main/java/org/togetherjava/tjbot/formatter/tokenizer/TokenizationException.java similarity index 80% rename from formatter/src/main/java/org/togetherjava/formatter/tokenizer/TokenizationException.java rename to formatter/src/main/java/org/togetherjava/tjbot/formatter/tokenizer/TokenizationException.java index 25a822ba97..1ae6c3790b 100644 --- a/formatter/src/main/java/org/togetherjava/formatter/tokenizer/TokenizationException.java +++ b/formatter/src/main/java/org/togetherjava/tjbot/formatter/tokenizer/TokenizationException.java @@ -1,4 +1,4 @@ -package org.togetherjava.formatter.tokenizer; +package org.togetherjava.tjbot.formatter.tokenizer; /** * Exception that can occur when lexing diff --git a/formatter/src/main/java/org/togetherjava/formatter/util/LookaheadArrayDeque.java b/formatter/src/main/java/org/togetherjava/tjbot/formatter/util/LookaheadArrayDeque.java similarity index 94% rename from formatter/src/main/java/org/togetherjava/formatter/util/LookaheadArrayDeque.java rename to formatter/src/main/java/org/togetherjava/tjbot/formatter/util/LookaheadArrayDeque.java index 63afe2aa90..9ed1cfdf6d 100644 --- a/formatter/src/main/java/org/togetherjava/formatter/util/LookaheadArrayDeque.java +++ b/formatter/src/main/java/org/togetherjava/tjbot/formatter/util/LookaheadArrayDeque.java @@ -1,4 +1,4 @@ -package org.togetherjava.formatter.util; +package org.togetherjava.tjbot.formatter.util; import java.util.ArrayDeque; import java.util.ArrayList; diff --git a/formatter/src/main/java/org/togetherjava/formatter/util/LookaheadQueue.java b/formatter/src/main/java/org/togetherjava/tjbot/formatter/util/LookaheadQueue.java similarity index 82% rename from formatter/src/main/java/org/togetherjava/formatter/util/LookaheadQueue.java rename to formatter/src/main/java/org/togetherjava/tjbot/formatter/util/LookaheadQueue.java index 4ff34ced98..d72a4df9d7 100644 --- a/formatter/src/main/java/org/togetherjava/formatter/util/LookaheadQueue.java +++ b/formatter/src/main/java/org/togetherjava/tjbot/formatter/util/LookaheadQueue.java @@ -1,4 +1,4 @@ -package org.togetherjava.formatter.util; +package org.togetherjava.tjbot.formatter.util; import java.util.Queue; diff --git a/formatter/src/main/java/org/togetherjava/formatter/util/SkippableLookaheadArrayDeque.java b/formatter/src/main/java/org/togetherjava/tjbot/formatter/util/SkippableLookaheadArrayDeque.java similarity index 95% rename from formatter/src/main/java/org/togetherjava/formatter/util/SkippableLookaheadArrayDeque.java rename to formatter/src/main/java/org/togetherjava/tjbot/formatter/util/SkippableLookaheadArrayDeque.java index d4fdd931b9..662cdd3033 100644 --- a/formatter/src/main/java/org/togetherjava/formatter/util/SkippableLookaheadArrayDeque.java +++ b/formatter/src/main/java/org/togetherjava/tjbot/formatter/util/SkippableLookaheadArrayDeque.java @@ -1,4 +1,4 @@ -package org.togetherjava.formatter.util; +package org.togetherjava.tjbot.formatter.util; import java.util.ArrayList; import java.util.Collection; diff --git a/formatter/src/main/java/org/togetherjava/formatter/util/SkippableLookaheadQueue.java b/formatter/src/main/java/org/togetherjava/tjbot/formatter/util/SkippableLookaheadQueue.java similarity index 76% rename from formatter/src/main/java/org/togetherjava/formatter/util/SkippableLookaheadQueue.java rename to formatter/src/main/java/org/togetherjava/tjbot/formatter/util/SkippableLookaheadQueue.java index ba4ed37361..b7991ac2d4 100644 --- a/formatter/src/main/java/org/togetherjava/formatter/util/SkippableLookaheadQueue.java +++ b/formatter/src/main/java/org/togetherjava/tjbot/formatter/util/SkippableLookaheadQueue.java @@ -1,4 +1,4 @@ -package org.togetherjava.formatter.util; +package org.togetherjava.tjbot.formatter.util; import java.util.function.Predicate; diff --git a/formatter/src/test/java/org/togetherjava/formatter/FormatterTest.java b/formatter/src/test/java/org/togetherjava/tjbot/formatter/FormatterTest.java similarity index 98% rename from formatter/src/test/java/org/togetherjava/formatter/FormatterTest.java rename to formatter/src/test/java/org/togetherjava/tjbot/formatter/FormatterTest.java index 34be44394a..3366c06edb 100644 --- a/formatter/src/test/java/org/togetherjava/formatter/FormatterTest.java +++ b/formatter/src/test/java/org/togetherjava/tjbot/formatter/FormatterTest.java @@ -1,4 +1,4 @@ -package org.togetherjava.formatter; +package org.togetherjava.tjbot.formatter; import static org.junit.jupiter.api.Assertions.*; @@ -6,7 +6,7 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; -import org.togetherjava.formatter.tokenizer.Lexer; +import org.togetherjava.tjbot.formatter.tokenizer.Lexer; /** * @author illuminator3 diff --git a/formatter/src/test/java/org/togetherjava/formatter/tokenizer/LexerTest.java b/formatter/src/test/java/org/togetherjava/tjbot/formatter/tokenizer/LexerTest.java similarity index 97% rename from formatter/src/test/java/org/togetherjava/formatter/tokenizer/LexerTest.java rename to formatter/src/test/java/org/togetherjava/tjbot/formatter/tokenizer/LexerTest.java index d525caef24..48c3f89796 100644 --- a/formatter/src/test/java/org/togetherjava/formatter/tokenizer/LexerTest.java +++ b/formatter/src/test/java/org/togetherjava/tjbot/formatter/tokenizer/LexerTest.java @@ -1,4 +1,4 @@ -package org.togetherjava.formatter.tokenizer; +package org.togetherjava.tjbot.formatter.tokenizer; import static org.junit.jupiter.api.Assertions.*; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/Application.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/Application.java similarity index 80% rename from logviewer/src/main/java/org/togetherjava/logwatcher/Application.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/Application.java index bee99739e8..13ecfc5302 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/Application.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/Application.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher; +package org.togetherjava.tjbot.logwatcher; import com.vaadin.flow.component.dependency.NpmPackage; import com.vaadin.flow.component.page.AppShellConfigurator; @@ -10,7 +10,9 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; -import org.togetherjava.logwatcher.config.Config; +import org.togetherjava.tjbot.logwatcher.config.Config; +import org.togetherjava.tjbot.logwatcher.logs.LogREST; +import org.togetherjava.tjbot.logwatcher.oauth.OAuth2LoginConfig; import org.vaadin.artur.helpers.LaunchUtil; /** @@ -19,11 +21,11 @@ *

* You can see the Views you can see in your Browser at {@link org.togetherjava.logwatcher.views} *

- * Log-Event's are captured by the REST-API at {@link org.togetherjava.logwatcher.logs.LogREST} + * Log-Event's are captured by the REST-API at {@link LogREST} *

- * Security/OAuth2 Config at {@link org.togetherjava.logwatcher.oauth.OAuth2LoginConfig} + * Security/OAuth2 Config at {@link OAuth2LoginConfig} *

- * And the initial Config at {@link org.togetherjava.logwatcher.config.Config} + * And the initial Config at {@link Config} */ @SpringBootApplication(exclude = {R2dbcAutoConfiguration.class}) @Theme(value = "logviewer") diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/DatabaseProvider.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/DatabaseProvider.java similarity index 94% rename from logviewer/src/main/java/org/togetherjava/logwatcher/DatabaseProvider.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/DatabaseProvider.java index 3be226037e..87d7469ace 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/DatabaseProvider.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/DatabaseProvider.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher; +package org.togetherjava.tjbot.logwatcher; import org.slf4j.LoggerFactory; import org.springframework.beans.FatalBeanException; @@ -6,7 +6,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; -import org.togetherjava.logwatcher.config.Config; +import org.togetherjava.tjbot.logwatcher.config.Config; import org.togetherjava.tjbot.db.Database; import java.io.IOException; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/accesscontrol/AllowedRoles.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/accesscontrol/AllowedRoles.java similarity index 87% rename from logviewer/src/main/java/org/togetherjava/logwatcher/accesscontrol/AllowedRoles.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/accesscontrol/AllowedRoles.java index ab1ec4eccc..4b3ce22ece 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/accesscontrol/AllowedRoles.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/accesscontrol/AllowedRoles.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.accesscontrol; +package org.togetherjava.tjbot.logwatcher.accesscontrol; import java.lang.annotation.Retention; import java.lang.annotation.Target; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/accesscontrol/Role.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/accesscontrol/Role.java similarity index 94% rename from logviewer/src/main/java/org/togetherjava/logwatcher/accesscontrol/Role.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/accesscontrol/Role.java index 29ab843411..364474fbf3 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/accesscontrol/Role.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/accesscontrol/Role.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.accesscontrol; +package org.togetherjava.tjbot.logwatcher.accesscontrol; import java.util.Arrays; import java.util.EnumSet; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/config/Config.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/config/Config.java similarity index 98% rename from logviewer/src/main/java/org/togetherjava/logwatcher/config/Config.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/config/Config.java index 2a4c33b1b0..f19cad897e 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/config/Config.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/config/Config.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.config; +package org.togetherjava.tjbot.logwatcher.config; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/constants/LogEventsConstants.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/constants/LogEventsConstants.java similarity index 93% rename from logviewer/src/main/java/org/togetherjava/logwatcher/constants/LogEventsConstants.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/constants/LogEventsConstants.java index b6e5becb9b..45e46e4730 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/constants/LogEventsConstants.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/constants/LogEventsConstants.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.constants; +package org.togetherjava.tjbot.logwatcher.constants; /** * Constant Class for Logevents diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/constants/UserConstants.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/constants/UserConstants.java similarity index 82% rename from logviewer/src/main/java/org/togetherjava/logwatcher/constants/UserConstants.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/constants/UserConstants.java index 859a15ae9a..0532c11229 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/constants/UserConstants.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/constants/UserConstants.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.constants; +package org.togetherjava.tjbot.logwatcher.constants; /** * Gathers all static Values regarding Users diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/entities/InstantWrapper.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/entities/InstantWrapper.java similarity index 97% rename from logviewer/src/main/java/org/togetherjava/logwatcher/entities/InstantWrapper.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/entities/InstantWrapper.java index 824774e73f..b32b114089 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/entities/InstantWrapper.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/entities/InstantWrapper.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.entities; +package org.togetherjava.tjbot.logwatcher.entities; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/entities/LogEvent.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/entities/LogEvent.java similarity index 98% rename from logviewer/src/main/java/org/togetherjava/logwatcher/entities/LogEvent.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/entities/LogEvent.java index 49c7ebb3e0..fcf80c671d 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/entities/LogEvent.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/entities/LogEvent.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.entities; +package org.togetherjava.tjbot.logwatcher.entities; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/entities/UserWrapper.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/entities/UserWrapper.java similarity index 93% rename from logviewer/src/main/java/org/togetherjava/logwatcher/entities/UserWrapper.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/entities/UserWrapper.java index e5b6731ba4..8bd55eefda 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/entities/UserWrapper.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/entities/UserWrapper.java @@ -1,6 +1,6 @@ -package org.togetherjava.logwatcher.entities; +package org.togetherjava.tjbot.logwatcher.entities; -import org.togetherjava.logwatcher.accesscontrol.Role; +import org.togetherjava.tjbot.logwatcher.accesscontrol.Role; import java.io.Serial; import java.io.Serializable; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogREST.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/logs/LogREST.java similarity index 87% rename from logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogREST.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/logs/LogREST.java index e98f1a34b3..6c490c1970 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogREST.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/logs/LogREST.java @@ -1,11 +1,11 @@ -package org.togetherjava.logwatcher.logs; +package org.togetherjava.tjbot.logwatcher.logs; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; -import org.togetherjava.logwatcher.entities.LogEvent; -import org.togetherjava.logwatcher.watcher.StreamWatcher; +import org.togetherjava.tjbot.logwatcher.entities.LogEvent; +import org.togetherjava.tjbot.logwatcher.watcher.StreamWatcher; import org.togetherjava.tjbot.db.generated.tables.pojos.Logevents; import java.time.LocalDateTime; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogRepository.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/logs/LogRepository.java similarity index 93% rename from logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogRepository.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/logs/LogRepository.java index 8af2b71d2c..d023a98480 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogRepository.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/logs/LogRepository.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.logs; +package org.togetherjava.tjbot.logwatcher.logs; import org.togetherjava.tjbot.db.generated.tables.pojos.Logevents; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogRepositoryImpl.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/logs/LogRepositoryImpl.java similarity index 98% rename from logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogRepositoryImpl.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/logs/LogRepositoryImpl.java index d100a328ff..b04a8c0d61 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/logs/LogRepositoryImpl.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/logs/LogRepositoryImpl.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.logs; +package org.togetherjava.tjbot.logwatcher.logs; import org.springframework.stereotype.Repository; import org.togetherjava.tjbot.db.Database; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/oauth/OAuth2LoginConfig.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/oauth/OAuth2LoginConfig.java similarity index 97% rename from logviewer/src/main/java/org/togetherjava/logwatcher/oauth/OAuth2LoginConfig.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/oauth/OAuth2LoginConfig.java index 9d9d5a5f33..eb9bfc92a7 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/oauth/OAuth2LoginConfig.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/oauth/OAuth2LoginConfig.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.oauth; +package org.togetherjava.tjbot.logwatcher.oauth; import com.vaadin.flow.spring.security.VaadinWebSecurityConfigurerAdapter; import org.springframework.context.annotation.Bean; @@ -16,7 +16,7 @@ import org.springframework.security.oauth2.core.AuthorizationGrantType; import org.springframework.security.oauth2.core.ClientAuthenticationMethod; import org.springframework.security.web.util.matcher.AntPathRequestMatcher; -import org.togetherjava.logwatcher.config.Config; +import org.togetherjava.tjbot.logwatcher.config.Config; /** * Configures Spring Security so that we use Discord-OAuth2 as the identity provider diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/users/AuthenticatedUser.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/users/AuthenticatedUser.java similarity index 97% rename from logviewer/src/main/java/org/togetherjava/logwatcher/users/AuthenticatedUser.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/users/AuthenticatedUser.java index 472f560b9f..eaf128785d 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/users/AuthenticatedUser.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/users/AuthenticatedUser.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.users; +package org.togetherjava.tjbot.logwatcher.users; import com.vaadin.flow.component.UI; import com.vaadin.flow.server.VaadinServletRequest; @@ -7,7 +7,7 @@ import org.springframework.security.oauth2.core.user.OAuth2User; import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler; import org.springframework.stereotype.Component; -import org.togetherjava.logwatcher.accesscontrol.Role; +import org.togetherjava.tjbot.logwatcher.accesscontrol.Role; import org.togetherjava.tjbot.db.generated.tables.pojos.Users; import java.util.Objects; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/users/UserDetailsServiceImpl.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/users/UserDetailsServiceImpl.java similarity index 93% rename from logviewer/src/main/java/org/togetherjava/logwatcher/users/UserDetailsServiceImpl.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/users/UserDetailsServiceImpl.java index 2aac79f95c..ad8a7e6b8d 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/users/UserDetailsServiceImpl.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/users/UserDetailsServiceImpl.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.users; +package org.togetherjava.tjbot.logwatcher.users; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; @@ -6,8 +6,8 @@ import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; -import org.togetherjava.logwatcher.accesscontrol.Role; -import org.togetherjava.logwatcher.config.Config; +import org.togetherjava.tjbot.logwatcher.accesscontrol.Role; +import org.togetherjava.tjbot.logwatcher.config.Config; import org.togetherjava.tjbot.db.generated.tables.pojos.Users; import java.util.List; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/users/UserRepository.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/users/UserRepository.java similarity index 93% rename from logviewer/src/main/java/org/togetherjava/logwatcher/users/UserRepository.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/users/UserRepository.java index 7135b4c2c5..de78e71d8a 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/users/UserRepository.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/users/UserRepository.java @@ -1,6 +1,6 @@ -package org.togetherjava.logwatcher.users; +package org.togetherjava.tjbot.logwatcher.users; -import org.togetherjava.logwatcher.accesscontrol.Role; +import org.togetherjava.tjbot.logwatcher.accesscontrol.Role; import org.togetherjava.tjbot.db.generated.tables.pojos.Users; import java.util.List; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/users/UserRepositoryImpl.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/users/UserRepositoryImpl.java similarity index 96% rename from logviewer/src/main/java/org/togetherjava/logwatcher/users/UserRepositoryImpl.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/users/UserRepositoryImpl.java index 44b18e4d51..028357f90d 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/users/UserRepositoryImpl.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/users/UserRepositoryImpl.java @@ -1,7 +1,7 @@ -package org.togetherjava.logwatcher.users; +package org.togetherjava.tjbot.logwatcher.users; import org.springframework.stereotype.Component; -import org.togetherjava.logwatcher.accesscontrol.Role; +import org.togetherjava.tjbot.logwatcher.accesscontrol.Role; import org.togetherjava.tjbot.db.Database; import org.togetherjava.tjbot.db.generated.tables.Userroles; import org.togetherjava.tjbot.db.generated.tables.pojos.Users; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/util/LogReader.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/util/LogReader.java similarity index 92% rename from logviewer/src/main/java/org/togetherjava/logwatcher/util/LogReader.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/util/LogReader.java index bbc4b2b329..9aadc236af 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/util/LogReader.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/util/LogReader.java @@ -1,7 +1,7 @@ -package org.togetherjava.logwatcher.util; +package org.togetherjava.tjbot.logwatcher.util; import org.springframework.stereotype.Component; -import org.togetherjava.logwatcher.config.Config; +import org.togetherjava.tjbot.logwatcher.config.Config; import java.io.IOException; import java.io.UncheckedIOException; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/util/NotificationUtils.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/util/NotificationUtils.java similarity index 95% rename from logviewer/src/main/java/org/togetherjava/logwatcher/util/NotificationUtils.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/util/NotificationUtils.java index aa03e57607..e2968b1165 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/util/NotificationUtils.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/util/NotificationUtils.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.util; +package org.togetherjava.tjbot.logwatcher.util; import com.vaadin.flow.component.notification.Notification; import com.vaadin.flow.component.notification.NotificationVariant; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/views/MainLayout.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/MainLayout.java similarity index 92% rename from logviewer/src/main/java/org/togetherjava/logwatcher/views/MainLayout.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/MainLayout.java index 03f1e4d1b3..496ee5aad0 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/views/MainLayout.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/MainLayout.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.views; +package org.togetherjava.tjbot.logwatcher.views; import com.google.common.collect.Sets; import com.vaadin.flow.component.Component; @@ -11,12 +11,12 @@ import com.vaadin.flow.router.PageTitle; import com.vaadin.flow.router.RouterLink; import org.slf4j.LoggerFactory; -import org.togetherjava.logwatcher.accesscontrol.AllowedRoles; -import org.togetherjava.logwatcher.accesscontrol.Role; -import org.togetherjava.logwatcher.users.AuthenticatedUser; -import org.togetherjava.logwatcher.views.logs.LogsView; -import org.togetherjava.logwatcher.views.logs.StreamedView; -import org.togetherjava.logwatcher.views.usermanagement.UserManagement; +import org.togetherjava.tjbot.logwatcher.accesscontrol.AllowedRoles; +import org.togetherjava.tjbot.logwatcher.accesscontrol.Role; +import org.togetherjava.tjbot.logwatcher.users.AuthenticatedUser; +import org.togetherjava.tjbot.logwatcher.views.logs.LogsView; +import org.togetherjava.tjbot.logwatcher.views.logs.StreamedView; +import org.togetherjava.tjbot.logwatcher.views.usermanagement.UserManagement; import org.togetherjava.tjbot.db.generated.tables.pojos.Users; import java.util.List; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/LogsView.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java similarity index 93% rename from logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/LogsView.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java index 0a54c29440..3516e79cc0 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/LogsView.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.views.logs; +package org.togetherjava.tjbot.logwatcher.views.logs; import com.vaadin.flow.component.AbstractField; import com.vaadin.flow.component.HasValue; @@ -14,11 +14,11 @@ import com.vaadin.flow.router.Route; import com.vaadin.flow.router.RouteAlias; import org.slf4j.LoggerFactory; -import org.togetherjava.logwatcher.accesscontrol.AllowedRoles; -import org.togetherjava.logwatcher.accesscontrol.Role; -import org.togetherjava.logwatcher.util.LogReader; -import org.togetherjava.logwatcher.util.NotificationUtils; -import org.togetherjava.logwatcher.views.MainLayout; +import org.togetherjava.tjbot.logwatcher.accesscontrol.AllowedRoles; +import org.togetherjava.tjbot.logwatcher.accesscontrol.Role; +import org.togetherjava.tjbot.logwatcher.util.LogReader; +import org.togetherjava.tjbot.logwatcher.util.NotificationUtils; +import org.togetherjava.tjbot.logwatcher.views.MainLayout; import javax.annotation.security.PermitAll; import java.io.UncheckedIOException; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/StreamedView.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/StreamedView.java similarity index 94% rename from logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/StreamedView.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/StreamedView.java index e88c9f0302..99c5cc4c65 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/views/logs/StreamedView.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/StreamedView.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.views.logs; +package org.togetherjava.tjbot.logwatcher.views.logs; import com.vaadin.componentfactory.EnhancedDialog; import com.vaadin.flow.component.*; @@ -13,12 +13,12 @@ import com.vaadin.flow.router.Route; import com.vaadin.flow.server.SessionDestroyEvent; import com.vaadin.flow.server.VaadinService; -import org.togetherjava.logwatcher.accesscontrol.AllowedRoles; -import org.togetherjava.logwatcher.accesscontrol.Role; -import org.togetherjava.logwatcher.constants.LogEventsConstants; -import org.togetherjava.logwatcher.logs.LogRepository; -import org.togetherjava.logwatcher.views.MainLayout; -import org.togetherjava.logwatcher.watcher.StreamWatcher; +import org.togetherjava.tjbot.logwatcher.accesscontrol.AllowedRoles; +import org.togetherjava.tjbot.logwatcher.accesscontrol.Role; +import org.togetherjava.tjbot.logwatcher.constants.LogEventsConstants; +import org.togetherjava.tjbot.logwatcher.logs.LogRepository; +import org.togetherjava.tjbot.logwatcher.views.MainLayout; +import org.togetherjava.tjbot.logwatcher.watcher.StreamWatcher; import org.togetherjava.tjbot.db.generated.tables.pojos.Logevents; import org.vaadin.crudui.crud.impl.GridCrud; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/views/usermanagement/UserManagement.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/usermanagement/UserManagement.java similarity index 94% rename from logviewer/src/main/java/org/togetherjava/logwatcher/views/usermanagement/UserManagement.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/usermanagement/UserManagement.java index 3087810b38..45d6f6b69b 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/views/usermanagement/UserManagement.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/usermanagement/UserManagement.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.views.usermanagement; +package org.togetherjava.tjbot.logwatcher.views.usermanagement; import com.vaadin.componentfactory.EnhancedDialog; import com.vaadin.flow.component.ClickEvent; @@ -16,12 +16,12 @@ import com.vaadin.flow.router.PageTitle; import com.vaadin.flow.router.Route; import org.slf4j.LoggerFactory; -import org.togetherjava.logwatcher.accesscontrol.AllowedRoles; -import org.togetherjava.logwatcher.accesscontrol.Role; -import org.togetherjava.logwatcher.entities.UserWrapper; -import org.togetherjava.logwatcher.users.UserRepository; -import org.togetherjava.logwatcher.util.NotificationUtils; -import org.togetherjava.logwatcher.views.MainLayout; +import org.togetherjava.tjbot.logwatcher.accesscontrol.AllowedRoles; +import org.togetherjava.tjbot.logwatcher.accesscontrol.Role; +import org.togetherjava.tjbot.logwatcher.entities.UserWrapper; +import org.togetherjava.tjbot.logwatcher.users.UserRepository; +import org.togetherjava.tjbot.logwatcher.util.NotificationUtils; +import org.togetherjava.tjbot.logwatcher.views.MainLayout; import org.togetherjava.tjbot.db.DatabaseException; import org.togetherjava.tjbot.db.generated.tables.pojos.Users; diff --git a/logviewer/src/main/java/org/togetherjava/logwatcher/watcher/StreamWatcher.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/watcher/StreamWatcher.java similarity index 96% rename from logviewer/src/main/java/org/togetherjava/logwatcher/watcher/StreamWatcher.java rename to logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/watcher/StreamWatcher.java index 2600f990a7..3507b5df48 100644 --- a/logviewer/src/main/java/org/togetherjava/logwatcher/watcher/StreamWatcher.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/watcher/StreamWatcher.java @@ -1,4 +1,4 @@ -package org.togetherjava.logwatcher.watcher; +package org.togetherjava.tjbot.logwatcher.watcher; import org.slf4j.LoggerFactory; From d7a292d402a1524b91318d393c092adfc49feae1 Mon Sep 17 00:00:00 2001 From: krankkk <59603675+krankkkk@users.noreply.github.com> Date: Sat, 16 Oct 2021 15:50:31 +0200 Subject: [PATCH 4/9] Clarify Methods for CodeFactor --- .../tjbot/logwatcher/views/logs/LogsView.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java index 3516e79cc0..2c4a2b9aa5 100644 --- a/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java @@ -61,7 +61,7 @@ public LogsView(LogReader watcher) { for (final String level : levels) { final Checkbox ch = new Checkbox(level); ch.setValue(true); - ch.addValueChangeListener(this::onValueChange); + ch.addValueChangeListener(this::onCheckboxChange); options.add(ch); } @@ -71,7 +71,7 @@ public LogsView(LogReader watcher) { add(logs, options, new Scroller(this.events, Scroller.ScrollDirection.VERTICAL)); } - private void onValueChange(AbstractField.ComponentValueChangeEvent event) { + private void onCheckboxChange(AbstractField.ComponentValueChangeEvent event) { if (!event.isFromClient()) { return; } @@ -99,7 +99,7 @@ private ComboBox createComboBox() { logs.setItems(DataProvider.ofCollection(logFiles)); logFiles.stream().findFirst().ifPresent(logs::setValue); - logs.addValueChangeListener(this::onValueChange); + logs.addValueChangeListener(this::onComboboxChange); return logs; } @@ -108,7 +108,7 @@ private ComboBox createComboBox() { * * @param event Generated Event, containing old and new Value */ - private void onValueChange(HasValue.ValueChangeEvent event) { + private void onComboboxChange(HasValue.ValueChangeEvent event) { if (Objects.equals(event.getOldValue(), event.getValue())) { return; } From 2dcb467170a68ceabc11b2ed8ca2b127bffd46f1 Mon Sep 17 00:00:00 2001 From: krankkk <59603675+krankkkk@users.noreply.github.com> Date: Sat, 16 Oct 2021 16:01:32 +0200 Subject: [PATCH 5/9] Spotless --- .../org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java index ef3348aadb..62f12fb3cd 100644 --- a/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java @@ -74,7 +74,8 @@ public LogsView(LogReader watcher) { add(logs, options, new Scroller(this.events, Scroller.ScrollDirection.VERTICAL)); } - private void onCheckboxChange(AbstractField.ComponentValueChangeEvent event) { + private void onCheckboxChange( + AbstractField.ComponentValueChangeEvent event) { if (!event.isFromClient()) { return; } From 96258f79b4fe7210367c252fe626a4f2347f1c6f Mon Sep 17 00:00:00 2001 From: krankkk <59603675+krankkkk@users.noreply.github.com> Date: Sun, 17 Oct 2021 16:03:24 +0200 Subject: [PATCH 6/9] Add Comment why `Binder` only needs warning level --- logviewer/src/main/resources/log4j2.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/logviewer/src/main/resources/log4j2.xml b/logviewer/src/main/resources/log4j2.xml index 1fad34eb33..3f0f6b7f9e 100644 --- a/logviewer/src/main/resources/log4j2.xml +++ b/logviewer/src/main/resources/log4j2.xml @@ -19,6 +19,7 @@ + From 17f6fa3989705a2e5f50d5f5338c7c8dc8f11c1a Mon Sep 17 00:00:00 2001 From: krankkk <59603675+krankkkk@users.noreply.github.com> Date: Sun, 17 Oct 2021 16:03:43 +0200 Subject: [PATCH 7/9] Extract Css-Colors --- .../themes/logviewer/views/logs-view.css | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/logviewer/frontend/themes/logviewer/views/logs-view.css b/logviewer/frontend/themes/logviewer/views/logs-view.css index 04b84ca0e9..aa8f478e95 100644 --- a/logviewer/frontend/themes/logviewer/views/logs-view.css +++ b/logviewer/frontend/themes/logviewer/views/logs-view.css @@ -3,6 +3,14 @@ padding: 1em; } +:root { + --color-info: rgba(120, 107, 213, 0.5); + --color-warn: rgba(170, 187, 97, 0.5); + --color-error: rgba(255, 75, 75, 0.5); + --color-debug: rgba(127, 255, 212, 0.5); + --color-trace: rgba(58, 118, 58, 0.5); +} + p { line-height: normal; @@ -11,21 +19,21 @@ p { } .error { - background-color: rgba(255, 75, 75, 0.5); + background-color: var(--color-error); } .warn { - background-color: rgba(170, 187, 97, 0.5); + background-color: var(--color-warn); } .info { - background-color: rgba(120, 107, 213, 0.5); + background-color: var(--color-info); } .debug { - background-color: rgba(127, 255, 212, 0.5); + background-color: var(--color-debug); } .trace { - background-color: rgba(58, 118, 58, 0.5); + background-color: var(--color-trace); } From b1ad8d3824b60c6543aa236127746a5a3480eadc Mon Sep 17 00:00:00 2001 From: krankkk <59603675+krankkkk@users.noreply.github.com> Date: Sun, 17 Oct 2021 16:05:00 +0200 Subject: [PATCH 8/9] Extract common logic to Utils class --- .../tjbot/logwatcher/util/LogUtils.java | 36 +++++++++++++++++++ .../tjbot/logwatcher/views/logs/LogsView.java | 23 ++++++------ .../logwatcher/views/logs/StreamedView.java | 27 ++++++-------- 3 files changed, 58 insertions(+), 28 deletions(-) create mode 100644 logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/util/LogUtils.java diff --git a/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/util/LogUtils.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/util/LogUtils.java new file mode 100644 index 0000000000..bc1df95a5a --- /dev/null +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/util/LogUtils.java @@ -0,0 +1,36 @@ +package org.togetherjava.tjbot.logwatcher.util; + +import org.togetherjava.tjbot.db.generated.tables.pojos.Logevents; + +import java.util.Arrays; +import java.util.EnumSet; +import java.util.Locale; +import java.util.Set; +import java.util.stream.Collectors; + +public final class LogUtils { + + public enum LogLevel { + INFO, + WARN, + ERROR, + DEBUG, + TRACE; + + public static Set getAll() { + return EnumSet.allOf(LogLevel.class); + } + + public static Set getAllNames() { + return Arrays.stream(values()).map(Enum::name).collect(Collectors.toUnmodifiableSet()); + } + } + + public static String logLevelToCssClass(final Logevents event) { + return event.getLevel().toLowerCase(Locale.ENGLISH); + } + + + + private LogUtils() {} +} diff --git a/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java index 62f12fb3cd..2f87902681 100644 --- a/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/LogsView.java @@ -17,13 +17,17 @@ import org.togetherjava.tjbot.logwatcher.accesscontrol.AllowedRoles; import org.togetherjava.tjbot.logwatcher.accesscontrol.Role; import org.togetherjava.tjbot.logwatcher.util.LogReader; +import org.togetherjava.tjbot.logwatcher.util.LogUtils; import org.togetherjava.tjbot.logwatcher.util.NotificationUtils; import org.togetherjava.tjbot.logwatcher.views.MainLayout; import javax.annotation.security.PermitAll; import java.io.UncheckedIOException; import java.nio.file.Path; -import java.util.*; +import java.util.Collections; +import java.util.List; +import java.util.Locale; +import java.util.Objects; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -39,16 +43,14 @@ @PermitAll public class LogsView extends VerticalLayout { + private static final Pattern LOGLEVEL_MATCHER = + Pattern.compile("(%s)".formatted(String.join("|", LogUtils.LogLevel.getAllNames()))); /** * Field where the events are displayed */ private final VerticalLayout events = new VerticalLayout(); - private static final Pattern LOGLEVEL_MATCHER = - Pattern.compile("(ERROR|WARN|INFO|DEBUG|TRACE)"); - - private final transient LogReader watcher; public LogsView(LogReader watcher) { @@ -60,11 +62,10 @@ public LogsView(LogReader watcher) { HorizontalLayout options = new HorizontalLayout(); options.setAlignItems(Alignment.START); - final Set levels = Set.of("ERROR", "WARN", "INFO", "DEBUG", "TRACE"); - for (final String level : levels) { + for (final String level : LogUtils.LogLevel.getAllNames()) { final Checkbox ch = new Checkbox(level); ch.setValue(true); - ch.addValueChangeListener(this::onCheckboxChange); + ch.addValueChangeListener(this::onLogLevelCheckbox); options.add(ch); } @@ -74,7 +75,7 @@ public LogsView(LogReader watcher) { add(logs, options, new Scroller(this.events, Scroller.ScrollDirection.VERTICAL)); } - private void onCheckboxChange( + private void onLogLevelCheckbox( AbstractField.ComponentValueChangeEvent event) { if (!event.isFromClient()) { return; @@ -103,7 +104,7 @@ private ComboBox createComboBox() { logs.setItems(DataProvider.ofCollection(logFiles)); logFiles.stream().findFirst().ifPresent(logs::setValue); - logs.addValueChangeListener(this::onComboboxChange); + logs.addValueChangeListener(this::onLogFileCombobox); return logs; } @@ -113,7 +114,7 @@ private ComboBox createComboBox() { * * @param event Generated Event, containing old and new Value */ - private void onComboboxChange(HasValue.ValueChangeEvent event) { + private void onLogFileCombobox(HasValue.ValueChangeEvent event) { if (Objects.equals(event.getOldValue(), event.getValue())) { return; } diff --git a/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/StreamedView.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/StreamedView.java index 9972a7b08b..8159478865 100644 --- a/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/StreamedView.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/views/logs/StreamedView.java @@ -13,13 +13,14 @@ import com.vaadin.flow.router.Route; import com.vaadin.flow.server.SessionDestroyEvent; import com.vaadin.flow.server.VaadinService; +import org.togetherjava.tjbot.db.generated.tables.pojos.Logevents; import org.togetherjava.tjbot.logwatcher.accesscontrol.AllowedRoles; import org.togetherjava.tjbot.logwatcher.accesscontrol.Role; import org.togetherjava.tjbot.logwatcher.constants.LogEventsConstants; import org.togetherjava.tjbot.logwatcher.logs.LogRepository; +import org.togetherjava.tjbot.logwatcher.util.LogUtils; import org.togetherjava.tjbot.logwatcher.views.MainLayout; import org.togetherjava.tjbot.logwatcher.watcher.StreamWatcher; -import org.togetherjava.tjbot.db.generated.tables.pojos.Logevents; import org.vaadin.crudui.crud.impl.GridCrud; import javax.annotation.security.PermitAll; @@ -40,25 +41,22 @@ public class StreamedView extends VerticalLayout { private final GridCrud grid = new GridCrud<>(Logevents.class); private final UUID uuid = UUID.randomUUID(); - - - private final Set enabledLogLevel = - new HashSet<>(Set.of("ERROR", "WARN", "INFO", "DEBUG", "TRACE")); + private final Set enabledLogLevel = new HashSet<>(LogUtils.LogLevel.getAllNames()); public StreamedView(LogRepository logs) { addClassName("logs-view"); - final HorizontalLayout buttonpanel = + final HorizontalLayout buttonPanel = new HorizontalLayout(new Button("Change Columns", this::onChangeColumns)); for (final String level : this.enabledLogLevel) { final Checkbox ch = new Checkbox(level); ch.setValue(true); - ch.addValueChangeListener(this::onValueChange); - buttonpanel.add(ch); + ch.addValueChangeListener(this::onLogLevelCheckbox); + buttonPanel.add(ch); } - add(buttonpanel, this.grid); + add(buttonPanel, this.grid); this.grid.setOperations(() -> logs.findWithLevelMatching(this.enabledLogLevel), null, null, null); @@ -73,7 +71,7 @@ public StreamedView(LogRepository logs) { setInstantFormatter(); baseGrid.getColumns().forEach(c -> c.setAutoWidth(true)); baseGrid.getColumns().forEach(c -> c.setResizable(true)); - baseGrid.setClassNameGenerator(StreamedView::setBackgroundColor); + baseGrid.setClassNameGenerator(LogUtils::logLevelToCssClass); baseGrid.recalculateColumnWidths(); baseGrid.setColumnReorderingAllowed(true); @@ -82,14 +80,14 @@ public StreamedView(LogRepository logs) { StreamWatcher.addSubscription(this.uuid, () -> ui.access(this.grid::refreshGrid)); } - private void onValueChange(AbstractField.ComponentValueChangeEvent event) { + private void onLogLevelCheckbox( + AbstractField.ComponentValueChangeEvent event) { if (!event.isFromClient()) { return; } final String logLevel = event.getSource().getLabel(); - final boolean isChecked = event.getValue();// don't inline this, else SonarLint is crying if (isChecked) { this.enabledLogLevel.add(logLevel); @@ -99,11 +97,6 @@ private void onValueChange(AbstractField.ComponentValueChangeEvent Date: Tue, 19 Oct 2021 19:43:31 +0200 Subject: [PATCH 9/9] Add JavaDoc for new Util Methods --- .../tjbot/logwatcher/util/LogUtils.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/util/LogUtils.java b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/util/LogUtils.java index bc1df95a5a..719fb20223 100644 --- a/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/util/LogUtils.java +++ b/logviewer/src/main/java/org/togetherjava/tjbot/logwatcher/util/LogUtils.java @@ -10,6 +10,9 @@ public final class LogUtils { + /** + * Loglevel of all Configurable Levels in the logger + */ public enum LogLevel { INFO, WARN, @@ -17,15 +20,32 @@ public enum LogLevel { DEBUG, TRACE; + /** + * Collects all LogLevel in a Set + * + * @return A Set containing every Loglevel + */ public static Set getAll() { return EnumSet.allOf(LogLevel.class); } + /** + * Maps the LogLevel to their name and collects it in a Set + * + * @return A Set containing every LogLevel as String + */ public static Set getAllNames() { return Arrays.stream(values()).map(Enum::name).collect(Collectors.toUnmodifiableSet()); } } + /** + * Maps a Logevent to the color-coded css-Class (css class has i.e. red as background-color for + * ERROR events) + * + * @param event Logevent from the DB with a specific Logevent + * @return The name of the CSS class to use with this Logevent. + */ public static String logLevelToCssClass(final Logevents event) { return event.getLevel().toLowerCase(Locale.ENGLISH); }