Migrated code to new APIs version

This commit is contained in:
Luca Frosini 2023-05-04 10:25:10 +02:00
parent 7f190700c3
commit ce04881b32
3 changed files with 39 additions and 19 deletions

View File

@ -9,6 +9,7 @@ import org.gcube.common.security.AuthorizedTasks;
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
import org.gcube.resourcemanagement.model.reference.entities.resources.EService;
import org.gcube.resourcemanagement.model.reference.entities.resources.HostingNode;
import org.gcube.smartgears.configuration.AuthorizationProviderConfiguration;
import org.gcube.smartgears.connector.resourceregistry.resourcemanager.EServiceManager;
import org.gcube.smartgears.connector.resourceregistry.resourcemanager.HostingNodeManager;
import org.gcube.smartgears.context.Property;
@ -17,6 +18,7 @@ import org.gcube.smartgears.context.container.ContainerContext;
import org.gcube.smartgears.publishing.Publisher;
import org.gcube.smartgears.publishing.SmartgearsProfilePublisher;
import org.gcube.smartgears.security.AuthorizationProvider;
import org.gcube.smartgears.security.AuthorizationProviderFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -25,10 +27,21 @@ public class FacetBasedPublisher implements Publisher {
private static Logger logger = LoggerFactory.getLogger(FacetBasedPublisher.class);
public static AuthorizationProvider getAuthorizationProvider(ApplicationContext applicationContext) {
return FacetBasedPublisher.getAuthorizationProvider(applicationContext.container());
}
public static AuthorizationProvider getAuthorizationProvider(ContainerContext containerContext) {
AuthorizationProviderConfiguration authorizationProviderConfiguration = containerContext.configuration().authorizationConfiguration();
AuthorizationProviderFactory<?> authorizationProviderFactory = authorizationProviderConfiguration.getAuthProviderFactory();
AuthorizationProvider authorizationProvider = authorizationProviderFactory.connect(authorizationProviderConfiguration.getCredentials());
return authorizationProvider;
}
@Override
public boolean create(ContainerContext containerContext, Set<String> contexts) {
AuthorizationProvider authorizationProvider = containerContext.configuration().authorizationProvider();
AuthorizationProvider authorizationProvider = FacetBasedPublisher.getAuthorizationProvider(containerContext);
SortedSet<String> contextToIterate = new TreeSet<>(contexts);
final String context = contextToIterate.first();
try {
@ -58,7 +71,7 @@ public class FacetBasedPublisher implements Publisher {
@Override
public boolean create(ApplicationContext applicationContext, Set<String> contexts) {
AuthorizationProvider authorizationProvider = applicationContext.container().configuration().authorizationProvider();
AuthorizationProvider authorizationProvider = FacetBasedPublisher.getAuthorizationProvider(applicationContext);
SortedSet<String> contextToIterate = new TreeSet<>(contexts);
final String context = contextToIterate.first();
@ -90,7 +103,7 @@ public class FacetBasedPublisher implements Publisher {
@Override
public boolean remove(ContainerContext containerContext, Set<String> contexts) {
HostingNodeManager hostingNodeManager = (HostingNodeManager) containerContext.properties().lookup(Constants.HOSTING_NODE_MANAGER_PROPERTY).value();
AuthorizationProvider authorizationProvider = containerContext.configuration().authorizationProvider();
AuthorizationProvider authorizationProvider = FacetBasedPublisher.getAuthorizationProvider(containerContext);
for(String context : contexts) {
try {
AuthorizedTasks.executeSafely( () -> {
@ -111,7 +124,7 @@ public class FacetBasedPublisher implements Publisher {
@Override
public boolean remove(ApplicationContext applicationContext, Set<String> contexts) {
EServiceManager eServiceManager = (EServiceManager) applicationContext.properties().lookup(Constants.ESERVICE_MANAGER_PROPERTY).value();
AuthorizationProvider authorizationProvider = applicationContext.container().configuration().authorizationProvider();
AuthorizationProvider authorizationProvider = FacetBasedPublisher.getAuthorizationProvider(applicationContext);
for(String context : contexts) {
try {
AuthorizedTasks.executeSafely( () -> {
@ -132,7 +145,7 @@ public class FacetBasedPublisher implements Publisher {
@Override
public boolean update(ContainerContext containerContext) {
HostingNodeManager hostingNodeManager = (HostingNodeManager) containerContext.properties().lookup(Constants.HOSTING_NODE_MANAGER_PROPERTY).value();
AuthorizationProvider authorizationProvider = containerContext.configuration().authorizationProvider();
AuthorizationProvider authorizationProvider = FacetBasedPublisher.getAuthorizationProvider(containerContext);
SortedSet<String> contextToIterate = new TreeSet<>(authorizationProvider.getContexts());
final String context = contextToIterate.first();
try {
@ -152,7 +165,7 @@ public class FacetBasedPublisher implements Publisher {
@Override
public boolean update(ApplicationContext applicationContext) {
EServiceManager eServiceManager = (EServiceManager) applicationContext.properties().lookup(Constants.ESERVICE_MANAGER_PROPERTY).value();
AuthorizationProvider authorizationProvider = applicationContext.container().configuration().authorizationProvider();
AuthorizationProvider authorizationProvider = FacetBasedPublisher.getAuthorizationProvider(applicationContext);
SortedSet<String> contextToIterate = new TreeSet<>(authorizationProvider.getContexts());
final String context = contextToIterate.first();
try {

View File

@ -50,10 +50,12 @@ import org.gcube.resourcemanagement.model.reference.entities.resources.HostingNo
import org.gcube.resourcemanagement.model.reference.properties.ValueSchema;
import org.gcube.resourcemanagement.model.reference.relations.consistsof.IsIdentifiedBy;
import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.Activates;
import org.gcube.smartgears.configuration.ProxyAddress;
import org.gcube.smartgears.configuration.application.ApplicationConfiguration;
import org.gcube.smartgears.configuration.container.ContainerConfiguration;
import org.gcube.smartgears.connector.resourceregistry.Constants;
import org.gcube.smartgears.connector.resourceregistry.ContextUtility;
import org.gcube.smartgears.connector.resourceregistry.FacetBasedPublisher;
import org.gcube.smartgears.context.application.ApplicationContext;
import org.gcube.smartgears.security.AuthorizationProvider;
import org.slf4j.Logger;
@ -85,7 +87,7 @@ public class EServiceManager {
UUID contextUUID = ContextUtility.getContextUUID(context);
/* Trying to get a context which is not the current to properly invoke the addToContext without forcing the operation using addResourceToCurrentContext */
AuthorizationProvider authorizationProvider = applicationContext.container().configuration().authorizationProvider();
AuthorizationProvider authorizationProvider = FacetBasedPublisher.getAuthorizationProvider(applicationContext);
Set<String> contexts = authorizationProvider.getContexts();
boolean anotherContextSet = false;
for (String c : contexts) {
@ -117,7 +119,7 @@ public class EServiceManager {
UUID contextUUID = ContextUtility.getContextUUID(context);
/* Trying to get a context which is not the current to properly invoke the addToContext without forcing the operation using addResourceToCurrentContext */
AuthorizationProvider authorizationProvider = applicationContext.container().configuration().authorizationProvider();
AuthorizationProvider authorizationProvider = FacetBasedPublisher.getAuthorizationProvider(applicationContext);
Set<String> contexts = authorizationProvider.getContexts();
boolean anotherContextSet = false;
for (String c : contexts) {
@ -181,12 +183,14 @@ public class EServiceManager {
private String getBaseAddress() {
ApplicationConfiguration configuration = applicationContext.configuration();
ContainerConfiguration container = applicationContext.container().configuration();
String baseAddress;
if (configuration.proxable()) {
String protocol = configuration.proxyAddress().getProtocol();
String port = configuration.proxyAddress().getPort() != null ? ":" + configuration.proxyAddress().getPort() : "";
ProxyAddress proxyAddress = container.proxy();
String protocol = proxyAddress.getProtocol();
String port = proxyAddress.getPort() != null ? ":" + proxyAddress.getPort() : "";
baseAddress = String.format("%s://%s%s%s", protocol, configuration.proxyAddress().getHostname(), port,
baseAddress = String.format("%s://%s%s%s", protocol, proxyAddress.getHostname(), port,
applicationContext.application().getContextPath());
} else {
String protocol = container.protocol();
@ -232,7 +236,7 @@ public class EServiceManager {
SoftwareFacet softwareFacet = new SoftwareFacetImpl();
softwareFacet.setDescription(applicationConfiguration.description());
softwareFacet.setGroup(applicationConfiguration.serviceClass());
softwareFacet.setGroup(applicationConfiguration.group());
softwareFacet.setName(applicationConfiguration.name());
softwareFacet.setVersion(applicationConfiguration.version());

View File

@ -74,10 +74,12 @@ import org.gcube.resourcemanagement.model.reference.entities.resources.HostingNo
import org.gcube.resourcemanagement.model.reference.relations.consistsof.HasPersistentMemory;
import org.gcube.resourcemanagement.model.reference.relations.consistsof.HasVolatileMemory;
import org.gcube.resourcemanagement.model.reference.relations.consistsof.IsIdentifiedBy;
import org.gcube.smartgears.configuration.PersistenceConfiguration;
import org.gcube.smartgears.configuration.SmartgearsConfiguration;
import org.gcube.smartgears.configuration.container.ContainerConfiguration;
import org.gcube.smartgears.configuration.container.Site;
import org.gcube.smartgears.configuration.library.SmartGearsConfiguration;
import org.gcube.smartgears.connector.resourceregistry.ContextUtility;
import org.gcube.smartgears.connector.resourceregistry.FacetBasedPublisher;
import org.gcube.smartgears.context.container.ContainerContext;
import org.gcube.smartgears.provider.ProviderFactory;
import org.gcube.smartgears.security.AuthorizationProvider;
@ -117,7 +119,7 @@ public class HostingNodeManager {
UUID contextUUID = ContextUtility.getContextUUID(context);
/* Trying to get a context which is not the current to properly invoke the addToContext without forcing the operation using addResourceToCurrentContext */
AuthorizationProvider authorizationProvider = containerContext.configuration().authorizationProvider();
AuthorizationProvider authorizationProvider = FacetBasedPublisher.getAuthorizationProvider(containerContext);
Set<String> contexts = authorizationProvider.getContexts();
boolean anotherContextSet = false;
for (String c : contexts) {
@ -319,11 +321,11 @@ public class HostingNodeManager {
hostingNode.addFacet(osSoftwareFacet);
SmartGearsConfiguration config = ProviderFactory.provider().smartgearsConfiguration();
SmartgearsConfiguration config = ProviderFactory.provider().smartgearsConfiguration();
SoftwareFacet smartgearsSoftwareFacet = new SoftwareFacetImpl();
smartgearsSoftwareFacet.setGroup("gCube");
smartgearsSoftwareFacet.setName("SmartGears");
smartgearsSoftwareFacet.setVersion(config.version());
smartgearsSoftwareFacet.setVersion(config.getVersion());
hostingNode.addFacet(smartgearsSoftwareFacet);
SoftwareFacet smartgearsDistributionSoftwareFacet = new SoftwareFacetImpl();
@ -433,15 +435,16 @@ public class HostingNodeManager {
long free = 0;
long total = 0;
try {
PersistenceConfiguration persistenceConfiguration = containerContext.configuration().persistenceConfiguration();
FileStore fileStore = Files
.getFileStore(Paths.get(containerContext.configuration().persistence().getLocation()));
.getFileStore(Paths.get(persistenceConfiguration.getImplementationClass().newInstance().getLocation()));
free = fileStore.getUsableSpace() / 1048576; // 1048576 = 1024*1024
// user to convert
// bytes in MByte
total = fileStore.getTotalSpace() / 1048576; // 1048576 = 1024*1024
// user to convert
// bytes in MByte
} catch (IOException ioe) {
} catch (Exception ioe) {
logger.warn("Unable to detect disk space information", ioe);
memoryFacet.setAdditionalProperty(MESSAGE, "Unable to detect disk space information.");
}