root / src / com / rackspacecloud / android / ViewLoadBalancerActivity.java @ c4a37180
History | View | Annotate | Download (20 kB)
1 | 23bc5e75 | Phillip Toohill | /**
|
---|---|---|---|
2 | 23bc5e75 | Phillip Toohill | *
|
3 | 23bc5e75 | Phillip Toohill | */
|
4 | 23bc5e75 | Phillip Toohill | package com.rackspacecloud.android; |
5 | 23bc5e75 | Phillip Toohill | |
6 | b722cab3 | Adam Menz | import java.util.ArrayList; |
7 | b722cab3 | Adam Menz | import java.util.Collections; |
8 | 4f9d1a69 | Adam Menz | |
9 | 4f9d1a69 | Adam Menz | import org.apache.http.HttpResponse; |
10 | 4f9d1a69 | Adam Menz | |
11 | 23bc5e75 | Phillip Toohill | import android.app.Activity; |
12 | 23bc5e75 | Phillip Toohill | import android.app.AlertDialog; |
13 | 4f9d1a69 | Adam Menz | import android.app.Dialog; |
14 | 23bc5e75 | Phillip Toohill | import android.content.DialogInterface; |
15 | 4f9d1a69 | Adam Menz | import android.content.Intent; |
16 | b722cab3 | Adam Menz | import android.graphics.Color; |
17 | 23bc5e75 | Phillip Toohill | import android.os.AsyncTask; |
18 | 23bc5e75 | Phillip Toohill | import android.os.Bundle; |
19 | 23bc5e75 | Phillip Toohill | import android.util.Log; |
20 | b722cab3 | Adam Menz | import android.util.TypedValue; |
21 | 4f9d1a69 | Adam Menz | import android.view.Menu; |
22 | 4f9d1a69 | Adam Menz | import android.view.MenuInflater; |
23 | 4f9d1a69 | Adam Menz | import android.view.MenuItem; |
24 | aeff0a62 | Adam Menz | import android.view.View; |
25 | aeff0a62 | Adam Menz | import android.view.View.OnClickListener; |
26 | aeff0a62 | Adam Menz | import android.widget.Button; |
27 | b722cab3 | Adam Menz | import android.widget.LinearLayout; |
28 | 23bc5e75 | Phillip Toohill | import android.widget.TextView; |
29 | 23bc5e75 | Phillip Toohill | |
30 | 23bc5e75 | Phillip Toohill | import com.rackspace.cloud.loadbalancer.api.client.LoadBalancer; |
31 | 23bc5e75 | Phillip Toohill | import com.rackspace.cloud.loadbalancer.api.client.LoadBalancerManager; |
32 | b722cab3 | Adam Menz | import com.rackspace.cloud.loadbalancer.api.client.Node; |
33 | b722cab3 | Adam Menz | import com.rackspace.cloud.loadbalancer.api.client.VirtualIp; |
34 | 232548ba | Adam Menz | import com.rackspace.cloud.loadbalancer.api.client.http.LoadBalancersException; |
35 | 4f9d1a69 | Adam Menz | import com.rackspace.cloud.servers.api.client.CloudServersException; |
36 | 4f9d1a69 | Adam Menz | import com.rackspace.cloud.servers.api.client.http.HttpBundle; |
37 | 23bc5e75 | Phillip Toohill | |
38 | b722cab3 | Adam Menz | public class ViewLoadBalancerActivity extends CloudActivity { |
39 | 4f9d1a69 | Adam Menz | |
40 | 4f9d1a69 | Adam Menz | private static final int EDIT_LOAD_BALANCER_CODE = 184; |
41 | 4f9d1a69 | Adam Menz | private static final int EDIT_NODES_CODE = 185; |
42 | b722cab3 | Adam Menz | |
43 | 23bc5e75 | Phillip Toohill | private LoadBalancer loadBalancer;
|
44 | b722cab3 | Adam Menz | private PollLoadBalancerTask pollLoadBalancerTask;
|
45 | 4f9d1a69 | Adam Menz | |
46 | 4f9d1a69 | Adam Menz | @Override
|
47 | 4f9d1a69 | Adam Menz | public void onCreate(Bundle savedInstanceState) { |
48 | 4f9d1a69 | Adam Menz | super.onCreate(savedInstanceState);
|
49 | 4f9d1a69 | Adam Menz | loadBalancer = (LoadBalancer) this.getIntent().getExtras().get("loadBalancer"); |
50 | 4f9d1a69 | Adam Menz | setContentView(R.layout.view_loadbalancer); |
51 | 4f9d1a69 | Adam Menz | restoreState(savedInstanceState); |
52 | 4f9d1a69 | Adam Menz | } |
53 | 4f9d1a69 | Adam Menz | |
54 | 23bc5e75 | Phillip Toohill | @Override
|
55 | 23bc5e75 | Phillip Toohill | protected void onSaveInstanceState(Bundle outState) { |
56 | 23bc5e75 | Phillip Toohill | super.onSaveInstanceState(outState);
|
57 | 23bc5e75 | Phillip Toohill | outState.putSerializable("loadBalancer", loadBalancer);
|
58 | 23bc5e75 | Phillip Toohill | } |
59 | 23bc5e75 | Phillip Toohill | |
60 | b722cab3 | Adam Menz | protected void restoreState(Bundle state) { |
61 | b722cab3 | Adam Menz | super.restoreState(state);
|
62 | b722cab3 | Adam Menz | |
63 | b722cab3 | Adam Menz | if (state != null && state.containsKey("loadBalancer") && state.getSerializable("loadBalancer") != null) { |
64 | 4f9d1a69 | Adam Menz | loadBalancer = (LoadBalancer) state.getSerializable("loadBalancer");
|
65 | b722cab3 | Adam Menz | loadLoadBalancerData(); |
66 | 01340459 | Adam Menz | setUpButtons(); |
67 | b722cab3 | Adam Menz | } |
68 | b722cab3 | Adam Menz | else{
|
69 | b722cab3 | Adam Menz | new LoadLoadBalancerTask().execute((Void[]) null); |
70 | 4f9d1a69 | Adam Menz | } |
71 | 4f9d1a69 | Adam Menz | } |
72 | 4f9d1a69 | Adam Menz | |
73 | 01340459 | Adam Menz | @Override
|
74 | 01340459 | Adam Menz | protected void onDestroy(){ |
75 | 01340459 | Adam Menz | super.onDestroy();
|
76 | 6ae5d8db | Adam Menz | |
77 | 01340459 | Adam Menz | //need to cancel pollLoadBalancerTask so it
|
78 | 01340459 | Adam Menz | //does not keep polling in a new activity
|
79 | 01340459 | Adam Menz | if(pollLoadBalancerTask != null){ |
80 | 01340459 | Adam Menz | pollLoadBalancerTask.cancel(true);
|
81 | 01340459 | Adam Menz | } |
82 | 01340459 | Adam Menz | } |
83 | 6ae5d8db | Adam Menz | |
84 | 01340459 | Adam Menz | private void setupButton(int resourceId, OnClickListener onClickListener) { |
85 | 01340459 | Adam Menz | Button button = (Button) findViewById(resourceId); |
86 | 01340459 | Adam Menz | button.setOnClickListener(onClickListener); |
87 | b722cab3 | Adam Menz | } |
88 | 01340459 | Adam Menz | |
89 | 01340459 | Adam Menz | //change the text on the button depending
|
90 | 01340459 | Adam Menz | //on the state of Connection Logging
|
91 | 6ae5d8db | Adam Menz | private void setLogButtonText(){ |
92 | 6ae5d8db | Adam Menz | Button logs = (Button)findViewById(R.id.connection_log_button); |
93 | 01340459 | Adam Menz | String loggingEnabled = loadBalancer.getIsConnectionLoggingEnabled();
|
94 | 01340459 | Adam Menz | if(loggingEnabled != null && loggingEnabled.equals("true")){ |
95 | 6ae5d8db | Adam Menz | logs.setText("Disable Logs");
|
96 | 6ae5d8db | Adam Menz | } else {
|
97 | 6ae5d8db | Adam Menz | logs.setText("Enable Logs");
|
98 | 6ae5d8db | Adam Menz | } |
99 | 6ae5d8db | Adam Menz | } |
100 | 01340459 | Adam Menz | |
101 | 01340459 | Adam Menz | //change the text on the button depending
|
102 | 01340459 | Adam Menz | //on the state of Session Persistence
|
103 | 6ae5d8db | Adam Menz | private void setSessionButtonText(){ |
104 | 6ae5d8db | Adam Menz | Button sessionPersistence = (Button)findViewById(R.id.session_persistence_button); |
105 | 01340459 | Adam Menz | //session persistence is null if it is off
|
106 | 6ae5d8db | Adam Menz | if(loadBalancer.getSessionPersistence() != null){ |
107 | 6ae5d8db | Adam Menz | sessionPersistence.setText("Disable Session Persistence");
|
108 | 6ae5d8db | Adam Menz | } else {
|
109 | 6ae5d8db | Adam Menz | sessionPersistence.setText("Enable Session Persistence");
|
110 | 6ae5d8db | Adam Menz | } |
111 | 6ae5d8db | Adam Menz | } |
112 | 6ae5d8db | Adam Menz | |
113 | 01340459 | Adam Menz | //if the load balancer state contains DELETE
|
114 | 01340459 | Adam Menz | //then parts of it may be null, so use a different
|
115 | 01340459 | Adam Menz | //onClick in that condition
|
116 | 01340459 | Adam Menz | private void setUpButtons(){ |
117 | 01340459 | Adam Menz | setupButton(R.id.edit_loadbalancer_button, new OnClickListener() {
|
118 | b722cab3 | Adam Menz | @Override
|
119 | b722cab3 | Adam Menz | public void onClick(View v) { |
120 | 01340459 | Adam Menz | if(!loadBalancer.getStatus().contains("DELETE")){ |
121 | 01340459 | Adam Menz | Intent editLoadBalancerIntent = new Intent(getContext(), EditLoadBalancerActivity.class);
|
122 | 01340459 | Adam Menz | editLoadBalancerIntent.putExtra("loadBalancer", loadBalancer);
|
123 | 01340459 | Adam Menz | startActivityForResult(editLoadBalancerIntent, EDIT_LOAD_BALANCER_CODE); |
124 | 01340459 | Adam Menz | } else {
|
125 | 01340459 | Adam Menz | showAlert(loadBalancer.getStatus(), "The load balancer cannot be updated");
|
126 | 01340459 | Adam Menz | } |
127 | b722cab3 | Adam Menz | } |
128 | b722cab3 | Adam Menz | }); |
129 | b722cab3 | Adam Menz | |
130 | b722cab3 | Adam Menz | |
131 | 01340459 | Adam Menz | setupButton(R.id.delete_loadbalancer_button, new OnClickListener() {
|
132 | b722cab3 | Adam Menz | @Override
|
133 | b722cab3 | Adam Menz | public void onClick(View v) { |
134 | 01340459 | Adam Menz | if(!loadBalancer.getStatus().contains("DELETE")){ |
135 | 01340459 | Adam Menz | showDialog(R.id.view_server_delete_button); |
136 | 01340459 | Adam Menz | } else {
|
137 | 01340459 | Adam Menz | showAlert(loadBalancer.getStatus(), "The load balancer cannot be deleted");
|
138 | 01340459 | Adam Menz | } |
139 | b722cab3 | Adam Menz | } |
140 | b722cab3 | Adam Menz | |
141 | b722cab3 | Adam Menz | }); |
142 | b722cab3 | Adam Menz | |
143 | 01340459 | Adam Menz | setupButton(R.id.edit_nodes_button, new OnClickListener() {
|
144 | b722cab3 | Adam Menz | @Override
|
145 | b722cab3 | Adam Menz | public void onClick(View v) { |
146 | 01340459 | Adam Menz | if(!loadBalancer.getStatus().contains("DELETE")){ |
147 | 01340459 | Adam Menz | Intent editLoadBalancerIntent = new Intent(getContext(), EditNodesActivity.class);
|
148 | 01340459 | Adam Menz | editLoadBalancerIntent.putExtra("nodes", loadBalancer.getNodes());
|
149 | 01340459 | Adam Menz | editLoadBalancerIntent.putExtra("loadBalancer", loadBalancer);
|
150 | 01340459 | Adam Menz | startActivityForResult(editLoadBalancerIntent, EDIT_NODES_CODE); |
151 | 01340459 | Adam Menz | } else {
|
152 | 01340459 | Adam Menz | showAlert(loadBalancer.getStatus(), "The nodes cannot be edited");
|
153 | 01340459 | Adam Menz | } |
154 | b722cab3 | Adam Menz | } |
155 | b722cab3 | Adam Menz | }); |
156 | 4f9d1a69 | Adam Menz | |
157 | 01340459 | Adam Menz | setupButton(R.id.connection_log_button, new OnClickListener() {
|
158 | 6ae5d8db | Adam Menz | @Override
|
159 | 6ae5d8db | Adam Menz | public void onClick(View v) { |
160 | 01340459 | Adam Menz | if(!loadBalancer.getStatus().contains("DELETE")){ |
161 | 01340459 | Adam Menz | showDialog(R.id.connection_log_button); |
162 | 01340459 | Adam Menz | } else {
|
163 | 01340459 | Adam Menz | showAlert(loadBalancer.getStatus(), "Log settings cannot be edited.");
|
164 | 01340459 | Adam Menz | } |
165 | 6ae5d8db | Adam Menz | } |
166 | 6ae5d8db | Adam Menz | }); |
167 | 01340459 | Adam Menz | setLogButtonText(); |
168 | 6ae5d8db | Adam Menz | |
169 | 01340459 | Adam Menz | setupButton(R.id.session_persistence_button, new OnClickListener() {
|
170 | 6ae5d8db | Adam Menz | @Override
|
171 | 6ae5d8db | Adam Menz | public void onClick(View v) { |
172 | 01340459 | Adam Menz | if(!loadBalancer.getStatus().contains("DELETE")){ |
173 | 01340459 | Adam Menz | if(!loadBalancer.getProtocol().equals("HTTP")){ |
174 | 01340459 | Adam Menz | showAlert("Error", "Session Persistence cannot be enabled for protocols other than HTTP."); |
175 | 01340459 | Adam Menz | } else {
|
176 | 01340459 | Adam Menz | showDialog(R.id.session_persistence_button); |
177 | 01340459 | Adam Menz | } |
178 | 01340459 | Adam Menz | } else {
|
179 | 01340459 | Adam Menz | showAlert(loadBalancer.getStatus(), "Session Persistence cannot be edited.");
|
180 | 01340459 | Adam Menz | } |
181 | 6ae5d8db | Adam Menz | } |
182 | 6ae5d8db | Adam Menz | }); |
183 | 01340459 | Adam Menz | setSessionButtonText(); |
184 | 4f9d1a69 | Adam Menz | } |
185 | 4f9d1a69 | Adam Menz | |
186 | 4f9d1a69 | Adam Menz | @Override
|
187 | 4f9d1a69 | Adam Menz | protected Dialog onCreateDialog(int id) { |
188 | 4f9d1a69 | Adam Menz | switch (id) {
|
189 | 4f9d1a69 | Adam Menz | case R.id.view_server_delete_button:
|
190 | 4f9d1a69 | Adam Menz | return new AlertDialog.Builder(ViewLoadBalancerActivity.this) |
191 | 4f9d1a69 | Adam Menz | .setIcon(R.drawable.alert_dialog_icon) |
192 | 4f9d1a69 | Adam Menz | .setTitle("Delete Load Balancer")
|
193 | 4f9d1a69 | Adam Menz | .setMessage("Are you sure you want to delete the load balancer?")
|
194 | 4f9d1a69 | Adam Menz | .setPositiveButton("Delete", new DialogInterface.OnClickListener() { |
195 | 4f9d1a69 | Adam Menz | public void onClick(DialogInterface dialog, int whichButton) { |
196 | 4f9d1a69 | Adam Menz | new DeleteLoadBalancerTask().execute((Void[]) null); |
197 | 4f9d1a69 | Adam Menz | } |
198 | 4f9d1a69 | Adam Menz | }) |
199 | 4f9d1a69 | Adam Menz | .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { |
200 | 4f9d1a69 | Adam Menz | public void onClick(DialogInterface dialog, int whichButton) { |
201 | 01340459 | Adam Menz | // do nothing
|
202 | 4f9d1a69 | Adam Menz | } |
203 | 4f9d1a69 | Adam Menz | }) |
204 | 4f9d1a69 | Adam Menz | .create(); |
205 | 6ae5d8db | Adam Menz | case R.id.connection_log_button:
|
206 | 6ae5d8db | Adam Menz | return new AlertDialog.Builder(ViewLoadBalancerActivity.this) |
207 | 6ae5d8db | Adam Menz | .setIcon(R.drawable.alert_dialog_icon) |
208 | 6ae5d8db | Adam Menz | .setTitle("Disable Logs")
|
209 | 6ae5d8db | Adam Menz | .setMessage("Are you sure you want to disable logs for this Load Balancer?")
|
210 | 6ae5d8db | Adam Menz | .setPositiveButton("Enable", new DialogInterface.OnClickListener() { |
211 | 6ae5d8db | Adam Menz | public void onClick(DialogInterface dialog, int whichButton) { |
212 | 6ae5d8db | Adam Menz | new SetLoggingTask().execute();
|
213 | 6ae5d8db | Adam Menz | } |
214 | 6ae5d8db | Adam Menz | }) |
215 | 6ae5d8db | Adam Menz | .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { |
216 | 6ae5d8db | Adam Menz | public void onClick(DialogInterface dialog, int whichButton) { |
217 | 01340459 | Adam Menz | // do nothing
|
218 | 6ae5d8db | Adam Menz | } |
219 | 6ae5d8db | Adam Menz | }) |
220 | 6ae5d8db | Adam Menz | .create(); |
221 | 6ae5d8db | Adam Menz | case R.id.session_persistence_button:
|
222 | 6ae5d8db | Adam Menz | return new AlertDialog.Builder(ViewLoadBalancerActivity.this) |
223 | 6ae5d8db | Adam Menz | .setIcon(R.drawable.alert_dialog_icon) |
224 | 6ae5d8db | Adam Menz | .setTitle("Session Persistence")
|
225 | 6ae5d8db | Adam Menz | .setMessage("Are you sure you want to disable session persistence for this Load Balancer?")
|
226 | 6ae5d8db | Adam Menz | .setPositiveButton("Enable", new DialogInterface.OnClickListener() { |
227 | 6ae5d8db | Adam Menz | public void onClick(DialogInterface dialog, int whichButton) { |
228 | 6ae5d8db | Adam Menz | new SessionPersistenceTask().execute();
|
229 | 6ae5d8db | Adam Menz | } |
230 | 6ae5d8db | Adam Menz | }) |
231 | 6ae5d8db | Adam Menz | .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { |
232 | 6ae5d8db | Adam Menz | public void onClick(DialogInterface dialog, int whichButton) { |
233 | 01340459 | Adam Menz | // do nothing
|
234 | 6ae5d8db | Adam Menz | } |
235 | 6ae5d8db | Adam Menz | }) |
236 | 6ae5d8db | Adam Menz | .create(); |
237 | 4f9d1a69 | Adam Menz | } |
238 | 4f9d1a69 | Adam Menz | return null; |
239 | 4f9d1a69 | Adam Menz | } |
240 | 4f9d1a69 | Adam Menz | |
241 | 6ae5d8db | Adam Menz | @Override
|
242 | 01340459 | Adam Menz | //Need to show different message depending on the state
|
243 | 01340459 | Adam Menz | //of connection_logs/session_persistence
|
244 | 6ae5d8db | Adam Menz | protected void onPrepareDialog(int id, Dialog dialog){ |
245 | 6ae5d8db | Adam Menz | switch (id) {
|
246 | 6ae5d8db | Adam Menz | case R.id.connection_log_button:
|
247 | 6ae5d8db | Adam Menz | String logTitle;
|
248 | 6ae5d8db | Adam Menz | String logMessage;
|
249 | 6ae5d8db | Adam Menz | String logButton;
|
250 | 6ae5d8db | Adam Menz | if(loadBalancer.getIsConnectionLoggingEnabled().equals("true")){ |
251 | 6ae5d8db | Adam Menz | logTitle = "Disable Logs";
|
252 | 6ae5d8db | Adam Menz | logMessage = "Are you sure you want to disable logs for this Load Balancer?";
|
253 | 6ae5d8db | Adam Menz | logButton = "Disable";
|
254 | 6ae5d8db | Adam Menz | } else {
|
255 | 6ae5d8db | Adam Menz | logTitle = "Enable Logs";
|
256 | 6ae5d8db | Adam Menz | logMessage = "Log files will be processed every hour and stored in your Cloud Files account. " +
|
257 | 01340459 | Adam Menz | "Standard Cloud Files storage and transfer fees will be accessed for the use of this feature." +
|
258 | 01340459 | Adam Menz | "\n\nAre you sure you want to enable logs for this Load Balancer?";
|
259 | 6ae5d8db | Adam Menz | logButton = "Enable";
|
260 | 6ae5d8db | Adam Menz | } |
261 | 6ae5d8db | Adam Menz | ((AlertDialog)dialog).setTitle(logTitle); |
262 | 6ae5d8db | Adam Menz | ((AlertDialog)dialog).setMessage(logMessage); |
263 | 6ae5d8db | Adam Menz | Button sessionLogButton = ((AlertDialog)dialog).getButton(AlertDialog.BUTTON1);
|
264 | 6ae5d8db | Adam Menz | sessionLogButton.setText(logButton); |
265 | 6ae5d8db | Adam Menz | sessionLogButton.invalidate(); |
266 | 6ae5d8db | Adam Menz | break;
|
267 | 6ae5d8db | Adam Menz | case R.id.session_persistence_button:
|
268 | 6ae5d8db | Adam Menz | String sessionMessage;
|
269 | 6ae5d8db | Adam Menz | String sessionButton;
|
270 | 6ae5d8db | Adam Menz | if(loadBalancer.getSessionPersistence() != null){ |
271 | 6ae5d8db | Adam Menz | Log.d("info", "in sessionpersistence != null"); |
272 | 6ae5d8db | Adam Menz | sessionMessage = "Are you sure you want to disable session persistence for this Load Balancer?";
|
273 | 6ae5d8db | Adam Menz | sessionButton = "Disable";
|
274 | 6ae5d8db | Adam Menz | } else {
|
275 | 6ae5d8db | Adam Menz | Log.d("info", "in sessionpersistence == null"); |
276 | 6ae5d8db | Adam Menz | sessionMessage = "Are you sure you want to enable session persistence for this Load Balancer?";
|
277 | 6ae5d8db | Adam Menz | sessionButton = "Enable";
|
278 | 6ae5d8db | Adam Menz | } |
279 | 6ae5d8db | Adam Menz | ((AlertDialog)dialog).setMessage(sessionMessage); |
280 | 6ae5d8db | Adam Menz | Button sessionPersistButton = ((AlertDialog)dialog).getButton(AlertDialog.BUTTON1);
|
281 | 6ae5d8db | Adam Menz | sessionPersistButton.setText(sessionButton); |
282 | 6ae5d8db | Adam Menz | sessionPersistButton.invalidate(); |
283 | 6ae5d8db | Adam Menz | break;
|
284 | 6ae5d8db | Adam Menz | } |
285 | 6ae5d8db | Adam Menz | } |
286 | 6ae5d8db | Adam Menz | |
287 | 01340459 | Adam Menz | //Displays all the load balancer data
|
288 | 4f9d1a69 | Adam Menz | private void loadLoadBalancerData() { |
289 | b722cab3 | Adam Menz | if(loadBalancer != null){ |
290 | 6ae5d8db | Adam Menz | /*
|
291 | 6ae5d8db | Adam Menz | * need to update the text on button if
|
292 | 6ae5d8db | Adam Menz | * it has changed
|
293 | 6ae5d8db | Adam Menz | */
|
294 | 6ae5d8db | Adam Menz | setLogButtonText(); |
295 | 6ae5d8db | Adam Menz | setSessionButtonText(); |
296 | 01340459 | Adam Menz | |
297 | 6ae5d8db | Adam Menz | |
298 | b722cab3 | Adam Menz | TextView name = (TextView) findViewById(R.id.view_name); |
299 | b722cab3 | Adam Menz | name.setText(loadBalancer.getName()); |
300 | b722cab3 | Adam Menz | |
301 | b722cab3 | Adam Menz | TextView id = (TextView) findViewById(R.id.view_lb_id); |
302 | b722cab3 | Adam Menz | id.setText(loadBalancer.getId()); |
303 | 4f9d1a69 | Adam Menz | |
304 | b722cab3 | Adam Menz | TextView protocol = (TextView) findViewById(R.id.view_protocol); |
305 | b722cab3 | Adam Menz | protocol.setText(loadBalancer.getProtocol()); |
306 | 4f9d1a69 | Adam Menz | |
307 | b722cab3 | Adam Menz | TextView port = (TextView) findViewById(R.id.view_port); |
308 | b722cab3 | Adam Menz | port.setText(loadBalancer.getPort()); |
309 | 4f9d1a69 | Adam Menz | |
310 | b722cab3 | Adam Menz | TextView algorithm = (TextView) findViewById(R.id.view_algorithm); |
311 | c4a37180 | Adam Menz | algorithm.setText(getPrettyAlgoName(loadBalancer.getAlgorithm())); |
312 | b722cab3 | Adam Menz | |
313 | b722cab3 | Adam Menz | TextView status = (TextView) findViewById(R.id.view_status); |
314 | b722cab3 | Adam Menz | if (!"ACTIVE".equals(loadBalancer.getStatus())) { |
315 | b722cab3 | Adam Menz | status.setText(loadBalancer.getStatus()); |
316 | b722cab3 | Adam Menz | pollLoadBalancerTask = new PollLoadBalancerTask();
|
317 | b722cab3 | Adam Menz | pollLoadBalancerTask.execute((Void[]) null); |
318 | b722cab3 | Adam Menz | } else {
|
319 | b722cab3 | Adam Menz | status.setText(loadBalancer.getStatus()); |
320 | b722cab3 | Adam Menz | } |
321 | 4f9d1a69 | Adam Menz | |
322 | b722cab3 | Adam Menz | status.setText(loadBalancer.getStatus()); |
323 | 4f9d1a69 | Adam Menz | |
324 | b722cab3 | Adam Menz | TextView connectionLogging = (TextView) findViewById(R.id.view_islogging); |
325 | 01340459 | Adam Menz | String isConnectionLogging = loadBalancer.getIsConnectionLoggingEnabled();
|
326 | 01340459 | Adam Menz | if(isConnectionLogging != null && isConnectionLogging.equals("true")){ |
327 | 6ae5d8db | Adam Menz | connectionLogging.setText("Enabled");
|
328 | 6ae5d8db | Adam Menz | } else {
|
329 | 6ae5d8db | Adam Menz | connectionLogging.setText("Disabled");
|
330 | 6ae5d8db | Adam Menz | } |
331 | 4f9d1a69 | Adam Menz | |
332 | b722cab3 | Adam Menz | loadVirutalIpData(); |
333 | b722cab3 | Adam Menz | } |
334 | 4f9d1a69 | Adam Menz | } |
335 | c4a37180 | Adam Menz | |
336 | c4a37180 | Adam Menz | private String getPrettyAlgoName(String name){ |
337 | c4a37180 | Adam Menz | if(name == null || name.length() == 0){ |
338 | c4a37180 | Adam Menz | return ""; |
339 | c4a37180 | Adam Menz | } else {
|
340 | c4a37180 | Adam Menz | String result = name.charAt(0) + ""; |
341 | c4a37180 | Adam Menz | boolean previousWasSpace = false;; |
342 | c4a37180 | Adam Menz | for(int i = 1; i < name.length(); i++){ |
343 | c4a37180 | Adam Menz | char curLetter = name.charAt(i);
|
344 | c4a37180 | Adam Menz | if(curLetter == '_'){ |
345 | c4a37180 | Adam Menz | result += " ";
|
346 | c4a37180 | Adam Menz | previousWasSpace = true;
|
347 | c4a37180 | Adam Menz | } else {
|
348 | c4a37180 | Adam Menz | if(previousWasSpace){
|
349 | c4a37180 | Adam Menz | result += Character.toUpperCase(curLetter);
|
350 | c4a37180 | Adam Menz | } else {
|
351 | c4a37180 | Adam Menz | result += Character.toLowerCase(curLetter);
|
352 | c4a37180 | Adam Menz | } |
353 | c4a37180 | Adam Menz | previousWasSpace = false;
|
354 | c4a37180 | Adam Menz | } |
355 | c4a37180 | Adam Menz | } |
356 | c4a37180 | Adam Menz | return result;
|
357 | c4a37180 | Adam Menz | } |
358 | c4a37180 | Adam Menz | } |
359 | 4f9d1a69 | Adam Menz | |
360 | 4f9d1a69 | Adam Menz | private void loadVirutalIpData() { |
361 | b722cab3 | Adam Menz | int layoutIndex = 0; |
362 | b722cab3 | Adam Menz | LinearLayout layout = (LinearLayout) this.findViewById(R.id.vip_addresses);
|
363 | b722cab3 | Adam Menz | layout.removeAllViews(); |
364 | b722cab3 | Adam Menz | ArrayList<VirtualIp> virtualIps = loadBalancer.getVirtualIps();
|
365 | b722cab3 | Adam Menz | //maybe null if the lb has been deleted
|
366 | b722cab3 | Adam Menz | if(virtualIps != null){ |
367 | b722cab3 | Adam Menz | for (int i = 0; i < virtualIps.size(); i++) { |
368 | b722cab3 | Adam Menz | TextView tv = new TextView(this.getBaseContext()); |
369 | b722cab3 | Adam Menz | tv.setLayoutParams(((TextView)findViewById(R.id.view_port)).getLayoutParams()); // easy quick styling! :)
|
370 | b722cab3 | Adam Menz | tv.setTypeface(tv.getTypeface(), 1); // 1 == bold |
371 | b722cab3 | Adam Menz | tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20);
|
372 | b722cab3 | Adam Menz | tv.setTextColor(Color.WHITE);
|
373 | b722cab3 | Adam Menz | tv.setText(virtualIps.get(i).getAddress()); |
374 | b722cab3 | Adam Menz | layout.addView(tv, layoutIndex++); |
375 | b722cab3 | Adam Menz | } |
376 | b722cab3 | Adam Menz | } |
377 | b722cab3 | Adam Menz | |
378 | 4f9d1a69 | Adam Menz | loadNodeData(); |
379 | 4f9d1a69 | Adam Menz | } |
380 | 4f9d1a69 | Adam Menz | |
381 | 4f9d1a69 | Adam Menz | private void loadNodeData() { |
382 | b722cab3 | Adam Menz | int layoutIndex = 0; // public IPs start here |
383 | b722cab3 | Adam Menz | LinearLayout layout = (LinearLayout) this.findViewById(R.id.node_addresses);
|
384 | b722cab3 | Adam Menz | layout.removeAllViews(); |
385 | b722cab3 | Adam Menz | ArrayList<Node> nodeIps = loadBalancer.getNodes();
|
386 | b5f66d0e | Adam Menz | if(nodeIps == null){ |
387 | b5f66d0e | Adam Menz | nodeIps = new ArrayList<Node>(); |
388 | b5f66d0e | Adam Menz | } |
389 | 6ae5d8db | Adam Menz | |
390 | b722cab3 | Adam Menz | /*
|
391 | b722cab3 | Adam Menz | * need to sort the addresses because during polling
|
392 | b722cab3 | Adam Menz | * their order can change and the display becomes
|
393 | b722cab3 | Adam Menz | * jumpy
|
394 | b722cab3 | Adam Menz | */
|
395 | b722cab3 | Adam Menz | ArrayList<String> addresses = new ArrayList<String>(); |
396 | b722cab3 | Adam Menz | for(Node n : nodeIps){
|
397 | b722cab3 | Adam Menz | addresses.add(n.getAddress()); |
398 | b722cab3 | Adam Menz | } |
399 | 6ae5d8db | Adam Menz | |
400 | b722cab3 | Adam Menz | Collections.sort(addresses);
|
401 | 6ae5d8db | Adam Menz | |
402 | b722cab3 | Adam Menz | //may be null if lb has been deleted
|
403 | b722cab3 | Adam Menz | if(nodeIps != null){ |
404 | b722cab3 | Adam Menz | for (int i = 0; i < nodeIps.size(); i++) { |
405 | b722cab3 | Adam Menz | TextView tv = new TextView(this.getBaseContext()); |
406 | b722cab3 | Adam Menz | tv.setLayoutParams(((TextView)findViewById(R.id.view_port)).getLayoutParams()); // easy quick styling! :)
|
407 | b722cab3 | Adam Menz | tv.setTypeface(tv.getTypeface(), 1); // 1 == bold |
408 | b722cab3 | Adam Menz | tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20);
|
409 | b722cab3 | Adam Menz | tv.setTextColor(Color.WHITE);
|
410 | b722cab3 | Adam Menz | tv.setText(addresses.get(i)); |
411 | b722cab3 | Adam Menz | layout.addView(tv, layoutIndex++); |
412 | b722cab3 | Adam Menz | } |
413 | b722cab3 | Adam Menz | } |
414 | 4f9d1a69 | Adam Menz | } |
415 | b722cab3 | Adam Menz | |
416 | 4f9d1a69 | Adam Menz | //setup menu for when menu button is pressed
|
417 | 4f9d1a69 | Adam Menz | public boolean onCreateOptionsMenu(Menu menu) { |
418 | 4f9d1a69 | Adam Menz | super.onCreateOptionsMenu(menu);
|
419 | 4f9d1a69 | Adam Menz | MenuInflater inflater = getMenuInflater(); |
420 | 4f9d1a69 | Adam Menz | inflater.inflate(R.menu.view_loadbalancer_menu, menu); |
421 | 4f9d1a69 | Adam Menz | return true; |
422 | 4f9d1a69 | Adam Menz | } |
423 | b722cab3 | Adam Menz | |
424 | b722cab3 | Adam Menz | @Override
|
425 | b722cab3 | Adam Menz | public boolean onOptionsItemSelected(MenuItem item) { |
426 | b722cab3 | Adam Menz | switch (item.getItemId()) {
|
427 | b722cab3 | Adam Menz | case R.id.refresh_loadbalancer:
|
428 | b722cab3 | Adam Menz | new LoadLoadBalancerTask().execute((Void[]) null); |
429 | b722cab3 | Adam Menz | return true; |
430 | b722cab3 | Adam Menz | } |
431 | b722cab3 | Adam Menz | return false; |
432 | b722cab3 | Adam Menz | } |
433 | b722cab3 | Adam Menz | |
434 | b722cab3 | Adam Menz | @Override
|
435 | 01340459 | Adam Menz | //have been kicked back from another activity,
|
436 | 01340459 | Adam Menz | //so refresh the load balancer data
|
437 | 4f9d1a69 | Adam Menz | public void onActivityResult(int requestCode, int resultCode, Intent data) { |
438 | 4f9d1a69 | Adam Menz | super.onActivityResult(requestCode, resultCode, data);
|
439 | 4f9d1a69 | Adam Menz | if (resultCode == RESULT_OK) {
|
440 | b722cab3 | Adam Menz | new LoadLoadBalancerTask().execute((Void[]) null); |
441 | 4f9d1a69 | Adam Menz | } |
442 | 4f9d1a69 | Adam Menz | } |
443 | 4f9d1a69 | Adam Menz | |
444 | 4f9d1a69 | Adam Menz | // HTTP request tasks
|
445 | b722cab3 | Adam Menz | private class PollLoadBalancerTask extends AsyncTask<Void, Void, LoadBalancer> { |
446 | 4f9d1a69 | Adam Menz | |
447 | 23bc5e75 | Phillip Toohill | @Override
|
448 | 23bc5e75 | Phillip Toohill | protected LoadBalancer doInBackground(Void... arg0) { |
449 | 01340459 | Adam Menz | if(pollLoadBalancerTask.isCancelled()){
|
450 | 01340459 | Adam Menz | return null; |
451 | 01340459 | Adam Menz | } |
452 | 23bc5e75 | Phillip Toohill | try {
|
453 | b722cab3 | Adam Menz | loadBalancer = (new LoadBalancerManager(getContext())).getLoadBalancerById(Integer.parseInt(loadBalancer.getId())); |
454 | 23bc5e75 | Phillip Toohill | } catch (NumberFormatException e) { |
455 | 23bc5e75 | Phillip Toohill | // we're polling, so need to show exceptions
|
456 | 23bc5e75 | Phillip Toohill | } catch (LoadBalancersException e) {
|
457 | 23bc5e75 | Phillip Toohill | // we're polling, so need to show exceptions
|
458 | 23bc5e75 | Phillip Toohill | } |
459 | b722cab3 | Adam Menz | return loadBalancer;
|
460 | 23bc5e75 | Phillip Toohill | } |
461 | 4f9d1a69 | Adam Menz | |
462 | 23bc5e75 | Phillip Toohill | @Override
|
463 | 23bc5e75 | Phillip Toohill | protected void onPostExecute(LoadBalancer result) { |
464 | b722cab3 | Adam Menz | loadBalancer = result; |
465 | 23bc5e75 | Phillip Toohill | loadLoadBalancerData(); |
466 | 23bc5e75 | Phillip Toohill | } |
467 | 4f9d1a69 | Adam Menz | } |
468 | 4f9d1a69 | Adam Menz | |
469 | 23bc5e75 | Phillip Toohill | private class LoadLoadBalancerTask extends AsyncTask<Void, Void, LoadBalancer> { |
470 | b722cab3 | Adam Menz | |
471 | 23bc5e75 | Phillip Toohill | private LoadBalancersException exception;
|
472 | b722cab3 | Adam Menz | private String loadBalancerId; |
473 | 23bc5e75 | Phillip Toohill | |
474 | 23bc5e75 | Phillip Toohill | protected void onPreExecute() { |
475 | b722cab3 | Adam Menz | loadBalancerId = loadBalancer.getId(); |
476 | b722cab3 | Adam Menz | /*
|
477 | b722cab3 | Adam Menz | * set to null, so if config change occurs
|
478 | b722cab3 | Adam Menz | * it will be reloaded in onCreate()
|
479 | b722cab3 | Adam Menz | */
|
480 | b722cab3 | Adam Menz | loadBalancer = null;
|
481 | 4f9d1a69 | Adam Menz | showDialog(); |
482 | 4f9d1a69 | Adam Menz | } |
483 | 4f9d1a69 | Adam Menz | |
484 | 23bc5e75 | Phillip Toohill | @Override
|
485 | 23bc5e75 | Phillip Toohill | protected LoadBalancer doInBackground(Void... arg0) { |
486 | 4f9d1a69 | Adam Menz | LoadBalancer result = null;
|
487 | 23bc5e75 | Phillip Toohill | try {
|
488 | b722cab3 | Adam Menz | result = (new LoadBalancerManager(getContext())).getLoadBalancerById(Integer.parseInt(loadBalancerId)); |
489 | 23bc5e75 | Phillip Toohill | } catch (LoadBalancersException e) {
|
490 | 23bc5e75 | Phillip Toohill | exception = e; |
491 | 23bc5e75 | Phillip Toohill | } |
492 | 4f9d1a69 | Adam Menz | return result;
|
493 | 23bc5e75 | Phillip Toohill | } |
494 | 23bc5e75 | Phillip Toohill | |
495 | 23bc5e75 | Phillip Toohill | @Override
|
496 | 23bc5e75 | Phillip Toohill | protected void onPostExecute(LoadBalancer result) { |
497 | b722cab3 | Adam Menz | hideDialog(); |
498 | 23bc5e75 | Phillip Toohill | if (exception != null) { |
499 | 23bc5e75 | Phillip Toohill | showAlert("Error", exception.getMessage());
|
500 | 23bc5e75 | Phillip Toohill | } |
501 | b722cab3 | Adam Menz | loadBalancer = result; |
502 | b722cab3 | Adam Menz | |
503 | 01340459 | Adam Menz | setUpButtons(); |
504 | 23bc5e75 | Phillip Toohill | loadLoadBalancerData(); |
505 | 23bc5e75 | Phillip Toohill | } |
506 | 4f9d1a69 | Adam Menz | } |
507 | 4f9d1a69 | Adam Menz | |
508 | 4f9d1a69 | Adam Menz | public class DeleteLoadBalancerTask extends AsyncTask<Void, Void, HttpBundle> { |
509 | 4f9d1a69 | Adam Menz | |
510 | 4f9d1a69 | Adam Menz | private CloudServersException exception;
|
511 | 4f9d1a69 | Adam Menz | |
512 | 4f9d1a69 | Adam Menz | @Override
|
513 | 4f9d1a69 | Adam Menz | protected void onPreExecute(){ |
514 | 4f9d1a69 | Adam Menz | showDialog(); |
515 | 4f9d1a69 | Adam Menz | } |
516 | b722cab3 | Adam Menz | |
517 | 4f9d1a69 | Adam Menz | @Override
|
518 | 4f9d1a69 | Adam Menz | protected HttpBundle doInBackground(Void... arg0) { |
519 | 4f9d1a69 | Adam Menz | HttpBundle bundle = null;
|
520 | 4f9d1a69 | Adam Menz | try {
|
521 | b722cab3 | Adam Menz | bundle = (new LoadBalancerManager(getContext())).delete(loadBalancer);
|
522 | 4f9d1a69 | Adam Menz | } catch (CloudServersException e) {
|
523 | 4f9d1a69 | Adam Menz | exception = e; |
524 | 4f9d1a69 | Adam Menz | } |
525 | 4f9d1a69 | Adam Menz | return bundle;
|
526 | 4f9d1a69 | Adam Menz | } |
527 | 4f9d1a69 | Adam Menz | |
528 | 4f9d1a69 | Adam Menz | @Override
|
529 | 4f9d1a69 | Adam Menz | protected void onPostExecute(HttpBundle bundle) { |
530 | b722cab3 | Adam Menz | hideDialog(); |
531 | 4f9d1a69 | Adam Menz | HttpResponse response = bundle.getResponse(); |
532 | 4f9d1a69 | Adam Menz | if (response != null) { |
533 | 4f9d1a69 | Adam Menz | int statusCode = response.getStatusLine().getStatusCode();
|
534 | 4f9d1a69 | Adam Menz | if (statusCode == 202) { |
535 | 4f9d1a69 | Adam Menz | setResult(Activity.RESULT_OK); |
536 | 4f9d1a69 | Adam Menz | finish(); |
537 | 4f9d1a69 | Adam Menz | } else {
|
538 | 4f9d1a69 | Adam Menz | CloudServersException cse = parseCloudServersException(response); |
539 | 4f9d1a69 | Adam Menz | if ("".equals(cse.getMessage())) { |
540 | b722cab3 | Adam Menz | showError("There was a problem deleting your load balancer.", bundle);
|
541 | 4f9d1a69 | Adam Menz | } else {
|
542 | b722cab3 | Adam Menz | showError("There was a problem deleting your load balancer: " + cse.getMessage(), bundle);
|
543 | 4f9d1a69 | Adam Menz | } |
544 | 4f9d1a69 | Adam Menz | } |
545 | 4f9d1a69 | Adam Menz | } else if (exception != null) { |
546 | b722cab3 | Adam Menz | showError("There was a problem deleting your load balancer: " + exception.getMessage(), bundle);
|
547 | 4f9d1a69 | Adam Menz | } |
548 | 4f9d1a69 | Adam Menz | } |
549 | 23bc5e75 | Phillip Toohill | } |
550 | 4f9d1a69 | Adam Menz | |
551 | 4f9d1a69 | Adam Menz | |
552 | 6ae5d8db | Adam Menz | private class SetLoggingTask extends AsyncTask<Void, Void, HttpBundle> { |
553 | 6ae5d8db | Adam Menz | |
554 | 6ae5d8db | Adam Menz | private CloudServersException exception;
|
555 | 6ae5d8db | Adam Menz | |
556 | 6ae5d8db | Adam Menz | @Override
|
557 | 6ae5d8db | Adam Menz | protected void onPreExecute(){ |
558 | 6ae5d8db | Adam Menz | showDialog(); |
559 | 6ae5d8db | Adam Menz | } |
560 | 6ae5d8db | Adam Menz | |
561 | 6ae5d8db | Adam Menz | @Override
|
562 | 6ae5d8db | Adam Menz | protected HttpBundle doInBackground(Void... arg0) { |
563 | 6ae5d8db | Adam Menz | HttpBundle bundle = null;
|
564 | 6ae5d8db | Adam Menz | try {
|
565 | 6ae5d8db | Adam Menz | bundle = (new LoadBalancerManager(context)).setLogging(loadBalancer, !Boolean.valueOf(loadBalancer.getIsConnectionLoggingEnabled())); |
566 | 6ae5d8db | Adam Menz | } catch (CloudServersException e) {
|
567 | 6ae5d8db | Adam Menz | exception = e; |
568 | 6ae5d8db | Adam Menz | } |
569 | 6ae5d8db | Adam Menz | return bundle;
|
570 | 6ae5d8db | Adam Menz | } |
571 | 6ae5d8db | Adam Menz | |
572 | 6ae5d8db | Adam Menz | @Override
|
573 | 6ae5d8db | Adam Menz | protected void onPostExecute(HttpBundle bundle) { |
574 | 6ae5d8db | Adam Menz | hideDialog(); |
575 | 6ae5d8db | Adam Menz | HttpResponse response = bundle.getResponse(); |
576 | 6ae5d8db | Adam Menz | if (response != null) { |
577 | 6ae5d8db | Adam Menz | int statusCode = response.getStatusLine().getStatusCode();
|
578 | 6ae5d8db | Adam Menz | if (statusCode == 202 || statusCode == 204) { |
579 | 6ae5d8db | Adam Menz | pollLoadBalancerTask = new PollLoadBalancerTask();
|
580 | 6ae5d8db | Adam Menz | pollLoadBalancerTask.execute((Void[]) null); |
581 | 6ae5d8db | Adam Menz | } else {
|
582 | 6ae5d8db | Adam Menz | CloudServersException cse = parseCloudServersException(response); |
583 | 6ae5d8db | Adam Menz | if ("".equals(cse.getMessage())) { |
584 | 6ae5d8db | Adam Menz | showError("There was a problem changing your log settings.", bundle);
|
585 | 6ae5d8db | Adam Menz | } else {
|
586 | 6ae5d8db | Adam Menz | showError("There was a problem changing your log settings: " + cse.getMessage(), bundle);
|
587 | 6ae5d8db | Adam Menz | } |
588 | 6ae5d8db | Adam Menz | } |
589 | 6ae5d8db | Adam Menz | } else if (exception != null) { |
590 | 6ae5d8db | Adam Menz | showError("There was a problem changing your log settings: " + exception.getMessage(), bundle);
|
591 | 6ae5d8db | Adam Menz | |
592 | 6ae5d8db | Adam Menz | } |
593 | 6ae5d8db | Adam Menz | |
594 | 6ae5d8db | Adam Menz | } |
595 | 6ae5d8db | Adam Menz | } |
596 | 01340459 | Adam Menz | |
597 | 6ae5d8db | Adam Menz | private class SessionPersistenceTask extends AsyncTask<Void, Void, HttpBundle> { |
598 | 6ae5d8db | Adam Menz | |
599 | 6ae5d8db | Adam Menz | private CloudServersException exception;
|
600 | 6ae5d8db | Adam Menz | |
601 | 6ae5d8db | Adam Menz | @Override
|
602 | 6ae5d8db | Adam Menz | protected void onPreExecute(){ |
603 | 6ae5d8db | Adam Menz | showDialog(); |
604 | 6ae5d8db | Adam Menz | } |
605 | 6ae5d8db | Adam Menz | |
606 | 6ae5d8db | Adam Menz | @Override
|
607 | 6ae5d8db | Adam Menz | protected HttpBundle doInBackground(Void... arg0) { |
608 | 6ae5d8db | Adam Menz | HttpBundle bundle = null;
|
609 | 6ae5d8db | Adam Menz | try {
|
610 | 6ae5d8db | Adam Menz | String currentSetting = loadBalancer.getSessionPersistence();
|
611 | 6ae5d8db | Adam Menz | if(currentSetting == null){ |
612 | 6ae5d8db | Adam Menz | bundle = (new LoadBalancerManager(context)).setSessionPersistence(loadBalancer, "HTTP_COOKIE"); |
613 | 6ae5d8db | Adam Menz | } else {
|
614 | 6ae5d8db | Adam Menz | bundle = (new LoadBalancerManager(context)).disableSessionPersistence(loadBalancer);
|
615 | 6ae5d8db | Adam Menz | } |
616 | 6ae5d8db | Adam Menz | } catch (CloudServersException e) {
|
617 | 6ae5d8db | Adam Menz | exception = e; |
618 | 6ae5d8db | Adam Menz | } |
619 | 6ae5d8db | Adam Menz | return bundle;
|
620 | 6ae5d8db | Adam Menz | } |
621 | 6ae5d8db | Adam Menz | |
622 | 6ae5d8db | Adam Menz | @Override
|
623 | 6ae5d8db | Adam Menz | protected void onPostExecute(HttpBundle bundle) { |
624 | 6ae5d8db | Adam Menz | hideDialog(); |
625 | 6ae5d8db | Adam Menz | HttpResponse response = bundle.getResponse(); |
626 | 6ae5d8db | Adam Menz | if (response != null) { |
627 | 6ae5d8db | Adam Menz | int statusCode = response.getStatusLine().getStatusCode();
|
628 | 6ae5d8db | Adam Menz | if (statusCode == 202 || statusCode == 200) { |
629 | 6ae5d8db | Adam Menz | pollLoadBalancerTask = new PollLoadBalancerTask();
|
630 | 6ae5d8db | Adam Menz | pollLoadBalancerTask.execute((Void[]) null); |
631 | 6ae5d8db | Adam Menz | } else {
|
632 | 6ae5d8db | Adam Menz | CloudServersException cse = parseCloudServersException(response); |
633 | 6ae5d8db | Adam Menz | if ("".equals(cse.getMessage())) { |
634 | 6ae5d8db | Adam Menz | showError("There was a problem changing your session persistence settings.", bundle);
|
635 | 6ae5d8db | Adam Menz | } else {
|
636 | 6ae5d8db | Adam Menz | showError("There was a problem changing your session persistence settings: " + cse.getMessage(), bundle);
|
637 | 6ae5d8db | Adam Menz | } |
638 | 6ae5d8db | Adam Menz | } |
639 | 6ae5d8db | Adam Menz | } else if (exception != null) { |
640 | 6ae5d8db | Adam Menz | showError("There was a problem changing your session persistence settings: " + exception.getMessage(), bundle);
|
641 | 6ae5d8db | Adam Menz | |
642 | 6ae5d8db | Adam Menz | } |
643 | 6ae5d8db | Adam Menz | |
644 | 6ae5d8db | Adam Menz | } |
645 | 6ae5d8db | Adam Menz | } |
646 | 6ae5d8db | Adam Menz | |
647 | 6ae5d8db | Adam Menz | |
648 | 23bc5e75 | Phillip Toohill | } |