Skip to content

Commit

Permalink
— Modification: HardwareMonitoringSubscriber created once based on ba…
Browse files Browse the repository at this point in the history
…se JWT security or base on JWT+websockets security
  • Loading branch information
yyluchkiv committed Jul 15, 2024
1 parent 8641507 commit 16b5058
Show file tree
Hide file tree
Showing 10 changed files with 37 additions and 23 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
### Changelog [v3.0.4]
— Modification: hardware monitoring store, CircularFifoQueue -> Deque
— Modification: HardwareMonitoringSubscriber created once based on base JWT security or base on JWT+websockets security
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
import io.tech1.framework.foundation.services.hardware.resources.HardwareMonitoringResource;
import io.tech1.framework.foundation.services.hardware.store.HardwareMonitoringStore;
import io.tech1.framework.foundation.services.hardware.store.impl.HardwareMonitoringStoreImpl;
import io.tech1.framework.foundation.services.hardware.subscribers.HardwareMonitoringSubscriber;
import io.tech1.framework.foundation.services.hardware.subscribers.impl.BaseHardwareMonitoringSubscriber;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
Expand Down Expand Up @@ -44,13 +42,6 @@ HardwareMonitoringPublisher hardwareMonitoringPublisher() {
);
}

@Bean
HardwareMonitoringSubscriber hardwareMonitoringSubscriber() {
return new BaseHardwareMonitoringSubscriber(
this.hardwareMonitoringStore()
);
}

@Bean
HardwareMonitoringResource hardwareMonitoringResource() {
return new HardwareMonitoringResource(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
package io.tech1.framework.foundation.services.hardware.subscribers.impl;
package io.tech1.framework.foundation.services.hardware.subscribers.base;

import io.tech1.framework.foundation.domain.events.hardware.EventLastHardwareMonitoringDatapoint;
import io.tech1.framework.foundation.domain.pubsub.AbstractEventSubscriber;
import io.tech1.framework.foundation.services.hardware.store.HardwareMonitoringStore;
import io.tech1.framework.foundation.services.hardware.subscribers.HardwareMonitoringSubscriber;
import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Slf4j
@AllArgsConstructor
@Component
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class BaseHardwareMonitoringSubscriber extends AbstractEventSubscriber implements HardwareMonitoringSubscriber {

private final HardwareMonitoringStore hardwareMonitoringStore;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.tech1.framework.foundation.services.hardware.subscribers.impl;
package io.tech1.framework.foundation.services.hardware.subscribers.base;

import io.tech1.framework.foundation.domain.events.hardware.EventLastHardwareMonitoringDatapoint;
import io.tech1.framework.foundation.services.hardware.store.HardwareMonitoringStore;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import io.tech1.framework.foundation.domain.base.PropertyId;
import io.tech1.framework.iam.configurations.AbstractApplicationSecurityJwtConfigurer;
import io.tech1.framework.iam.configurations.ApplicationBaseSecurityJwt;
import io.tech1.framework.iam.configurations.ApplicationBaseSecurityJwtWebsockets;
import io.tech1.framework.iam.server.base.properties.ApplicationProperties;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;
Expand All @@ -22,7 +23,7 @@
// -------------------------------------------------------------------------------------------------------------
})
@Import({
ApplicationBaseSecurityJwt.class
ApplicationBaseSecurityJwtWebsockets.class
})
@EnableConfigurationProperties({
ApplicationProperties.class
Expand Down
17 changes: 17 additions & 0 deletions tech1-framework-iam-server/src/main/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,23 @@ tech1:
enabled: true
session-refreshed:
enabled: true
security-jwt-websockets-configs:
csrf-configs:
header-name: "t-csrf-header"
parameter-name: "_csrf"
token-key: "t-csrf-token"
stomp-configs:
endpoint: /t1f-iam-server-websockets
broker-configs:
application-destination-prefix: /app
simple-destination: /queue
user-destination-prefix: /user
template-configs:
enabled: true
features-configs:
hardware-configs:
enabled: true
user-destination: "/account"

# Tech1 Server
tech1-server:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,10 @@
@ComponentScan({
// -------------------------------------------------------------------------------------------------------------
"io.tech1.framework.iam.crons",
"io.tech1.framework.iam.events",
"io.tech1.framework.iam.events.publishers.base",
"io.tech1.framework.iam.events.publishers.impl",
"io.tech1.framework.iam.events.subscribers.base",
"io.tech1.framework.iam.events.subscribers.impl",
"io.tech1.framework.iam.handlers.exceptions",
"io.tech1.framework.iam.resources",
"io.tech1.framework.iam.services.base",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import io.tech1.framework.iam.handshakes.SecurityHandshakeHandler;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
Expand All @@ -31,6 +32,7 @@
* </a>
*/
// idea - reconnect flow: https://stackoverflow.com/questions/53244720/spring-websocket-stomp-exception-handling
@Slf4j
@Configuration
@Import({
ApplicationBaseSecurityJwt.class
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,12 @@
import io.tech1.framework.foundation.domain.events.hardware.EventLastHardwareMonitoringDatapoint;
import io.tech1.framework.foundation.incidents.events.publishers.IncidentPublisher;
import io.tech1.framework.foundation.services.hardware.store.HardwareMonitoringStore;
import io.tech1.framework.foundation.services.hardware.subscribers.impl.BaseHardwareMonitoringSubscriber;
import io.tech1.framework.iam.configurations.ApplicationBaseSecurityJwtWebsockets;
import io.tech1.framework.foundation.services.hardware.subscribers.base.BaseHardwareMonitoringSubscriber;
import io.tech1.framework.iam.tasks.HardwareBackPressureTimerTask;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.context.annotation.Primary;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

@Primary
@ConditionalOnBean(ApplicationBaseSecurityJwtWebsockets.class)
@Slf4j
@Component
public class HardwareMonitoringSubscriberWebsockets extends BaseHardwareMonitoringSubscriber {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,6 @@ public void send() {
}

public boolean isAnyProblemOrFirstDatapoint() {
return this.hardwareMonitoringStore.getHardwareMonitoringWidget().datapoint().isAnyProblem() ||
this.hardwareMonitoringStore.containsOneElement();
return this.hardwareMonitoringStore.containsOneElement() || this.hardwareMonitoringStore.getHardwareMonitoringWidget().datapoint().isAnyProblem();
}
}

0 comments on commit 16b5058

Please sign in to comment.