summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rwxr-xr-xjava/src/IceGridGUI/Application/Adapter.java9
-rwxr-xr-xjava/src/IceGridGUI/Application/AdapterEditor.java23
-rwxr-xr-xjava/src/IceGridGUI/Application/ReplicaGroup.java47
-rwxr-xr-xjava/src/IceGridGUI/Application/ReplicaGroupEditor.java35
-rwxr-xr-xjava/src/IceGridGUI/LiveDeployment/AdapterEditor.java7
5 files changed, 75 insertions, 46 deletions
diff --git a/java/src/IceGridGUI/Application/Adapter.java b/java/src/IceGridGUI/Application/Adapter.java
index 8e483da0bce..f7153ff7211 100755
--- a/java/src/IceGridGUI/Application/Adapter.java
+++ b/java/src/IceGridGUI/Application/Adapter.java
@@ -159,6 +159,10 @@ class Adapter extends TreeNode implements DescriptorHolder
{
attributes.add(createAttribute("replica-group", _descriptor.replicaGroupId));
}
+ if(_descriptor.priority != null && _descriptor.priority.length() > 0)
+ {
+ attributes.add(createAttribute("priority", _descriptor.priority));
+ }
if(!_descriptor.waitForActivation)
{
attributes.add(createAttribute("wait-for-activation", "false"));
@@ -185,11 +189,6 @@ class Adapter extends TreeNode implements DescriptorHolder
}
}
- boolean inIceBox()
- {
- return ((Communicator)_parent).isIceBox();
- }
-
String getProperty(String property)
{
return ((Communicator)_parent).getProperty(_descriptor.name + "." + property);
diff --git a/java/src/IceGridGUI/Application/AdapterEditor.java b/java/src/IceGridGUI/Application/AdapterEditor.java
index c37deef59c9..f1bb5997df3 100755
--- a/java/src/IceGridGUI/Application/AdapterEditor.java
+++ b/java/src/IceGridGUI/Application/AdapterEditor.java
@@ -163,6 +163,11 @@ class AdapterEditor extends CommunicatorChildEditor
_replicaGroupId.getEditor().getEditorComponent();
replicaGroupIdTextField.getDocument().addDocumentListener(_updateListener);
_replicaGroupId.setToolTipText("Select a replica group");
+
+ _priority.getDocument().addDocumentListener(_updateListener);
+ _priority.setToolTipText("The priority of this adapter; see the Ordered load-balancing "
+ + "policy in Replica Groups");
+
JTextField publishedEndpointsTextField = (JTextField)
_publishedEndpoints.getEditor().getEditorComponent();
@@ -184,6 +189,7 @@ class AdapterEditor extends CommunicatorChildEditor
descriptor.description = _description.getText();
descriptor.id = getIdAsString();
descriptor.replicaGroupId = getReplicaGroupIdAsString();
+ descriptor.priority = _priority.getText().trim();
descriptor.registerProcess = _registerProcess.isSelected();
descriptor.waitForActivation = _waitForActivation.isSelected();
descriptor.objects = mapToObjectDescriptorSeq(_objects.get());
@@ -228,11 +234,15 @@ class AdapterEditor extends CommunicatorChildEditor
builder.append(_replicaGroupButton);
builder.nextLine();
+ builder.append("Priority");
+ builder.append(_priority, 3);
+ builder.nextLine();
+
builder.append("Endpoints" );
builder.append(_endpoints, 3);
builder.nextLine();
- builder.append("Published Endpoints" );
+ builder.append("Published Endpoints");
builder.append(_publishedEndpoints, 3);
builder.nextLine();
@@ -353,7 +363,7 @@ class AdapterEditor extends CommunicatorChildEditor
else
{
_replicaGroupId.setSelectedItem(replicaGroupId);
- }
+ }
}
}
@@ -390,12 +400,11 @@ class AdapterEditor extends CommunicatorChildEditor
adapter.getResolver() : null;
boolean isEditable = resolver == null;
- boolean inIceBox = adapter.inIceBox();
_oldName = descriptor.name;
_name.setText(Utils.substitute(descriptor.name, resolver));
- _name.setEditable(isEditable && !inIceBox);
+ _name.setEditable(isEditable);
_description.setText(
Utils.substitute(descriptor.description, resolver));
@@ -448,9 +457,13 @@ class AdapterEditor extends CommunicatorChildEditor
});
setReplicaGroupId(Utils.substitute(descriptor.replicaGroupId, resolver));
+
_replicaGroupId.setEnabled(isEditable);
_replicaGroupId.setEditable(isEditable);
+ _priority.setText(Utils.substitute(descriptor.priority, resolver));
+ _priority.setEditable(isEditable);
+
if(adapter.isEphemeral())
{
_endpoints.setText("default");
@@ -545,6 +558,8 @@ class AdapterEditor extends CommunicatorChildEditor
private JComboBox _replicaGroupId = new JComboBox();
private JButton _replicaGroupButton;
+ private JTextField _priority = new JTextField(20);
+
private JTextField _endpoints = new JTextField(20);
private JComboBox _publishedEndpoints = new JComboBox(
new Object[]{PUBLISH_ACTUAL});
diff --git a/java/src/IceGridGUI/Application/ReplicaGroup.java b/java/src/IceGridGUI/Application/ReplicaGroup.java
index 046e5f3e581..ca234ec1ed5 100755
--- a/java/src/IceGridGUI/Application/ReplicaGroup.java
+++ b/java/src/IceGridGUI/Application/ReplicaGroup.java
@@ -176,29 +176,32 @@ class ReplicaGroup extends TreeNode
{
writer.writeElement("description", _descriptor.description);
}
- if(_descriptor.loadBalancing != null)
+ assert _descriptor.loadBalancing != null;
+
+ attributes.clear();
+ if(_descriptor.loadBalancing instanceof RandomLoadBalancingPolicy)
+ {
+ attributes.add(createAttribute("type", "random"));
+ }
+ else if(_descriptor.loadBalancing instanceof OrderedLoadBalancingPolicy)
+ {
+ attributes.add(createAttribute("type", "ordered"));
+ }
+ else if(_descriptor.loadBalancing instanceof RoundRobinLoadBalancingPolicy)
+ {
+ attributes.add(createAttribute("type", "round-robin"));
+ }
+ else if(_descriptor.loadBalancing instanceof AdaptiveLoadBalancingPolicy)
{
- attributes.clear();
- if(_descriptor.loadBalancing instanceof RandomLoadBalancingPolicy)
- {
- attributes.add(createAttribute("type", "random"));
- }
- else if(_descriptor.loadBalancing instanceof RoundRobinLoadBalancingPolicy)
- {
- attributes.add(createAttribute("type", "round-robin"));
- }
- else if(_descriptor.loadBalancing instanceof AdaptiveLoadBalancingPolicy)
- {
- attributes.add(createAttribute("type", "adaptive"));
- AdaptiveLoadBalancingPolicy policy =
- (AdaptiveLoadBalancingPolicy)_descriptor.loadBalancing;
- attributes.add(createAttribute("load-sample", policy.loadSample));
- }
- attributes.add(createAttribute("n-replicas",
- _descriptor.loadBalancing.nReplicas));
- writer.writeElement("load-balancing", attributes);
- }
-
+ attributes.add(createAttribute("type", "adaptive"));
+ AdaptiveLoadBalancingPolicy policy =
+ (AdaptiveLoadBalancingPolicy)_descriptor.loadBalancing;
+ attributes.add(createAttribute("load-sample", policy.loadSample));
+ }
+ attributes.add(createAttribute("n-replicas",
+ _descriptor.loadBalancing.nReplicas));
+ writer.writeElement("load-balancing", attributes);
+
writeObjects("object", writer, _descriptor.objects);
writer.writeEndTag("replica-group");
}
diff --git a/java/src/IceGridGUI/Application/ReplicaGroupEditor.java b/java/src/IceGridGUI/Application/ReplicaGroupEditor.java
index 7a27b704812..e6a126dfea8 100755
--- a/java/src/IceGridGUI/Application/ReplicaGroupEditor.java
+++ b/java/src/IceGridGUI/Application/ReplicaGroupEditor.java
@@ -181,17 +181,15 @@ class ReplicaGroupEditor extends Editor
{
updated();
- Object item = e.getItem();
- _nReplicasLabel.setVisible(item != RETURN_ALL);
- _nReplicas.setVisible(item != RETURN_ALL);
-
+ Object item = e.getItem();
_loadSampleLabel.setVisible(item == ADAPTIVE);
_loadSample.setVisible(item == ADAPTIVE);
}
}
});
_loadBalancing.setToolTipText(
- "Specifies how IceGrid selects adapters when resolving a replica group ID");
+ "<html>Specifies how IceGrid selects adapters and return<br>"
+ + "their endpoints when resolving a replica group ID</html>");
//
// Associate updateListener with various fields
@@ -206,7 +204,8 @@ class ReplicaGroupEditor extends Editor
_nReplicas.getDocument().addDocumentListener(_updateListener);
_nReplicas.setToolTipText("<html>IceGrid returns the endpoints of "
+ "up to <i>number</i> adapters<br>"
- + "when resolving a replica group ID</html>");
+ + "when resolving a replica group ID.<br>"
+ + "Enter 0 to returns the endpoints of all adapters.</html>");
_loadSample.setEditable(true);
JTextField loadSampleTextField = (JTextField)
@@ -214,7 +213,6 @@ class ReplicaGroupEditor extends Editor
loadSampleTextField.getDocument().addDocumentListener(_updateListener);
_loadSample.setToolTipText(
"Use the load average or CPU usage over the last 1, 5 or 15 minutes?");
-
}
void writeDescriptor()
@@ -227,9 +225,10 @@ class ReplicaGroupEditor extends Editor
descriptor.objects = AdapterEditor.mapToObjectDescriptorSeq(_objects.get());
Object loadBalancing = _loadBalancing.getSelectedItem();
- if(loadBalancing == RETURN_ALL)
+ if(loadBalancing == ORDERED)
{
- descriptor.loadBalancing = null;
+ descriptor.loadBalancing = new OrderedLoadBalancingPolicy(
+ _nReplicas.getText().trim());
}
else if(loadBalancing == RANDOM)
{
@@ -294,7 +293,7 @@ class ReplicaGroupEditor extends Editor
builder.append("Load Balancing Policy");
builder.append(_loadBalancing, 3);
builder.nextLine();
- _nReplicasLabel = builder.append("How many Adapters?");
+ builder.append("How many Adapters? (0 = all)");
builder.append(_nReplicas, 3);
builder.nextLine();
_loadSampleLabel = builder.append("Load Sample");
@@ -344,8 +343,8 @@ class ReplicaGroupEditor extends Editor
if(descriptor.loadBalancing == null)
{
- _loadBalancing.setSelectedItem(RETURN_ALL);
- _nReplicas.setText("1");
+ _loadBalancing.setSelectedItem(RANDOM);
+ _nReplicas.setText("0");
_loadSample.setSelectedItem("1");
}
else if(descriptor.loadBalancing instanceof RandomLoadBalancingPolicy)
@@ -355,6 +354,13 @@ class ReplicaGroupEditor extends Editor
Utils.substitute(descriptor.loadBalancing.nReplicas, resolver));
_loadSample.setSelectedItem("1");
}
+ else if(descriptor.loadBalancing instanceof OrderedLoadBalancingPolicy)
+ {
+ _loadBalancing.setSelectedItem(ORDERED);
+ _nReplicas.setText(
+ Utils.substitute(descriptor.loadBalancing.nReplicas, resolver));
+ _loadSample.setSelectedItem("1");
+ }
else if(descriptor.loadBalancing instanceof RoundRobinLoadBalancingPolicy)
{
_loadBalancing.setSelectedItem(ROUND_ROBIN);
@@ -391,7 +397,7 @@ class ReplicaGroupEditor extends Editor
return (ReplicaGroup)_target;
}
- static private String RETURN_ALL = "Return all";
+ static private String ORDERED = "Ordered";
static private String RANDOM = "Random";
static private String ROUND_ROBIN = "Round-robin";
static private String ADAPTIVE = "Adaptive";
@@ -400,9 +406,8 @@ class ReplicaGroupEditor extends Editor
private JTextArea _description = new JTextArea(3, 20);
private JComboBox _loadBalancing = new JComboBox(new Object[]
- {ADAPTIVE, RANDOM, RETURN_ALL, ROUND_ROBIN});
+ {ADAPTIVE, ORDERED, RANDOM, ROUND_ROBIN});
- private JLabel _nReplicasLabel;
private JTextField _nReplicas = new JTextField(20);
private JLabel _loadSampleLabel;
diff --git a/java/src/IceGridGUI/LiveDeployment/AdapterEditor.java b/java/src/IceGridGUI/LiveDeployment/AdapterEditor.java
index 9d685a090e3..05279b756b8 100755
--- a/java/src/IceGridGUI/LiveDeployment/AdapterEditor.java
+++ b/java/src/IceGridGUI/LiveDeployment/AdapterEditor.java
@@ -36,6 +36,7 @@ class AdapterEditor extends Editor
_description.setOpaque(false);
_id.setEditable(false);
_replicaGroupId.setEditable(false);
+ _priority.setEditable(false);
_endpoints.setEditable(false);
_publishedEndpoints.setEditable(false);
_registerProcess.setEnabled(false);
@@ -65,6 +66,7 @@ class AdapterEditor extends Editor
_description.setText(resolver.substitute(descriptor.description));
_replicaGroupId.setText(resolver.substitute(descriptor.replicaGroupId));
+ _priority.setText(resolver.substitute(descriptor.priority));
java.util.Map properties = adapter.getProperties();
@@ -112,6 +114,10 @@ class AdapterEditor extends Editor
builder.append("Replica Group");
builder.append(_replicaGroupId, 3);
builder.nextLine();
+
+ builder.append("Priority");
+ builder.append(_priority, 3);
+ builder.nextLine();
builder.append("Endpoints");
builder.append(_endpoints, 3);
@@ -167,6 +173,7 @@ class AdapterEditor extends Editor
private JTextArea _description = new JTextArea(3, 20);
private JTextField _id = new JTextField(20);
private JTextField _replicaGroupId = new JTextField(20);
+ private JTextField _priority = new JTextField(20);
private JTextField _endpoints = new JTextField(20);
private JTextField _publishedEndpoints = new JTextField(20);