use of org.jboss.galleon.cli.cmd.Table.Cell in project galleon by wildfly.
the class StateInfoUtil method buildDependencies.
public static String buildDependencies(List<FeaturePackLocation> dependencies, Map<FPID, FeaturePackConfig> configs) {
if (!dependencies.isEmpty()) {
boolean showPatches = configs == null ? false : showPatches(configs.values());
List<String> headers = new ArrayList<>();
headers.add(Headers.DEPENDENCY);
headers.add(Headers.BUILD);
if (showPatches) {
headers.add(Headers.PATCHES);
}
headers.add(Headers.UPDATE_CHANNEL);
Table table = new Table(headers);
for (FeaturePackLocation d : dependencies) {
List<Cell> line = new ArrayList<>();
line.add(new Cell(d.getProducerName()));
line.add(new Cell(d.getBuild()));
if (showPatches) {
FeaturePackConfig config = configs.get(d.getFPID());
if (config != null && config.hasPatches()) {
Cell patches = new Cell();
for (FPID p : config.getPatches()) {
patches.addLine(p.getBuild());
}
line.add(patches);
}
}
line.add(new Cell(formatChannel(d)));
table.addCellsLine(line);
}
table.sort(Table.SortType.ASCENDANT);
return table.build();
}
return null;
}
use of org.jboss.galleon.cli.cmd.Table.Cell in project galleon by wildfly.
the class StateInfoUtil method buildFeaturePacks.
private static String buildFeaturePacks(PmCommandInvocation commandInvocation, Path installation, Collection<FeaturePackConfig> fps) {
boolean showPatches = showPatches(fps);
List<String> headers = new ArrayList<>();
headers.add(Headers.PRODUCT);
headers.add(Headers.BUILD);
if (showPatches) {
headers.add(Headers.PATCHES);
}
headers.add(Headers.UPDATE_CHANNEL);
Table t = new Table(headers);
for (FeaturePackConfig c : fps) {
FeaturePackLocation loc = commandInvocation.getPmSession().getExposedLocation(installation, c.getLocation());
List<Cell> line = new ArrayList<>();
line.add(new Cell(loc.getProducer().getName()));
line.add(new Cell(loc.getBuild()));
if (showPatches) {
if (c.hasPatches()) {
Cell patches = new Cell();
for (FPID p : c.getPatches()) {
patches.addLine(p.getBuild());
}
line.add(patches);
}
}
line.add(new Cell(formatChannel(loc)));
t.addCellsLine(line);
}
if (!t.isEmpty()) {
t.sort(Table.SortType.ASCENDANT);
return t.build();
} else {
return null;
}
}
use of org.jboss.galleon.cli.cmd.Table.Cell in project galleon by wildfly.
the class CheckUpdatesCommand method getUpdatesTable.
static Updates getUpdatesTable(ProvisioningManager mgr, PmCommandInvocation session, boolean includeAll, String fp) throws ProvisioningException, CommandExecutionException {
if (includeAll && fp != null) {
throw new CommandExecutionException(CliErrors.onlyOneOptionOf(FP_OPTION_NAME, ALL_DEPENDENCIES_OPTION_NAME));
}
ProvisioningPlan plan;
if (fp == null) {
plan = mgr.getUpdates(includeAll);
} else {
String[] split = fp.split(",+");
List<ProducerSpec> resolved = new ArrayList<>();
List<FeaturePackLocation> locs = new ArrayList<>();
for (String producer : split) {
FeaturePackLocation loc = session.getPmSession().getResolvedLocation(mgr.getInstallationHome(), producer);
if (loc.hasBuild()) {
locs.add(loc);
} else {
resolved.add(loc.getProducer());
}
}
if (!resolved.isEmpty()) {
ProducerSpec[] arr = new ProducerSpec[resolved.size()];
plan = mgr.getUpdates(resolved.toArray(arr));
} else {
plan = ProvisioningPlan.builder();
}
if (!locs.isEmpty()) {
addCustomUpdates(plan, locs, mgr);
}
}
Updates updates = new Updates();
updates.plan = plan;
if (plan.isEmpty()) {
return updates;
}
boolean hasPatches = false;
for (FeaturePackUpdatePlan p : plan.getUpdates()) {
if (p.hasNewPatches()) {
hasPatches = true;
break;
}
}
List<String> headers = new ArrayList<>();
headers.add(Headers.PRODUCT);
headers.add(Headers.CURRENT_BUILD);
headers.add(Headers.UPDATE);
if (hasPatches) {
headers.add(Headers.PATCHES);
}
if (includeAll) {
headers.add(Headers.DEPENDENCY);
}
headers.add(Headers.UPDATE_CHANNEL);
updates.t = new Table(headers);
for (FeaturePackUpdatePlan p : plan.getUpdates()) {
FeaturePackLocation loc = p.getInstalledLocation();
String update = p.hasNewLocation() ? p.getNewLocation().getBuild() : NONE;
Cell patches = null;
if (hasPatches) {
patches = new Cell();
if (p.hasNewPatches()) {
for (FPID id : p.getNewPatches()) {
patches.addLine(id.getBuild());
}
} else {
patches.addLine(NONE);
}
}
List<Cell> line = new ArrayList<>();
line.add(new Cell(loc.getProducerName()));
line.add(new Cell(loc.getBuild()));
line.add(new Cell(update));
if (hasPatches) {
line.add(patches);
}
if (includeAll) {
line.add(new Cell(p.isTransitive() ? "Y" : "N"));
}
FeaturePackLocation newLocation = session.getPmSession().getExposedLocation(mgr.getInstallationHome(), p.getNewLocation());
line.add(new Cell(StateInfoUtil.formatChannel(newLocation)));
updates.t.addCellsLine(line);
}
updates.t.sort(Table.SortType.ASCENDANT);
return updates;
}
use of org.jboss.galleon.cli.cmd.Table.Cell in project galleon by wildfly.
the class MavenGetInfo method runCommand.
@Override
protected void runCommand(PmCommandInvocation session) throws CommandExecutionException {
Table t = new Table(Headers.CONFIGURATION_ITEM, Headers.VALUE);
MavenConfig config = session.getPmSession().getPmConfiguration().getMavenConfig();
t.addLine("Maven xml settings", (config.getSettings() == null ? "No settings file set" : config.getSettings().normalize().toString()));
t.addLine("Local repository", config.getLocalRepository().normalize().toString());
t.addLine("Default release policy", config.getDefaultReleasePolicy());
t.addLine("Default snapshot policy", config.getDefaultSnapshotPolicy());
t.addLine("Enable release", "" + config.isReleaseEnabled());
t.addLine("Enable snapshot", "" + config.isSnapshotEnabled());
t.addLine("Offline", "" + config.isOffline());
Cell repositories = new Cell();
Cell title = new Cell("Remote repositories");
if (config.getRemoteRepositories().isEmpty()) {
repositories.addLine("None");
} else {
for (MavenRemoteRepository rep : session.getPmSession().getPmConfiguration().getMavenConfig().getRemoteRepositories()) {
repositories.addLine(rep.getName());
repositories.addLine(" url=" + rep.getUrl());
repositories.addLine(" type=" + rep.getType());
repositories.addLine(" release=" + (rep.getEnableRelease() == null ? config.isReleaseEnabled() : rep.getEnableRelease()));
repositories.addLine(" releaseUpdatePolicy=" + (rep.getReleaseUpdatePolicy() == null ? config.getDefaultReleasePolicy() : rep.getReleaseUpdatePolicy()));
repositories.addLine(" snapshot=" + (rep.getEnableSnapshot() == null ? config.isSnapshotEnabled() : rep.getEnableSnapshot()));
repositories.addLine(" snapshotUpdatePolicy=" + (rep.getSnapshotUpdatePolicy() == null ? config.getDefaultSnapshotPolicy() : rep.getSnapshotUpdatePolicy()));
}
}
t.addCellsLine(title, repositories);
t.sort(Table.SortType.ASCENDANT);
session.println(t.build());
}
Aggregations