Class 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
    • 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
    • Method Detail

      • getResourceModelSourceExceptions

        public java.util.ArrayList<java.lang.Throwable> getResourceModelSourceExceptions()
        Specified by:
        getResourceModelSourceExceptions in interface IProjectNodes
        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 interface IProjectNodes
        Returns:
        the set of exceptions produced by the last attempt to invoke all node providers
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.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 source
        ident - unique identity for this cached source, used in filename
        descr - description of the source, used in logging
        logging - 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 interface IProjectNodes
        Returns:
        a list of maps containing:
        • type - provider type name
        • props - configuration properties
      • 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 interface IProjectNodes
        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 interface IProjectNodes
        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 name
        props - properties
        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,
                                                                                      boolean extra)
        Return a list of resource model configuration
        Parameters:
        serviceName - service name
        props - properties
        keyprefix - 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)