Class OsgiAIConfigurationPluginImpl
- java.lang.Object
-
- com.composum.ai.backend.slingbase.impl.OsgiAIConfigurationPluginImpl
-
- All Implemented Interfaces:
AIConfigurationPlugin
public class OsgiAIConfigurationPluginImpl extends Object implements AIConfigurationPlugin
This implementation sources its configurations from the OSGI environment, specifically from instances ofGPTPermissionConfiguration. We use a factory to allow multiple instances of the configuration; if there are no configuration entries in the factory we use the (single) configuration of this service as fallback - which might just be the defaults.- See Also:
AIConfigurationPlugin,GPTPermissionConfiguration
-
-
Field Summary
Fields Modifier and Type Field Description protected List<OsgiAIConfigurationPluginFactory>factoryList
-
Constructor Summary
Constructors Constructor Description OsgiAIConfigurationPluginImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidactivate(GPTPermissionConfiguration configuration)List<GPTPermissionConfiguration>allowedServices(org.apache.sling.api.SlingHttpServletRequest request, String contentPath)Determines the allowed services based on the provided request, content path, and editor URL.protected voiddeactivate()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.composum.ai.backend.slingbase.AIConfigurationPlugin
getGPTConfiguration, getGPTConfigurationMap, getGPTPromptLibraryPaths, getGPTPromptLibraryPathsDefault
-
-
-
-
Field Detail
-
factoryList
protected volatile List<OsgiAIConfigurationPluginFactory> factoryList
-
-
Method Detail
-
activate
protected void activate(GPTPermissionConfiguration configuration)
-
deactivate
protected void deactivate()
-
allowedServices
@Nullable public List<GPTPermissionConfiguration> allowedServices(org.apache.sling.api.SlingHttpServletRequest request, String contentPath)
Description copied from interface:AIConfigurationPluginDetermines the allowed services based on the provided request, content path, and editor URL.- Specified by:
allowedServicesin interfaceAIConfigurationPlugin- Parameters:
request- The SlingHttpServletRequest representing the current request.contentPath- The path of the content being edited.- Returns:
- A set of allowed services; null if this plugin doesn't implement this method.
- See Also:
GPTPermissionInfo.SERVICE_CATEGORIZE,GPTPermissionInfo.SERVICE_CREATE,GPTPermissionInfo.SERVICE_SIDEPANEL,GPTPermissionInfo.SERVICE_TRANSLATE
-
-