import java.util.ArrayList;
import java.util.List;
-import org.oransc.ric.portal.dashboard.model.InstanceTransport;
+import org.oransc.ric.portal.dashboard.model.RicInstance;
+import org.oransc.ric.portal.dashboard.model.RicInstanceList;
import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Profile;
/**
- * Holds the list of RIC instances read from configuration data. This asserts no
- * Spring profile such as ("!test"). No mock version of this class is required.
- * Populated from a YAML list in the application properties like this:
+ * Publishes a list of RIC instances from configuration, written as a YAML list
+ * in application properties like this:
*
* <pre>
- * ric-instance-list:
+ * ricinstances:
instances:
-
key: key1
name: Friendly Name One
+ urlPrefix: http://foo.bar.one/
-
key: key2
name: Friendly Name Two
+ urlPrefix: http://foo.bar.two/
* </pre>
*/
@Configuration
-@ConfigurationProperties(prefix = "ric-instance-list")
+@ConfigurationProperties(prefix = "ricinstances")
+@Profile("!test")
public class RICInstanceConfiguration {
- private List<InstanceTransport> instances = new ArrayList<>();
- public List<InstanceTransport> getInstances() {
- return instances;
- }
+ private List<RicInstance> instances = new ArrayList<>();
- public void setInstances(List<InstanceTransport> instances) {
+ // Called by spring with config data
+ public void setInstances(List<RicInstance> instances) {
this.instances = instances;
}
+
+ @Bean
+ public RicInstanceList ricInstanceList() {
+ return new RicInstanceList(instances);
+ }
+
}