Package com.dtolabs.rundeck.core.common
Class ProjectNodeSupport
- java.lang.Object
-
- com.dtolabs.rundeck.core.common.ProjectNodeSupport
-
- All Implemented Interfaces:
IProjectNodes
,java.io.Closeable
,java.lang.AutoCloseable
public class ProjectNodeSupport extends java.lang.Object implements IProjectNodes, java.io.Closeable
Manage node source loading for a project
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ProjectNodeSupport.ProjectWriteableNodes
-
Nested classes/interfaces inherited from interface com.dtolabs.rundeck.core.common.IProjectNodes
IProjectNodes.ReadableProjectNodes, IProjectNodes.WriteableProjectNodes
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
NODE_ENHANCER_PROP_PREFIX
static java.lang.String
PROJECT_RESOURCES_FILE_PROPERTY
static java.lang.String
PROJECT_RESOURCES_MERGE_NODE_ATTRIBUTES
static java.lang.String
PROJECT_RESOURCES_URL_PROPERTY
static java.lang.String
RESOURCES_SOURCE_PROP_PREFIX
-
Constructor Summary
Constructors Constructor Description ProjectNodeSupport(IRundeckProjectConfig projectConfig, ResourceFormatGeneratorService resourceFormatGeneratorService, ResourceModelSourceService resourceModelSourceService)
Deprecated.use#ProjectNodeSupport(IRundeckProjectConfig, ResourceFormatGeneratorService, ResourceModelSourceService, Function)
ProjectNodeSupport(IRundeckProjectConfig projectConfig, ResourceFormatGeneratorService resourceFormatGeneratorService, ResourceModelSourceService resourceModelSourceService, NodeSourceLoader nodeSourceLoader)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ResourceModelSource
asModelSource(IProjectNodes nodes)
void
close()
ResourceModelSource
createCachingSource(ResourceModelSource origin, java.lang.String ident, java.lang.String descr, SourceFactory.CacheType type, boolean logging)
static java.util.Map<java.lang.String,java.lang.Object>
createMapExtraProperties(java.util.Map<java.lang.String,java.lang.Object> extraProps)
static java.util.Properties
generateExtraProperties(java.lang.String propPrefix, java.util.Map<java.lang.String,java.lang.Object> extra)
INodeSet
getNodeSet()
Returns the set of nodes for the projectIRundeckProjectConfig
getProjectConfig()
java.util.ArrayList<java.lang.Throwable>
getResourceModelSourceExceptions()
java.util.Map<java.lang.String,java.lang.Throwable>
getResourceModelSourceExceptionsMap()
java.util.List<IProjectNodes.ReadableProjectNodes>
getResourceModelSources()
java.util.Collection<IProjectNodes.WriteableProjectNodes>
getWriteableResourceModelSources()
java.util.List<ExtPluginConfiguration>
listNodeEnhancerConfigurations()
list the configurations of node enhancer providers.java.util.List<ExtPluginConfiguration>
listPluginConfigurations(java.lang.String keyprefix, java.lang.String serviceName)
Return a list of resource model configurationjava.util.List<ExtPluginConfiguration>
listPluginConfigurations(java.lang.String keyprefix, java.lang.String serviceName, boolean extra)
Return a list of resource model configurationstatic java.util.List<ExtPluginConfiguration>
listPluginConfigurations(java.util.Map<java.lang.String,java.lang.String> props, java.lang.String keyprefix, java.lang.String serviceName)
Return a list of resource model configurationstatic java.util.List<ExtPluginConfiguration>
listPluginConfigurations(java.util.Map<java.lang.String,java.lang.String> props, java.lang.String keyprefix, java.lang.String serviceName, boolean extra)
Return a list of resource model configurationjava.util.List<java.util.Map<java.lang.String,java.lang.Object>>
listResourceModelConfigurations()
list the configurations of resource model providers.static java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
listResourceModelConfigurations(java.util.Properties props)
Return a list of resource model configurationjava.util.List<ExtPluginConfiguration>
listResourceModelPluginConfigurations()
list the configurations of resource model providers.static java.util.Properties
serializePluginConfigurations(java.lang.String prefix, java.util.List<ExtPluginConfiguration> configs, boolean extra)
static java.util.Properties
serializePluginConfigurations(java.lang.String prefix, java.util.List<PluginConfiguration> configs)
static void
serializeProp(java.lang.String prefix, java.util.Properties projProps, int count, PluginConfiguration config)
static java.util.Properties
serializeResourceModelConfigurations(java.util.List<java.util.Map<java.lang.String,java.lang.Object>> configs)
-
-
-
Field Detail
-
PROJECT_RESOURCES_URL_PROPERTY
public static final java.lang.String PROJECT_RESOURCES_URL_PROPERTY
- See Also:
- Constant Field Values
-
PROJECT_RESOURCES_FILE_PROPERTY
public static final java.lang.String PROJECT_RESOURCES_FILE_PROPERTY
- See Also:
- Constant Field Values
-
RESOURCES_SOURCE_PROP_PREFIX
public static final java.lang.String RESOURCES_SOURCE_PROP_PREFIX
- See Also:
- Constant Field Values
-
NODE_ENHANCER_PROP_PREFIX
public static final java.lang.String NODE_ENHANCER_PROP_PREFIX
- See Also:
- Constant Field Values
-
PROJECT_RESOURCES_MERGE_NODE_ATTRIBUTES
public static final java.lang.String PROJECT_RESOURCES_MERGE_NODE_ATTRIBUTES
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ProjectNodeSupport
public ProjectNodeSupport(IRundeckProjectConfig projectConfig, ResourceFormatGeneratorService resourceFormatGeneratorService, ResourceModelSourceService resourceModelSourceService, NodeSourceLoader nodeSourceLoader)
- Parameters:
projectConfig
-resourceFormatGeneratorService
-nodeSourceLoader
- model source provider
-
ProjectNodeSupport
public ProjectNodeSupport(IRundeckProjectConfig projectConfig, ResourceFormatGeneratorService resourceFormatGeneratorService, ResourceModelSourceService resourceModelSourceService)
Deprecated.use#ProjectNodeSupport(IRundeckProjectConfig, ResourceFormatGeneratorService, ResourceModelSourceService, Function)
- Parameters:
projectConfig
-resourceFormatGeneratorService
-
-
-
Method Detail
-
getNodeSet
public INodeSet getNodeSet()
Returns the set of nodes for the project- Specified by:
getNodeSet
in interfaceIProjectNodes
- Returns:
- an instance of
INodeSet
-
getResourceModelSourceExceptions
public java.util.ArrayList<java.lang.Throwable> getResourceModelSourceExceptions()
- Specified by:
getResourceModelSourceExceptions
in interfaceIProjectNodes
- Returns:
- the set of exceptions produced by the last attempt to invoke all node providers
-
getResourceModelSourceExceptionsMap
public java.util.Map<java.lang.String,java.lang.Throwable> getResourceModelSourceExceptionsMap()
- Specified by:
getResourceModelSourceExceptionsMap
in interfaceIProjectNodes
- Returns:
- the set of exceptions produced by the last attempt to invoke all node providers
-
getResourceModelSources
public java.util.List<IProjectNodes.ReadableProjectNodes> getResourceModelSources()
- Specified by:
getResourceModelSources
in interfaceIProjectNodes
- Returns:
- all sources
-
getWriteableResourceModelSources
public java.util.Collection<IProjectNodes.WriteableProjectNodes> getWriteableResourceModelSources()
- Specified by:
getWriteableResourceModelSources
in interfaceIProjectNodes
- Returns:
- writeable sources
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
asModelSource
public static ResourceModelSource asModelSource(IProjectNodes nodes)
- Parameters:
nodes
- IProjectNodes- Returns:
- model source view of the nodes
-
createCachingSource
public ResourceModelSource createCachingSource(ResourceModelSource origin, java.lang.String ident, java.lang.String descr, SourceFactory.CacheType type, boolean logging)
- Parameters:
logging
-origin
- origin sourceident
- unique identity for this cached source, used in filenamedescr
- description of the source, used in logginglogging
- if true, log cache access- Returns:
- new source
-
listResourceModelConfigurations
public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> listResourceModelConfigurations()
list the configurations of resource model providers.- Specified by:
listResourceModelConfigurations
in interfaceIProjectNodes
- Returns:
- a list of maps containing:
- type - provider type name
- props - configuration properties
-
listResourceModelPluginConfigurations
public java.util.List<ExtPluginConfiguration> listResourceModelPluginConfigurations()
list the configurations of resource model providers.- Specified by:
listResourceModelPluginConfigurations
in interfaceIProjectNodes
- Returns:
- a list of PluginConfiguration
-
listNodeEnhancerConfigurations
public java.util.List<ExtPluginConfiguration> listNodeEnhancerConfigurations()
list the configurations of node enhancer providers.- Specified by:
listNodeEnhancerConfigurations
in interfaceIProjectNodes
- Returns:
- a list of PluginConfiguration
-
serializeResourceModelConfigurations
public static java.util.Properties serializeResourceModelConfigurations(java.util.List<java.util.Map<java.lang.String,java.lang.Object>> configs)
- Returns:
- Properties form for the serialized list of model source configurations
-
serializePluginConfigurations
public static java.util.Properties serializePluginConfigurations(java.lang.String prefix, java.util.List<PluginConfiguration> configs)
- Returns:
- Properties form for the serialized list of indexed plugin configurations with a prefix
-
serializeProp
public static void serializeProp(java.lang.String prefix, java.util.Properties projProps, int count, PluginConfiguration config)
-
serializePluginConfigurations
public static java.util.Properties serializePluginConfigurations(java.lang.String prefix, java.util.List<ExtPluginConfiguration> configs, boolean extra)
- Parameters:
extra
- if true, include extra data- Returns:
- Properties form for the serialized list of indexed plugin configurations with a prefix
-
generateExtraProperties
public static java.util.Properties generateExtraProperties(java.lang.String propPrefix, java.util.Map<java.lang.String,java.lang.Object> extra)
-
listResourceModelConfigurations
public static java.util.List<java.util.Map<java.lang.String,java.lang.Object>> listResourceModelConfigurations(java.util.Properties props)
Return a list of resource model configuration- Parameters:
props
- properties- Returns:
- List of Maps, each map containing "type": String, "props":Properties
-
listPluginConfigurations
public java.util.List<ExtPluginConfiguration> listPluginConfigurations(java.lang.String keyprefix, java.lang.String serviceName)
Return a list of resource model configuration- Specified by:
listPluginConfigurations
in interfaceIProjectNodes
- Parameters:
serviceName
-keyprefix
- prefix for properties- Returns:
- List of Maps, each map containing "type": String, "props":Properties
-
listPluginConfigurations
public java.util.List<ExtPluginConfiguration> listPluginConfigurations(java.lang.String keyprefix, java.lang.String serviceName, boolean extra)
Return a list of resource model configuration- Specified by:
listPluginConfigurations
in interfaceIProjectNodes
- Parameters:
serviceName
-keyprefix
- prefix for properties- Returns:
- List of Maps, each map containing "type": String, "props":Properties
-
listPluginConfigurations
public static java.util.List<ExtPluginConfiguration> listPluginConfigurations(java.util.Map<java.lang.String,java.lang.String> props, java.lang.String keyprefix, java.lang.String serviceName)
Return a list of resource model configuration- Parameters:
serviceName
- service nameprops
- propertieskeyprefix
- prefix for properties- Returns:
- List of Maps, each map containing "type": String, "props":Properties
-
listPluginConfigurations
public static java.util.List<ExtPluginConfiguration> listPluginConfigurations(java.util.Map<java.lang.String,java.lang.String> props, java.lang.String keyprefix, java.lang.String serviceName, boolean extra)
Return a list of resource model configuration- Parameters:
serviceName
- service nameprops
- propertieskeyprefix
- prefix for properties- Returns:
- List of Maps, each map containing "type": String, "props":Properties
-
createMapExtraProperties
public static java.util.Map<java.lang.String,java.lang.Object> createMapExtraProperties(java.util.Map<java.lang.String,java.lang.Object> extraProps)
-
getProjectConfig
public IRundeckProjectConfig getProjectConfig()
-
-