Skip to content

Commit

Permalink
fix: fix cross dependecy to messages in sciim #7005 (#7006)
Browse files Browse the repository at this point in the history
Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com>
Signed-off-by: Mustafa Baser <mbaser@mail.com>
  • Loading branch information
2 people authored and devrimyatar committed Dec 30, 2023
1 parent b20460c commit abf5635
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 8 deletions.
4 changes: 4 additions & 0 deletions jans-scim/service/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,10 @@
<groupId>io.jans</groupId>
<artifactId>jans-core-cache</artifactId>
</dependency>
<dependency>
<groupId>io.jans</groupId>
<artifactId>jans-core-message</artifactId>
</dependency>
<dependency>
<groupId>io.jans</groupId>
<artifactId>jans-core-radius</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import io.jans.orm.model.base.InumEntry;
import io.jans.service.cache.CacheConfiguration;
import io.jans.service.document.store.conf.DocumentStoreConfiguration;
import io.jans.service.message.model.config.MessageConfiguration;

/**
* GluuConfiguration
Expand Down Expand Up @@ -76,6 +77,10 @@ public class GluuConfiguration extends InumEntry implements Serializable {
@JsonObject
private CacheConfiguration cacheConfiguration;

@AttributeName(name = "jansMessageConf")
@JsonObject
private MessageConfiguration messageConfiguration;

@AttributeName(name = "jansDocStoreConf")
@JsonObject
private DocumentStoreConfiguration documentStoreConfiguration;
Expand Down Expand Up @@ -190,6 +195,14 @@ public void setCacheConfiguration(CacheConfiguration cacheConfiguration) {
this.cacheConfiguration = cacheConfiguration;
}

public MessageConfiguration getMessageConfiguration() {
return messageConfiguration;
}

public void setMessageConfiguration(MessageConfiguration messageConfiguration) {
this.messageConfiguration = messageConfiguration;
}

public DocumentStoreConfiguration getDocumentStoreConfiguration() {
return documentStoreConfiguration;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,25 @@

package io.jans.scim.service;

import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.context.RequestScoped;
import jakarta.enterprise.inject.Produces;
import jakarta.inject.Inject;
import org.slf4j.Logger;

import io.jans.scim.model.conf.AppConfiguration;
import io.jans.model.SmtpConfiguration;
import io.jans.orm.PersistenceEntryManagerFactory;
import io.jans.orm.model.PersistenceConfiguration;
import io.jans.orm.service.PersistanceFactoryService;
import io.jans.scim.model.GluuConfiguration;
import io.jans.scim.model.conf.AppConfiguration;
import io.jans.service.cache.CacheConfiguration;
import io.jans.service.cache.InMemoryConfiguration;
import io.jans.service.document.store.conf.DocumentStoreConfiguration;
import io.jans.service.document.store.conf.LocalDocumentStoreConfiguration;
import org.slf4j.Logger;

import io.jans.scim.model.GluuConfiguration;
import io.jans.service.message.model.config.MessageConfiguration;
import io.jans.service.message.model.config.MessageProviderType;
import io.jans.service.message.model.config.NullMessageConfiguration;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.context.RequestScoped;
import jakarta.enterprise.inject.Produces;
import jakarta.inject.Inject;

/**
* Holds factory methods to create services
Expand Down Expand Up @@ -75,6 +77,26 @@ public CacheConfiguration getCacheConfiguration() {
return cacheConfiguration;
}

@Produces
@ApplicationScoped
public MessageConfiguration getMessageConfiguration() {
MessageConfiguration messageConfiguration = configurationService.getConfiguration().getMessageConfiguration();
if (messageConfiguration == null || messageConfiguration.getMessageProviderType() == null) {
log.error("Failed to read message configuration from DB. Please check configuration jsMessageConf attribute " +
"that must contain message configuration JSON represented by MessageConfiguration.class. Appliance DN: " + configurationService.getConfiguration().getDn());
log.info("Creating fallback Null message configuration ... ");

messageConfiguration = new MessageConfiguration();
messageConfiguration.setMessageProviderType(MessageProviderType.NULL);
messageConfiguration.setNullConfiguration(new NullMessageConfiguration());

log.info("NULL message configuration is created.");
}

log.info("Message configuration: " + messageConfiguration);
return messageConfiguration;
}

@Produces @ApplicationScoped
public DocumentStoreConfiguration getDocumentStoreConfiguration() {
DocumentStoreConfiguration documentStoreConfiguration = configurationService.getConfiguration().getDocumentStoreConfiguration();
Expand Down

0 comments on commit abf5635

Please sign in to comment.