• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

devonfw / IDEasy / 19651727463

24 Nov 2025 10:43PM UTC coverage: 69.156% (+0.1%) from 69.024%
19651727463

push

github

web-flow
#1144: #1145: CVE warnings and suggestions (#1593)

Co-authored-by: KianRolf <kian.loroff@capgemini.com>
Co-authored-by: jan-vcapgemini <59438728+jan-vcapgemini@users.noreply.github.com>

3613 of 5721 branches covered (63.15%)

Branch coverage included in aggregate %.

9387 of 13077 relevant lines covered (71.78%)

3.15 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

10.0
cli/src/main/java/com/devonfw/tools/ide/tool/pgadmin/PgAdmin.java
1
package com.devonfw.tools.ide.tool.pgadmin;
2

3
import java.util.ArrayList;
4
import java.util.Arrays;
5
import java.util.List;
6
import java.util.Set;
7

8
import com.devonfw.tools.ide.common.Tag;
9
import com.devonfw.tools.ide.context.IdeContext;
10
import com.devonfw.tools.ide.tool.GlobalToolCommandlet;
11
import com.devonfw.tools.ide.tool.PackageManager;
12
import com.devonfw.tools.ide.tool.PackageManagerCommand;
13
import com.devonfw.tools.ide.tool.repository.ToolRepository;
14
import com.devonfw.tools.ide.version.VersionIdentifier;
15

16
/**
17
 * {@link GlobalToolCommandlet} for <a href="https://www.pgadmin.org/">pgadmin</a>
18
 */
19
public class PgAdmin extends GlobalToolCommandlet {
20

21
  /**
22
   * The constructor.
23
   *
24
   * @param context the {@link IdeContext}.
25
   */
26
  public PgAdmin(IdeContext context) {
27

28
    super(context, "pgadmin", Set.of(Tag.DB, Tag.ADMIN));
7✔
29
  }
1✔
30

31
  @Override
32
  protected List<PackageManagerCommand> getInstallPackageManagerCommands() {
33

34
    String edition = getConfiguredEdition();
×
35
    ToolRepository toolRepository = getToolRepository();
×
36
    VersionIdentifier configuredVersion = getConfiguredVersion();
×
37
    String resolvedVersion = toolRepository.resolveVersion(this.tool, edition, configuredVersion, this).toString();
×
38

39
    PackageManagerCommand packageManagerCommand = new PackageManagerCommand(PackageManager.APT, List.of(
×
40
        "curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | "
41
            + "sudo gpg --yes --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg",
42
        "sudo sh -c 'echo \"deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] "
43
            + "https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main\" "
44
            + "> /etc/apt/sources.list.d/pgadmin4.list && apt update'", String.format(
×
45
            "sudo apt install -y --allow-downgrades pgadmin4=%1$s pgadmin4-server=%1$s pgadmin4-desktop=%1$s pgadmin4-web=%1$s",
46
            resolvedVersion)));
47
    return List.of(packageManagerCommand);
×
48
  }
49

50
  @Override
51
  public void uninstall() {
52

53
    if (this.context.getSystemInfo().isLinux()) {
×
54
      runWithPackageManager(false, getPackageManagerCommandsUninstall());
×
55
    } else {
56
      super.uninstall();
×
57
    }
58
  }
×
59

60
  private List<PackageManagerCommand> getPackageManagerCommandsUninstall() {
61

62
    List<PackageManagerCommand> pmCommands = new ArrayList<>();
×
63

64
    pmCommands.add(new PackageManagerCommand(PackageManager.APT,
×
65
        Arrays.asList("sudo apt -y autoremove pgadmin4 pgadmin4-server pgadmin4-desktop pgadmin4-web")));
×
66

67
    return pmCommands;
×
68
  }
69

70
  @Override
71
  protected String getBinaryName() {
72

73
    return "pgadmin4";
×
74
  }
75
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc