On Wed, May 09, 2012 at 02:05:31PM -0400, Dan Radez wrote:
---
src/app/util/config_server_util.rb | 25 +++++++++++++++++--------
src/app/util/deployable-rng.xml | 5 ++++-
src/app/util/deployable_xml.rb | 4 ++++
3 files changed, 25 insertions(+), 9 deletions(-)
diff --git a/src/app/util/config_server_util.rb b/src/app/util/config_server_util.rb
index 971d89b..749f1cf 100644
--- a/src/app/util/config_server_util.rb
+++ b/src/app/util/config_server_util.rb
@@ -70,17 +70,25 @@ module ConfigServerUtil
class ReferenceParameterConfig < ParameterConfig
attr_accessor :assembly_name, :parameter_name
- def initialize(name, assembly_name, parameter_name)
- super(name)
+ def initialize(param, assembly_name)
+ super(param.name)
@assembly_name = assembly_name
- @parameter_name = parameter_name
+ @parameter_name = param.reference_parameter
+ @service_name = param.reference_service
end
protected
def _xml
- super do
- "<reference assembly='#{@assembly_name}'" +
- " provided-parameter='#{@parameter_name}'/>\n"
+ if @parameter_name
+ super do
+ "<reference assembly='#{@assembly_name}'" +
+ " provided-parameter='#{@parameter_name}'/>\n"
+ end
+ elsif @service_name
+ super do
+ "<reference assembly='#{@assembly_name}'" +
+ " service-parameter='#{@service_name}'/>\n"
+ end
end
end
end
@@ -157,6 +165,8 @@ module ConfigServerUtil
@deployable_id = deployable_id
@deployable_name = deployable_name
+ @config_xml = nil
+
@config_server = config_server
@uuid = @instance.uuid
@@ -206,8 +216,7 @@ module ConfigServerUtil
val = ValueParameterConfig.new(param.name, param.value)
elsif param.reference?
assembly_uuid = @assembly_uuids[param.reference_assembly]
- val = ReferenceParameterConfig.new(param.name,
- assembly_uuid, param.reference_parameter)
+ val = ReferenceParameterConfig.new(param, assembly_uuid)
else
raise InstanceConfigError, "No value provided for parameter. " +
"Assembly: #{(a)assembly.name}, Service: #{service.name}, " +
diff --git a/src/app/util/deployable-rng.xml b/src/app/util/deployable-rng.xml
index 88884e8..a8b01db 100644
--- a/src/app/util/deployable-rng.xml
+++ b/src/app/util/deployable-rng.xml
@@ -145,7 +145,10 @@
<element name="value"><text/></element>
<element name="reference">
<attribute name="assembly"><text/></attribute>
- <attribute name="parameter"><text/></attribute>
+ <choice>
+ <attribute name="parameter"><text/></attribute>
+ <attribute name="service"><text/></attribute>
+ </choice>
</element>
</choice>
</element>
diff --git a/src/app/util/deployable_xml.rb b/src/app/util/deployable_xml.rb
index 272476d..568e8c6 100644
--- a/src/app/util/deployable_xml.rb
+++ b/src/app/util/deployable_xml.rb
@@ -48,6 +48,10 @@ class ParameterXML
reference_node['assembly'] if reference?
end
+ def reference_service
+ reference_node['service'] if reference?
+ end
+
def reference_parameter
reference_node['parameter'] if reference?
end
--
1.7.10.1
ACK, with a small nit about spelling in the subject -- but you already
mentioned that it was fixed and just didn't make it into the email. ;)
-- Matt