mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-24 14:38:45 +00:00
Added LinkBuilder for constructing links in the tables of the ui and
moved this functionality from the LandscapemanagementPanel to this new class. This makes it available to the shardManagementPanel with no additional effort
This commit is contained in:
+10
-79
@@ -264,11 +264,7 @@ public class LandscapeManagementPanel extends SimplePanel {
|
||||
final Column<SailingApplicationReplicaSetDTO<String>, SafeHtml> versionColumn = new Column<SailingApplicationReplicaSetDTO<String>, SafeHtml>(versionCell) {
|
||||
@Override
|
||||
public SafeHtml getValue(SailingApplicationReplicaSetDTO<String> replicaSet) {
|
||||
final SafeHtmlBuilder builder = new SafeHtmlBuilder();
|
||||
final String version = replicaSet.getVersion();
|
||||
final String releaseNotesLink = getReleaseNotesLink(version);
|
||||
appendEc2Link(builder, releaseNotesLink, version);
|
||||
return builder.toSafeHtml();
|
||||
return new LinkBuilder().setReplicaSet(replicaSet).setPathMode(LinkBuilder.pathModes.Version).build();
|
||||
}
|
||||
};
|
||||
applicationReplicaSetsTable.addColumn(versionColumn, stringMessages.versionHeader(), (rs1, rs2)->new NaturalComparator().compare(rs1.getVersion(), rs2.getVersion()));
|
||||
@@ -276,12 +272,7 @@ public class LandscapeManagementPanel extends SimplePanel {
|
||||
final Column<SailingApplicationReplicaSetDTO<String>, SafeHtml> masterColumn = new Column<SailingApplicationReplicaSetDTO<String>, SafeHtml>(masterCell) {
|
||||
@Override
|
||||
public SafeHtml getValue(SailingApplicationReplicaSetDTO<String> replicaSet) {
|
||||
final SafeHtmlBuilder builder = new SafeHtmlBuilder();
|
||||
final String gwtStatusLink = getGwtStatusLink(replicaSet.getMaster().getHost().getPublicIpAddress(), replicaSet.getMaster().getPort());
|
||||
builder.appendHtmlConstant("<a target=\"_blank\" href=\""+gwtStatusLink+"\">");
|
||||
builder.appendEscaped(replicaSet.getMaster().getHost().getPublicIpAddress());
|
||||
builder.appendHtmlConstant("</a>");
|
||||
return builder.toSafeHtml();
|
||||
return new LinkBuilder().setPathMode(LinkBuilder.pathModes.MasterHost).setReplicaSet(replicaSet).build();
|
||||
}
|
||||
};
|
||||
applicationReplicaSetsTable.addColumn(masterColumn, stringMessages.masterHostName(), (rs1, rs2)->new NaturalComparator().compare(rs1.getMaster().getHost().getPublicIpAddress(), rs2.getMaster().getHost().getPublicIpAddress()));
|
||||
@@ -290,23 +281,15 @@ public class LandscapeManagementPanel extends SimplePanel {
|
||||
final Column<SailingApplicationReplicaSetDTO<String>, SafeHtml> hostnameColumn = new Column<SailingApplicationReplicaSetDTO<String>, SafeHtml>(hostnameCell) {
|
||||
@Override
|
||||
public SafeHtml getValue(SailingApplicationReplicaSetDTO<String> replicaSet) {
|
||||
final SafeHtmlBuilder builder = new SafeHtmlBuilder();
|
||||
final String hostnameLink = "https://"+replicaSet.getHostname();
|
||||
builder.appendHtmlConstant("<a target=\"_blank\" href=\""+hostnameLink+"\">");
|
||||
builder.appendEscaped(replicaSet.getHostname());
|
||||
builder.appendHtmlConstant("</a>");
|
||||
return builder.toSafeHtml();
|
||||
}
|
||||
return new LinkBuilder().setReplicaSet(replicaSet).setPathMode(LinkBuilder.pathModes.Hostname).build()
|
||||
; }
|
||||
};
|
||||
applicationReplicaSetsTable.addColumn(hostnameColumn, stringMessages.hostname(), (rs1, rs2)->new NaturalComparator().compare(rs1.getHostname(), rs2.getMaster().getHostname()));
|
||||
final SafeHtmlCell masterInstanceIdCell = new SafeHtmlCell();
|
||||
final Column<SailingApplicationReplicaSetDTO<String>, SafeHtml> masterInstanceIdColumn = new Column<SailingApplicationReplicaSetDTO<String>, SafeHtml>(masterInstanceIdCell) {
|
||||
@Override
|
||||
public SafeHtml getValue(SailingApplicationReplicaSetDTO<String> replicaSet) {
|
||||
final SafeHtmlBuilder builder = new SafeHtmlBuilder();
|
||||
final String instanceId = replicaSet.getMaster().getHost().getInstanceId();
|
||||
appendEc2InstanceLink(builder, instanceId);
|
||||
return builder.toSafeHtml();
|
||||
return new LinkBuilder().setRegion(regionsTable.getSelectionModel().getSelectedObject()).setInstanceId(replicaSet.getMaster().getHost().getInstanceId()).setPathMode(LinkBuilder.pathModes.InstanstanceSearch).build();
|
||||
}
|
||||
};
|
||||
applicationReplicaSetsTable.addColumn(masterInstanceIdColumn, stringMessages.masterInstanceId(),
|
||||
@@ -317,21 +300,10 @@ public class LandscapeManagementPanel extends SimplePanel {
|
||||
final Column<SailingApplicationReplicaSetDTO<String>, SafeHtml> replicasColumn = new Column<SailingApplicationReplicaSetDTO<String>, SafeHtml>(replicasCell) {
|
||||
@Override
|
||||
public SafeHtml getValue(SailingApplicationReplicaSetDTO<String> replicaSet) {
|
||||
SafeHtmlBuilder builder = new SafeHtmlBuilder();
|
||||
for (final SailingAnalyticsProcessDTO replica : replicaSet.getReplicas()) {
|
||||
final String gwtStatusLink = getGwtStatusLink(replica.getHost().getPublicIpAddress(), replica.getPort());
|
||||
builder.appendHtmlConstant("<a target=\"_blank\" href=\""+gwtStatusLink+"\">");
|
||||
builder.appendEscaped(replica.getHost().getPublicIpAddress()+":"+replica.getPort());
|
||||
builder.appendHtmlConstant("</a>");
|
||||
final String replicaInstanceId = replica.getHost().getInstanceId();
|
||||
builder.appendEscaped(" (");
|
||||
builder.appendEscaped(replica.getServerName());
|
||||
builder.appendEscaped(", ");
|
||||
appendEc2InstanceLink(builder, replicaInstanceId);
|
||||
builder.appendEscaped(")");
|
||||
builder.appendHtmlConstant("<br>");
|
||||
}
|
||||
return builder.toSafeHtml();
|
||||
LinkBuilder linkBuilder = new LinkBuilder();
|
||||
linkBuilder.setReplicaSet(replicaSet);
|
||||
linkBuilder.setPathMode(LinkBuilder.pathModes.ReplicaLinks).setRegion(regionsTable.getSelectionModel().getSelectedObject());
|
||||
return linkBuilder.build();
|
||||
}
|
||||
};
|
||||
applicationReplicaSetsTable.addColumn(replicasColumn, stringMessages.replicas());
|
||||
@@ -340,11 +312,7 @@ public class LandscapeManagementPanel extends SimplePanel {
|
||||
final Column<SailingApplicationReplicaSetDTO<String>, SafeHtml> autoScalingGroupAmiIdColumn = new Column<SailingApplicationReplicaSetDTO<String>, SafeHtml>(autoScalingGroupAmiIdCell) {
|
||||
@Override
|
||||
public SafeHtml getValue(SailingApplicationReplicaSetDTO<String> replicaSet) {
|
||||
final SafeHtmlBuilder builder = new SafeHtmlBuilder();
|
||||
if (replicaSet.getAutoScalingGroupAmiId() != null) {
|
||||
appendEc2AmiLink(builder, replicaSet.getAutoScalingGroupAmiId());
|
||||
}
|
||||
return builder.toSafeHtml();
|
||||
return new LinkBuilder().setReplicaSet(replicaSet).setRegion(regionsTable.getSelectionModel().getSelectedObject()).setPathMode(LinkBuilder.pathModes.AmiSearch).build();
|
||||
}
|
||||
};
|
||||
applicationReplicaSetsTable.addColumn(autoScalingGroupAmiIdColumn, stringMessages.machineImageId(), (rs1, rs2)->new NaturalComparator().compare(rs1.getAutoScalingGroupAmiId(), rs2.getAutoScalingGroupAmiId()));
|
||||
@@ -782,14 +750,6 @@ public class LandscapeManagementPanel extends SimplePanel {
|
||||
});
|
||||
}
|
||||
|
||||
private String getGwtStatusLink(final String host, int port) {
|
||||
return (port == 443 ? "https" : "http") + "://" + host + ":" + port + "/gwt/status";
|
||||
}
|
||||
|
||||
private String getReleaseNotesLink(final String version) {
|
||||
return "https://releases.sapsailing.com/"+version+"/release-notes.txt";
|
||||
}
|
||||
|
||||
private void ensureAtLeastOneReplicaExistsStopReplicatingAndRemoveMasterFromTargetGroups(
|
||||
StringMessages stringMessages, String selectedObject,
|
||||
Iterable<SailingApplicationReplicaSetDTO<String>> applicationReplicaSetsForWhichToEnsureAtLeastOneReplicaStopReplicatingAndRemoveMasterFromTargetGroups) {
|
||||
@@ -1516,33 +1476,4 @@ public class LandscapeManagementPanel extends SimplePanel {
|
||||
RemoteServiceMappingConstants.landscapeManagementServiceRemotePath, HEADER_FORWARD_TO_MASTER);
|
||||
return result;
|
||||
}
|
||||
|
||||
private String getEc2ConsoleLinkForInstanceId(String instanceId) {
|
||||
return getEc2ConsoleBaseUrlForSelectedRegion()+"#Instances:search="+instanceId;
|
||||
}
|
||||
|
||||
private void appendEc2InstanceLink(final SafeHtmlBuilder builder, final String instanceId) {
|
||||
final String ec2Link = getEc2ConsoleLinkForInstanceId(instanceId);
|
||||
appendEc2Link(builder, ec2Link, instanceId);
|
||||
}
|
||||
|
||||
private void appendEc2Link(final SafeHtmlBuilder builder, final String ec2Link, final String text) {
|
||||
builder.appendHtmlConstant("<a target=\"_blank\" href=\""+ec2Link+"\">");
|
||||
builder.appendEscaped(text);
|
||||
builder.appendHtmlConstant("</a>");
|
||||
}
|
||||
|
||||
private String getEc2ConsoleBaseUrlForSelectedRegion() {
|
||||
return "https://"+regionsTable.getSelectionModel().getSelectedObject()+
|
||||
".console.aws.amazon.com/ec2/v2/home?region="+regionsTable.getSelectionModel().getSelectedObject();
|
||||
}
|
||||
|
||||
private String getEc2ConsoleLinkForAmiId(String amiId) {
|
||||
return getEc2ConsoleBaseUrlForSelectedRegion()+"#Images:imageId="+amiId;
|
||||
}
|
||||
|
||||
private void appendEc2AmiLink(final SafeHtmlBuilder builder, final String amiId) {
|
||||
final String ec2Link = getEc2ConsoleLinkForAmiId(amiId);
|
||||
appendEc2Link(builder, ec2Link, amiId);
|
||||
}
|
||||
}
|
||||
|
||||
+177
@@ -0,0 +1,177 @@
|
||||
package com.sap.sailing.landscape.ui.client;
|
||||
|
||||
|
||||
import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.sap.sailing.landscape.ui.shared.SailingAnalyticsProcessDTO;
|
||||
import com.sap.sailing.landscape.ui.shared.SailingApplicationReplicaSetDTO;
|
||||
import com.sap.sse.common.Builder;
|
||||
|
||||
public class LinkBuilder implements Builder<LinkBuilder, SafeHtml> {
|
||||
|
||||
static public enum pathModes {
|
||||
InstanstanceSearch,
|
||||
ImageSearch,
|
||||
AmiSearch,
|
||||
Hostname,
|
||||
ReplicaLinks,
|
||||
Version,
|
||||
MasterHost,
|
||||
TargetgroupSearch
|
||||
};
|
||||
|
||||
private pathModes pathMode;
|
||||
private String region;
|
||||
private String instanceId;
|
||||
private SailingApplicationReplicaSetDTO<String> replicaSet;
|
||||
private String targetgroupName;
|
||||
|
||||
LinkBuilder setPathMode(pathModes mode) {
|
||||
pathMode = mode;
|
||||
return self();
|
||||
}
|
||||
|
||||
LinkBuilder setTargetgroupName(String name) {
|
||||
this.targetgroupName = name;
|
||||
return self();
|
||||
}
|
||||
|
||||
LinkBuilder setInstanceId(String instanceId) {
|
||||
this.instanceId = instanceId;
|
||||
return self();
|
||||
}
|
||||
|
||||
LinkBuilder setRegion(String region) {
|
||||
this.region = region;
|
||||
return self();
|
||||
}
|
||||
|
||||
LinkBuilder setReplicaSet(SailingApplicationReplicaSetDTO<String> replicaSet){
|
||||
this.replicaSet = replicaSet;
|
||||
return self();
|
||||
}
|
||||
|
||||
private String getEc2ConsoleLinkForInstanceId(String instanceId) {
|
||||
return getEc2ConsoleBaseUrlForSelectedRegion()+"#Instances:search="+instanceId;
|
||||
}
|
||||
|
||||
private String getEc2ConsoleLinkForTargetGroupArn(String name) {
|
||||
return getEc2ConsoleBaseUrlForSelectedRegion()+"#TargetGroups:name="+name;
|
||||
};
|
||||
|
||||
private String getEc2ConsoleLinkForAmiId(String amiId) {
|
||||
return getEc2ConsoleBaseUrlForSelectedRegion()+"#Images:visibility=owned-by-me;search="+amiId;
|
||||
}
|
||||
|
||||
private String getEc2ConsoleBaseUrlForSelectedRegion() {
|
||||
return "https://"+region +
|
||||
".console.aws.amazon.com/ec2/v2/home?region="+region;
|
||||
}
|
||||
|
||||
private void appendEc2Link(final SafeHtmlBuilder builder, final String ec2Link, final String text) {
|
||||
builder.appendHtmlConstant("<a target=\"_blank\" href=\""+ec2Link+"\">");
|
||||
builder.appendEscaped(text);
|
||||
builder.appendHtmlConstant("</a>");
|
||||
}
|
||||
|
||||
private void appendEc2InstanceLink(final SafeHtmlBuilder builder, final String instanceId) {
|
||||
final String ec2Link = getEc2ConsoleLinkForInstanceId(instanceId);
|
||||
appendEc2Link(builder, ec2Link, instanceId);
|
||||
}
|
||||
|
||||
private void appendEc2AmiLink(final SafeHtmlBuilder builder, final String amiId) {
|
||||
final String ec2Link = getEc2ConsoleLinkForAmiId(amiId);
|
||||
appendEc2Link(builder, ec2Link, amiId);
|
||||
}
|
||||
|
||||
private void appendEc2TargetgroupLink(final SafeHtmlBuilder builder, final String name) {
|
||||
final String ec2Link = getEc2ConsoleLinkForTargetGroupArn(name);
|
||||
appendEc2Link(builder, ec2Link, name);
|
||||
}
|
||||
|
||||
private String getGwtStatusLink(final String host, int port) {
|
||||
return (port == 443 ? "https" : "http") + "://" + host + ":" + port + "/gwt/status";
|
||||
}
|
||||
private String getReleaseNotesLink(final String version) {
|
||||
return "https://releases.sapsailing.com/"+version+"/release-notes.txt";
|
||||
}
|
||||
|
||||
private void checkAttribute(Object attr, String name) throws Exception {
|
||||
if(attr == null) {
|
||||
throw new Exception(name + " needs to be given!");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public SafeHtml build() {
|
||||
SafeHtmlBuilder builder = new SafeHtmlBuilder();
|
||||
try {
|
||||
switch (pathMode) {
|
||||
case ReplicaLinks:
|
||||
checkAttribute(replicaSet, "Replicaset");
|
||||
for (final SailingAnalyticsProcessDTO replica : replicaSet.getReplicas()) {
|
||||
final String gwtStatusLink = getGwtStatusLink(replica.getHost().getPublicIpAddress(), replica.getPort());
|
||||
builder.appendHtmlConstant("<a target=\"_blank\" href=\""+gwtStatusLink+"\">");
|
||||
builder.appendEscaped(replica.getHost().getPublicIpAddress()+":"+replica.getPort());
|
||||
builder.appendHtmlConstant("</a>");
|
||||
final String replicaInstanceId = replica.getHost().getInstanceId();
|
||||
builder.appendEscaped(" (");
|
||||
builder.appendEscaped(replica.getServerName());
|
||||
builder.appendEscaped(", ");
|
||||
appendEc2InstanceLink(builder, replicaInstanceId);
|
||||
builder.appendEscaped(")");
|
||||
builder.appendHtmlConstant("<br>");
|
||||
}
|
||||
break;
|
||||
case AmiSearch:
|
||||
checkAttribute(replicaSet, "Replicaset");
|
||||
checkAttribute(region, "Region");
|
||||
if (replicaSet.getAutoScalingGroupAmiId() != null) {
|
||||
appendEc2AmiLink(builder, replicaSet.getAutoScalingGroupAmiId());
|
||||
}
|
||||
|
||||
break;
|
||||
case Hostname:
|
||||
checkAttribute(replicaSet, "Replicaset");
|
||||
final String hostnameLink = "https://"+replicaSet.getHostname();
|
||||
builder.appendHtmlConstant("<a target=\"_blank\" href=\""+hostnameLink+"\">");
|
||||
builder.appendEscaped(replicaSet.getHostname());
|
||||
builder.appendHtmlConstant("</a>");
|
||||
break;
|
||||
case ImageSearch:
|
||||
break;
|
||||
case InstanstanceSearch:
|
||||
checkAttribute(region, "Region");
|
||||
appendEc2InstanceLink(builder, instanceId);
|
||||
break;
|
||||
case Version:
|
||||
checkAttribute(replicaSet, "Replicaset");
|
||||
final String version = replicaSet.getVersion();
|
||||
final String releaseNotesLink = getReleaseNotesLink(version);
|
||||
appendEc2Link(builder, releaseNotesLink, version);
|
||||
break;
|
||||
case MasterHost:
|
||||
checkAttribute(replicaSet, "Replicaset");
|
||||
final String gwtStatusLink = getGwtStatusLink(replicaSet.getMaster().getHost().getPublicIpAddress(), replicaSet.getMaster().getPort());
|
||||
builder.appendHtmlConstant("<a target=\"_blank\" href=\""+gwtStatusLink+"\">");
|
||||
builder.appendEscaped(replicaSet.getMaster().getHost().getPublicIpAddress());
|
||||
builder.appendHtmlConstant("</a>");
|
||||
break;
|
||||
case TargetgroupSearch:
|
||||
checkAttribute(region, "Region");
|
||||
checkAttribute(targetgroupName, "Targetgroupname");
|
||||
appendEc2TargetgroupLink(builder, targetgroupName);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}catch (Exception e){
|
||||
builder.appendHtmlConstant("<a target=\"_blank\" >");
|
||||
builder.appendEscaped(e.getMessage());
|
||||
builder.appendHtmlConstant("</a>");
|
||||
}
|
||||
|
||||
return builder.toSafeHtml();
|
||||
}
|
||||
|
||||
}
|
||||
+29
-14
@@ -6,8 +6,11 @@ import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.gwt.cell.client.SafeHtmlCell;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
import com.google.gwt.user.cellview.client.Column;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.DialogBox;
|
||||
@@ -31,7 +34,7 @@ public class ShardManagementPanel extends SimplePanel {
|
||||
private final Button addShard;
|
||||
private final LandscapeManagementWriteServiceAsync landscapeManagementService;
|
||||
private final TableWrapperWithMultiSelectionAndFilter<String, StringMessages, AdminConsoleTableResources> regattasTable;
|
||||
private final TableWrapperWithMultiSelectionAndFilter<Entry<Integer, AwsShardDTO>, StringMessages, AdminConsoleTableResources> shardTable;
|
||||
private final TableWrapperWithMultiSelectionAndFilter< Entry<AwsShardDTO, Iterable<String>>, StringMessages, AdminConsoleTableResources> shardTable;
|
||||
private final TextBox brearertokenText;
|
||||
private SailingApplicationReplicaSetDTO<String> replicaSet;
|
||||
private final BusyIndicator shardBusy;
|
||||
@@ -71,19 +74,31 @@ public class ShardManagementPanel extends SimplePanel {
|
||||
|
||||
mainPanel.add(usercredentials);
|
||||
|
||||
shardTable = new TableWrapperWithMultiSelectionAndFilter<Entry<Integer,AwsShardDTO>, StringMessages, AdminConsoleTableResources>(stringMessages, errorReporter, false, java.util.Optional.empty(), GWT.create(AdminConsoleTableResources.class), java.util.Optional.empty(), java.util.Optional.empty(), null) {
|
||||
shardTable = new TableWrapperWithMultiSelectionAndFilter<Entry<AwsShardDTO, Iterable<String>>, StringMessages, AdminConsoleTableResources>(
|
||||
stringMessages, errorReporter, false, java.util.Optional.empty(),
|
||||
GWT.create(AdminConsoleTableResources.class), java.util.Optional.empty(), java.util.Optional.empty(),
|
||||
null) {
|
||||
|
||||
@Override
|
||||
protected Iterable<String> getSearchableStrings(Entry<Integer, AwsShardDTO> t) {
|
||||
protected Iterable<String> getSearchableStrings(Entry<AwsShardDTO, Iterable<String>> t) {
|
||||
Set<String> res = new HashSet<String>();
|
||||
|
||||
res.add(t.getValue().getName());
|
||||
|
||||
res.add(t.getKey().getName());
|
||||
return res;
|
||||
}
|
||||
};
|
||||
shardTable.addColumn(t -> t.getKey().toString(),"index");
|
||||
shardTable.addColumn(t -> t.getValue().getName(),"Name");
|
||||
shardTable.addColumn(t-> t.getValue().getKeysString() , "Sharding Keys");
|
||||
//shardTable.addColumn(t -> t.getKey().toString(),"index");
|
||||
shardTable.addColumn(t -> t.getKey().getName(),"Name");
|
||||
shardTable.addColumn(t-> t.getKey().getKeysString() , "Sharding Keys");
|
||||
final SafeHtmlCell targetgroupCell = new SafeHtmlCell();
|
||||
final Column<Entry<AwsShardDTO, Iterable<String>>, SafeHtml> targetgroupColumn = new Column<Entry<AwsShardDTO, Iterable<String>>, SafeHtml>(targetgroupCell) {
|
||||
@Override
|
||||
public SafeHtml getValue(Entry<AwsShardDTO, Iterable<String>> shardentry) {
|
||||
return new LinkBuilder().setTargetgroupName(shardentry.getKey().getTargetgroupName()).setRegion(region).setPathMode(LinkBuilder.pathModes.TargetgroupSearch).build();
|
||||
}
|
||||
};
|
||||
shardTable.addColumn(targetgroupColumn , "Targetgroup");
|
||||
shardTable.addColumn(t-> t.getKey().getAutoscalingGroupName() , "Autoscalinggroup");
|
||||
shardTable.getSelectionModel().addSelectionChangeHandler(event -> {
|
||||
removeButton.setEnabled(!shardTable.getSelectionModel().getSelectedSet().isEmpty());
|
||||
});
|
||||
@@ -188,7 +203,7 @@ public class ShardManagementPanel extends SimplePanel {
|
||||
Button submitButton = new Button("Submit");
|
||||
mainPanel.add(submitButton);
|
||||
submitButton.addClickHandler(event -> {
|
||||
if(nameText.getValue() == null || nameText.getValue() == "" || region == null || passphrase == null) {
|
||||
if(nameText.getValue() == null || nameText.getValue() == "") {
|
||||
nameRequest.setVisible(false);
|
||||
errorReporter.reportError("Name not valid");
|
||||
}else if(region == null || passphrase == null) {
|
||||
@@ -220,8 +235,8 @@ public class ShardManagementPanel extends SimplePanel {
|
||||
|
||||
private void removeButtonPress() {
|
||||
setShardtableBusy(true);
|
||||
for (Entry<Integer, AwsShardDTO> selection : shardTable.getSelectionModel().getSelectedSet()) {
|
||||
landscapeManagementService.removeShard(selection.getKey(), selection.getValue(), replicaSet, region,
|
||||
for (Entry<AwsShardDTO, Iterable<String>> selection : shardTable.getSelectionModel().getSelectedSet()) {
|
||||
landscapeManagementService.removeShard( selection.getKey(), replicaSet, region,
|
||||
passphrase.getBytes(), new AsyncCallback<Void>() {
|
||||
|
||||
@Override
|
||||
@@ -232,7 +247,7 @@ public class ShardManagementPanel extends SimplePanel {
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
appendMessage("Deleted Shard: " + selection.getValue().getName());
|
||||
appendMessage("Deleted Shard: " + selection.getKey().getName());
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -241,7 +256,7 @@ public class ShardManagementPanel extends SimplePanel {
|
||||
|
||||
private void displayShards() {
|
||||
setShardtableBusy(true);
|
||||
landscapeManagementService.getShards(replicaSet, region,passphrase.getBytes(), new AsyncCallback<Map<Integer,AwsShardDTO>>() {
|
||||
landscapeManagementService.getShards(replicaSet, region,passphrase.getBytes(), new AsyncCallback< Map<AwsShardDTO, Iterable<String>>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -250,7 +265,7 @@ public class ShardManagementPanel extends SimplePanel {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Map<Integer, AwsShardDTO> result) {
|
||||
public void onSuccess( Map<AwsShardDTO, Iterable<String>> result) {
|
||||
shardTable.refresh(result.entrySet());
|
||||
setShardtableBusy(false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user