mirror of
https://github.com/apache/sqoop.git
synced 2025-05-06 21:53:44 +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.CommandLine;
|
||||||
import org.apache.commons.cli.OptionBuilder;
|
import org.apache.commons.cli.OptionBuilder;
|
||||||
|
import org.apache.sqoop.model.MConnector;
|
||||||
import org.apache.sqoop.model.MLink;
|
import org.apache.sqoop.model.MLink;
|
||||||
import org.apache.sqoop.shell.core.Constants;
|
import org.apache.sqoop.shell.core.Constants;
|
||||||
import org.apache.sqoop.shell.utils.TableDisplayer;
|
import org.apache.sqoop.shell.utils.TableDisplayer;
|
||||||
import org.apache.sqoop.validation.Status;
|
import org.apache.sqoop.validation.Status;
|
||||||
|
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.apache.sqoop.shell.ShellEnvironment.*;
|
import static org.apache.sqoop.shell.ShellEnvironment.*;
|
||||||
import static org.apache.sqoop.shell.utils.ConfigDisplayer.*;
|
import static org.apache.sqoop.shell.utils.ConfigDisplayer.*;
|
||||||
@ -67,22 +71,25 @@ private void showSummary() {
|
|||||||
List<String> header = new LinkedList<String>();
|
List<String> header = new LinkedList<String>();
|
||||||
header.add(resourceString(Constants.RES_TABLE_HEADER_ID));
|
header.add(resourceString(Constants.RES_TABLE_HEADER_ID));
|
||||||
header.add(resourceString(Constants.RES_TABLE_HEADER_NAME));
|
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));
|
header.add(resourceString(Constants.RES_TABLE_HEADER_ENABLED));
|
||||||
|
|
||||||
List<String> ids = new LinkedList<String>();
|
List<String> ids = new LinkedList<String>();
|
||||||
List<String> names = 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>();
|
List<String> availabilities = new LinkedList<String>();
|
||||||
|
|
||||||
for(MLink link : links) {
|
for (MLink link : links) {
|
||||||
ids.add(String.valueOf(link.getPersistenceId()));
|
ids.add(String.valueOf(link.getPersistenceId()));
|
||||||
names.add(link.getName());
|
names.add(link.getName());
|
||||||
connectors.add(String.valueOf(link.getConnectorId()));
|
connectorIds.add(String.valueOf(link.getConnectorId()));
|
||||||
availabilities.add(String.valueOf(link.getEnabled()));
|
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() {
|
private void showLinks() {
|
||||||
@ -117,10 +124,36 @@ private void displayLink(MLink link) {
|
|||||||
);
|
);
|
||||||
|
|
||||||
long connectorId = link.getConnectorId();
|
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
|
// Display link config
|
||||||
displayConfig(link.getConnectorLinkConfig().getConfigs(),
|
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";
|
"table.header.class";
|
||||||
public static final String RES_TABLE_HEADER_SUPPORTED_DIRECTIONS =
|
public static final String RES_TABLE_HEADER_SUPPORTED_DIRECTIONS =
|
||||||
"table.header.supported_directions";
|
"table.header.supported_directions";
|
||||||
public static final String RES_TABLE_HEADER_CONNECTOR =
|
public static final String RES_TABLE_HEADER_CONNECTOR_NAME =
|
||||||
"table.header.connector";
|
"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 =
|
public static final String RES_TABLE_HEADER_FROM_CONNECTOR =
|
||||||
"table.header.connector.from";
|
"table.header.connector.from";
|
||||||
public static final String RES_TABLE_HEADER_TO_CONNECTOR =
|
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.link_usage = Usage: show link
|
||||||
show.prompt_links_to_show = @|bold {0} link(s) to show: |@
|
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_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_all_connectors = Display all connectors
|
||||||
show.prompt_display_connector_cid = Display the connector with cid
|
show.prompt_display_connector_cid = Display the connector with cid
|
||||||
@ -192,7 +192,8 @@ table.header.name = Name
|
|||||||
table.header.version = Version
|
table.header.version = Version
|
||||||
table.header.class = Class
|
table.header.class = Class
|
||||||
table.header.supported_directions = Supported Directions
|
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.from = From Connector
|
||||||
table.header.connector.to = To Connector
|
table.header.connector.to = To Connector
|
||||||
table.header.jid = Job Id
|
table.header.jid = Job Id
|
||||||
|
Loading…
Reference in New Issue
Block a user