mirror of
https://github.com/apache/sqoop.git
synced 2025-05-06 17:20:31 +08:00
SQOOP-2117: Sqoop2: Shell command 'show link' should show connector name
(Szehon Ho via Abraham Elmahrek)
This commit is contained in:
parent
3f1420f715
commit
263e362045
@ -19,14 +19,18 @@
|
||||
|
||||
import org.apache.commons.cli.CommandLine;
|
||||
import org.apache.commons.cli.OptionBuilder;
|
||||
import org.apache.sqoop.model.MConnector;
|
||||
import org.apache.sqoop.model.MLink;
|
||||
import org.apache.sqoop.shell.core.Constants;
|
||||
import org.apache.sqoop.shell.utils.TableDisplayer;
|
||||
import org.apache.sqoop.validation.Status;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.apache.sqoop.shell.ShellEnvironment.*;
|
||||
import static org.apache.sqoop.shell.utils.ConfigDisplayer.*;
|
||||
@ -67,22 +71,25 @@ private void showSummary() {
|
||||
List<String> header = new LinkedList<String>();
|
||||
header.add(resourceString(Constants.RES_TABLE_HEADER_ID));
|
||||
header.add(resourceString(Constants.RES_TABLE_HEADER_NAME));
|
||||
header.add(resourceString(Constants.RES_TABLE_HEADER_CONNECTOR));
|
||||
header.add(resourceString(Constants.RES_TABLE_HEADER_CONNECTOR_ID));
|
||||
header.add(resourceString(Constants.RES_TABLE_HEADER_CONNECTOR_NAME));
|
||||
header.add(resourceString(Constants.RES_TABLE_HEADER_ENABLED));
|
||||
|
||||
List<String> ids = new LinkedList<String>();
|
||||
List<String> names = new LinkedList<String>();
|
||||
List<String> connectors = new LinkedList<String>();
|
||||
List<String> connectorIds = new LinkedList<String>();
|
||||
List<String> availabilities = new LinkedList<String>();
|
||||
|
||||
for(MLink link : links) {
|
||||
for (MLink link : links) {
|
||||
ids.add(String.valueOf(link.getPersistenceId()));
|
||||
names.add(link.getName());
|
||||
connectors.add(String.valueOf(link.getConnectorId()));
|
||||
connectorIds.add(String.valueOf(link.getConnectorId()));
|
||||
availabilities.add(String.valueOf(link.getEnabled()));
|
||||
}
|
||||
|
||||
TableDisplayer.display(header, ids, names, connectors, availabilities);
|
||||
List<String> connectorNames = getConnectorNames(connectorIds);
|
||||
|
||||
TableDisplayer.display(header, ids, names, connectorIds, connectorNames, availabilities);
|
||||
}
|
||||
|
||||
private void showLinks() {
|
||||
@ -117,10 +124,36 @@ private void displayLink(MLink link) {
|
||||
);
|
||||
|
||||
long connectorId = link.getConnectorId();
|
||||
printlnResource(Constants.RES_SHOW_PROMPT_LINK_CID_INFO, connectorId);
|
||||
MConnector connector = client.getConnector(connectorId);
|
||||
String connectorName = "";
|
||||
if (connector != null) {
|
||||
connectorName = connector.getUniqueName();
|
||||
}
|
||||
printlnResource(Constants.RES_SHOW_PROMPT_LINK_CID_INFO, connectorName, connectorId);
|
||||
|
||||
// Display link config
|
||||
displayConfig(link.getConnectorLinkConfig().getConfigs(),
|
||||
client.getConnectorConfigBundle(connectorId));
|
||||
client.getConnectorConfigBundle(connectorId));
|
||||
}
|
||||
|
||||
private List<String> getConnectorNames(List<String> connectorIds) {
|
||||
Map<String, String> connectorIdToName = new HashMap<String, String>();
|
||||
for (String connectorId : connectorIds) {
|
||||
if (!connectorIdToName.containsKey(connectorId)) {
|
||||
MConnector connector = client.getConnector(Long.valueOf(connectorId));
|
||||
if (connector != null) {
|
||||
connectorIdToName.put(connectorId, connector.getUniqueName());
|
||||
}
|
||||
}
|
||||
}
|
||||
List<String> connectorNames = new ArrayList<String>();
|
||||
for (String connectorId : connectorIds) {
|
||||
if (connectorIdToName.get(connectorId) != null) {
|
||||
connectorNames.add(connectorIdToName.get(connectorId));
|
||||
} else {
|
||||
connectorNames.add("");
|
||||
}
|
||||
}
|
||||
return connectorNames;
|
||||
}
|
||||
}
|
||||
|
@ -337,8 +337,10 @@ public class Constants {
|
||||
"table.header.class";
|
||||
public static final String RES_TABLE_HEADER_SUPPORTED_DIRECTIONS =
|
||||
"table.header.supported_directions";
|
||||
public static final String RES_TABLE_HEADER_CONNECTOR =
|
||||
"table.header.connector";
|
||||
public static final String RES_TABLE_HEADER_CONNECTOR_NAME =
|
||||
"table.header.connector.name";
|
||||
public static final String RES_TABLE_HEADER_CONNECTOR_ID =
|
||||
"table.header.connector.id";
|
||||
public static final String RES_TABLE_HEADER_FROM_CONNECTOR =
|
||||
"table.header.connector.from";
|
||||
public static final String RES_TABLE_HEADER_TO_CONNECTOR =
|
||||
|
@ -131,7 +131,7 @@ show.prompt_display_link_lid = Display the link with lid
|
||||
show.link_usage = Usage: show link
|
||||
show.prompt_links_to_show = @|bold {0} link(s) to show: |@
|
||||
show.prompt_link_info = link with id {0} and name {1} (Enabled: {2}, Created by {3} at {4}, Updated by {5} at {6})
|
||||
show.prompt_link_cid_info = Using Connector id {0}
|
||||
show.prompt_link_cid_info = Using Connector @|bold {0}|@ with id @|bold {1}|@
|
||||
|
||||
show.prompt_display_all_connectors = Display all connectors
|
||||
show.prompt_display_connector_cid = Display the connector with cid
|
||||
@ -192,7 +192,8 @@ table.header.name = Name
|
||||
table.header.version = Version
|
||||
table.header.class = Class
|
||||
table.header.supported_directions = Supported Directions
|
||||
table.header.connector = Connector
|
||||
table.header.connector.id = Connector Id
|
||||
table.header.connector.name = Connector Name
|
||||
table.header.connector.from = From Connector
|
||||
table.header.connector.to = To Connector
|
||||
table.header.jid = Job Id
|
||||
|
Loading…
Reference in New Issue
Block a user