<artifactId>org.argeo.cms</artifactId>
<version>2.3-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.argeo.commons</groupId>
+ <artifactId>org.argeo.cms.pgsql</artifactId>
+ <version>2.3-SNAPSHOT</version>
+ </dependency>
<!-- Third Parties -->
org.argeo.cms.servlet,\
javax.jcr.security,\
org.h2;resolution:=optional,\
-org.postgresql;resolution:=optional,\
+org.postgresql;version="[42,43)";resolution:=optional,\
org.apache.jackrabbit.webdav.server,\
org.apache.jackrabbit.webdav.jcr,\
org.apache.commons.httpclient.cookie;resolution:=optional,\
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.argeo.cms.pgsql</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
--- /dev/null
+Import-Package: org.postgresql;version="[42,43)"
--- /dev/null
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.argeo.commons</groupId>
+ <version>2.3-SNAPSHOT</version>
+ <artifactId>argeo-commons</artifactId>
+ <relativePath>..</relativePath>
+ </parent>
+ <artifactId>org.argeo.cms.pgsql</artifactId>
+ <packaging>jar</packaging>
+ <name>CMS PostgreSQL</name>
+ <description>CMS components depending on PostgreSQL APIs (SQL or JDBC)</description>
+ <dependencies>
+ <dependency>
+ <groupId>org.argeo.commons</groupId>
+ <artifactId>org.argeo.cms</artifactId>
+ <version>2.3-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
--- /dev/null
+package org.argeo.cms.pgsql.util;
+
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+import org.postgresql.Driver;
+
+/** Simple PostgreSQL check. */
+public class CheckPg {
+
+ public List<String> listTables() {
+ String osUser = System.getProperty("user.name");
+
+ String url = "jdbc:postgresql://localhost/" + osUser;
+ Properties props = new Properties();
+ props.setProperty("user", osUser);
+ props.setProperty("password", "changeit");
+ List<String> result = new ArrayList<>();
+
+ Driver driver = new Driver();
+ try (Connection conn = driver.connect(url, props); Statement s = conn.createStatement();) {
+ s.execute("SELECT * FROM pg_catalog.pg_tables");
+ ResultSet rs = s.getResultSet();
+ while (rs.next()) {
+ result.add(rs.getString("tablename"));
+ }
+ return result;
+ } catch (SQLException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+ public static void main(String[] args) {
+ new CheckPg().listTables().forEach(System.out::println);
+ }
+
+}
<module>org.argeo.api</module>
<module>org.argeo.cms.tp</module>
<module>org.argeo.cms</module>
+ <module>org.argeo.cms.pgsql</module>
<module>org.argeo.cms.servlet</module>
<module>org.argeo.cms.jcr</module>
<!-- CMS UX -->