Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: fix cross dependecy to messages in scim #7005 #7006

Merged
merged 3 commits into from
Dec 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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