diff --git a/README.md b/README.md index 43f6b6b..854fbb8 100644 --- a/README.md +++ b/README.md @@ -180,7 +180,7 @@ Modify this command according your needs and consult the [configuration section] ## Plugin Support -### Conference Plugins +### Agenda Plugins *Apus* uses a simple plugin technology to import the agenda of various events. Plugins are currently available for the following events: @@ -202,7 +202,7 @@ Plugins for other social media services are planned. ### Plugin Development -Everyone is welcome to contribute a plugin themselves. The implementation is very simple. There are two types of plugins: `ConferencePlugin` and `SocialPlugin`. For a new plugin, a new package is created under `swiss.fihlon.apus.plugin.conference` or `swiss.fihlon.apus.plugin.social`, based on the plugin type. The implementation is carried out in this new package. Implement one of these two interfaces depending on the plugin type you want to contribute. +Everyone is welcome to contribute a plugin themselves. The implementation is very simple. There are two types of plugins: `AgendaPlugin` and `SocialPlugin`. For a new plugin, a new package is created under `swiss.fihlon.apus.plugin.agenda` or `swiss.fihlon.apus.plugin.social`, based on the plugin type. The implementation is carried out in this new package. Implement one of these two interfaces depending on the plugin type you want to contribute. If your implementation requires a configuration, the `Configuration` class must be extended accordingly. Add a property and corresponding setters and getters in the marked sections. Implement the settings object as a `record` in your new plugin package. Take one of the existing plugins as a template. Default settings belong in the file `application.properties` and the corresponding schema is stored in `additional-spring-configuration-metadata.json`. Of course, this `README.md` must also be adapted. diff --git a/frontend/themes/apus/views/conference-view.css b/frontend/themes/apus/views/agenda-view.css similarity index 94% rename from frontend/themes/apus/views/conference-view.css rename to frontend/themes/apus/views/agenda-view.css index 087c769..3e4a75d 100644 --- a/frontend/themes/apus/views/conference-view.css +++ b/frontend/themes/apus/views/agenda-view.css @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -#conference-view { +#agenda-view { background-color: #007e89; position: absolute; top: 0; @@ -26,18 +26,18 @@ overflow: clip; } -#conference-view h2 { +#agenda-view h2 { float: left; font-size: 30px; margin: 10px; } -#conference-view .legend { +#agenda-view .legend { float: right; padding: 13px 10px 0 0; } -#conference-view .legend > span { +#agenda-view .legend > span { color: #003861; margin-left: var(--lumo-space-s); } diff --git a/package.json b/package.json index 4ae3ec1..13fce37 100644 --- a/package.json +++ b/package.json @@ -247,6 +247,6 @@ "workbox-core": "7.0.0", "workbox-precaching": "7.0.0" }, - "hash": "8023d3b7b5d639047c5ab43eb5c1312a8fbbb60e1e6ce1130741ac4296ad6f5d" + "hash": "1d21881e8ebfe05d70574f3d5e5566c7c252fa9ae84068b3f09d53fd47ed661a" } } diff --git a/src/main/java/swiss/fihlon/apus/conference/Language.java b/src/main/java/swiss/fihlon/apus/agenda/Language.java similarity index 97% rename from src/main/java/swiss/fihlon/apus/conference/Language.java rename to src/main/java/swiss/fihlon/apus/agenda/Language.java index 760f205..6703812 100644 --- a/src/main/java/swiss/fihlon/apus/conference/Language.java +++ b/src/main/java/swiss/fihlon/apus/agenda/Language.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package swiss.fihlon.apus.conference; +package swiss.fihlon.apus.agenda; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/swiss/fihlon/apus/conference/Room.java b/src/main/java/swiss/fihlon/apus/agenda/Room.java similarity index 96% rename from src/main/java/swiss/fihlon/apus/conference/Room.java rename to src/main/java/swiss/fihlon/apus/agenda/Room.java index 03f1734..5f1ed1e 100644 --- a/src/main/java/swiss/fihlon/apus/conference/Room.java +++ b/src/main/java/swiss/fihlon/apus/agenda/Room.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package swiss.fihlon.apus.conference; +package swiss.fihlon.apus.agenda; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/swiss/fihlon/apus/conference/RoomStyle.java b/src/main/java/swiss/fihlon/apus/agenda/RoomStyle.java similarity index 85% rename from src/main/java/swiss/fihlon/apus/conference/RoomStyle.java rename to src/main/java/swiss/fihlon/apus/agenda/RoomStyle.java index c5e179f..4ed0a06 100644 --- a/src/main/java/swiss/fihlon/apus/conference/RoomStyle.java +++ b/src/main/java/swiss/fihlon/apus/agenda/RoomStyle.java @@ -15,16 +15,16 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package swiss.fihlon.apus.conference; +package swiss.fihlon.apus.agenda; import org.jetbrains.annotations.NotNull; public enum RoomStyle { NONE("", ""), - RUNNING("running-session", "conference.legend.running-session"), - NEXT("next-session", "conference.legend.next-session"), - EMPTY("empty-room", "conference.legend.empty-room"); + RUNNING("running-session", "agenda.legend.running-session"), + NEXT("next-session", "agenda.legend.next-session"), + EMPTY("empty-room", "agenda.legend.empty-room"); private final String cssStyle; private final String translationKey; diff --git a/src/main/java/swiss/fihlon/apus/conference/Session.java b/src/main/java/swiss/fihlon/apus/agenda/Session.java similarity index 97% rename from src/main/java/swiss/fihlon/apus/conference/Session.java rename to src/main/java/swiss/fihlon/apus/agenda/Session.java index 5a21bf1..4da8590 100644 --- a/src/main/java/swiss/fihlon/apus/conference/Session.java +++ b/src/main/java/swiss/fihlon/apus/agenda/Session.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package swiss.fihlon.apus.conference; +package swiss.fihlon.apus.agenda; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/swiss/fihlon/apus/conference/SessionImportException.java b/src/main/java/swiss/fihlon/apus/agenda/SessionImportException.java similarity index 96% rename from src/main/java/swiss/fihlon/apus/conference/SessionImportException.java rename to src/main/java/swiss/fihlon/apus/agenda/SessionImportException.java index 54ec34f..1b1c515 100644 --- a/src/main/java/swiss/fihlon/apus/conference/SessionImportException.java +++ b/src/main/java/swiss/fihlon/apus/agenda/SessionImportException.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package swiss.fihlon.apus.conference; +package swiss.fihlon.apus.agenda; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/swiss/fihlon/apus/conference/Speaker.java b/src/main/java/swiss/fihlon/apus/agenda/Speaker.java similarity index 95% rename from src/main/java/swiss/fihlon/apus/conference/Speaker.java rename to src/main/java/swiss/fihlon/apus/agenda/Speaker.java index 612eb8d..9c8e098 100644 --- a/src/main/java/swiss/fihlon/apus/conference/Speaker.java +++ b/src/main/java/swiss/fihlon/apus/agenda/Speaker.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package swiss.fihlon.apus.conference; +package swiss.fihlon.apus.agenda; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/swiss/fihlon/apus/configuration/Configuration.java b/src/main/java/swiss/fihlon/apus/configuration/Configuration.java index 472183d..ce6f75d 100644 --- a/src/main/java/swiss/fihlon/apus/configuration/Configuration.java +++ b/src/main/java/swiss/fihlon/apus/configuration/Configuration.java @@ -20,7 +20,7 @@ import org.jetbrains.annotations.NotNull; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import swiss.fihlon.apus.plugin.conference.doag.DoagConfig; +import swiss.fihlon.apus.plugin.agenda.doag.DoagConfig; import swiss.fihlon.apus.plugin.social.mastodon.MastodonConfig; @org.springframework.context.annotation.Configuration @@ -33,7 +33,7 @@ public class Configuration { private AdminConfig admin; private FilterConfig filter; - // Conference Plugin Configs + // Agenda Plugin Configs private DoagConfig doag; // Social Plugin Configs @@ -63,9 +63,9 @@ public void setFilter(@NotNull final FilterConfig filter) { this.filter = filter; } - /////////////////////////////// - // Conference Plugin Configs // - /////////////////////////////// + /////////////////////////// + // Agenda Plugin Configs // + /////////////////////////// public DoagConfig getDoag() { return doag; diff --git a/src/main/java/swiss/fihlon/apus/plugin/conference/ConferencePlugin.java b/src/main/java/swiss/fihlon/apus/plugin/agenda/AgendaPlugin.java similarity index 88% rename from src/main/java/swiss/fihlon/apus/plugin/conference/ConferencePlugin.java rename to src/main/java/swiss/fihlon/apus/plugin/agenda/AgendaPlugin.java index 33b700c..f0d8f58 100644 --- a/src/main/java/swiss/fihlon/apus/plugin/conference/ConferencePlugin.java +++ b/src/main/java/swiss/fihlon/apus/plugin/agenda/AgendaPlugin.java @@ -15,14 +15,14 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package swiss.fihlon.apus.plugin.conference; +package swiss.fihlon.apus.plugin.agenda; import org.jetbrains.annotations.NotNull; -import swiss.fihlon.apus.conference.Session; +import swiss.fihlon.apus.agenda.Session; import java.util.List; -public interface ConferencePlugin { +public interface AgendaPlugin { boolean isEnabled(); diff --git a/src/main/java/swiss/fihlon/apus/plugin/conference/ConferenceService.java b/src/main/java/swiss/fihlon/apus/plugin/agenda/AgendaService.java similarity index 80% rename from src/main/java/swiss/fihlon/apus/plugin/conference/ConferenceService.java rename to src/main/java/swiss/fihlon/apus/plugin/agenda/AgendaService.java index 629e19f..fdb7f7e 100644 --- a/src/main/java/swiss/fihlon/apus/plugin/conference/ConferenceService.java +++ b/src/main/java/swiss/fihlon/apus/plugin/agenda/AgendaService.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package swiss.fihlon.apus.plugin.conference; +package swiss.fihlon.apus.plugin.agenda; import jakarta.annotation.PreDestroy; import org.jetbrains.annotations.NotNull; @@ -23,10 +23,10 @@ import org.slf4j.LoggerFactory; import org.springframework.scheduling.TaskScheduler; import org.springframework.stereotype.Service; -import swiss.fihlon.apus.conference.Room; -import swiss.fihlon.apus.conference.Session; -import swiss.fihlon.apus.conference.SessionImportException; -import swiss.fihlon.apus.plugin.conference.doag.DoagPlugin; +import swiss.fihlon.apus.agenda.Room; +import swiss.fihlon.apus.agenda.Session; +import swiss.fihlon.apus.agenda.SessionImportException; +import swiss.fihlon.apus.plugin.agenda.doag.DoagPlugin; import swiss.fihlon.apus.configuration.Configuration; import java.time.Duration; @@ -38,23 +38,23 @@ import java.util.concurrent.ScheduledFuture; @Service -public final class ConferenceService { +public final class AgendaService { private static final Duration UPDATE_FREQUENCY = Duration.ofMinutes(5); - private static final Logger LOGGER = LoggerFactory.getLogger(ConferenceService.class); + private static final Logger LOGGER = LoggerFactory.getLogger(AgendaService.class); - private final ConferencePlugin conferencePlugin; + private final AgendaPlugin agendaPlugin; private final ScheduledFuture updateScheduler; private Map> roomsWithSessions = new TreeMap<>(); - public ConferenceService(@NotNull final TaskScheduler taskScheduler, - @NotNull final Configuration configuration) { - conferencePlugin = new DoagPlugin(configuration); - if (conferencePlugin.isEnabled()) { + public AgendaService(@NotNull final TaskScheduler taskScheduler, + @NotNull final Configuration configuration) { + agendaPlugin = new DoagPlugin(configuration); + if (agendaPlugin.isEnabled()) { updateSessions(); updateScheduler = taskScheduler.scheduleAtFixedRate(this::updateSessions, UPDATE_FREQUENCY); } else { - LOGGER.warn("No conference plugin is enabled. No agenda will be displayed."); + LOGGER.warn("No event plugin is enabled. No agenda will be displayed."); updateScheduler = null; } } @@ -66,7 +66,7 @@ public void stopUpdateScheduler() { private void updateSessions() { try { - final var sessions = conferencePlugin.getSessions().stream() + final var sessions = agendaPlugin.getSessions().stream() .sorted() .toList(); diff --git a/src/main/java/swiss/fihlon/apus/plugin/conference/doag/DoagConfig.java b/src/main/java/swiss/fihlon/apus/plugin/agenda/doag/DoagConfig.java similarity index 94% rename from src/main/java/swiss/fihlon/apus/plugin/conference/doag/DoagConfig.java rename to src/main/java/swiss/fihlon/apus/plugin/agenda/doag/DoagConfig.java index 4a34304..c85930d 100644 --- a/src/main/java/swiss/fihlon/apus/plugin/conference/doag/DoagConfig.java +++ b/src/main/java/swiss/fihlon/apus/plugin/agenda/doag/DoagConfig.java @@ -15,6 +15,6 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package swiss.fihlon.apus.plugin.conference.doag; +package swiss.fihlon.apus.plugin.agenda.doag; public record DoagConfig(int eventId) { } diff --git a/src/main/java/swiss/fihlon/apus/plugin/conference/doag/DoagPlugin.java b/src/main/java/swiss/fihlon/apus/plugin/agenda/doag/DoagPlugin.java similarity index 94% rename from src/main/java/swiss/fihlon/apus/plugin/conference/doag/DoagPlugin.java rename to src/main/java/swiss/fihlon/apus/plugin/agenda/doag/DoagPlugin.java index 327dcae..612cff2 100644 --- a/src/main/java/swiss/fihlon/apus/plugin/conference/doag/DoagPlugin.java +++ b/src/main/java/swiss/fihlon/apus/plugin/agenda/doag/DoagPlugin.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package swiss.fihlon.apus.plugin.conference.doag; +package swiss.fihlon.apus.plugin.agenda.doag; import org.jetbrains.annotations.NotNull; import org.json.JSONArray; @@ -23,13 +23,13 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import swiss.fihlon.apus.conference.Language; -import swiss.fihlon.apus.conference.Room; -import swiss.fihlon.apus.conference.Session; -import swiss.fihlon.apus.conference.SessionImportException; -import swiss.fihlon.apus.conference.Speaker; +import swiss.fihlon.apus.agenda.Language; +import swiss.fihlon.apus.agenda.Room; +import swiss.fihlon.apus.agenda.Session; +import swiss.fihlon.apus.agenda.SessionImportException; +import swiss.fihlon.apus.agenda.Speaker; import swiss.fihlon.apus.configuration.Configuration; -import swiss.fihlon.apus.plugin.conference.ConferencePlugin; +import swiss.fihlon.apus.plugin.agenda.AgendaPlugin; import java.io.IOException; import java.io.InputStream; @@ -44,7 +44,7 @@ import java.util.Iterator; import java.util.List; -public final class DoagPlugin implements ConferencePlugin { +public final class DoagPlugin implements AgendaPlugin { public static final Logger LOGGER = LoggerFactory.getLogger(DoagPlugin.class); public static final String CONFERENCE_API_LOCATION = "https://meine.doag.org/api/event/action.getCPEventAgenda/eventId.%d/"; diff --git a/src/main/java/swiss/fihlon/apus/ui/view/ConferenceView.java b/src/main/java/swiss/fihlon/apus/ui/view/AgendaView.java similarity index 85% rename from src/main/java/swiss/fihlon/apus/ui/view/ConferenceView.java rename to src/main/java/swiss/fihlon/apus/ui/view/AgendaView.java index 77b3070..2bc6ed3 100644 --- a/src/main/java/swiss/fihlon/apus/ui/view/ConferenceView.java +++ b/src/main/java/swiss/fihlon/apus/ui/view/AgendaView.java @@ -26,10 +26,10 @@ import com.vaadin.flow.component.notification.Notification; import org.jetbrains.annotations.NotNull; import org.springframework.scheduling.TaskScheduler; -import swiss.fihlon.apus.conference.Room; -import swiss.fihlon.apus.conference.RoomStyle; -import swiss.fihlon.apus.conference.Session; -import swiss.fihlon.apus.plugin.conference.ConferenceService; +import swiss.fihlon.apus.agenda.Room; +import swiss.fihlon.apus.agenda.RoomStyle; +import swiss.fihlon.apus.agenda.Session; +import swiss.fihlon.apus.plugin.agenda.AgendaService; import java.time.Duration; import java.time.Instant; @@ -43,23 +43,23 @@ import java.util.concurrent.ScheduledFuture; import java.util.concurrent.atomic.AtomicInteger; -@CssImport(value = "./themes/apus/views/conference-view.css") -public final class ConferenceView extends Div { +@CssImport(value = "./themes/apus/views/agenda-view.css") +public final class AgendaView extends Div { public static final String LABEL_THEME = "badge"; private static final int MAX_ROOMS_IN_VIEW = 12; private static final Duration UPDATE_FREQUENCY = Duration.ofMinutes(1); private static final Duration TIME_LIMIT_NEXT_SESSION = Duration.ofHours(1); - private final transient ConferenceService conferenceService; + private final transient AgendaService agendaService; private final H2 title = createTitle(); private final Div roomContainer = new Div(); private final Span legend = new Span(); - public ConferenceView(@NotNull final ConferenceService conferenceService, - @NotNull final TaskScheduler taskScheduler) { - this.conferenceService = conferenceService; - setId("conference-view"); + public AgendaView(@NotNull final AgendaService agendaService, + @NotNull final TaskScheduler taskScheduler) { + this.agendaService = agendaService; + setId("agenda-view"); add(title); add(createLegend()); add(roomContainer); @@ -76,14 +76,14 @@ private void updateConferenceSessions() { roomContainer.removeAll(); final var today = LocalDate.now(); final var roomCounter = new AtomicInteger(0); - final var roomsWithSessions = conferenceService.getRoomsWithSessions().entrySet(); + final var roomsWithSessions = agendaService.getRoomsWithSessions().entrySet(); if (roomsWithSessions.isEmpty()) { - Notification.show(getTranslation("conference.error.nosessions")); + Notification.show(getTranslation("agenda.error.nosessions")); } final var roomStylesInUse = new HashSet(); for (final Map.Entry> roomWithSession : roomsWithSessions) { if (roomCounter.get() >= MAX_ROOMS_IN_VIEW) { - Notification.show(String.format(getTranslation("conference.error.rooms"), roomsWithSessions.size())); + Notification.show(String.format(getTranslation("agenda.error.rooms"), roomsWithSessions.size())); break; } final RoomView roomView = createRoomView(roomWithSession, today, roomCounter); @@ -96,12 +96,12 @@ private void updateConferenceSessions() { @NotNull private H2 createTitle() { - return new H2(getTranslation("conference.heading", + return new H2(getTranslation("agenda.heading", LocalDate.now().getDayOfWeek().getDisplayName(TextStyle.FULL, UI.getCurrent().getLocale()))); } private void updateTitle() { - title.setText(getTranslation("conference.heading", + title.setText(getTranslation("agenda.heading", LocalDate.now().getDayOfWeek().getDisplayName(TextStyle.FULL, UI.getCurrent().getLocale()))); } diff --git a/src/main/java/swiss/fihlon/apus/ui/view/RoomView.java b/src/main/java/swiss/fihlon/apus/ui/view/RoomView.java index 01056e1..1f612ac 100644 --- a/src/main/java/swiss/fihlon/apus/ui/view/RoomView.java +++ b/src/main/java/swiss/fihlon/apus/ui/view/RoomView.java @@ -26,11 +26,11 @@ import com.vaadin.flow.component.html.Span; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import swiss.fihlon.apus.conference.Language; -import swiss.fihlon.apus.conference.Room; -import swiss.fihlon.apus.conference.RoomStyle; -import swiss.fihlon.apus.conference.Session; -import swiss.fihlon.apus.conference.Speaker; +import swiss.fihlon.apus.agenda.Language; +import swiss.fihlon.apus.agenda.Room; +import swiss.fihlon.apus.agenda.RoomStyle; +import swiss.fihlon.apus.agenda.Session; +import swiss.fihlon.apus.agenda.Speaker; import java.time.Duration; import java.time.LocalTime; @@ -134,7 +134,7 @@ private Component createTimeComponent() { final Duration duration = Duration.between(now, endTime); final long timeLeft = Math.round(duration.getSeconds() / 60f); timeComponent.add(new Text("⌛ " + getTranslation(timeLeft == 1 - ? "conference.session.countdown.singular" : "conference.session.countdown.plural", + ? "agenda.session.countdown.singular" : "agenda.session.countdown.plural", timeLeft))); roomStyle = RoomStyle.RUNNING; } else { // next session diff --git a/src/main/java/swiss/fihlon/apus/ui/view/SocialWallView.java b/src/main/java/swiss/fihlon/apus/ui/view/SocialWallView.java index aa59292..87ea077 100644 --- a/src/main/java/swiss/fihlon/apus/ui/view/SocialWallView.java +++ b/src/main/java/swiss/fihlon/apus/ui/view/SocialWallView.java @@ -23,19 +23,19 @@ import org.jetbrains.annotations.NotNull; import org.springframework.scheduling.TaskScheduler; import swiss.fihlon.apus.configuration.Configuration; -import swiss.fihlon.apus.plugin.conference.ConferenceService; +import swiss.fihlon.apus.plugin.agenda.AgendaService; import swiss.fihlon.apus.plugin.social.SocialService; @Route("") @CssImport(value = "./themes/apus/views/social-wall-view.css") public final class SocialWallView extends Div { - public SocialWallView(@NotNull final ConferenceService conferenceService, + public SocialWallView(@NotNull final AgendaService agendaService, @NotNull final SocialService socialService, @NotNull final TaskScheduler taskScheduler, @NotNull final Configuration configuration) { setId("social-wall-view"); - add(new ConferenceView(conferenceService, taskScheduler)); + add(new AgendaView(agendaService, taskScheduler)); add(new SocialView(socialService, taskScheduler, configuration)); } } diff --git a/src/main/resources/vaadin-i18n/translations.properties b/src/main/resources/vaadin-i18n/translations.properties index 79147b9..f81718d 100644 --- a/src/main/resources/vaadin-i18n/translations.properties +++ b/src/main/resources/vaadin-i18n/translations.properties @@ -1,12 +1,12 @@ -conference.error.nosessions=The agenda for today is empty! -conference.error.rooms=Too many rooms ({0}) to display, no more space left on screen! -conference.heading=Rooms & Sessions ({0}) -conference.legend.empty-room=room closed -conference.legend.next-session=next session -conference.legend.running-session=running session +agenda.error.nosessions=The agenda for today is empty! +agenda.error.rooms=Too many rooms ({0}) to display, no more space left on screen! +agenda.heading=Rooms & Sessions ({0}) +agenda.legend.empty-room=room closed +agenda.legend.next-session=next session +agenda.legend.running-session=running session conference.room.empty=closed -conference.session.countdown.plural=ends in {0} minutes -conference.session.countdown.singular=ends in {0} minute +agenda.session.countdown.plural=ends in {0} minutes +agenda.session.countdown.singular=ends in {0} minute social.admin.login.button=Login social.admin.login.cancel=Cancel social.admin.login.menu=Login as Administrator diff --git a/src/main/resources/vaadin-i18n/translations_de.properties b/src/main/resources/vaadin-i18n/translations_de.properties index 706226d..274e8d0 100644 --- a/src/main/resources/vaadin-i18n/translations_de.properties +++ b/src/main/resources/vaadin-i18n/translations_de.properties @@ -1,12 +1,12 @@ -conference.error.nosessions=Die Agenda für heute ist leer! -conference.error.rooms=Zu viele Räume ({0}), kein Platz mehr auf dem Bildschirm! -conference.heading=Räume & Vorträge ({0}) -conference.legend.empty-room=Raum geschlossen -conference.legend.next-session=nächster Vortrag -conference.legend.running-session=laufender Vortrag +agenda.error.nosessions=Die Agenda für heute ist leer! +agenda.error.rooms=Zu viele Räume ({0}), kein Platz mehr auf dem Bildschirm! +agenda.heading=Räume & Vorträge ({0}) +agenda.legend.empty-room=Raum geschlossen +agenda.legend.next-session=nächster Vortrag +agenda.legend.running-session=laufender Vortrag conference.room.empty=geschlossen -conference.session.countdown.plural=endet in {0} Minuten -conference.session.countdown.singular=endet in {0} Minute +agenda.session.countdown.plural=endet in {0} Minuten +agenda.session.countdown.singular=endet in {0} Minute social.admin.login.button=Anmelden social.admin.login.cancel=Abbrechen social.admin.login.menu=Als Administrator anmelden diff --git a/src/test/java/swiss/fihlon/apus/plugin/conference/ConferenceServiceTest.java b/src/test/java/swiss/fihlon/apus/plugin/agenda/AgendaServiceTest.java similarity index 82% rename from src/test/java/swiss/fihlon/apus/plugin/conference/ConferenceServiceTest.java rename to src/test/java/swiss/fihlon/apus/plugin/agenda/AgendaServiceTest.java index 5531748..a05d2e9 100644 --- a/src/test/java/swiss/fihlon/apus/plugin/conference/ConferenceServiceTest.java +++ b/src/test/java/swiss/fihlon/apus/plugin/agenda/AgendaServiceTest.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package swiss.fihlon.apus.plugin.conference; +package swiss.fihlon.apus.plugin.agenda; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -24,13 +24,13 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.scheduling.support.NoOpTaskScheduler; import swiss.fihlon.apus.configuration.Configuration; -import swiss.fihlon.apus.plugin.conference.doag.DoagConfig; +import swiss.fihlon.apus.plugin.agenda.doag.DoagConfig; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.when; @ExtendWith(MockitoExtension.class) -class ConferenceServiceTest { +class AgendaServiceTest { @Mock private Configuration configuration; @@ -41,7 +41,7 @@ void displaySampleData() { when(configuration.getDoag()).thenReturn(new DoagConfig(773)); - final ConferenceService conferenceService = new ConferenceService(new NoOpTaskScheduler(), configuration); - assertEquals(12, conferenceService.getRoomsWithSessions().size()); + final AgendaService agendaService = new AgendaService(new NoOpTaskScheduler(), configuration); + assertEquals(12, agendaService.getRoomsWithSessions().size()); } } diff --git a/src/test/java/swiss/fihlon/apus/plugin/conference/doag/DoagPluginTest.java b/src/test/java/swiss/fihlon/apus/plugin/agenda/doag/DoagPluginTest.java similarity index 96% rename from src/test/java/swiss/fihlon/apus/plugin/conference/doag/DoagPluginTest.java rename to src/test/java/swiss/fihlon/apus/plugin/agenda/doag/DoagPluginTest.java index 18ff84f..4f565e7 100644 --- a/src/test/java/swiss/fihlon/apus/plugin/conference/doag/DoagPluginTest.java +++ b/src/test/java/swiss/fihlon/apus/plugin/agenda/doag/DoagPluginTest.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package swiss.fihlon.apus.plugin.conference.doag; +package swiss.fihlon.apus.plugin.agenda.doag; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; diff --git a/src/test/java/swiss/fihlon/apus/ui/view/SocialWallViewTest.java b/src/test/java/swiss/fihlon/apus/ui/view/SocialWallViewTest.java index 0101559..cd23bca 100644 --- a/src/test/java/swiss/fihlon/apus/ui/view/SocialWallViewTest.java +++ b/src/test/java/swiss/fihlon/apus/ui/view/SocialWallViewTest.java @@ -30,7 +30,7 @@ class SocialWallViewTest extends KaribuTest { void socialWallContainsViews() { UI.getCurrent().navigate(SocialWallView.class); _assertOne(SocialWallView.class); - _assertOne(ConferenceView.class); + _assertOne(AgendaView.class); _assertOne(SocialView.class); }