A Runtime Resource Configuration Holder

Registered by Wilson

A global resource configuration holder that acts a profile-dependent repository for resource-specific information.

Blueprint information

Status:
Not started
Approver:
Wilson
Priority:
Undefined
Drafter:
Wilson
Direction:
Needs approval
Assignee:
Wilson
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

A resource specific configuration holder that holds basic information about resources throughout the Nova runtime. The container specific implementation must provide a mechanism for creating a referencing the core resource bean at runtime.

<resource-base name="bla" profile="xyz">
    <prompt-base>
         <property name="baseURL" value="http:/localhost:8080/devEnv/prompts" />
         <property name="extension" value="wav" />
         <property name="locale" value="en-GB"/>
    <prompt-base/>
   <grammar-base>
         <property name="baseURL" value="http:/localhost:8080/devEnv/" />
         <property name="extension" value="wav" />
         <property name="locale" value="en-GB"/>
   </grammar-base/>
   <activity-base ... />
   <transfer-base .../>
</resource-base>

This way, dynamic resource factories can reference profile specific properties in a consistent fashion:

public interface BaseResourceConfiguration {

    Map<String, String> getPromptBaseAttributes(); // Produces immutable map (since we are stateless)
    Map<String, String> getGrammarBaseAttributes();
    Map<String, String> getActivityBaseAttributes();

}

So prompt generators can use this information to create prompt sets that are dependent on profile-specific attributes:

class MonetaryPromptGenerator<String> implements PromptGenerator, BaseResourceAware {

     public void setResourceConfiguration(ResourceConfiguration config) {
           this.resourceConfiguration = config;
     }

     PromptSet generate(String val) {
            Map<String, String> base = config.getPromptBaseAttributes();
     }
}

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.