1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
// **********************************************************************
//
// Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
package IceGrid.TreeNode;
import IceGrid.Model;
import IceGrid.ServiceDescriptor;
import IceGrid.ServiceInstanceDescriptor;
import IceGrid.TemplateDescriptor;
import IceGrid.Utils;
class Services extends Parent
{
Services(java.util.List descriptors,
Editable editable,
Utils.Resolver resolver, // Null within template
Application application)
throws DuplicateIdException
{
super("Services", application.getModel());
_descriptors = descriptors;
java.util.Iterator p = _descriptors.iterator();
while(p.hasNext())
{
ServiceInstanceDescriptor descriptor =
(ServiceInstanceDescriptor)p.next();
ServiceDescriptor serviceDescriptor = null;
String serviceName = null;
String displayString = null;
Utils.Resolver serviceResolver = null;
if(descriptor.template.length() > 0)
{
TemplateDescriptor templateDescriptor
= application.findServiceTemplateDescriptor(descriptor.template);
assert templateDescriptor != null;
serviceDescriptor = (ServiceDescriptor)templateDescriptor.descriptor;
assert serviceDescriptor != null;
if(resolver != null)
{
serviceResolver = new Utils.Resolver(resolver, descriptor.parameterValues);
serviceName = serviceResolver.substitute(serviceDescriptor.name);
serviceResolver.put("service", serviceName);
displayString = serviceName + ": "
+ templateLabel(descriptor.template,
serviceResolver.getParameters().values());
}
else
{
//
// serviceName = TemplateName<unsubstituted param 1, ....>
//
serviceName = templateLabel(descriptor.template,
descriptor.parameterValues.values());
}
}
else
{
serviceDescriptor = descriptor.descriptor;
assert serviceDescriptor != null;
if(resolver != null)
{
serviceResolver = new Utils.Resolver(resolver);
serviceName = resolver.substitute(serviceDescriptor.name);
serviceResolver.put("service", serviceName);
}
else
{
serviceName = serviceDescriptor.name;
}
}
addChild(new Service(serviceName,
displayString,
descriptor,
serviceDescriptor,
editable,
serviceResolver,
application,
_model));
}
}
public void unregister()
{
java.util.Iterator p = _children.iterator();
while(p.hasNext())
{
Service service = (Service)p.next();
service.unregister();
}
}
private java.util.List _descriptors;
}
|